Skip to content
engine 2026.2.0 · live registry

Animation you can
measure, not guess.

Most animation is chosen by vibes. Folio Motion integrates the actual spring equation — stiffness, damping, mass — and reports how long your motion takes to settle, how far it overshoots, and whether it will jank on a real device. Then it hands you the CSS.

live integration

k=320 c=30 m=1

T
t 0.000sx +0.000spring
settle
371ms
overshoot
0.0%
onset
52ms

Numbers above are the engine's own output for those parameters. Drag the dials in the lab to change them and watch every figure move.

0Hz

integration step

Springs are solved with a fixed-step symplectic Euler solver, so results are identical on every machine.

0bit

integrity seal

Every mutation is chained with SHA-384, so a spec's history can be replayed and proven untampered.

0factors

explainable score

Settle, overshoot, onset, velocity and accessibility — each with the measurement behind it.

What the engine actually checks

Four numbers that decide whether motion feels good

settle

< 400ms

under this the UI feels instant, over 600ms it feels broken

overshoot

0–20%

a hint of overshoot reads as physical; past 45% it reads as sloppy

onset

< 60ms

time to cover the first 10% of travel; this is what sells responsiveness

animated prop

transform / opacity

anything else forces layout or paint on every single frame

The product

Not a demo. A workbench.

01

Tune it

Drag stiffness, damping and mass — or move bezier control points. The score and the curve update on every change.

Open the lab

02

Keep it

Save the spec to Postgres. Every spec is owned by your anonymous session and sealed into a tamper-evident chain.

See your specs

03

Ship it

Export CSS with a reduced-motion fallback, a Framer Motion module, an SVG of the real curve, or a reviewable report.

Hand it to an agent

Live from the npm registry

The libraries it advises on

live data

Fetched 02:30 PM · Live registry data for 5 animation libraries, cached 900s.

Stop guessing how your UI should move.

The lab runs entirely in your browser, needs no account, and saves to a real database. Clone it if you want to self-host the engine.