forked from mirror/crumbs-original
test(theme): widen distinguishability threshold headroom
The distinguishability threshold (10) sat only 2 units below the palette's measured closest pair (coral/peach at 12.0), making it brittle to a minor future nudge. Lower to 8: still fails the old palette's closest pair (fog/storm at 7.55) while giving the current palette 4 units of headroom. Also corrects the spec's lightness-change figure from -0.1 (computed from rounded HSL) to the precise -0.18.
This commit is contained in:
committed by
Fred Cabassut
parent
ffc49f2676
commit
a2463ac316
@@ -92,7 +92,7 @@ html, body { accent-color: var(--accent-check); }
|
||||
## 2. Note card colours (`src/lib/utils/colors.ts`)
|
||||
|
||||
Replace `NOTE_COLORS_DARK`. Every entry keeps its light counterpart's hue, holds lightness
|
||||
near-constant against today's values (measured average change: +4.1 saturation points, −0.1
|
||||
near-constant against today's values (measured average change: +4.1 saturation points, −0.18
|
||||
lightness points), and nudges two crowded hues apart (`blossom` and `storm` shift toward pink
|
||||
and true blue respectively) so the twelve read as distinguishable siblings rather than a smudge.
|
||||
The visible improvement in dark mode comes from the base surfaces, the picker chips, the
|
||||
|
||||
@@ -71,14 +71,15 @@ describe('dark note colours', () => {
|
||||
});
|
||||
|
||||
it('keeps every pair of dark surfaces distinguishable', () => {
|
||||
// The old palette failed this: fog and storm sat 7.5 apart, so the twelve
|
||||
// colours read as one dark smudge. Current closest pair is coral/peach at 12.
|
||||
// The old palette failed this: fog and storm sat 7.55 apart, so the twelve
|
||||
// colours read as one dark smudge. Threshold 8 clears that while leaving
|
||||
// headroom above the current closest pair, coral/peach at 12.0.
|
||||
const entries = Object.entries(NOTE_COLORS_DARK);
|
||||
for (let i = 0; i < entries.length; i++) {
|
||||
for (let j = i + 1; j < entries.length; j++) {
|
||||
const [[nameA, a], [nameB, b]] = [entries[i], entries[j]];
|
||||
const distance = rgbDistance(a.bg, b.bg);
|
||||
expect(distance, `${nameA} vs ${nameB}`).toBeGreaterThan(10);
|
||||
expect(distance, `${nameA} vs ${nameB}`).toBeGreaterThan(8);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user