timing-functions

Installation
SKILL.md

Timing functions

This skill picks the timing function for a motion and checks its duration. It asks whether the motion is reacting to the user or the system is speaking.

Every check is a pair. The broken line sits beside the line that replaces it.

The bands below are exact. A gesture on a fixed ease-out is a finding. A spring that is not the sample pair stiffness: 500 and damping: 30 is a finding only when it visibly oscillates, as with stiffness: 1000 and damping: 5. Staging, press scale and stagger belong to animation-principles. Mounting and exits of conditional trees belong to exit-animations.

When to use

Use this when choosing or reviewing a transition, a spring or a decision to animate at all. Use it for drag, toggles, menus, hover, progress and page changes. Shared-element page transitions that should use the View Transitions API belong to pseudo-elements.

1. Classify the motion

Read the files in scope. For each transition, label it as one of: gesture, interruptible, system state, progress or time, or high-frequency. Say which label you used before judging the curve.

2. Match the function

Gesture-driven motion, including drag, flick and swipe, uses a spring. That is spring-for-gestures. Motion the user can reverse mid-flight uses a spring. That is spring-for-interruptible. On release, pass the pointer velocity into the spring, as in velocity: info.velocity.x. That is spring-preserves-velocity.

Installs
5
GitHub Stars
42
First Seen
2 days ago