Skip to content

Themes generated from palettes - #9

Merged
Kasui92 merged 4 commits into
mainfrom
feat/theme-palettes
Sep 7, 2026
Merged

Kasui92 merged 4 commits into
mainfrom
feat/theme-palettes

Conversation

@Kasui92

@Kasui92 Kasui92 commented Sep 7, 2026

Copy link
Copy Markdown
Member

The eight themes were two kinds of file. dracula, nord and one-dark declared 46 concrete tokens; the five ported ones declared nine seeds and let the rest derive. Measured in oklab, 17 to 20 of the 25 comparable tokens differed per theme, and in one direction: the hand-written borders are far more subdued than the derived ones.

Every theme is now generated from a palette of fourteen colours. The recipe is not invented: it was read back out of the three hand-written themes, which turned out to be 46 tokens built from 11 to 13 colours reused by role.

recessed  code-tab header
base      background, panels, table header
surface   inline code, table rows, spoilers
overlay   borders and rules
text, bright, primary, primaryLight, accent, and the five alert hues

The generator reproduces dracula, nord and one-dark token for token, 46 each, zero differences. Where a palette wants something off the recipe it says so under overrides: three entries in dracula, five in one-dark, none in nord.

pnpm test:themes now asserts that every theme declares the same token set, that each palette carries all fourteen levels, and that the committed CSS still matches its palette. Removing a level reports missing overlay, not a stack trace.

@Kasui92 Kasui92 self-assigned this Sep 7, 2026
@Kasui92
Kasui92 merged commit 508e05b into main Sep 7, 2026
2 checks passed
@Kasui92
Kasui92 deleted the feat/theme-palettes branch September 7, 2026 06:50
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