fix(cli-registry): correct accent colours, and a real gemini/antigravity/omp rendering bug

Two related fixes, found while re-measuring stock.ts's `accent` field
against the actual rendered UI (docs/cli-registry.md flags this field as
"transcribed, not authoritative — re-measure before wiring one up"):

1. A real, user-visible bug: `.btn-toolbar.btn-run.mode-gemini`,
   `.mode-antigravity` and `.mode-omp` had no override rule inside the
   `html:not([data-skin="og"])` block, unlike codex/pi/grok/deepseek, which
   do. The generic `.btn-toolbar.btn-run` rule in that block resolves at
   higher specificity than the base sheet's per-mode pair, so all three
   rendered as plain claude-blue on every skin except `og` — including
   `daylight-blue`, which is the actual DEFAULT skin for a fresh install
   (index.html's pre-paint script), not an edge case. Added the three
   missing rules, sourced from each CLI's own already-designed og-skin
   colours (no new colours invented), mirroring the exact pattern
   pi/grok/deepseek already use. Also corrected the stale comment on the
   pi rule, which claimed this was still broken for gemini/antigravity.

2. `stock.ts`'s `accent` field was simply wrong for most CLIs — e.g. claude
   was registered as Anthropic's brand orange (#d97757) while its button
   renders blue, antigravity was registered purple while it renders cyan,
   pi was registered green while it renders pink. Measured each CLI's real
   `border-color` from its own `.mode-<id>` rule on the og skin (the
   cleanest single representative hex each entry's gradient resolves
   around) and corrected all 9 non-shell entries to match. `accent` has no
   reader yet (confirmed via the DECLARED_FOR_LATER guard test), so this
   changes no rendered output — it's a data-accuracy fix, matching the
   registry's own "transcribed, not authoritative" warning taken literally.
   Also fixed a false claim in types.ts's doc comment for the field
   ("CSS derives every per-CLI gradient from it via --cli-accent") — no
   such CSS variable exists anywhere in the codebase.

Full gate: 406 files / 7721 tests / 0 failures, typecheck/lint/format:check/
check:public-assets/check:frontend-syntax all clean.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuHtuPiHXdykq9T6rKQJ9n
This commit is contained in:
Devvyn
2026-09-21 12:23:19 +08:00
co-authored by Claude Sonnet 5
parent 9466acfc1a
commit d3ee9f23c2
3 changed files with 51 additions and 15 deletions
+25 -5
View File
@@ -15142,11 +15142,31 @@ html:not([data-skin="og"]) {
color: #061c20;
}
.btn-toolbar.btn-run.mode-codex:hover { box-shadow: 0 0 14px -2px rgba(43, 203, 187, 0.45); }
/* Pi keeps its rose identity on the non-og skins. This rule has to live INSIDE
this nested block: the generic `.btn-toolbar.btn-run` above resolves to (0,3,1)
here and would otherwise beat the base sheet's (0,3,0) `.mode-pi` pair, which
is exactly why gemini's and antigravity's gradients render as generic claude
blue on the default skin. */
/* Gemini, Antigravity, Pi, OMP, Grok and DeepSeek all keep their own identity
on the non-og skins. Each rule has to live INSIDE this nested block: the
generic `.btn-toolbar.btn-run` above resolves to (0,3,1) here and would
otherwise beat the base sheet's (0,3,0) `.mode-<id>` pair — which is exactly
what gemini/antigravity/omp did until this fix, rendering as generic claude
blue on `daylight-blue`, the actual DEFAULT skin for a fresh install
(`index.html`'s pre-paint script), not just a corner case on `og`. */
.btn-toolbar.btn-run.mode-gemini {
background: linear-gradient(135deg, #174ea6, #4f46e5);
border-color: #123a7a;
color: #dbeafe;
}
.btn-toolbar.btn-run.mode-gemini:hover { box-shadow: 0 0 14px -2px rgba(96, 165, 250, 0.45); }
.btn-toolbar.btn-run.mode-antigravity {
background: linear-gradient(135deg, #0e7490, #0891b2);
border-color: #0b5566;
color: #cffafe;
}
.btn-toolbar.btn-run.mode-antigravity:hover { box-shadow: 0 0 14px -2px rgba(34, 211, 238, 0.45); }
.btn-toolbar.btn-run.mode-omp {
background: linear-gradient(135deg, #4f46e5, #6366f1);
border-color: #3730a3;
color: #e0e7ff;
}
.btn-toolbar.btn-run.mode-omp:hover { box-shadow: 0 0 14px -2px rgba(129, 140, 248, 0.45); }
.btn-toolbar.btn-run.mode-pi {
background: linear-gradient(135deg, #be185d, #f472b6);
border-color: #be185d;