frame-timing
Skill7 starsChanged 10 months agoMITView on GitHub
Frame-accurate Disney timing techniques for video animation. Concepts like ones vs twos, frame holds, and smear frames. Use when creating Remotion compositions or frame-based animation.
In this repository87 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- motion-designSkill
- 3d-transformsSkill
- accessibilitySkill
- android-nativeSkill
- animation-recipesSkill
- anticipationSkill
- arc-motionSkill
- attention-choreographySkill
- attentionSkill
- audio-reactiveSkill
- blurSkill
- brand-animationSkill
- cameraSkill
- characterSkill
- choice-resolutionSkill
- cinematicSkill
- code-generationSkill
- colorSkill
- component-animationsSkill
- compositingSkill
- consequenceSkill
- container-transformSkill
- css-advancedSkill
- data-visualizationSkill
- depthSkill
- distortionSkill
- dramaturgySkill
- durationSkill
- easingSkill
- emotional-journeySkill
- emotion-mappingSkill
- emotion-selectionSkill
- empty-statesSkill
- entrance-patternsSkill
- exaggerationSkill
- exit-patternsSkill
- exportSkill
- figma-integrationSkill
- follow-throughSkill
- gesture-motionSkill
- glow-shadowSkill
- intentSkill
- ios-nativeSkill
- loading-statesSkill
- loopingSkill
- lottieSkill
- masksSkill
- microstateSkill
- morphingSkill
- motion-auditSkill
- motion-blurSkill
- motion-principlesSkill
- motion-specsSkill
- narrative-arcSkill
- notificationsSkill
- onboardingSkill
- opacitySkill
- orchestratorSkill
- particlesSkill
- The first 60 shown.
The file
Files
Frame-Accurate Disney Timing
Classic Disney timing techniques adapted for digital video production. Frame-by-frame control for maximum impact.
Core Concepts
Ones vs Twos
Traditional animation terminology for drawing frequency:
| Term | Meaning | Feel | Use Case |
| On ones | New drawing every frame | Smooth, fluid | Fast action, important moments |
| On twos | New drawing every 2 frames | Slightly choppy | Standard animation |
| On threes | New drawing every 3 frames | Stylized | Slow scenes, limited animation |
At 24fps:
- On ones: 24 drawings/second (film)
- On twos: 12 drawings/second (typical animation)
- On threes: 8 drawings/second (budget animation)
At 30fps (Remotion default):
- On ones: 30 drawings/second
- On twos: 15 drawings/second
- On threes: 10 drawings/secondFrame Holds
Pausing motion at key moments for emphasis:
Jump Animation (30fps):
Frame 1-3: Anticipation (crouch)
Frame 4-5: Takeoff (fast)
Frame 6-8: HOLD at apex <-- Emphasis!
Frame 9-10: Fall (fast)
Frame 11-14: Landing squash + settleRemotion Implementation
Frame Hold Utility
import { useCurrentFrame, interpolate } from 'remotion';
interface FrameHoldConfig {
holdFrame: number;
holdDuration: number;
}
export const useFrameWithHolds = (holds: FrameHoldConfig[]) => {
const frame = useCurrentFrame();
let adjustedFrame = frame;
let totalHoldsPassed = 0;
for (const hold of holds) {
if (frame >= hold.holdFrame && frame < hold.holdFrame + hold.holdDuration) {
return hold.holdFrame - totalHoldsPassed;
} else if (frame >= hold.holdFrame + hold.holdDuration) {
totalHoldsPassed += hold.holdDuration;
}
}
return frame - totalHoldsPassed;
};On Twos Animation
export const useFrameStepping = (
stepping: 1 | 2 | 3 = 1,
offset: number = 0
) => {
const frame = useCurrentFrame();
return Math.floor((frame + offset) / stepping) * stepping;
};Disney Anticipation Timing
const DisneyTimingRatios = {
subtle: { anticipation: 0.15, action: 0.35, settle: 0.50 },
medium: { anticipation: 0.20, action: 0.35, settle: 0.45 },
dramatic: { anticipation: 0.30, action: 0.30, settle: 0.40 }
};Frame Reference Table
| Animation | Total Frames (30fps) | Key Holds |
| Button press | 6-9 | None |
| Quick pop | 12-15 | 1-2 at peak |
| Bounce | 20-30 | 2-3 at apex |
| Page transition | 15-20 | None |
| Celebration | 30-45 | 3-4 at peak |
| Character jump | 25-35 | 3-4 at apex |
Common Timing Mistakes
- No holds - Motion feels floaty without key holds
- Equal spacing - Real motion accelerates/decelerates
- Too smooth - Sometimes choppy (on twos) looks better
- Missing anticipation - Actions feel unmotivated
- Rushed settle - Need time for secondary motion
Related Skills
motion-principles/- Disney 12 principlesduration/- Duration tokens and timingeasing/- Easing curves for timingremotion/- Remotion-specific implementationsmotion-blur/- Blur based on frame timing
See references/ for complete Disney bounce keyframe breakdowns.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

