Communitygithub.com

Motion Doctrine (Gateway)

Lade dies ZUERST, bevor du eine HyperFrames-Animation oder ein Video erstellst. Das hochrangige Bewegungsgesetz, das ein Multi-Szene-Video wie eine EINZIGE, kontinuierliche Kamerafahrt wirken lässt, anstatt wie ein Stapel unabhängig animierter Folien.

Was ist Motion Doctrine (Gateway)?

Dieses Skill ist das zentrale Gatekeeper-System für die Erstellung nahtloser, filmischer HyperFrames-Animationen. Es definiert eine Motion Doctrine, die sicherstellt, dass jede Szene als Teil einer kontinuierlichen Kamerabewegung wirkt, anstatt als isolierte Folie. Der Kern ist das Vektorgesetz, das festlegt, wie die Ausgangsbewegung einer Szene die Eingangsbewegung der nächsten bestimmt, inklusive der Z-Skalen-Vorzeichenregel. Es führt die Konzepte des "Films Current" (standardmäßig links), von Trägerelementen, kausaler Bewegung und der "Seam Gate"-Verifikation ein, die programmatisch die Einhaltung der Regeln prüft. Das Skill verbietet zudem sinnlose Wackelbewegungen und definiert stattdessen klare Routen für andauernde Bewegung, wie gestaffelte Enthüllungen oder kamerageführte Aktionen. Es verweist auf die Implementierungs-Skills `cut-the-curve`, `oversized-cursor` und `seam-craft` für die konkrete technische Umsetzung und superseded alle generischen Bewegungsvorgaben.

Funktioniert mit~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Drama2557/4RealDigital-Video-Studio/tree/HEAD/.agents/skills/motion-doctrine

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Motion Doctrine (Gateway)?

Lies dies, bevor du eine Animation erstellst. Es entscheidet, WAS an jeder Nahtstelle passiert und wie jede Szene performt; die technischen Fertigkeiten setzen es um. Diese Regeln superseded generische / vorgelagerte Bewegungsvorgaben. Der Fehler, den dies verhindert: isoliert erstellte Szenen – der Schwung des Auges stirbt an jedem Schnitt, und Szenen wackeln auf der Stelle zwischen Ein- und Ausgang.

Routenkarte

Entscheidung (dieses Skill)Umsetzungs-Skill
Auswahl der Nahtstellen-Transition + Parameter + Codecut-the-curve §1–5 (der Katalog)
Kaskadierung von Text / Element-Eingängencut-the-curve §6 (Wasserfall-Eingang)
Neupositionierung von Gruppen innerhalb einer Szenecut-the-curve §7 (Nudge-Kurve)
Cursor-geführte Aktion / Szenen-Start / Morph-Zündungoversized-cursor
Rendermechanik von Nahtstellen / White-Flash-Schutzseam-craft
Produkt-Launch / Erklärer / BeschriftungsarbeitÜberlagert text-beat-economics, brand-faithful, captions-overlay auf das vorgelagerte Skill

Erstellungsreihenfolge: Vektor-Hauptbuch (ledger.json) → STAMP die Haupt-Nahtstellen daraus (scripts/seam-stamp.mjs --ledger ledger.json --write index.html) → Route der anhaltenden Bewegung pro Phase → Träger und Ursachen → Build-Kompositionen → VERIFIZIEREN (scripts/seam-gate.mjs). Nur Tier-A-Morphs/Match-Cuts manuell erstellen; gestempelte Nahtstellen bestehen die Prüfung konstruktionsbedingt.


Teil 1 — Das Nahtstellengesetz

Das Vektorgesetz

Wie Szene A ausgeht, bestimmt, wie Szene B eintritt: gleiche Achse, gleiche Richtung, gleiche Geschwindigkeit, Schnitt mittendrin auf beiden Seiten.

  1. Achse – x bleibt x, y bleibt y, Z bleibt Z. Tausche niemals die Achsen über einen Schnitt hinweg.
  2. Richtung – niemals spiegeln. Auf Z bedeutet Richtung das VORZEICHEN der Skalierungsänderung: Wachsen = Schieben (Kamera vorwärts), Schrumpfen = Ziehen (Kamera zurück). Ein zurückweichender Ausgang, beantwortet durch einen aus-dem-Kleinen-wachsen-Eingang, ist ein gespiegelter Vektor – der häufigste Verstoß, da aus-dem-Kleinen-wachsen der Standard-Element-Eingang ist.
  3. Geschwindigkeit – Anfangsgeschwindigkeit des Eingangs ≈ Endgeschwindigkeit des Ausgangs, durch gespiegelte Easing-Funktionen (Ausgang power4.in + Eingang power4.out, gleiche Distanz und Dauer; die eingehende Seite übernimmt ≥50% des gedachten Pfads). Mechanik in cut-the-curve.
  4. Phase – der Schnitt landet mittendrin auf BEIDEN Seiten. Zur Ruhe kommen vor dem Schnitt oder von Ruhe aus starten nach dem Schnitt ist ein toter Schlag.

Der Filmstrom (Current)

Jeder Film wählt EINE dominante Richtung (Standard: LINKS). Jede gewöhnliche Nahtstelle verwendet sie. Andere Vektoren sind RESERVIERT – sie einzusetzen bedeutet etwas:

VektorBedeutung
Der Strom (LINKS)"nächster Schlag" – neutraler Vorwärtsfortschritt
AufwärtsErhöhung – eine Schlussfolgerung oder Enthüllung erhebt sich über das Vorherige
Z vorwärts (Zoom-durch)Tiefer eintauchen in denselben Gedanken
Z rückwärts (inverser Zoom)ANKUNFT – etwas Größeres landet
Skalierungs-Burst (explodieren raus)Eine Welt verlassen – eine Oberfläche rast an der Kamera vorbei
  • Führe niemals aufeinanderfolgende Nahtstellen in entgegengesetzte Richtungen – Ping-Pong wirkt wie ein Fehler.
  • Ein Richtungswechsel benötigt eine sichtbare Ursache (Klick / Prellen / Aufprall) oder eine Kapitelgrenze.

Das Vektor-Hauptbuch (Ledger)

Schreibe es, bevor du eine Haupt-Zeitleiste erstellst – als ledger.json im Projektstamm (Schema: references/seam-gate.md). Eine Zeile pro Nahtstelle: Schnittzeit, Ausgangs- und Eingangsvektoren (Achse + vorzeichenbehaftete Richtung; Z-Zeilen tragen das Skalierungsvorzeichen), Selektoren, Technik. Ausgang und Eingang müssen übereinstimmen; wenn eine Zeile nicht passt, korrigiere den Plan, nicht das Easing. Der Prüfer prüft die Konsistenz der Zeilen statisch vor jeder Laufzeit-Stichprobe.

Träger (Carriers)

Das Auge folgt Objekten, nicht Abstraktionen. Die stärksten Nahtstellen übergeben einen konkreten Träger über den Schnitt hinweg bei MATCHENDER Position UND Geschwindigkeit: Ein Cursor auf halbem Weg, ein Container, der schrumpft und in das nächste Layout dockt, eine Markierung, die in ihren genauen Slot fliegt, die Wortgruppe eines Wasserfall-Schnitts. Ohne natürlichen Träger übernehmen die Szenen-Helden die Last (Teilreise + frühes Ausblenden, Eintritt im Flug). Niemals eine Überblendung – sie hat überhaupt keinen Träger.

Kausale Bewegung

Verkette Bewegungen so, dass jede Bewegung sichtbar von der letzten ausgelöst wird: Klick → Quetschen → Sprungfeder lösen → Flug → Aufprall → Rückstoß → Enthüllen.

  • Effekte beginnen IM gleichen Frame wie die Ursache – gleiche Zeitposition in der Zeitleiste, niemals "kurz danach".
  • Reaktionen skalieren mit der implizierten Masse: Große Elemente federn langsamer zurück, kleine schneller.
  • Eine Kraft ist eine Lizenz zum Richtungswechsel; ein grundloser Richtungswechsel ist ein Ping-Pong.

Die Nahtstellenschleuse (Seam Gate – Build-Prüfung, führe den Prüfer aus, Exit 0 oder die Nahtstelle ist nicht fertig)

node <SKILL_DIR>/scripts/seam-stamp.mjs --ledger ledger.json --write index.html  # generieren
node <SKILL_DIR>/scripts/seam-gate.mjs verify --ledger ledger.json --project .  # verifizieren

Das Skript (Verwendung + Ledger-Schema: references/seam-gate.md) erzwingt numerisch pro Nahtstelle: Konsistenz der Ledger-Zeile, Ausgang noch in Bewegung am Schnitt, Eingang im Flug (niemals aus Ruhe), gemessene Richtung = Ledger-Richtung, Geschwindigkeitsabgleich von Eingang/Ausgang (WARN), keine Überlappung (eine Seite sichtbar pro Frame – der Schnitt ist keine Überblendung), die Z-Vorzeichenregel (d(scale)/dt gleiches Vorzeichen auf beiden Seiten; die Eingänge der eingehenden Szene selbst werden auf Vorzeichenkonflikte geprüft) und Kontinuität des Trägerrechtecks unter Einbeziehung der übergeordneten Skalierung. Verwende seam-gate.mjs probe --t <Schnittzeit> um die echten Trägerselektoren jeder Nahtstelle zu finden, wenn du das Ledger erstellst.

Regeln, die das Skript NICHT prüfen kann – liegen dennoch in deiner Verantwortung:

  1. Bearbeitungen öffnen die Nahtstelle neu. Jede Änderung an den ersten/letzten ~1s einer Szene (inkl. Neutiming auf neue VO) macht die Prüfung dieser Grenze ungültig – führe den Prüfer erneut aus.
  2. Audio ist die Uhr. Timing von Szenen auf die echten Wort-Zeitstempel der VO; zwinge niemals einen Sprechtext in einen Slot. Eine Neuerstellung der VO öffnet ihre Nahtstellen neu.
  3. Clip-Gating-Falle (die übliche Ursache für einen FEHLER "keine Überlappung"): Ein Clip, dessen data-start vor seinem Eingangs-Tween liegt, wird bei seiner anfänglichen Deckkraft sichtbar – setze anfänglich autoAlpha: 0 UND data-start = die Schnittzeit, niemals früher.

Teil 2 — Performance (die Szene performt weiter)

Kein sinnloses Wackeln

Sinusförmige Leerlaufschleifen (atmen, schweben, treiben, Glühen-Pulsieren) sind als anhaltende Bewegung VERBOTEN – sie wirken wie "das Video wartet". Eine Szene, die Sekunden vor Schluss fertig mit dem Eintritt ist, ist ein Planungsfehler: Füge Geschichte hinzu, kein Wackeln. Jede Phase zwischen Eintritt und Austritt gehört zu einer dieser Routen (nenne die Route im Plan):

RouteWas es ist
Gestaffelte EnthüllungenHalte Inhalt zurück; zeige ihn auf Erzählschlägen – der Frame gewinnt ständig an Information (Standard für ≥2 Inhaltsgruppen)
Kamera mit AbsichtEin kartierter Skalierungs+Verschiebungs-Pfad: Etabliere Übersicht → Reise → Ankunft beim Thema
Sequenzielles UI-LebenDas Produkt verhält sich über Zeit: Fortschritt schreitet voran, Highlights Schritt, Zähler ticken
Animierte SequenzenElemente spielen einen Schlag nach: Eine Karte wird in einen Stapel einsortiert, ein Gegenstand wird gezogen, ein Ergebnis setzt sich zusammen
Cursor-geführte AktionEin überdimensionierter Cursor führt das Auge zu einem Auslöser; sein KLICK zündet den nächsten Schlag (oversized-cursor)

Test: Pausiere zu jeder Sekunde – etwas Bedeutendes muss im Flug sein (eine Enthüllung landet, die Kamera reist, das UI tut, was die Erzählung sagt).

Stille vor dem Höhepunkt

Plane eine 0.3–0.75s Pause zwischen der Hauptaktion und ihrem Ergebnis – das dramatische Komma. Eine Szene, die direkt von der Aktion zum Ergebnis springt, verliert es.

Timing-Intents

  • Einzelner Eintritt ≤ ~800ms; längere Etablierung = Staffelung mehrerer Elemente, nicht ein langsames Element.
  • Austritt ≈ 75% des Eintritts. Ausnahme: cut-the-curve kehrt dies um (Eintritt ~127% des Austritts).
  • Gesamt-Staffelung ≤ 500ms; bei 8+ Elementen, verringere die Verzögerung pro Element oder staffle die ersten paar.
  • Verbotene Easings: bounce.out / elastic.out. Eingangs-Überschwinger back.out(1.4–1.7) sind in Ordnung.
  • Ähnliche Elemente teilen sich ein Easing- und Dauer-Intent – niemals ein einzigartiges Paar pro Element.

