The reusable kit behind the Context Map and every graph surface after it. Classes are the gc-* hand-off contract for @relay/ui; the canvas specs (shape, stroke, motion) are the drawing contract for the map renderer. Prototype source of truth: concepts/map-v35.html.
Canvas drawing spec. Fill --panel, stroke --border-hi (1.3px); selected: --accent-tint fill + --ring stroke (2.2px); locked: 3/3 dashed stroke; outside the activity window: 50% opacity. Live pulse: expanding --pulse ring, motion only, reduced-motion gets a static teal dot.
Line style is the relation; weight varies slightly so contains reads structural. Stroke --border-hi, emphasized to --text-muted with a direction tick at the target end on hover or selection. Never coloured.
The chip is the atom of graph navigation: glyph + live title + Code or type tag. Shipped in the web app (objectref.ts + related.ts); groups cap at 6 with a “+N more” expander. Tombstoned targets render struck-through and inert.
The hover tooltip is envelope-only and exact: type + status, title or Code, workspace + visibility + claims, and a precise, call-time-computed timestamp. Inverted surface for contrast over any canvas.
The detail view is the full envelope: everything the substrate knows without ever touching content. Exact times carry a hover title with the full timestamp.
Workspaces are a filter dimension, not a colour. The org tag is a bordered mono initial; on the canvas it appears under labels only while more than one workspace is visible.
The List view is the ranked twin of the map: same set, sorted by last activity. Anatomy is the ratified v3.5 list (unify-v35 .m-li): neutral glyph tile, title + muted sub-line (Code in teal mono), mono-uppercase badge whose LABEL carries the status (neutral-first: never color alone). Selection is a ring; the tile flips to tint.
Rows carry a ticking, compact relative time (now → 42s → 4m → 2h) and the exact timestamp on hover. Codes are teal mono; object names bold. Clicking a row focuses the object on the map.
On phones the type filter floats over the map as a thumb-first chip row; the rail becomes a bottom sheet behind a three-tab bar (Filters · Activity · Help).
The help layer: spotlight ring + card, pointer-transparent scrim (the map stays interactive), arrow keys step, always skippable, replayable from the legend under ?.
Every org you belong to is here; toggle any of them off. What you cannot see is absent, never a redacted ghost.