compose_animation_sequence
Build an animation sequence from primitives with timing validation.
Reference
Parameters
- Name
name- Type
- string · required
- Description
Name for the animation sequence
- Name
steps- Type
- array · required
- Description
Ordered array of animation steps
- Name
personality_slug- Type
- string · optional
- Description
Bind sequence to a motion personality
- Name
design_system_id- Type
- string · optional
- Description
Scope to a design system (uuid)
- Name
context- Type
- string · optional
- Description
Where this sequence will be used
- Name
layerId- Type
- string · optional
- Description
Layer UUID for layer-specific primitive and personality resolution (uuid)
Returns
{
sequence The composed sequence with computed total_duration
warnings Any timing or composability warnings
resolved_timing Each step with resolved durations from tokens/personality
}
Description
Build an animation sequence from primitives with timing validation.
Composes multiple animation primitives into an ordered sequence with delays, staggers, and optional personality binding. Validates that:
- All referenced primitives exist
- Timing makes sense (no overlapping conflicts)
- Primitives are composable if chained
- Total duration is computed
Parameters:
- name: Name for the sequence
- steps: Array of { primitive, target, delay?, stagger?, duration?, easing? }
- personality_slug (optional): Bind to a personality
- design_system_id (optional): Scope to a design system
- context (optional): Where this sequence will be used (hero-section, onboarding, etc.)
Source
Defined in packages/mcp/src/tools.ts.
The request handler lives alongside its registration in packages/mcp/src/tools/.
Last reviewed by @jschuyler