diff --git a/docs/superpowers/specs/2026-07-31-dark-palette-design.md b/docs/superpowers/specs/2026-07-31-dark-palette-design.md index 39974ed..b643b45 100644 --- a/docs/superpowers/specs/2026-07-31-dark-palette-design.md +++ b/docs/superpowers/specs/2026-07-31-dark-palette-design.md @@ -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 diff --git a/src/lib/utils/colors.test.ts b/src/lib/utils/colors.test.ts index 9624d63..f55757a 100644 --- a/src/lib/utils/colors.test.ts +++ b/src/lib/utils/colors.test.ts @@ -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); } } });