Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
"@lhci/cli": "^0.15.1",
"@playwright/test": "^1.64.0",
"@types/node": "^22",
"elkjs": "^0.12.0",
"tsx": "^4.23.15",
"typescript": "^5.9.0",
"vitest": "^5.0.4"
Expand Down
8 changes: 8 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 11 additions & 3 deletions specs/016-visual-redesign/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,12 @@ Non-goals
are refreshed per package so an agent can verify its own change.
- VII — European by default: fonts stay self-hosted; no new third party.

No deviation. One intentional change to a documented convention: headlines move from Bricolage
Grotesque to Geist (section 3.3). `CLAUDE.md`, `docs/architecture.md` and `tokens.css` are
One deviation, added by the review follow-up R-04: `elkjs` (the Eclipse Layout Kernel compiled
to JavaScript) lays out the standards map at build time. It is a dev dependency, runs only in
`src/lib/graph.ts` during `astro build`, ships no bytes to visitors and is deterministic for a
fixed input, so screenshot baselines stay stable. The hand-rolled column layout it replaces could
not route edges around nodes, and the map was unreadable with 67 free curves. One intentional
change to a documented convention: headlines move from Bricolage Grotesque to Geist (section 3.3). `CLAUDE.md`, `docs/architecture.md` and `tokens.css` are
updated in the same package (WP1), so the repository never contradicts itself.

## 3. Design language
Expand Down Expand Up @@ -278,7 +282,11 @@ becomes; WP2 builds the shared ones, later packages the product-specific ones.
- `StandardsMap.astro` / `.svelte`: nodes as rounded rectangles on `--ground-2` with `--ink`
labels; edges in `--ink-2` at 35%; the hovered node's neighbourhood in `--signal`; relation
types by dash pattern, not by colour (the legend says so). Path draw-in (M4) on the
`builds-on` spine from the oldest to the newest spec.
`builds-on` spine from the oldest to the newest spec. After R-04: a rail beside the drawing
is legend, filter and reading pane in one (checkboxes filtering through `:has()` rules, no
script needed); references are off by default; the dependency edges are routed by ELK and
the cross links drawn as curves; below 40rem the drawing gives way to `StandardsOutline.astro`,
the dependency forest as an indented outline.
- `ChainPage.astro`, `Explorer.svelte`, `TokenView.astro`: lanes as 1px `--rule` lifelines;
arrows as 1.5px `--ink-2` lines with the current one in `--signal` 2px; toggled steps get a
`--caution`/`--threat` rail; removed steps struck and dimmed. Stepper controls inside an
Expand Down
1 change: 1 addition & 0 deletions specs/016-visual-redesign/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,3 +165,4 @@ Items from the redesign review, one pull request each, in order.
- [x] R-02 Small fixes: `.notice`, `.notice.caution` and `.card.notice` tint in oklab, not oklch (the toggle notice in `ChainPage.astro` keeps its local tint in the kind's ink); the link after "in the" on `/explorer/` and after "See" on `/standards/` no longer loses its space to HTML compression; the entry-format `pre` on `/contribute/` is focusable (axe scrollable-region-focusable)
- [x] R-02a Imagery on the new system (asked on the R-02 pull request): the social card (`public/og.png`) redrawn as the home hero on flat tokens with the real matrix, replacing the pre-redesign card (glow, shadow, dot grid, slogan); the Apple touch icon on `--ground`; the README hero and how-it-works pictures on the new tokens without glow, shadow, gradient or dot grid, with MatrixThumb's marks and the home headline. The favicon and `public/brand/` already match the supplied logo and are unchanged
- [x] R-03 Nav wording: the primary and footer navigation read Servers, Standards, Explorer, Breaches, Contribute (Scanner stays in the footer); every `<Crumbs>` trail, the page-foot cross link on `/standards/` and the 404 buttons use the same words; `/mcp/` and `/standards/` take Servers and Standards as `<title>` and eyebrow. "Atlas" stays the product word in ledes and body copy
- [x] R-04 Standards map rework (PR #62): the head is "The standards map" with the counts in the lede. A rail beside the drawing is legend, filter and reading pane in one: relation types as line-sample toggles (references off by default), publishing bodies as toggles (a band label in the drawing toggles the same), maturity chips, the live count, a reset, and a card that names the hovered or focused node's relations in words. The toggles are checkboxes that filter the drawing and the outline through `:has()` rules in the stylesheet, so filtering works without JavaScript; the island keeps the count, mirrors the state in the URL, shows the card and highlights the neighbourhood. "Recently revised" is a view of the map (dated nodes, the rest fades), not a list in the head. The drawing is laid out by `elkjs` at build time (`src/lib/graph.ts`): a spec sits a column right of what it builds on, columns group by body behind tinted bands, dependency edges are routed orthogonally, cross links stay curves. Below 40rem the drawing gives way to `StandardsOutline.astro`: the dependency forest (`buildForest`) as an indented outline, cross links as `<details>` chips, the spine as a hairline; the outline replaces the flat list on every screen and carries body, family, revision and both links (FR-015). Baselines through the `refresh-screenshots` label
Loading
Loading