fix(themes): P2 contrast floors retuned + gated across 9 themes (item 28b done)
All checks were successful
Check / eval (push) Successful in 3m10s

18 hex retunes, hue-preserving OKLCH minimal raises except where the
upstream palette defines a canonical value: muted lifted to >= 2.0 on
lumon/white/retro-82/everforest (solved), gruvbox (bg4 #7c6f64), nord
(#616e88, the community comment-brightening), catppuccin-latte
(overlay1 #8c8fa1); text-on-surface >= 4.5 via surface nudges
(ristretto darker, latte lighter); accentAlt >= 3.0 (latte, summer-day
darkened); warn >= 2.5 — the bar's battery tint — darkened on the
light bases (latte, rose-pine dawn, summer-day) and flexoki-light's
four status colors moved to their canonical light-mode 600 series.

check-theme-contrast.py now gates all four adopted floors (7 pairings
x 21 themes, green). good/bad stay audit-only — identity themes sit at
2.0-2.3 there by design, so no exemption mechanism was needed. The
design audit's contrast findings drop 20 -> 1 (miasma's earthy `bad`,
kept as identity). Item 28 slice (b) complete.

Verified: V0, checks.theme-contrast green, flake check green,
re-audit. Rendering is V3 -> HARDWARE-QUEUE eyeball entries.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Bernardo Magri
2026-07-05 19:44:46 +01:00
parent 47c8b6f997
commit 44d5516191
15 changed files with 64 additions and 20 deletions

View File

@@ -7,15 +7,15 @@
"colors": {
"base": "#eff1f5",
"mantle": "#cbcdd0",
"surface": "#bcc0cc",
"surface": "#bfc4d0",
"overlay": "#acb0be",
"text": "#4c4f69",
"subtext": "#5c5f77",
"muted": "#acb0be",
"muted": "#8c8fa1",
"accent": "#1e66f5",
"accentAlt": "#ea76cb",
"accentAlt": "#d260b5",
"good": "#40a02b",
"warn": "#df8e1d",
"warn": "#d6860a",
"bad": "#d20f39"
},
"border": {

View File

@@ -11,7 +11,7 @@
"overlay": "#475258",
"text": "#d3c6aa",
"subtext": "#d3c6aa",
"muted": "#475258",
"muted": "#59646a",
"accent": "#7fbbb3",
"accentAlt": "#d699b6",
"good": "#a7c080",

View File

@@ -13,10 +13,10 @@
"subtext": "#6F6E69",
"muted": "#878580",
"accent": "#205EA6",
"accentAlt": "#CE5D97",
"good": "#879A39",
"warn": "#D0A215",
"bad": "#D14D41"
"accentAlt": "#A02F6F",
"good": "#66800B",
"warn": "#AD8301",
"bad": "#AF3029"
},
"border": {
"active": "accent",

View File

@@ -11,7 +11,7 @@
"overlay": "#3c3836",
"text": "#d4be98",
"subtext": "#d4be98",
"muted": "#3c3836",
"muted": "#7c6f64",
"accent": "#7daea3",
"accentAlt": "#d3869b",
"good": "#a9b665",

View File

@@ -11,7 +11,7 @@
"overlay": "#304860",
"text": "#d6e2ee",
"subtext": "#d6e2ee",
"muted": "#304860",
"muted": "#3c556e",
"accent": "#f2fcff",
"accentAlt": "#8bc9eb",
"good": "#5e95bc",

View File

@@ -11,7 +11,7 @@
"overlay": "#4c566a",
"text": "#d8dee9",
"subtext": "#e5e9f0",
"muted": "#4c566a",
"muted": "#616e88",
"accent": "#81a1c1",
"accentAlt": "#b48ead",
"good": "#a3be8c",

View File

@@ -11,7 +11,7 @@
"overlay": "#134e5a",
"text": "#f6dcac",
"subtext": "#a7c9c6",
"muted": "#134e5a",
"muted": "#19525f",
"accent": "#faa968",
"accentAlt": "#3f8f8a",
"good": "#028391",

View File

@@ -7,7 +7,7 @@
"colors": {
"base": "#2c2525",
"mantle": "#251f1f",
"surface": "#72696a",
"surface": "#675e5f",
"overlay": "#948a8b",
"text": "#e6d9db",
"subtext": "#e6d9db",

View File

@@ -15,7 +15,7 @@
"accent": "#56949f",
"accentAlt": "#907aa9",
"good": "#286983",
"warn": "#ea9d34",
"warn": "#d68a16",
"bad": "#b4637a"
},
"border": {

View File

@@ -13,9 +13,9 @@
"subtext": "#6e828a",
"muted": "#829181",
"accent": "#3a94c5",
"accentAlt": "#df69ba",
"accentAlt": "#d863b4",
"good": "#8da101",
"warn": "#dfa000",
"warn": "#ca9210",
"bad": "#f85552"
},
"border": {

View File

@@ -11,7 +11,7 @@
"overlay": "#c0c0c0",
"text": "#000000",
"subtext": "#000000",
"muted": "#c0c0c0",
"muted": "#b5b5b5",
"accent": "#6e6e6e",
"accentAlt": "#2e2e2e",
"good": "#3a3a3a",