# MOTION ADDENDUM — DESIGN ROUND 6
**Additions to R2 `MOTION-SPEC.md`, R3, R4, and R5 addenda (all stand in full) · July 10, 2026**

The rule underneath is unchanged: **motion is weather, not reward.** Standing timing tokens hold (`settle 180ms · overlay 250ms · object 350ms · flip 500ms · drift 800–1400ms · hold 1000ms · seal 600ms · voice 120ms · crossing 1400ms · promote 900ms · step 260ms · room 1200ms`). One new token: **`switch 1400ms`** — the Chat ⇄ Live mode switch, which is the crossing token given a name of its own because it is now chrome, not a portal.

---

## 1. The Chat ⇄ Live switch (`switch 1400ms`)

The round's centerpiece. The switch is two standing words in the chrome; flipping it must feel like turning your head, not opening a door.

- **Chat → Live:** the thread does not leave — it **sinks**: messages compress downward and desaturate over the first 400ms while the ground fades in beneath them (tiles 24→0px elevation with 30ms stagger, R3's crossing grammar). The last exchange never disappears: it hands off to the ally band, which is already present at the bottom before the ground finishes rising. Characters render last. Total 1400ms, interruptible: tapping the switch again at any point rolls back at 2×.
- **Live → Chat:** exact reverse. The ground sinks, the thread rises *already scrolled to where you left it*. The band's current sentence becomes the newest message — visibly the same object, sliding from band-position to thread-position (350ms within the crossing).
- **The switch control itself** animates once per flip: the active word slides under the pill highlight (250ms). It never glows, badges, or pulses — a mode must not advertise.
- **On kiduna.one / kiduna.live** there is no in-place flip; the standing door ("the whole Kidunaverse · kiduna.app") hands off with the same visual grammar on arrival in the app — continuity is the product's proof that it is one graph.

## 2. Live's movement grammar (restating R5 §3, now under the Live name)

- **Tap to walk:** camel path hint draws in 120ms, gone at arrival; figure moves at `step 260ms` per tile, easeInOut per step, interruptible by any new tap.
- **Drag to look, pinch to rise:** direct manipulation, zero added animation.
- **Chips by proximity:** a chip rises (180ms, 8px) when its subject enters range and **settles away as you pass** (350ms). Rank re-sorts only at rest — never while the member is moving, so the row doesn't shuffle underfoot. Maximum three; a fourth candidate waits.
- **Sky rims** breathe on a 3s cycle only while touchable; fade over 350ms when touchability lapses. Approach rings on sprites obey the same law.
- **Light announcements** bloom over 800ms, hold while true, decay over 2s. Light never pulses for attention.
- **The gold seal in space:** stamp + up to 12 embers at the act's location, witnessed once, then a static gold dot for the scene's duration. Sim contexts: hollow, emberless, no haptic.
- **Drift seams** between dunas shift ground hue and register over `drift 800–1400ms`; no wipe, no fade to black.

## 3. The generative room (`room 1200ms`, unchanged; one addition)

Assembly order is the honesty: sentence prints first, then boundary (400ms) → openings (200ms) → furniture strokes (200ms) → sprites (fade 200ms, one per named presence). **R6 addition — revision locality:** when the sentence updates (someone enters, distances change), only the changed strokes redraw (350ms), and the changed clause of the sentence brightens once (400ms) in the band — the words and the strokes visibly co-vary, which is the fallback's whole claim to honesty.

## 4. The Profiler and the invitation

- **Intake chips** settle like any contextual action (180ms). The restated input list assembles with the account-claims grammar: rows rise 8px + fade in, 180ms each, 40ms stagger, once.
- **The profile card returns as an event**: it settles (180ms) and its access-level line brightens once (400ms) — the one fact the member must not miss. No other emphasis; the card is a claim, not a reward.
- **The card flip** (front ⇄ back) is `flip 500ms`, R3's card grammar unchanged.
- **Sending = code extension**: press-and-hold is MOTION-ADDENDUM-R4 §3 verbatim (fill 1000ms, abort rolls back at 2×); on commit, stamp (scale 1.02→1.0, 200ms) + embers + haptic. The sent state then goes completely quiet: a receipt row, no residual glow. The invitation's life at the other end is swyx's, not Moto's to watch animate.
- **The invitation page (pre-account)** inherits R5 §1 whole: registry checks fade in after their verification returns (180ms, 60ms stagger), never a spinner. **R6 addition:** Moto's italic lines render immediately with the static page — a person's words are not a check and must never appear to "resolve."

## 5. First Chat and the fluent ally

- Latent's provenance message and the fluency that follows use standard message settle — **deliberately nothing special**. The design intent is that the remarkable thing (an ally already fluent) arrives in the most ordinary grammar the product has; the content carries it.
- The relationship card obeys R5 §2: no gold, no embers; a changed side's old sentence fades to 40% while the new settles beneath for 800ms, then replaces it.

## 6. Studio's package handoff

- **Out:** the package card assembles from its parts (context, ask, constraints — three rows, account-claims grammar), then slides off-surface toward the local agent (350ms) and leaves a resident "out" row. While out, the row is still — stillness is the honest state while another agent holds the work (R5's connect-path rule, generalized).
- **Back:** the returned package lands as a card (settle 180ms), and unpacking into the graph runs the drop-organizes grammar (R5 §5): items file into the container's scope, 180ms each, 40ms stagger, once. Records cite the package with the standard citation brighten (400ms) on first render.

## 7. Budget & fallbacks

Unchanged: Live fits the R2 envelope (≤1 shader pass + particles; idle <5% GPU mid-Android); the generative room is pure stroke rendering; web surfaces are engine-free CSS/DOM. Reduced-motion renders final frames everywhere — including the switch, which becomes a hard cut with the band persistent; nothing above carries meaning its final frame doesn't.
