Context
Successor leaf from the #14779↔#14929 signed motion-contract disposition (ratified 2026-07-10, #14779 comment thread): #14779 delivered the CONTRACT SUBSTRATE (PR #14947 — the --dock-transition-* token set, token-layer reduced-motion collapse, and the dock-animating signal owner Neo.dashboard.DockMotionSignal). This leaf is the substrate's first Body-side CONSUMER: the non-FLIP choreography — the CSS class-toggle transitions for property motion the disposition left to "follow-up ranges". The FLIP commit layer (#14929) is the SIBLING consumer for structural re-layout jumps; both read the same tokens and route the same signal, so there is ONE observable motion lifecycle.
The Fix
One PR, adapter + theme tier only (presentation-only per the JSON-first guardrail):
- Splitter size ease — committed
resizeSplit re-projections transition flex-basis/size via a neo-dashboard-dock-motion transition class reading the tokens.
- Tab insert/remove morphing — entering/leaving tab headers transition in/out instead of teleporting.
- Auto-hide rail slide — the §2.7 reveal overlay + rail affordances slide on the tokens (the reveal FSM stays timing-owner; this is projection skin).
- Arrival settle highlight — a brief settle affordance on cross-window arrival (§2.3 landed mechanics).
Every motion: duration/easing from --dock-transition-* ONLY (no call-site literals — review-checkable), DockMotionSignal.enter/leave around the transition lifecycle (transitionend + the signal's own fail-safe), prefers-reduced-motion honored by construction (token collapse — zero per-site checks).
Acceptance Criteria
Out of Scope
- FLIP structural-commit animation (#14929, sibling consumer).
- The e2e assertions themselves (#14591-successor).
- Visual language / flagship polish of the affordances (#14930's design artifact owns treatments; this leaf is motion mechanics on existing visuals).
Related
Parent #13158 · substrate #14779 (PR #14947) · siblings #14929 (FLIP consumer), #14930 (affordance design authority), #14780 (motion-standards vocabulary — value authority above the dock aliases), #14591-successor (assertions) · authority: ADR 0029 JSON-first guardrail + the signed disposition on #14779.
Live sweep (corrected): title-search choreography surfaces #14589 (showcase — consumes motion, non-dup) and #14780 (product motion-standards vocabulary — the AUTHORITY TIER this leaf's tokens alias via var(); see the layering comment on #14780). The disposition thread is the lineage. Origin Session ID: ef6b9a4a-54ec-4afb-8438-f89a3ee46ad2
Retrieval Hint: "dock choreography transitions consumer tokens dock-animating splitter ease rail slide"
Context
Successor leaf from the #14779↔#14929 signed motion-contract disposition (ratified 2026-07-10, #14779 comment thread): #14779 delivered the CONTRACT SUBSTRATE (PR #14947 — the
--dock-transition-*token set, token-layer reduced-motion collapse, and thedock-animatingsignal ownerNeo.dashboard.DockMotionSignal). This leaf is the substrate's first Body-side CONSUMER: the non-FLIP choreography — the CSS class-toggle transitions for property motion the disposition left to "follow-up ranges". The FLIP commit layer (#14929) is the SIBLING consumer for structural re-layout jumps; both read the same tokens and route the same signal, so there is ONE observable motion lifecycle.The Fix
One PR, adapter + theme tier only (presentation-only per the JSON-first guardrail):
resizeSplitre-projections transition flex-basis/size via aneo-dashboard-dock-motiontransition class reading the tokens.Every motion: duration/easing from
--dock-transition-*ONLY (no call-site literals — review-checkable),DockMotionSignal.enter/leavearound the transition lifecycle (transitionend+ the signal's own fail-safe),prefers-reduced-motionhonored by construction (token collapse — zero per-site checks).Acceptance Criteria
DockMotionSignal—observe_motione2e can assert start/settle onneo-dashboard-dock-animatingfor each class (#14591-successor wires those specs).examples/dashboard/dock(browser gate — human or browser-capable peer per the design-artifact render rule).Out of Scope
Related
Parent #13158 · substrate #14779 (PR #14947) · siblings #14929 (FLIP consumer), #14930 (affordance design authority), #14780 (motion-standards vocabulary — value authority above the dock aliases), #14591-successor (assertions) · authority: ADR 0029 JSON-first guardrail + the signed disposition on #14779.
Live sweep (corrected): title-search
choreographysurfaces #14589 (showcase — consumes motion, non-dup) and #14780 (product motion-standards vocabulary — the AUTHORITY TIER this leaf's tokens alias via var(); see the layering comment on #14780). The disposition thread is the lineage. Origin Session ID: ef6b9a4a-54ec-4afb-8438-f89a3ee46ad2 Retrieval Hint: "dock choreography transitions consumer tokens dock-animating splitter ease rail slide"