diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-09 17:55:44 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-09 17:55:44 -0500 |
| commit | d6e0fc2a7e499c81e56f4fff0455033567cd966a (patch) | |
| tree | 3ebfdd04b34a9e60284bccee4627d9fdcfa36a14 /scripts/theme-studio/test-contrast.mjs | |
| parent | e6029906a1e38776d9a25900437944f8a2b1b60c (diff) | |
| download | dotemacs-d6e0fc2a7e499c81e56f4fff0455033567cd966a.tar.gz dotemacs-d6e0fc2a7e499c81e56f4fff0455033567cd966a.zip | |
docs(theme-studio): fold Codex review into palette-ramps spec
Resolved both open decisions. The contrast target is WCAG AA by default, with AAA selectable and APCA shown as a diagnostic only. The v1 foreground set is the distinct syntax-assignment hexes plus the default foreground, with locked background-only roles excluded.
Pinned what the review flagged as underspecified: a closed five-face covered set (region, hl-line, highlight, lazy-highlight, isearch), ramp defaults and palette-insertion rules (n/stepL/chromaEase, naming, collisions, clamp display), and explicit-state structured-error contracts for ramp, fgSetFor, floor, and lMax. Package and non-overlay UI cells stay single-pair in v1.
Closed the v1 face set rather than keeping the review's open-ended "any face the buffer renders text over" clause, since an open set reintroduces the gap the foreground-set decision exists to close. Kept throwing for genuine programmer error while returning structured results for bad user input, matching colormath.js.
The spec is implementation-ready. The six implementation tasks get created once Craig confirms the go. Review file consumed and deleted.
Diffstat (limited to 'scripts/theme-studio/test-contrast.mjs')
0 files changed, 0 insertions, 0 deletions
