feat(themes): #62 whole-swap CSS self-containment CI gate
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
Add tools/check-theme-wholeswap.py and checks.theme-wholeswap: every themes/*/waybar.css must @define-color each @name it references (raw readFile, no palette prepend — neon-glass class), and every preset needs preview.png + non-empty backgrounds/. README: four waybar.css themes (drop quarantined neon-glass). Close #62. Verified: V0 (script + negative fixture + checks.theme-wholeswap + flake check --no-build).
This commit is contained in:
@@ -113,12 +113,6 @@ gating. Fix: name-agnostic scan aligned with battery-notify. Cost:
|
||||
small multi-file; `[blocked:hw]` only to confirm on non-BAT* hardware —
|
||||
logic still ships at V1.
|
||||
|
||||
### 62. Optional CI: whole-swap CSS self-containment
|
||||
Contrast check does not require that a `waybar.css` defines every
|
||||
`@color` it references, nor that every preset has preview + backgrounds.
|
||||
A cheap gate would have caught neon-glass. Cost: small tool + flake
|
||||
check; V0.
|
||||
|
||||
### 63. Generated Waybar: identity-bar affordances (powermenu + logo)
|
||||
Whole-swap bars ship `custom/powermenu` and a left logo → main menu; the
|
||||
generated `waybar.nix` bar has neither. Optional parity add for
|
||||
@@ -238,7 +232,7 @@ _(Generated Waybar missing identity-bar affordances → **#63**.)_
|
||||
executive-slate, and the generated style have. Functional OK;
|
||||
visual hierarchy weak. Cost: CSS pass; V3.
|
||||
|
||||
_(Optional CI: whole-swap CSS self-containment → **#62**.)_
|
||||
_(Optional CI: whole-swap CSS self-containment → **#62** ✓ 2026-07-10.)_
|
||||
|
||||
### Per-theme design audit (2026-07-09)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user