slow-800-1200ms
npx skills add https://github.com/dylantarre/animation-principles --skill slow-800-1200ms
Agent 安装分布
Skill 文档
Slow Animations (800-1200ms)
At 800-1200ms, animation approaches cinematic territory. This is deliberate, intentional motion for moments that matter. Users are expected to stop and watch.
Disney Principles at Slow Speed
Cinematic Application
Squash & Stretch: Pronounced and characterful – 25-35% deformation tells stories. Objects have weight and personality.
Anticipation: Full theatrical wind-up – 200-300ms preparation. The audience knows something is coming.
Staging: Scene composition – think in terms of camera and stage. Clear visual hierarchy with entrance order.
Straight Ahead/Pose to Pose: Pose to pose essential – 4-6 key poses for 1 second of motion.
Follow Through: Extended overlap – different elements settle at clearly different times, 200-300ms of settling.
Slow In/Slow Out: Dramatic curves – strong ease-in creates weight, strong ease-out creates impact.
Arcs: Sweeping curves – motion paths are clearly curved, visible trajectories.
Secondary Action: Complex layering – multiple levels of supporting action enhance primary motion.
Timing: 48-72 frames at 60fps. Near-film quality frame counts.
Exaggeration: Theatrical – push proportions and motion for emotional impact.
Solid Drawing: Full dimensional transforms – parallax, depth, 3D rotation.
Appeal: Emotional connection – slow motion creates intimacy with the interface.
Easing Recommendations
/* Dramatic, weighted motion */
transition: all 1000ms cubic-bezier(0.16, 1, 0.3, 1);
/* Graceful entrance */
transition: all 900ms cubic-bezier(0.22, 1, 0.36, 1);
/* Heavy, impactful landing */
transition: transform 1100ms cubic-bezier(0.33, 1, 0.68, 1);
/* Elastic, memorable */
transition: all 1000ms cubic-bezier(0.68, -0.6, 0.32, 1.6);
Best Use Cases
- App launch sequences
- Major feature reveals
- Storytelling moments
- Error recovery animations
- Achievement unlocks
- Tutorial sequences
- First-run experiences
- Section transitions in presentations
- Loading state to content reveals
Implementation Pattern
@keyframes slowReveal {
0% {
opacity: 0;
transform: translateY(100px) scale(0.8);
}
60% {
opacity: 1;
}
100% {
transform: translateY(0) scale(1);
}
}
.slow-reveal {
animation: slowReveal 1000ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
/* Staggered sequence */
.sequence-item {
animation: slowReveal 900ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.sequence-item:nth-child(n) {
animation-delay: calc(var(--index) * 150ms);
}
When NOT to Use
- Navigation between views (too slow)
- Repeated interactions (users get impatient)
- High-frequency actions
- Data-heavy interfaces
- Productivity tools
Key Insight
Slow animations demand attention as payment. Only use when the moment is worth the user’s time. These animations create memories, not just feedback.