diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-04 18:08:01 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-04 18:08:01 -0500 |
| commit | f407959b4c30fa809722b62266640711c916a772 (patch) | |
| tree | a94d5285ac7e656ccc30d6a20b0be23fbbd205e1 /docs/specs/keybinding-console-safety-spec.org | |
| parent | 389a4005b48d186fe4956f0455605b6fdb1dbb65 (diff) | |
| download | dotemacs-f407959b4c30fa809722b62266640711c916a772.tar.gz dotemacs-f407959b4c30fa809722b62266640711c916a772.zip | |
feat(theme-studio): add seeding-engine model and pure seed() (phase 1)
I turned the coloring guide's role/seed table into an executable engine. A new pure module, seed-core.js, holds the seed model as data: a named palette whose accent shades are OKLCH-generated from the dupre anchors (reusing the colormath core), the role-to-treatment table, and a face-to-role map per owned tier, plus a pure seed() that projects the table onto syntax, UI, and org faces.
seed() owns three default sources: syntax, UI, and org among packages. It returns packages.org-mode only, so the roughly twenty non-org bespoke packages keep their curated APPS seeds untouched. The output already matches the shape the import path consumes, so phase 2 can wire it to open-seeded without a new format.
Builtins land on blue-grey and calls on a quieter gold, the two shades dupre lacked. Definitions come out gold and bold, state faces tint the background with no foreground, links underline, and the org heading ramp descends in lightness with level 1 strongest.
The module inlines into the page below the colormath core like the other pure cores, so the browser runs the code the Node tests import. #seedtest asserts the representative faces resolve correctly and that magit keeps its curated seed. test-seed-core.mjs covers the model, each tier, and seed()'s purity.
Diffstat (limited to 'docs/specs/keybinding-console-safety-spec.org')
0 files changed, 0 insertions, 0 deletions
