motion-and-haptics
Motion and haptics
What fires, when, exactly once, and how it degrades. Feedback is the layer users feel rather than read — an app whose taps land, whose errors are felt, and whose success is acknowledged reads as finished; the same app with default Material feedback reads as a prototype.
Scope boundary. Motion tokens — duration roles, curve slots, the no-raw-values gate, and
resolveMotion collapsing to Duration.zero under reduced motion — are owned by
design-system-structure. Painter/ticker mechanics are owned by custom-canvas-and-gestures.
Which surface a message uses — loading, empty, error, snackbar, banner, dialog, Undo, and
screen-reader announcements — is owned by ui-states-and-feedback. This skill owns the sensory
layer those decisions ride on: which moments exist, what each one commits to, how haptics are
mapped and fired, and what survives when the animation does not.