| name | orchestrated-sequences |
| description | Use when building multi-part animation sequences - staggered reveals, choreographed UI, coordinated motion where multiple elements work together |
Orchestrated Sequences
Orchestrated sequences coordinate multiple elements across time. Like a conductor directing an orchestra, you control when each element enters, how it moves, and how elements relate.
Disney Principles for Orchestration
Ensemble Coordination
Squash & Stretch: Unified style - all elements should share consistent elasticity. Mix bouncy and stiff looks chaotic.
Anticipation: Staggered preparation - lead element anticipates first, others follow in sequence.
Staging: Clear hierarchy - primary action leads, secondary elements support but don't compete.
Straight Ahead/Pose to Pose: Pose to pose mandatory - choreography requires precise timing control.
Follow Through: Cascading settle - elements land in sequence with overlapping follow-through.
Slow In/Slow Out: Shared easing family - use variations of same curve for cohesion.
Arcs: Coordinated paths - elements should move in complementary directions, not randomly.
Secondary Action: Intentional support - every element has a role in the composition.
Timing: The heart of orchestration - stagger delays, duration variations, tempo changes.
Exaggeration: Proportional emphasis - primary elements more exaggerated, supporting less.
Solid Drawing: Consistent dimensional logic - shared perspective, depth, scale relationships.
Appeal: Unified performance - the sequence should feel like one composed moment.
Timing Strategies
/* Linear stagger - equal delays */
.item:nth-child(n) {
transition-delay: calc(var(--index) * 50ms);
}
/* Accelerating stagger - getting faster */
.item:nth-child(1) { transition-delay: 0ms; }
.item:nth-child(2) { transition-delay: 80ms; }
.item:nth-child(3) { transition-delay: 140ms; }
.item:nth-child(4) { transition-delay: 180ms; }
/* Decelerating stagger - slowing down */
.item:nth-child(1) { transition-delay: 0ms; }
.item:nth-child(2) { transition-delay: 40ms; }
.item:nth-child(3) { transition-delay: 100ms; }
.item:nth-child(4) { transition-delay: 180ms; }
Easing Recommendations
/* Cohesive family - same curve, different durations */
.primary { transition: all 400ms cubic-bezier(0.16, 1, 0.3, 1); }
.secondary { transition: all 350ms cubic-bezier(0.16, 1, 0.3, 1); }
.tertiary { transition: all 300ms cubic-bezier(0.16, 1, 0.3, 1); }
/* Sequence curve - smooth start, confident end */
animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
Best Use Cases
- Page load sequences
- Dashboard reveals
- Card grid animations
- Navigation menu opens
- Feature section reveals
- Data visualization builds
- Onboarding step sequences
- List population animations
Implementation Pattern
/* Staggered reveal system */
.orchestrated-item {
opacity: 0;
transform: translateY(20px);
transition: opacity 300ms ease-out,
transform 400ms cubic-bezier(0.16, 1, 0.3, 1);
}
.orchestrated-item.visible {
opacity: 1;
transform: translateY(0);
}
/* Apply delays via CSS custom properties or nth-child */
.orchestrated-item:nth-child(1) { transition-delay: 0ms; }
.orchestrated-item:nth-child(2) { transition-delay: 75ms; }
.orchestrated-item:nth-child(3) { transition-delay: 150ms; }
.orchestrated-item:nth-child(4) { transition-delay: 225ms; }
// JS orchestration for complex sequences
const sequence = [
{ el: '.hero', delay: 0, duration: 500 },
{ el: '.title', delay: 100, duration: 400 },
{ el: '.subtitle', delay: 200, duration: 350 },
{ el: '.cta', delay: 350, duration: 400 },
];
Key Insight
Orchestration is composition in time. Just as visual design arranges elements in space, animation orchestration arranges motion in time. The goal is a single, coherent performance, not a collection of individual animations.