Universal Animation Patterns
Apply Disney's 12 principles as baseline defaults for any animation.
Core Timing Scale
Universal Easing Library
The 12 Principles Quick Reference
- Squash & Stretch: Scale 0.95-1.05 range for organic feel
- Anticipation: 2-3px reverse movement or 50ms pause before action
- Staging: Animate toward user attention, clear visual hierarchy
- Straight Ahead vs Pose-to-Pose: Define keyframes, plan states
- Follow Through: Overshoot by 2-5%, settle back
- Slow In/Slow Out: Always ease, never linear (except spinners)
- Arcs: Combine X+Y movement, natural paths
- Secondary Action: Layer 2-3 properties max (opacity + transform + shadow)
- Timing: Match duration to distance/importance
- Exaggeration: Subtle for UI (under 10% deviation)
- Solid Drawing: Maintain visual consistency during motion
- Appeal: Motion should feel helpful, not performative
Base Animation Classes
Universal Rules
- 100ms Response Time: User actions must trigger visible change within 100ms
- Under 400ms for UI: Functional animations shouldn't exceed 400ms
- Reduce Motion: Always provide
prefers-reduced-motionalternative - GPU Properties: Use only
transformandopacityfor smooth 60fps - Exit < Enter: Exits 20-30% faster than entrances
Accessibility Default
Decision Tree
- Is element entering? → Use ease-out, 200-300ms
- Is element exiting? → Use ease-in, 150-250ms
- Is element changing state? → Use ease-in-out, 150-250ms
- Is it continuous? → Use linear (rotation) or ease-in-out (pulse)
- Is it responding to gesture? → Use ease-out with overshoot, under 200ms
When uncertain, start with: 250ms cubic-bezier(0.4, 0, 0.2, 1)

