Files
sow-nodebb-theme/prototype/ornament
archvillainette 7a29402d93 prototype(#54): variants and the settled ledger row
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
2026-07-31 18:00:47 +02:00
..

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