mirror of
https://github.com/Nutlope/hallmark.git
synced 2026-08-14 12:35:33 +02:00
color.md's 3%-vs-5% contradiction resolves to 5% everywhere. The gate moves from judged-only to M/R: - static half (sloplint.mjs check23, WARN-grade): flags accent tokens painting viewport-scale rules (body/section/hero-class selectors, or rules sized >= 40dvh / 320px / inset 0) and display-size accent text. Posture-aware via the stamp comment (Drenched skips; Committed and dark papers are structurally exempt because fields and papers are never accent tokens); alpha-thinned washes and atmospheric radial blooms pass - render half (sloplint-render.mjs, 1280x800 only, undeclared-posture pages): resolves the accent tokens to sRGB and sums painted area on a 16px union grid (no double-counting of nested rects); > 8% FAIL, > 5% WARN, atmospheric thresholds 30/20. Along the way the render tier gains a real colour parser: modern Chrome serializes computed values and canvas fillStyle in their authored space, so oklch is now converted with the same math sloplint uses (the old rgb-only regex would have silently skipped every oklch page) Verified in the browser: a full-bleed accent fixture measures 94.2% painted (FAIL) and the live coral landing measures 0% (pass); the static half flags the fixture's three sites and stays quiet on all canonical examples. Also: garden-01's pre-existing zero-chroma mask-matte token gains 0.005 chroma so the full example sweep is 0-FAIL again.