Review R2: the wide-screen layout the owner chose (D110, supersedes D90; #366) #825
Loading…
Reference in a new issue
No description provided.
Delete branch "build/review-r2-wide"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The owner's pick. The owner compared current, A, B and AB at 2560×1440 (a 4K monitor at 150%) in the real app, and chose:
This builds that choice into the design system. It replaces the throwaway
explore/wide-layoutsbranch, and has no layout switch.Tokens (
src/ui/tokens.css):clamp(100%, 100% + (100vw − 1440px)/280, 125%), which is 16px up to 1440 and 20px at 2560. It's a percentage, so a reader's own browser default is kept.--frame96rem, centred.--measure78ch,--measure-long98ch.--form46rem.--cols,--side-shown,--two-up, …). No page writes that media query.New components:
ui/Columns: a page plus a side column. The side column comes first in reading order.ui/OnThisPage: built from the page'sh2s. It keeps existing ids and marks the current section witharia-currentas you scroll. It's a namednav, and draws nothing with fewer than two sections.Each has its states and tests.
Applied:
minmax(0,1fr).Records:
intro.md; D90 is marked superseded, not deleted.ui/README.Tests:
journeys.shrun gave 65 passed and 4 skipped (the new J0w's project guards).A known limit: a sticky side column taller than the window can't be scrolled on its own until the page nears its end.
🤖 Generated with Claude Code
GET /api/campaigns/transcription-languages answers { detect, languages: [...] }, and the page mapped over the whole object, so it threw on render at every width and every real server showed the crash screen. The unit test mocked a bare list, which is why nothing caught it; it now mocks the server's shape. Found by the D110 render sweep, which visits every page the lanes built. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>