Sibling contract
Motion
Motion is structural communication, not ornament. If motion files are malformed or violate the non-negotiable standards, they degrade trust, clarity, and usability.
Version 0.1.0 · provisional · machine export
Source authority
Primary standard
Lottie Animation Community Specification v1.0.1 (2025-06-26)
Reference validator
ajv 8.20.0 (draft 2020-12 via ajv/dist/2020) + ajv-formats 3.0.1
Ten Non-Negotiable Motion Standards
01Easing is deliberate
02Properties are explicit
03Entrances have opacity
04Keyboard is still
05Layout is not animated
06Touch is gated
07Duration is bounded
08Reduced-motion is handled
09Press is asymmetric
10Easing is never ease-in
Verification — 10 checks
01m01 · Lottie file validates against LAC v1.0.1 JSON Schema
02m02 · Required fields present (v, fr, ip, op, w, h, layers)
03m03 · No deprecated Bodymovin version (v: "4.x")
04m04 · markers array present (reduced-motion support)
05m05 · meta object present (attribution, author, description)
06m06 · prefers-reduced-motion path documented (§3.4)
07m07 · Easing uses deliberate curves (§16.1, §16.10)
08m08 · Duration ≤ 300ms for UI motion (§16.7)
09m09 · No layout-property animation (§16.5)
10m10 · No motion on keyboard-initiated actions (§16.4)
10 checks. PASS=1, WARN=0.5, FAIL=0. Score = (points/10) × 100. A≥90, B≥80, C≥70, D≥60, F<60.
Open questions
- Raw schema URL verification: is it lottie.schema.json appended to the schema path?
- Reduced-motion marker convention: should Designesy establish "reduced"/"calm"/"static" name?
- GSAP scope: should this contract cover GSAP timeline validation or a separate contract?
- HyperFrames scope: does rule.atlas.hyperframes_quality_gate handle HyperFrames independently?
- Lottie spec stability: should validator warn when file uses features outside approved subset?
Sibling contract to the design system v0.3.0. Machine export at /contracts/motion.json.