diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-08 00:18:14 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-08 00:18:14 -0500 |
| commit | adb2c3235bfa6394bb19a023c2f8574c764a59a3 (patch) | |
| tree | 566e49ca88b29f3c52cba4b5eec735ffca2eb0fc /docs | |
| parent | 01937ed62ee203c1cafb61c361240b8cdf1ad98d (diff) | |
| download | dotemacs-adb2c3235bfa6394bb19a023c2f8574c764a59a3.tar.gz dotemacs-adb2c3235bfa6394bb19a023c2f8574c764a59a3.zip | |
feat(theme-selector): add package-face state and schema (tier-3 phase 1)
I laid the tier-3 foundation: an APPS registry (org starter for now) and a PKGMAP holding {fg,bg,bold,italic,inherit,source} per face. Pure helpers seed PKGMAP from APPS defaults, build the export per the state policy, and merge an import back in. Export gains a packages key when any package face is present, and import reads it while old JSON with no packages key still loads cleanly onto the seeded defaults. No UI yet — that's phase 3.
A #selftest harness, guarded by the URL hash so it never shows in normal use, runs seed to export to import and checks the round-trip, old-JSON merge, and inherit/source survival. Headless Chrome reports PASS, which is how I verified the schema end-to-end against the real emitted code rather than a copy.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions
