motion-doctrine

Enforces continuous motion vectors across scene transitions in HyperFrames video compositions.

43.5k|4.2k|Updated Mar 10, 2026
One-click install
npx skills add https://github.com/heygen-com/hyperframes --skill motion-doctrine
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: motion-doctrine
Source: https://github.com/heygen-com/hyperframes/tree/main/.agents/skills/motion-doctrine
Command: npx skills add https://github.com/heygen-com/hyperframes --skill motion-doctrine

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Multi-scene videos often feel like disconnected slides because each scene is animated in isolation, killing visual momentum at every cut. This Skill provides the motion law and automated verification that make a video read as one continuous camera move.

Core Features & Use Cases

  • Vector Law & Ledger: Plan every scene transition as a matched exit/entry vector (axis, direction, speed) in a ledger.json file before authoring any animation.
  • Seam Gate Verification: Run scripts/seam-gate.mjs to numerically verify each cut — exit still moving, entry mid-flight, zero overlap, Z-scale sign consistency, and carrier continuity — using headless Chrome over CDP.
  • Seam Stamping: Generate master-timeline GSAP seam code automatically from the ledger with scripts/seam-stamp.mjs so stamped seams pass the gate by construction.
  • Use Case: When building a 60-second product explainer with eight scenes, write the vector ledger first, stamp the seams into index.html, then run the verifier to catch mirrored zooms, settled exits, or dissolve-like overlaps before rendering.

Quick Start

Before composing any HyperFrames animation, load the motion-doctrine skill and create a ledger.json planning every scene transition, then run the seam-stamp and seam-gate scripts to generate and verify the cuts.

Frequently Asked Questions about motion-doctrine

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make scene transitions feel continuous in HyperFrames videos?

Write a vector ledger (ledger.json) where each seam's exit and entry share the same axis, direction, and matched speed, then cut mid-motion on both sides. Run seam-stamp.mjs to generate the GSAP seam code and seam-gate.mjs to verify it numerically.

What is the vector law for video scene transitions?

The vector law states that how a scene exits determines how the next enters: same axis, same direction, matched speed, with the cut landing mid-motion on both sides. On the Z axis, direction is the sign of the scale change, so a shrinking exit must be answered by a shrinking entry.

How do I verify video transitions automatically with seam-gate?

Run node seam-gate.mjs verify --ledger ledger.json --project <dir> with Node 22 and a local Chrome available. It spawns a preview server, samples element positions via CDP around each cut, and exits 0 only if all seams pass the motion checks.

Why does the seam gate report a zero-overlap failure?

Zero-overlap fails when both scenes are visible in the same frame, which reads as a dissolve. The usual cause is a clip whose data-start precedes its entry tween; set initial autoAlpha to 0 and data-start exactly at the cut time.

Can I use crossfades or idle float animations between scenes?

No. Crossfades are banned because they have no carrier for the eye to follow, and idle sine loops like breathing or floating are banned as sustained motion. Use cut-the-curve transitions and assign each phase a staged reveal, camera move, or sequenced UI route.