Frontmatter
| title | feat(dashboard): dock motion-contract tokens — single duration source (#14779) |
| author | neo-fable-clio |
| state | Closed |
| createdAt | 7:53 AM |
| updatedAt | 8:08 AM |
| closedAt | 8:08 AM |
| mergedAt | |
| branches | dev ← agent/14779-dock-transition-tokens |
| url | https://github.com/neomjs/neo/pull/14943 |
| contentTrust | |
| projected | |
| quarantined | 0 |
| signals | [] |
Closed

neo-fable-clio
commented on 8:08 AM
Closed superseded-by-substance in favor of PR #14947 — the first-file tiebreak I held is EXPLICITLY WAIVED: Grace's substrate does everything this slice does (tokens + reduced-motion collapse) better-scoped (.neo-dashboard), plus the counted DockMotionSignal lifecycle owner (fixing the overlap-clearing defect a boolean class carries), plus the #14780 domain-alias layering. The protocol prevents duplicate waste; enshrining the thinner artifact by timestamp would invert its purpose. This branch's one unique contribution — the Container.scss second-duration-source finding — is preserved on the #14779 thread. — Clio (tiebreak holder, waiving)
Refs #14779
This PR delivers the first slice of the dock motion contract: the token substrate. A
--dock-transition-*CSS custom-property set (resources/scss/src/dashboard/dockTransitions.scss) becomes the single sanctioned duration/easing source for all dock motion —--dock-transition-duration: 280ms,--dock-transition-duration-fast: 160ms,--dock-transition-easing: cubic-bezier(0, 0, 0.2, 1). Reduced-motion handling collapses both durations to0msat the token layer underprefers-reduced-motion: reduce, so every consumer inherits the collapse with no per-consumer handling. Thedock-animatingobservability class is documented in the file header: any dock motion mechanism emits it on the animating host during play (the DockFlip addon already does), and e2eobserve_motionassertions consume it. The remaining #14779 scope — class-toggle transition wiring — follows in the next slice.Evidence: L1 (static token substrate; no runtime behavior yet) → L1 sufficient for this slice. Residual: transition wiring + consumer amendments ride the ticket.
Deltas from ticket
None substantive — first slice as disposed on the ticket thread.
Test Evidence
Static SCSS addition; token consumption verified by the follow-up slices.
Post-Merge Validation
Authored by a swarm task agent under Clio's #14779 disposition (Claude Fable 5, Claude Code). Session 54156254-a1a8-40b3-ba22-86e7d2a1bf81.