Übergangsvokabular

Verwende nur 2–3 Szenenübergänge pro Film und wiederhole sie; die Standardgrenze ist cut-the-curve in Richtung des Filmstroms. Handgeschriebene Shared-Element-Morphs (intent: morph) zählen nicht gegen das Budget.


Anti-Patterns

Nicht soStattdessen
Jede Szene einzeln erstellenSchreibe zuerst das Vektor-Hauptbuch
Überblendung zwischen Szenencut-the-curve in Richtung des Filmstroms
Austritt abgeschlossen, DANN SzenenwechselSchneide mittendrin auf beiden Seiten
Eintritt beginnt aus Ruhe nach einem SchnittTrete ≥50% des gedachten Pfads ein
Inverser Zoom-Austritt → aus-dem-Kleinen-wachsen-Eingriff (oder Schieben → übermäßiger Rückzug)Gleiche das Skalierungsgeschwindigkeits-Vorzeichen an (Seam Gate 7)
Eintritt der eingehenden Szene als Pop-In unter einer Z-NahtstellenübergabeHalte seinen Öffnungsframe komponiert oder passe das Vorzeichen an
Leerlauf-Wackeln / Atmen / Schweben, um Zeit zu füllenWeise eine Route für anhaltende Bewegung zu; oder füge Geschichte hinzu
Richtungswechsel ohne UrsacheSetze eine Kraft ein, oder behalte den Strom
Reservierte Vektoren als Abwechslung verwendetStandardmäßig den Strom; setze sie für Bedeutung ein
Reaktion ein paar Frames nach ihrer UrsacheZündung im gleichen Frame
Aktion springt direkt zum ErgebnisPlane Stille vor dem Höhepunkt (0.3–0.75s)

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Drama2557/4RealDigital-Video-Studio

Overlay doctrine for the embedded-captions workflow — the caption MODEL (drop / rail / embed) and the rule that captions are an OVERLAY composited on top of the film, never a reserved bottom band you shift content up to avoid. Load when adding captions/subtitles to a talking-head or launch video, when deciding whether a phrase should be dropped, ride the verbatim rail, or be promoted to a scarce embedded climax, when laying out a composition that will carry captions (do NOT reserve a keep-out band), or when centering a composition on the true frame center under captions. Quotes the rail+embed model from embedded-captions and constraint #13 (captions overlay, keep-out band retired) from the product-launch-video scene agent. Applies ON TOP of embedded-captions.

Drama2557/4RealDigital-Video-Studio

Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations, lowkey captions). Use when the user provides a changelog/digest markdown and wants the weekly video, or says "changelog video". Self-contained — fonts, background, lexicon, and scripts ship in this skill.

Drama2557/4RealDigital-Video-Studio

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

Drama2557/4RealDigital-Video-Studio

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet `anchor` rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Drama2557/4RealDigital-Video-Studio

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

Drama2557/4RealDigital-Video-Studio

Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated motion-first unit, including an animated title. Route fresh creation through hyperframes before using this skill.

Drama2557/4RealDigital-Video-Studio

Use the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering.

Drama2557/4RealDigital-Video-Studio

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class="clip"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.

Drama2557/4RealDigital-Video-Studio

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.

Drama2557/4RealDigital-Video-Studio

Install, discover, and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add or hyperframes catalog, installing one item or every block matching a tag, wiring an installed item into index.html, or working with hyperframes.json. Covers discovery, install locations, block sub-composition wiring, component snippet merging, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).

Drama2557/4RealDigital-Video-Studio

Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal.

Drama2557/4RealDigital-Video-Studio

A short, design-led motion graphic where motion is the message — kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow, or kinetic promo. The music drives all pacing; any user-supplied images/videos are cut onto the same beat grid, and a complete video needs zero assets. Narrated pieces → the input-matched workflow (see /hyperframes). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

Drama2557/4RealDigital-Video-Studio

Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR topic explainer (/faceless-explainer). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

Drama2557/4RealDigital-Video-Studio

Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't explicitly ask for a slideshow, confirm before authoring. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on "graphic overlays", "on-screen graphics", "package / dress up my video". Not plain subtitles (/embedded-captions). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Agent skill / project related to launch or product demo video: Drama2557/4RealDigital-Video-Studio

Verwandte Skills