diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-09 19:01:48 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-09 19:01:48 -0500 |
| commit | edd1722d29fc3f0b894f6e163cbd07dc57a85909 (patch) | |
| tree | d8b71a8acbaed2ea9c7c6d3f8fdf64d44cc998ec /scripts/theme-studio/generate.py | |
| parent | 59e1289964ca5a42704e9fd74195ce050d5eff36 (diff) | |
| download | dotemacs-edd1722d29fc3f0b894f6e163cbd07dc57a85909.tar.gz dotemacs-edd1722d29fc3f0b894f6e163cbd07dc57a85909.zip | |
feat(theme-studio): show worst-case contrast for overlay faces
The five covered overlay faces (region, hl-line, highlight, lazy-highlight, isearch) now show the worst-case floor over their foreground set instead of one fg/bg pair. The cell starts with "worst:", names the limiting foreground by role and hex, then gives the ratio and a PASS/FAIL verdict, so a tint that clears the default text but fails the darkest token can't hide. The foreground set is the live syntax-token colors plus the default fg; the verdict is WCAG AA by default. Package and other UI rows keep their single-pair readout.
A syntax-color edit now repaints the covered faces, since their floors depend on the whole token palette, not just their own fg/bg. An out-of-scope face falls through to the single-pair cell, and a face whose set resolves empty reads "no fg set" rather than a bogus ratio.
Phase 4 of the palette-ramps spec. A #contrasttest browser gate pins the readout, the keyword-blue limiting case, the single-pair fallback, and the no-set message.
Diffstat (limited to 'scripts/theme-studio/generate.py')
0 files changed, 0 insertions, 0 deletions
