feat: strengthen dock spring motion, directional follow and milky glass

This commit is contained in:
david1465833828
2026-10-28 11:28:51 +08:00
parent 9da5864d29
commit 6604f31d98
9 changed files with 321 additions and 109 deletions
+8 -9
View File
@@ -23,8 +23,8 @@ void main() {
// while its original cool colour remains visible through the material.
final red = _channel(pixels, 160, 43, 0);
final green = _channel(pixels, 160, 43, 1);
expect(red, greaterThan(45));
expect(red, lessThan(90));
expect(red, greaterThan(75));
expect(red, lessThan(115));
expect(green - red, closeTo(13, 6));
},
);
@@ -85,11 +85,10 @@ void main() {
final red = _channel(pixels, 16, 40, 0);
final green = _channel(pixels, 16, 40, 1);
final blue = _channel(pixels, 16, 40, 2);
expect(red, lessThan(115));
expect(green - red, greaterThanOrEqualTo(80));
// The milky base and resting grey lens still transmit over half of the
// cyan source's 210-level blue/red contrast rather than becoming opaque.
expect(blue - red, greaterThan(105));
expect(red, lessThan(125));
expect(green - red, greaterThanOrEqualTo(65));
// The thicker milky base still transmits a clear cyan colour difference.
expect(blue - red, greaterThan(90));
},
);
@@ -133,8 +132,8 @@ void main() {
reds.reduce((a, b) => a > b ? a : b) -
reds.reduce((a, b) => a < b ? a : b);
// The original stripes have 180 levels of contrast. Both the base and
// selected lens retain over half, keeping these larger shapes readable.
expect(contrast, greaterThan(90), reason: 'background at x=$start');
// selected lens retain at least 40%, keeping larger shapes readable.
expect(contrast, greaterThan(72), reason: 'background at x=$start');
}
},
);