Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Component catalog

60 components across four atomic-design layers, plus the graph peer layer (node editor). Each has its own page with design intent, anatomy, variants/states, API, and usage examples. Layer rules: atoms paint, everything above composes; the graph layer is the sanctioned exception that paints (still via tokens). See guards.


Atoms

23 leaf components — the only layer that paints primitives. Each is a token-driven builder.

Typography & content

  • Text — body/label/caption text honoring the full type style
  • Heading — display→h-levels titles
  • Icon — a Phosphor glyph at a token size
  • Kbd — keyboard key cap

Actions

  • Button — the worked-example atom; 6 variants, 3 sizes, icons, loading
  • Toggle — a pressable on/off button

Form controls

Display & feedback

Structural

  • Surface — the painting primitive (fill/border/radius/shadow) everything composes
  • Divider — horizontal/vertical rule
  • ColorSwatch — a painted color chip
  • SplitterHandle — drag handle for resizable panels

Cells

8 compound row/item building blocks. Compose atoms; never paint.


Molecules

14 compositions of atoms (and smaller molecules).

Forms

Containers & navigation

  • Card — styled surface container
  • Alert — inline banner (default/success/warning/error/info)
  • Tabs — tab switcher (default/pill)
  • Breadcrumb — navigation trail
  • Collapsible — expand/collapse section

Organisms

14 full UI sections composed from cells, molecules, and atoms.

Layout shells

  • Splitter — the single layout primitive: screen root + resizable panes (PanelSpec, with fixed(px) non-resizable chrome bands)
  • Panel — docked panel chrome: bg + flush edge border + header/footer + padded scroll body (PanelEdge)
  • Sidebar — navigation panel
  • Toolbar — top/bottom tool bar
  • Menubar — application menu bar

Overlays

Data & views

  • Table — column-defined data table (Column, ColWidth)
  • TreeView — hierarchical tree (TreeItem)
  • TabView — tabbed content view
  • Accordion — stacked collapsible sections (AccordionCtx)

Graph

The graph peer layer — a reactflow-style node editor on egui::Scene. The one place outside atoms that paints (still via tokens). Caller owns the data; the library owns view-state and reports intents.

  • Graph layer overview — invariant, two tiers, data-model contract, lifecycle
  • identityNodeId/PortId/NodeKindId/PortSide/Port/Connection
  • canvasGraphView, GraphCtx, GraphResponse
  • stateGraphViewState + drag structs
  • tokensGraphTokens
  • nodeNodeFrame/NodeResult/NodeStatus + ctx.node
  • edgeEdgeStyle/EdgeResult + ctx.edge
  • handleHandleSpec/HandleVariant (ports)
  • searchNodeSearch palette
  • viewport — standalone world↔screen transform helper
  • extrasgrid, resizer, minimap, toolbar, controls

Page template

Every component page follows the same structure: what it isDesign (purpose, anatomy, variants/sizes/states, tokens consumed, a11y) → API (builder methods) → Usage (minimal + realistic examples) → CompositionNotes.