Skip to content

feat(design-tokens): generate tokens-dark.css for the dark-designed cockpit apps - #867

Merged
blove merged 1 commit into
mainfrom
blove/tokens-dark-css
Aug 30, 2026
Merged

feat(design-tokens): generate tokens-dark.css for the dark-designed cockpit apps#867
blove merged 1 commit into
mainfrom
blove/tokens-dark-css

Conversation

@blove

@blove blove commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

What

Foundation half of the last post-arc follow-up. Investigating "wire cockpit apps to tokens.css" found the premise wrong: the cockpit apps' var(--ds-*, fallback) fallbacks are hand-copies of darkOverrides#111 canvas, #f5f5f5 text, #64c3fd accent (the dark-theme semantic accent) — with the same minor drift tokens.css itself had before #845 (e.g. accentBorder 0.25 vs the token's 0.2). Wiring the light tokens.css would flip deliberately-dark example apps to light.

So: tokens-dark.css, generated from darkOverrides by the same guarded pipeline.

  • buildTokensBlock parameterized by theme (light/dark key parity already enforced by tokens.spec.ts).
  • Drift guard extended and mutation-tested — a changed dark value goes red.
  • A light/dark --ds-* name-parity check.
  • Exported as @threadplane/design-tokens/tokens-dark.css, shipped by the build (verified in dist/).
  • theme.css and tokens.css byte-unchanged.

What this deliberately does not do

No cockpit app is wired yet. That half is per-app visual judgment — each import makes the drifted fallbacks dead text, which is a small visible change on deployed demos — and is tracked as its own task.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview Aug 30, 2026 2:24pm

Request Review

@blove
blove enabled auto-merge (squash) August 30, 2026 14:15
@github-actions

github-actions Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove force-pushed the blove/tokens-dark-css branch from 5cfedb3 to 79be31d Compare August 30, 2026 14:15

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

…ockpit apps

The third post-arc follow-up, foundation half. Investigation found the cockpit
example apps' var(--ds-*, fallback) fallbacks are hand-copies of darkOverrides
(verified value-by-value: #111 canvas, #f5f5f5 text, #64c3fd accent = the
dark-theme semantic accent) with the same minor drift tokens.css had (e.g.
accentBorder 0.25 vs the token's 0.2). So the wiring target for those apps is
a DARK tokens file - importing the light tokens.css would flip deliberately
dark apps to light.

buildTokensBlock is parameterized by theme overrides (light/dark key parity is
already enforced by tokens.spec.ts); tokens-dark.css joins the generator, the
byte-identical drift guard (mutation-tested: a changed dark value goes red),
the light/dark name-parity check, the package exports, and the build assets.

No consumer is wired yet - that is the per-app visual-judgment half, tracked
separately.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@blove
blove force-pushed the blove/tokens-dark-css branch from 79be31d to fbbe124 Compare August 30, 2026 14:20
@github-actions

github-actions Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove merged commit a5f6fa4 into main Aug 30, 2026
20 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant