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 #54 — the ornament and frame component set
Not for merge. Nothing here is theme code; it is the named component set made concrete so it can be looked at.
ornament.css— the component set itself, standalone, zero images.specimen.html— every named component, at both densities, on one page.real-surface.css— the same components mapped onto real NodeBB markup.shots.js— before/after on the live category list and a 13-post topic.shots/— the images the resolution is judged on.
The palette is candidate B from #53, injected at runtime (../_base-plumnoir.css
plus ../candidate-b.css), so no rebuild is needed to see it.
Replay:
# specimen page — needs http, not file://: mask-image on an SVG is blocked by CORS
python3 -m http.server 8931 # then open /prototype/ornament/specimen.html
# real surface
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/ornament/shots.js