Adds the three category-list variants the set was judged against (roomy, tabular, tabular+gold) and the fixes that came out of looking at them in a browser: - square everywhere, with enough specificity to beat the theme's own `border-radius: 8px !important`; only the status dot stays round - a drop shadow under every bounded surface, so a square edge reads as an edge and not a cut - Cinzel always uppercase - the Well component: the three right-hand readings sit in recesses on a shared grid, inset on all four sides - the clamped teaser clamps by line count, not by NodeBB's hard max-height, which was cutting the glyphs
Throwaway prototype for #53 — palette candidates on a dense page
Not for merge. The theme SCSS on this branch is mechanically tokenised (literal
hexes and rgba() triples turned into var(--wg-*)) so a candidate palette can
be swapped at runtime instead of rebuilt per candidate.
contrast.py— WCAG check for every candidate surface/ink pair. Run first._base-plumnoir.css+candidate-{a,b,c}.css— the candidates, as:rootoverrides.seed.js— categories + one 13-post topic with a quote, over the REST API.shots.js/probe.js— screenshots and a computed-style probe, both against the live stack.shots/— the images the resolution is judged on.
Replay:
cd ../sow-nodebb && nix develop --command make dev-reset && nix develop --command make dev
cd - && node prototype/seed.js
export PLAYWRIGHT_BROWSERS_PATH=$(nix build --print-out-paths --no-link nixpkgs#playwright-driver.browsers)
P=$(nix build --print-out-paths --no-link nixpkgs#playwright-test)
NODE_PATH=$P/lib/node_modules nix shell nixpkgs#playwright-test -c node prototype/shots.js