instant-0-100ms

📁 dylantarre/animation-principles 📅 Jan 24, 2026
27
总安装量
17
周安装量
#13745
全站排名
安装命令
npx skills add https://github.com/dylantarre/animation-principles --skill instant-0-100ms

Agent 安装分布

claude-code 14
codex 11
gemini-cli 11
opencode 11
windsurf 10

Skill 文档

Instant Animations (0-100ms)

Animations under 100ms feel instantaneous to users. This duration is for immediate feedback that confirms actions without perceived delay.

Disney Principles at Instant Speed

Works Well

Squash & Stretch: Subtle – 2-5% compression on button press creates tactile feel without visible deformation.

Anticipation: Skip entirely – no time for preparation at this speed.

Staging: Minimal – rely on position/color change, not movement.

Straight Ahead/Pose to Pose: Straight ahead only – too fast for keyframe complexity.

Follow Through: None – motion completes before follow-through registers.

Slow In/Slow Out: Use ease-out only – starts at full speed, slight deceleration.

Arcs: Linear paths only – curves don’t register at this speed.

Secondary Action: Skip – brain can’t process multiple simultaneous instant changes.

Timing: 1-3 frames maximum. 60fps = 16.67ms per frame.

Exaggeration: Minimal – subtle scale (0.95-1.05) or opacity changes.

Solid Drawing: Focus on color/opacity shifts, not spatial transformation.

Appeal: Crisp, immediate response builds trust and perceived performance.

Doesn’t Work

  • Complex multi-step sequences
  • Visible travel distance
  • Rotation beyond 15 degrees
  • Multiple property changes
  • Staged reveals

Easing Recommendations

/* Primary choice - immediate start, soft landing */
transition: all 50ms ease-out;

/* Alternative - completely linear for state toggles */
transition: opacity 80ms linear;

/* Button press feedback */
transition: transform 50ms ease-out;

Best Use Cases

  • Button active/pressed states
  • Toggle switches
  • Checkbox/radio selections
  • Focus ring appearance
  • Hover color shifts
  • Touch ripple initiation

Implementation Pattern

.button:active {
  transform: scale(0.97);
  transition: transform 50ms ease-out;
}

.toggle-on {
  background: var(--active);
  transition: background 80ms ease-out;
}

Key Insight

At instant speeds, animation serves confirmation, not communication. Users shouldn’t consciously perceive the animation – they should feel the interface responding.