Repository navigation
Standards map polish: pack the small trees, steady hover, no intro draw - #76
Merged
Merged
Conversation
- layoutGraph lays out each dependency group on its own and packs the small groups and the standalone specs (one stack per body) into the columns where they sit highest, so the drawing is about 40% shorter and the empty lower right is gone. A same-column curve in the last column bows left. - Band names sit above the lines with a rim of the plate; long body names in the rail take their short form so each toggle stays on one line. - The hover highlight holds for 280ms while the pointer crosses a gap, redraws only when the node changes, and nodes fade with their lines over --dur (M19), instead of flashing back to full strength in every gap. - The spine draw-in and halo on the map are gone (M4 keeps the plate); the spine stays drawn at full strength. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Av2PMEUphJTsSQVdibdx1f
Generated by the screenshots workflow for #76.
This was referenced Oct 23, 2026
Merged
jbspeakr
added a commit
that referenced
this pull request
Oct 24, 2026
…de the node (#80) * Standards map: toggles in a bar above a full-width drawing, card beside the node Carries over the two parts of #75 that #76 did not cover. - The rail of toggles becomes a bar above the drawing (relations, bodies, view and maturity side by side, the count and Reset under a rule), so the drawing takes the full page width and its labels render near their set size. Below 60rem the bar's groups wrap. - The card of the hovered or focused node floats beside that node, right of it or left where the frame ends, absolutely positioned with pointer-events: none so it cannot steal the hover or move the drawing. - e2e: the hover test checks the card sits beside the node and takes no pointer events; the gap test scrolls its pair into view first, since the drawing now starts lower on the page. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VTZi51N8fuxwrrSVPWiPcU * Refresh screenshot baselines from CI's Chromium Generated by the screenshots workflow for #80. --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Jan · project thread
What this changes
Layout and whitespace. ELK used to lay out all 41 specs as one graph, so every standalone spec and small tree (EU acts, A2A, WIMSE, SD-JWT…) was stacked into column 0 below the long column of OAuth extensions. That left the lower right of the drawing empty. Now
layoutGraphlays out each group of specs joined by dependencies on its own. The largest group (the OAuth tree) sets the columns. Every other group, plus one stack of standalone specs per body, goes into the run of columns where it sits highest, below nodes and routed lines that are already there. The drawing goes from 1320×2151 to 1320×1277, about 40% shorter, and the empty lower right is filled. Within each group, a spec still sits one column right of what it builds on.Hover flicker. Each node used
mouseenter/mouseleave. When the pointer crossed the gap between two nodes, the whole map snapped back to full strength and then dimmed again. Nodes also had no opacity transition, so this showed as a hard blink. Now the island delegates pointer events on the drawing. It holds the highlight for 280 ms while the pointer crosses a gap and only redraws when the node changes. Nodes fade with their lines over--dur. The new motion is M19 indocs/design.mdand is listed on the accessibility page. Under reduced motion it applies at once.Intro animation. The spine draw-in and halo are removed from the map. The spine is two or three short edges, so the draw read as a glitch, not a path. The spine stays drawn at full strength. M4 now covers only the decorative plate.
Before/after screenshots are in the project files under
review/standards-map-polish/(before-plate.png/after-plate.png, hover, light and dark).Code checklist
pnpm checkpasses (321 unit tests, incl. a new packing test that fails on the old layout).standards.pngandstandards-greyscale.pngbaselines need a refresh from CI's Chromium (refresh-screenshotslabel). Locally, all other standards e2e tests pass, including the new gap-hover test. Thespec.pngcomparison also fails locally, on a page this PR does not touch, because the local Chromium differs from the pinned one.Generated by Claude Code