SuperAPI AI Directory

motion-craft

General & other

View repository

Updated 10-15 21:48

About this skill

It does not own UI motion tokens: easing curves and the glossary live in fuse-design:design-motion and are pointed to, never copied. UI micro-durations from that skill (100-500 ms) do not apply to film read time. And readable never means frozen: a purposeful gesture is in progress at every moment — no span over 0.75 s without one, the final CTA still ≤ 1.2 s — and nothing "drifts" to fake life; a long read becomes more beats.

Motion Craft

Agent Workflow (MANDATORY)

Step Who What
Before choosing curves read fuse-design:design-motion → motion-tokens.md Reuse the named easing tokens
Naming an effect animation-glossary.md Exact term in beats and handoff
Building a scene motion-art-direction templates first: composition-grid, kinetic-type, cut-rhythm Grid, entrances and cut times that already enforce these rules
Draft review motion-critic via motion-review Scores these rules with frame refs
Scripts fuse-ai-pilot:sniper Code validation after scene/render edits

Overview

Area Core rule Reference
Focus One primary gesture at a time, smaller details (rules, underlines, counters) may move with it; frame 0 at full value; behaviours rotate, never opacity-only focus-hierarchy.md
Timing & density Gesture in progress at every moment: ≤ 0.75 s gesture-free, CTA still ≤ 1.2 s, beats every 0.5-1 s, ≥ 1 onset/s; ≥ 0.25 s per word on screen; long copy → more beats; no drift timing-holds.md
Continuous take Cut-based edit or one continuous object (morph, cursor, content swap); no opacity blend; one curve; loops with matched velocity continuous-take.md
Easing No linear motion; springs ζ ≥ 0.85, overshoot ≤ 3 %, one swing at most; springSum; dual-edge squash/stretch easing-springs.md
Color & type Ink / paper / one accent (OKLCH); area-weighted contrast ≥60 L; a ≥50 % dark/accent plane on 1 beat in 3; no neutral mid-tones; TYPE_SCALE ≥4; never centered color-type-video.md
Anti-slop Single-source ban list, each absolute ban mapped to a hard-fail ID; no look.md exception anti-slop-video.md

Critical Rules

  1. One primary gesture at a time — smaller, subordinate details (a rule, an underline, a counter, a motion path) may move with it; two big moves at once = no focus.
  2. Frame 0 is the statement — the opening line is on screen at full value at t = 0; no blank, logo or fading-in first frame.
  3. Continuous purposeful motion, readable, never drifting — a gesture in progress at every moment: no span > 0.75 s without one, the final CTA still ≤ 1.2 s, beats every 0.5-1 s on the grid, ≥ 1 onset/s; every word ≥ 0.25 s on screen, long copy split into more beats. No slow push, no ambient loop.
  4. No opacity blends — no crossfade, no dissolve, no opacity-only reveal. Transitions are a shape morph, a hard-edged mask wipe, push/swap, or a hard cut on the grid; one fixed curve for every morph and the camera (field example: 0.8 s cubic-bezier(.45,0,.15,1)).
  5. Kinetic type and objects, rotated — letter/word stagger, slam, scale jump 3-4× → set size, split along a plane; one recurring geometric actor; objects that assemble and transform; never the same behaviour on two consecutive beats.
  6. No linear motion — except constant-rate indicators (progress fill, cursor travel at typing speed).
  7. Springs: ζ ≥ 0.85, overshoot ≤ 3 %, one swing at most — presets 320/31 (UI, ζ 0.87), 170/23 (containers, 0.88), 120/19 (heavy type, 0.87); snappy expo-out arrivals.
  8. Ink / paper / one accent, no neutral mid-tones — no fill at OKLCH L 30-85 with C < 0.03; the two largest planes differ by ≥60 L; at least one beat in three is ≥50 % dark or accent field; body text ≥7:1.
  9. Type as a large object, never centered — TYPE_SCALE ≥4 on hero frames, flush-left or edge-anchored, at least one crop/bleed; px at the 1080-wide output; judge legibility at 360-390 px.
  10. Every decorative effect is banned — gradient backgrounds, decorative blur, glow, shadow, grain, glass/chrome, ambient 3D, particles, bouncy easing. Four bounded allowances: content-swap blur ≤ 0.1 s ≤ 8 px, master motion blur, overshoot ≤ 3 %, purposeful 3D (flat or lit faces, justified). The list lives only in anti-slop-video.md; look.md cannot re-enable any of it. Hard-fails: motion-review → hard-fails.md.
  11. UI tokens are pointed to, never copied — and UI micro-durations never set film read time.

Architecture

Beat (from motion-method beats.md)
├── gestures         → focus-hierarchy.md   (one primary + subordinate details, how it enters)
├── motion           → easing-springs.md    (curve or spring preset)
├── timing           → timing-holds.md      (≤ 0.75 s gesture-free, CTA still ≤ 1.2 s, read time, split long reads)
├── into next scene  → continuous-take.md   (morph, mask wipe, push, grid cut, loop, gotchas)
├── color / type     → color-type-video.md  (ink/paper/accent, planes, type scale, safe zone)
└── self-check       → anti-slop-video.md   (bans + hard-fail IDs before the stills stage)

Reference Guide

Concepts

Topic Reference When to Consult
Focus hierarchy focus-hierarchy.md Deciding what moves, how it enters, what stays still
Timing & density timing-holds.md Gesture-free span ≤ 0.75 s, CTA still ≤ 1.2 s, ≥ 1 onset/s; read time; splitting a long read
Continuous take continuous-take.md Scene-to-scene transitions, camera, loops; pops, detached cursor, counter smear
Easing & springs easing-springs.md Choosing a curve or spring preset; why UI durations don't apply
Color & type for video color-type-video.md Planes and contrast, accent field, type scale, composition, 9:16 safe zone
Anti-slop (video) anti-slop-video.md Self-check before stills; the single-source ban list and its hard-fail IDs

Templates

This skill ships no templates: its rules land in the beat map (motion-method → references/templates/beats.md) and in the scene, built from the motion-art-direction templates (composition-grid, kinetic-type, cut-rhythm) on motion-render's seek/capture/encode mechanics.

Pointed-to references (fuse-design, never copied)

File Use
motion-tokens.md Named easing curves and UI spring configs
animation-glossary.md Feel → term vocabulary for beats and handoff

Best Practices

DO

  • Write each beat's primary gesture, its details, its behaviour and its curve into the beat map before coding.
  • Check legibility on a 390 px-wide frame, not the master.
  • Name each effect with the glossary term ("shared-element transition", "origin-aware scale").
  • Let the critic's scores trace back to a numbered rule here.
  • Start a handoff only once the previous drawing has fully landed; swap counters as whole values.

DON'T

  • Copy motion-tokens.md values into this plugin — link them.
  • Use 200-300 ms UI timings as film read time.
  • Leave a span over 0.75 s with no gesture (CTA still over 1.2 s), or keep it "alive" with a drift or an ambient loop.
  • Blend two states by opacity, or reveal by opacity alone.
  • Add a second accent "for variety", or a grey panel "for depth".
  • Center the hero, set every line at the same size, or reuse one entrance on every beat.
  • Reach for a banned effect "just for the intro" — look.md never makes it allowed.