← Zurück zu Desktop-App-Entwickler

Skill · Version 1.0.0

Bewegungszustände gestalten

Gestaltet Bewegung als ausdrückliches Interaktionsverhalten, das bei Umkehr, Wiederholung und Unterbrechung stimmig bleibt.

motion-design-states

Teammitglieder mit diesem Skill

Entdecke, wie der Skill hilft

Wann ist der Skill hilfreich?

Nutze ihn bei inkonsistenten Animationen oder auseinanderlaufenden sichtbaren und funktionalen Zuständen nach schneller Eingabe.

Wobei hilft er dir?

  • Definiert gemeinsame Dauer und Beschleunigung für klare Interaktionsziele.
  • Modelliert Hover, Fokus, Drücken sowie Lade- und Fehlerübergänge.
  • Behandelt schnelle Wiederholung, Umkehr und unsichtbare Trefferflächen.

Das könntest du fragen

Entwirf ein Seitenpanel, das bei schnellem Öffnen und Schließen flüssig umkehrt. Öffne und schließe mehrfach vor Abschluss. Die Schublade kehrt aus aktueller Position um und hinterlässt keine unsichtbare eingabeabfangende Ebene.

Ausführliche Dokumentation

Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.

Details…Weniger anzeigen

Motion Design & Interaction States

Treat motion as functional communication, not decoration. Every animation must answer at least one user question: Where did this come from? What just changed? Is my action in progress? Where should I look next?

Motion Purpose & Token System

Define a coherent motion scale so transitions feel authored by a single hand across the product:

Interaction Tier Typical Duration Recommended Easing Distance / Scale Bound Primary Purpose
Micro-feedback (hover, press, focus ring, toggle) 100ms–160ms cubic-bezier(0.2, 0, 0, 1) (ease-out) scale(0.97–1.02), translateY(-1px to -2px) Immediate tactile acknowledgment
Component state change (dropdown, accordion, tab indicator, toast) 180ms–260ms Enter: ease-out cubic-bezier(0.16, 1, 0.3, 1); Exit: ease-in cubic-bezier(0.4, 0, 1, 1) 8px–24px offset or FLIP layout delta Spatial relationship & hierarchy
Surface / View transition (drawer, modal, sheet, route crossfade) 260ms–380ms cubic-bezier(0.22, 1, 0.36, 1) or critically damped spring ($\zeta \approx 1$) Panel width / bounded viewport delta Orientation across navigation
Narrative / Product showcase (staged hero scene, multi-step walkthrough) 450ms–900ms per beat Custom choreographed curves + staggered 40ms–80ms offsets Scene-specific Guided attention & storytelling

Asymmetric Enter vs. Exit: Elements entering the user's attention decelerate into rest (ease-out, slightly longer duration); elements dismissing or exiting accelerate out of the way (ease-in, 20–30% shorter duration) so the interface never feels sluggish.

Explicit State & Interruption Matrix

Before writing animation code, specify every state and how mid-flight interruptions behave:

  1. idle $\leftrightarrow$ hover / focus-visible $\leftrightarrow$ pressed:
    • Never rely on hover alone to reveal critical actions; ensure keyboard focus-visible and touch states expose the same affordances.
  2. Mid-flight reversal & rapid re-triggering:
    • If the user closes a menu or toggles a switch 80ms into a 250ms open animation, reverse smoothly from the current interpolated velocity and position (as CSS transitions, retargeted springs, and GSAP .reverse() do naturally) rather than snapping to 100% before playing the exit.
  3. Pointer-events & hit-target hygiene:
    • Disable pointer-events: none on exiting elements immediately when dismissal begins so invisible or fading overlays never trap clicks or focus.
    • Keep the clickable hit box stable during hover scale/transform effects to prevent hover-jitter loops at element edges.
  4. Loading $\rightarrow$ Content $\rightarrow$ Error continuity:
    • Reserve final layout dimensions before data arrives (skeletons or aspect-ratio containers) and crossfade or FLIP into the loaded state so content never jumps under the user's pointer.

Enthaltene Dateien 1

  • SKILL.md