home / skills / dylantarre / animation-principles / instant-0-100ms

This skill helps you design instant UI feedback under 100ms by applying minimal animation principles to buttons, toggles, and state changes.

npx playbooks add skill dylantarre/animation-principles --skill instant-0-100ms

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.3 KB
---
name: instant-0-100ms
description: Use when building instantaneous UI feedback under 100ms - button presses, toggles, state changes that feel immediate and responsive
---

# 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

```css
/* 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

```css
.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.

Overview

This skill helps designers and engineers implement instantaneous UI feedback under 100ms for interactions like button presses, toggles, and state changes. It applies Disney-inspired animation principles tuned for micro-interactions so UIs feel immediate and responsive. The goal is confirmation, not elaborate motion—users should sense responsiveness without consciously registering animation.

How this skill works

The skill inspects interaction contexts and recommends micro-animation patterns, timings, and easing that complete within 0–100ms. It outputs concrete CSS snippets and property guidelines (scale, opacity, color) while flagging patterns to avoid (multi-step sequences, large rotations, multiple simultaneous property changes). It emphasizes single-frame-friendly choices like ease-out or linear transitions and tiny scale/opacity offsets.

When to use it

  • Button press and active states
  • Toggle and switch transitions
  • Checkbox and radio selection feedback
  • Focus ring or input state changes
  • Initial touch ripple or haptic-triggered responses

Best practices

  • Keep duration between 20–100ms; aim for ~50ms for tactile feel
  • Animate one property at a time (transform or opacity) to avoid jank
  • Use very subtle changes: scale 0.95–1.05 or small opacity shifts
  • Favor ease-out for a soft landing or linear for exact state toggles
  • Avoid anticipation, follow-through, and multi-stage sequences for instant actions
  • Limit travel distance and rotation to under 15° to prevent noticeable motion

Example use cases

  • Pressing a primary button: transform scale(0.97) with transition 50ms ease-out
  • Toggling a switch: background color change with 80ms ease-out
  • Checkbox selection: quick opacity and color change, 40–60ms linear
  • Focus ring appear/disappear: opacity transition ~60ms ease-out
  • Touch ripple initiation: immediate small-scale opacity pulse under 80ms

FAQ

Will micro-animations impact performance?

When limited to transform and opacity and kept under 100ms, micro-animations are GPU-friendly and usually negligible for performance. Avoid animating layout properties like width/height.

Should I include easing libraries for these transitions?

No heavy libraries are necessary. Simple CSS easing (ease-out or linear) is sufficient and reduces overhead; use hardware-accelerated properties.