01
Dots / Directional
Gather
A field contracts toward a shared center, then releases.
- Structure
- 7 × 7 dots
- Runtime
- None
- Format
- Inline SVG
Motion library 0.2Four families
A small, evolving library of expressive loading states. Lightweight enough for production, considered enough to make the in-between worth noticing.
01 / Motion workbench
Choose a pattern, set the pace, then copy a production-ready asset.
01
Dots / Directional
A field contracts toward a shared center, then releases.
02 / Motion families
Dots feel ambient, bars feel rhythmic, and pixels feel computational. Each family uses its own primitive while sharing one portable API.
03 / Progress, with context
A bar should tell the truth when the system knows it—and communicate activity without inventing certainty when it doesn’t.
The behavior contract
The endpoint moves only when the underlying value changes. Texture may show life, but it never implies fictional completion.
Open-ended motion traverses the available space without percentages, false milestones, or an endpoint that appears to regress.
04 / Built to travel
Each loader is a self-contained SVG or a tiny custom element. No framework assumptions, no image requests, and no animation runtime. The same motion can live in a prototype today and production tomorrow.
Copy the SVG, use the web component, or lift the timing map into your own system.
Every pattern honors reduced-motion preferences and settles into a legible static state.
The catalog separates shape, timing, and presentation. Line-based studies remain the next open family beside dots, bars, pixels, and progress.