Primitives & Reference
Eight tools for searching animation primitives, retrieving and ranking personality rules, browsing reference breakdowns, and getting choreography recommendations.
search_primitives
Search animation primitives across all sources (engine, research, animate.style, breakdown, compound). Filter by name, personality, category, or source.
- Name
query- Type
- string
- Description
Search term to match against primitive name or ID (case-insensitive).
- Name
personality- Type
- string
- Description
Filter by personality affinity. Built-ins:
cinematic-dark,editorial,neutral-light,montage;universalfor universally-tagged primitives. A custom slug from create_personality resolves through its choreography analog, post-filtered by its own derived guardrails.
- Name
category- Type
- string
- Description
Filter by category — e.g.,
Entrances,Exits,Reveals / Staggers,Continuous / Ambient,Content Effects,Interactions,Transitions,Typography,Attention Seekers.
- Name
source- Type
- string
- Description
Filter by source:
engine(built into the runtime),research(cinematic techniques),animate.style(Animate.css),breakdown(extracted from reference breakdowns),compound(JS-driven primitives — bespoke Remotion components or library-driven entries; see compound-js-primitive.md), orpattern(cookbook recipes from docs/cookbook/ — named multi-primitive choreography).
Try asking your AI:
"Search for Entrances that work with the cinematic-dark personality"
"Find all primitives in the Attention Seekers category"
get_primitive
Get full details for a single animation primitive by ID. Returns catalog data (if engine primitive) plus CSS implementation from the registry.
- Name
id- Type
- string
- Description
Required. Primitive ID (e.g.,
cd-focus-stagger,ct-iris-open,bk-sparse-breathe).
Returns: Full CSS keyframes, recommended timing, easing curve, personality compatibility, source, and usage notes.
Try asking your AI:
"Show me the full CSS for the cd-focus-stagger primitive"
get_personality
Get the full personality definition including timing tiers, easing curves, characteristics, camera behavior rules (allowed movements, parallax, DOF, ambient motion), default primitives, and recommended primitives by category.
- Name
slug- Type
- string
- Description
Required. Personality slug. Built-ins:
cinematic-dark,editorial,neutral-light,montage. A custom slug from create_personality resolves too.
Returns: Timing tiers (fast/medium/slow/spring), easing curves, camera preferences, recommended primitives, and guardrails.
Try asking your AI:
"What primitives and timing does the editorial personality use?"
recommend_personality_for_context
Rank the four animation personalities against a project context, so you don't have to read all four specs and hand-reason the fit. Personality choice determines the entire motion vocabulary, so this is the right first call when starting a project.
- Name
context- Type
- string
- Description
Required. What you are making (e.g., "15-second marketing-site explainer that cycles through product-UI states").
- Name
content_type- Type
- string
- Description
Optional content type (e.g., "product-ui", "brand film", "tutorial", "sizzle reel").
- Name
doctrine_tags- Type
- string[]
- Description
Optional doctrine / constraint tags to weigh (e.g., ["museum", "silver-light", "light-register"]).
Returns: Recommended personality with rationale, a scored ranking of all four, and a trade-off comparison table.
Try asking your AI:
"Recommend a personality for a 15-second marketing-site explainer that cycles through product-UI states"
search_breakdowns
Search animation reference breakdowns. Filter by personality, quality tier, type, or tag.
- Name
personality- Type
- string
- Description
Filter by personality. Built-ins:
cinematic-dark,editorial,neutral-light,montage;universalfor universal breakdowns. A custom slug from create_personality resolves through its choreography analog.
- Name
quality- Type
- string
- Description
Filter by quality tier:
exemplary,strong, orinteresting.
- Name
type- Type
- string
- Description
Filter by type:
gif,video,website, ormotion-study.
- Name
tag- Type
- string
- Description
Filter by tag (e.g.,
stagger,grid,onboarding,spring).
Returns: Matching breakdowns with metadata — slug, title, personality, quality tier, and tags.
Try asking your AI:
"Find exemplary breakdowns tagged with stagger"
get_breakdown
Retrieve a detailed breakdown analysis of a real-world cinematic sequence by slug.
- Name
slug- Type
- string
- Description
Required. Breakdown slug (e.g.,
linear-homepage,dot-grid-ripple,nume-ai-chat-dashboard).
Returns: Full markdown analysis including signature moments, timing map, and extracted primitives.
Try asking your AI:
"Show me the linear-homepage breakdown"
get_reference_doc
Access animation principles, spring physics documentation, and other foundational reference material by name.
- Name
name- Type
- string
- Description
Required. Reference document name (e.g.,
animation-principles,spring-physics).
Returns: Full reference document content.
Try asking your AI:
"Show me the spring physics reference documentation"
recommend_choreography
Get a complete camera choreography plan for a given intent and personality. Returns concrete primitive IDs, timing, parallax/DOF settings, ambient motion, and companion primitives — automating the emotion-to-camera mapping instead of manually cross-referencing personality rules and primitive registries.
- Name
intent- Type
- string
- Description
Required. The choreographic intent — one of the catalog's intent slugs (e.g.,
dramatic-reveal,build-tension,content-focus).
- Name
personality- Type
- string
- Description
Target personality slug. Built-ins:
cinematic-dark,editorial,neutral-light,montage. A custom slug is accepted too and resolves to a built-in choreography matrix. If omitted, returns plans for all built-in personalities the intent supports.
- Name
subject_count- Type
- integer
- Description
Number of subjects in the scene. Affects framing and stagger hints.
Custom personalities (from create_personality) don't carry their own intent matrix — the plan borrows a built-in's, via inherits_choreography_from or derived from camera mode, then filters its primitive candidates to the custom personality's own guardrails. The plan states which matrix it borrowed. See Custom personalities for the resolution rules.
Returns: A structured choreography plan with ordered primitive IDs, timing, parallax/DOF settings, ambient motion, and companion primitives.
Try asking your AI:
"Recommend choreography for a dramatic-reveal intent in cinematic-dark"
"Plan camera choreography for build-tension with 3 subjects"