Timing Calibration

dylantarre/animation-principles/skills/12-by-problem-type/timing-calibration

by dylantarre83597134ba8fNo license99 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 9 months ago

Use when animation speed feels wrong—too fast, too slow, or inconsistent

Instructions onlyDesign & Creative
AI-generated overview

Diagnoses and fixes animation timing using Disney's timing principles, with duration scales, easing guidance and CSS tokens.

What it does
Guides the agent through diagnosing animation speed problems such as durations that feel too fast, too slow or inconsistent. It maps each issue to a principle (timing, slow in and slow out, arcs, staging, secondary action) and gives a fix. It also supplies a duration scale table, quick fixes, a troubleshooting checklist and a CSS custom-property code pattern for durations and easing.
When to use it
Use when animation speed feels wrong, such as feedback that motion is too slow or too fast, inconsistent speeds between similar actions, users waiting on animations, or motion that feels robotic. It suits UI motion tuning rather than building animation systems from scratch.
Requirements
No scripts or tools are required; it is instructions only. The CSS pattern assumes a project that uses CSS custom properties.

Timing Calibration

Get animation speed right using Disney's timing principles.

Problem Indicators

  • "Too slow" or "too fast" feedback
  • Animations feel inconsistent
  • Similar actions have different speeds
  • Users wait for animations
  • Motion feels robotic or unnatural

Diagnosis by Principle

Timing

Issue: Duration doesn't match action type Fix: Micro-interactions: 100-150ms. Transitions: 200-400ms. Complex reveals: 400-600ms. Never exceed 1s for UI.

Slow In and Slow Out

Issue: Linear timing feels mechanical Fix: Use easing. Ease-out for entrances (fast start, soft landing). Ease-in for exits (soft start, quick finish).

Arcs

Issue: Straight-line motion at wrong speed Fix: Curved paths need more time than straight paths. Increase duration for arc motion.

Staging

Issue: Multiple speeds compete Fix: Similar elements should animate at similar speeds. Create timing harmony.

Secondary Action

Issue: Secondary animations at wrong relative speed Fix: Secondary actions should be slightly slower than primary. Creates natural hierarchy.

Timing Scale

CategoryDurationUse For
Instant0-100msHover states, micro-feedback
Fast100-200msButtons, toggles, small elements
Normal200-300msCards, modals, most transitions
Slow300-400msPage transitions, large elements
Deliberate400-600msComplex reveals, onboarding

Quick Fixes

  1. Start with 200ms - Adjust from there
  2. Larger elements = longer duration - Size affects perceived speed
  3. Distance affects timing - Longer travel = longer duration
  4. Create a timing scale - Use 3-4 consistent values
  5. Test at 2x speed - If too slow works, use it

Troubleshooting Checklist

  • Is duration under 400ms for most UI?
  • Do similar elements have similar timing?
  • Is easing applied (not linear)?
  • Does larger movement have longer duration?
  • Test: Speed up by 30%—still readable?
  • Test: Slow down by 30%—feels sluggish?
  • Are users waiting for animations?
  • Compare to platform conventions (iOS/Android/Web)

Code Pattern

css
:root {  /* Timing scale */  --duration-instant: 50ms;  --duration-fast: 150ms;  --duration-normal: 250ms;  --duration-slow: 350ms;  --duration-deliberate: 500ms;
  /* Easing */  --ease-out: cubic-bezier(0, 0, 0.2, 1);  --ease-in: cubic-bezier(0.4, 0, 1, 1);  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);}
/* Size-aware timing */.small-element { transition-duration: var(--duration-fast); }.medium-element { transition-duration: var(--duration-normal); }.large-element { transition-duration: var(--duration-slow); }

Source and attribution

Source:dylantarre/animation-principlesinskills/12-by-problem-type/timing-calibrationat commit8359713

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal