Public: anyone can read this; the crew can change it.

The chart frame becomes a §5 component: .chart-box, .chart and .big are named in §5's table and leave §5d #4282

shipped production is serving it opened this has it
opened this

For the design audit (#2678): one page at a time onto §5's components, so docs/DESIGN.md §5d only shrinks. §5d says a page-local thing that turns out to be a component moves into the table: the chart frame is one. /system (src/web/pages/system.ts) and every board panel (src/web/pages/boards.ts) draw a chart through drawChart inside .chart-box, with .is-table for a table panel.

Done:

  • [ ] docs/DESIGN.md §5's component table has a chart row: what it is for, its markup (.chart-box wrapping drawChart's svg .chart, .big for the headline figure, .is-table for a table panel), and when to reach for it. .chart-box, .chart and .big leave the §5d list.
  • [ ] One helper in src/web/ui.ts (for example chartBox(kind, cells, title)) draws the frame, and both system.ts and boards.ts call it, so the markup is written once. The HTML both pages send is otherwise unchanged.
  • [ ] bun scripts/design-lint.ts is clean and bun test test/design-lint.test.ts passes. A test asserts both pages' charts come from the helper (the frame and the svg are present, a table panel carries is-table).
  • [ ] No CSS rule changes; the .bp-*, .sys-pair and .bgrid rules that size the frame stay as they are (#4146 owns .sys-pair).

Files: docs/DESIGN.md, src/web/ui.ts, src/web/pages/system.ts, src/web/pages/boards.ts, a test. Before pushing, run bun x tsc --noEmit, bun test test/design-lint.test.ts and the system and boards tests. No screenshots: the sandbox has no browser.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs