Motion concepts for the Graph and Explore surfaces, drawn with the shipped gc-* grammar: shape is type, dash arrays are law, and the counter never lies. Everything below runs live on one canvas — arrive a node, draw a connection, claim a relay, switch the arrange lens, walk the journey seam. Colour law holds throughout: #00D9C8 only while something moves; loops stay system teal. Grammar source: gc-* kit · Explore v2 · Journey.
Each is a bounded answer to one question the canvas gets asked. All are proposed; none ratified until they land in SPEC.pulse-motion.md.
A new object pops in at 0.4s out-expo with one #00D9C8 ring, then it is furniture. The ring means "this crossed a boundary just now", exactly like a toast arrival.
A forming connection draws itself point-to-point in pulse colour, then settles into its law dash array and edge grey. The dash grammar is untouched; only the birth moves.
Select a node: its neighbourhood holds, everything else drops to 16% in 0.18s. A product transition, not an event — fast enough to feel like attention, not animation.
Switching lens glides every node to its new station at 0.5s out-expo with a 20ms stagger; edges fade during transit and re-anchor. The counter recounts when the dust settles.
Objects touched in the last hour carry a small teal dot breathing at 4.2s — the awaiting rhythm, reused. It loops, so it stays system teal by rule 4. Never the pulse colour.
Hovering a journey step glints its node on the canvas: a 0.5s stroke flare in system teal. The linear seam and the spatial canvas stay one object in the reader's head.
Carried from the gc grammar and the pulse spec; the motion never bends them.