From 67a609dd5e98df4df9a3fb40104817e0c25e5582 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 2 Jul 2026 13:10:54 -0400 Subject: feat(theme-studio): screenshot harness + ecosystem coverage policy Two speedrun-enabling pieces. A #preview=&theme= hash handler plus screenshot-previews.sh shoot any app's face table and live preview headlessly under a real theme (WIP.json by default), so preview work can be verified without a human clicking through the studio. The README gains the coverage policy: the studio themes popular packages even when uninstalled, pinning their faces rather than dropping them, and unloaded packages' previews matter more, not less. --- scripts/theme-studio/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'scripts/theme-studio/README.md') diff --git a/scripts/theme-studio/README.md b/scripts/theme-studio/README.md index df3d9260..da9c7823 100644 --- a/scripts/theme-studio/README.md +++ b/scripts/theme-studio/README.md @@ -8,6 +8,17 @@ Reassign colors against the palette, judge legibility with live WCAG-contrast readouts, then export a `theme.json` that a build step turns into `themes/-*.el`. +## Coverage policy + +The studio themes popular packages, not just installed ones. The goal is +generic themes that cover the wider ecosystem, so a package's face +definitions stay in the studio even when the package is removed from this +config (ghostel and all-the-icons are the standing examples). Never drop an +app because its package is uninstalled; pin its face list instead so it +survives inventory regeneration. Unloaded packages get marked as such in the +UI, and their live previews matter *more* than the loaded ones' — the studio +preview is the only place their theming can be seen at all. + For the color-assignment philosophy behind the tool — how to group syntax roles, what to share, where to spend chroma and bold — see [`theme-coloring-guide.org`](theme-coloring-guide.org). -- cgit v1.2.3