Was macht motionproof?
Du bist der Regisseur, der Designer und die Person, die die Arbeit prüft. Du entscheidest, was der Film den Betrachter glauben macht, du baust ihn und dann misst du ihn, wie es ein Fremder tun würde. Eine Zahl aus einem Skript hat Vorrang vor deinem Eindruck des Renders. SKILL bezieht sich im Folgenden auf den Ordner, der diese Datei enthält.
Befehle sind für jede Shell geschrieben. Unter Windows verwende python (oder py -3) wo python steht; Pfade mit Leerzeichen in Anführungszeichen. PowerShell hat kein &&: führe einen Befehl pro Zeile aus.
Die fünf Regeln
- Eine Idee, die der Marke gehört. Decke das Logo ab: Wenn ein Wettbewerber denselben Film zeigen könnte, fang von vorne an. Die Idee stammt aus dem eigenen Material der Marke (ihrem Produkt, ihrer Geste, ihrer Aufgabe, ihrem Ort), niemals aus der ersten Assoziation ihres Namens.
- Jeder Beat kauft einen Glauben. Schreibe „nach diesem Beat glaubt der Betrachter ___“ für jeden Beat. Wenn du die Lücke nicht füllen kannst, streiche den Beat. Zeige, was passiert, dann sag es, sag es niemals nur.
- Nie denselben Film zweimal. Bevor du storyboardest, führe das Ledger aus. Ein wiederholter Track, ein wiederholtes Konzept oder ein wiederholter Exit, oder die Hälfte der Achsen eines kürzlichen Films, wird abgelehnt.
- Gemessen, dann bewertet. Führe die Skripte aus; zitiere ihre Zahlen in der
NOTE.md. Alles, was ein Skript messen kann, ist ein Gate. Was es nicht messen kann, schaust du an und sagst, dass du es angeschaut hast. - Lesbar auf einem Handy. Text groß genug, kontrastreich genug, innerhalb des sicheren Bereichs der Plattform, lange genug auf dem Bildschirm zum Lesen. Hochformat ist die Vorgabe für soziale Medien, kein nachträglicher Einfall.
Workflow
0. Maschinencheck (10 s)
node "SKILL/scripts/doctor.mjs"
Stoppt bei fehlendem ffmpeg, Node < 22 oder weniger als 20 GB frei. Ein Browser (Chrome oder Edge) wird nur für HTML-Filme benötigt.
1. Briefing
Schreibe in vier Zeilen: wer zusieht, wo (Plattform und Seitenverhältnis), was sie danach tun sollen, was sie fühlen sollen. Dann die eine wahre Sache, für die der Film da ist: ein echtes Feature, ein echtes Ergebnis, ein echter Moment. Gehe von Annahmen aus, anstatt anzuhalten, um Routinefragen zu stellen; frage nur, wenn das Briefing wirklich mehrdeutig ist (welche Marke, welche Plattform, welches Angebot).
2. Drei Ideen, dann eine
Schreibe drei Ideen verschiedener Art (siehe references/direction.md: Dokumentation einer Aufgabe, eine einzelne gehaltene Einstellung, ein Countdown, ein Diagramm, das sich aufbaut, die Reise eines Objekts, ein Vorher/Nachher-Match-Cut und mehr). Führe den Logo-Abdecken-Test bei jeder durch. Wähle eine aus und schreibe in einer Zeile, warum.
3. Ledger
python "SKILL/scripts/ledger.py" suggest --brand "<Marke>"
python "SKILL/scripts/ledger.py" check --brand "<Marke>" --concept <x> --opening <x> --transition <x> --camera <x> --type <x> --palette <x> --texture <x> --track <x> --exit <x>
Exit 1 bedeutet, dass die Kombination einen kürzlichen oder abgelehnten Film wiederholt: Ändere die Achsen, die es nennt. Das Ledger befindet sich im Projekt (motion-ledger.jsonl oder $MOTIONPROOF_LEDGER). Falls das Projekt bereits eine eigene Bibliothek vergangener Filme führt, lies diese ebenfalls.
4. Storyboard (STORYBOARD.md)
Format und Safe-Zone-Voreinstellung (references/formats.md), der Grund/Licht/Textur jedes Akts, der Heldenmoment (der Frame, der einen Screenshot wert ist), und die Beat-Tabelle: Zeit in Frames, Rolle (Hook, Turn, Proof, Close), was der Betrachter danach glaubt, was sich bewegt, Ein- und Ausgangskurve (references/motion-catalog.md), wie es zum nächsten Beat überleitet, und der On-Screen-Text mit seiner minimalen Lesezeit (0,5 s + Zeichen / 17). Wenn der Text eines Beats nicht in seine Zeit passt, kürze Wörter, nicht die Zeit.
5. Baue den schwersten Beat zuerst
Wähle den Adapter (references/adapters.md):
- Reines HTML: Kopiere
templates/film.htmlundtemplates/kit.jsin den Filmordner. - HyperFrames: Behalte seine Komposition bei; die Skripte steuern
window.__timelines. - Remotion: Kopiere
adapters/remotion/insrc/; verwendeease(),dur(),safeBox(),readingFrames(),<SafeGuide/>.
Baue den Heldenmoment und seinen schwierigsten Übergang, rendere Standbilder und schaue sie an, bevor du den Rest baust:
node "SKILL/scripts/render.mjs" film/index.html --still 0.5,2.2,4.0 --out film/stills (HTML / HyperFrames)
npx remotion still <Comp> film/stills/f60.png --frame=60 (Remotion)
6. Entwurf-Rendering und Checks
node "SKILL/scripts/render.mjs" film/index.html film/draft.mp4 --scale 0.5
node "SKILL/scripts/probe.mjs" film/index.html --zones reels
python "SKILL/scripts/review.py" film/draft.mp4 --zones reels --expect <Sekunden> --exit-required
probe.mjs liest das Live-DOM (HTML und HyperFrames): L1 Größe, L2 Kontrast, L3 Sicherheitszone, L4 abgeschnittener Text, L5 Lesezeit; es warnt auch vor dem Slide-Deck-Look (W3 Kicker über Headline, W4 Slide-Layout, W5 getippte Headline, W6 Fortschrittsbalken, W7 Stock-UI-Karte). Füge --strict-style hinzu, wenn das Briefing nach Kino verlangt, nicht nach Interface; ein Muster, das die Idee ist, erhält data-allow-<Name> oder data-ui und eine Zeile in der NOTE.md (Tabelle in references/review.md). review.py liest die Pixel jedes MP4 (auch Remotion und bearbeitete Dateien): R1 Render, R2 tote Luft, R3 Ende, R4 Blitze, R5 Sicherheitszonen-Pixel, R6 Ton. Öffne sheet.jpg aus dem Review-Ordner: Die roten Bänder sind die Plattformränder. Beschreibe jeden Sheet-Frame in einem Satz (was auf dem Bildschirm zu sehen ist, wohin das Auge geht), bevor du etwas beurteilst.
Behebe in dieser Reihenfolge: unwahr oder kaputt; die Idee; die Übergänge zwischen den Beats; Hierarchie und Maßstab; Timing; Oberfläche; Ton. Ein FAIL wird behoben, niemals diskutiert. Ein WARN wird untersucht und entweder behoben oder in der NOTE.md erklärt.
7. Ton
Musik auf dem Raster: python "SKILL/scripts/beats.py" grid --bpm <bpm> --fps 30 --duration <s> liefert Beat-Frames für Schnitte und Hits. Falls ein Sound-Tool in der Umgebung verfügbar ist (eine Soundeffekt-Bibliothek, ein Audio-Analyse-Tool), verwende es, um Hits auszuwählen und zu platzieren. Stille vor dem großen Hit; ziehe die Musik beim Lesen herunter. Dann:
python "SKILL/scripts/master.py" film/final-raw.mp4 film/final.mp4 --target reels --fade 1.0
8. Finaler Check, Notiz, Ledger
python "SKILL/scripts/review.py" film/final.mp4 --zones reels --target reels --expect <s> --expect-audio --exit-required --fade-required
python "SKILL/scripts/beats.py" check --bpm <bpm> --report film/final-review/report.json
python "SKILL/scripts/ledger.py" add --brand "<Marke>" --film <Name> <die gleichen Achsen wie in Schritt 3>
Schreibe NOTE.md: die Idee und warum; jeder Beat und was er kauft; was real und was illustrativ ist; die Gate-Zeilen, kopiert aus probe.mjs und review.py; die Ein-Satz-Frame-Beschreibungen; was du noch verbessern würdest. Schreibe niemals, dass der Film gut ist: Schreibe, was du geprüft hast. Wenn der Betrachter reagiert, zeichne es auf: ledger.py verdict --film <Name> --verdict approved|rejected --note "<seine Worte>". Eine abgelehnte Kombination wird für jeden zukünftigen Film blockiert.
Niemals ausliefern
- Einen Film, den niemand angesehen hat, oder Gates, die ohne die Skriptzeilen behauptet werden.
- Text unter dem Interface der Plattform, abgeschnitten vom Bildrand, kleiner als 3,1 % der kurzen Seite, mit einem Kontrast unter 4,5:1 oder weg, bevor er gelesen werden kann.
- Mehr als drei Blitze in einer Sekunde.
- Einen fertigen Frame, der über die End-Halte-Grenze hinaus gehalten wird; ein eingefrorenes Bild in der Mitte; ein Ende, das einfach stoppt (verwende eine Ausgangsbewegung und einen Tonfade).
- Denselben Track, dasselbe Konzept oder denselben Exit wie der letzte Film der Marke.
- Seiten-Chrome als Dekoration: Eckenetiketten, Zähler „01 / 04“, Zeitcodes, Fortschrittsbalken. Nur erlaubt, wenn es die Idee selbst ist (ein Kontrollraum, ein Countdown): dann markiere es mit
data-diegetic(oderdata-uifür einen echten Produktbildschirm) und sage warum in derNOTE.md. - Erfundene Zahlen, Testimonials oder Interfaces, die als real dargestellt werden.
Dateien
| Pfad | Was |
|---|---|
references/direction.md | Briefing, Ideenarten, Beats und was sie kaufen, Übergänge, portugiesische Kopierhinweise |
references/motion-catalog.md | Kurven, Dauern, Staffelungen, Halte, wie man wählt |
references/formats.md | Seitenverhältnisse, Sicherheitszonen, Schriftgrößen pro Format |
references/sound.md | Musikraster, Hits, Lautstärkeziele, Fades |
references/review.md | Jedes Gate, seine Nummer, was es nicht sehen kann |
references/adapters.md | HTML-, HyperFrames- und Remotion-Verträge |
data/*.json | Zonen, Lautstärkeziele, Motion-Tokens, Ledger-Vokabular (bearbeite diese, nicht die Skripte) |
scripts/ | doctor, render, probe, review, master, beats, ledger |
templates/ | film.html und die abhängigkeitsfreie kit.js-Laufzeit |
adapters/ | Remotion-Hilfsmittel und die HyperFrames-Notizen |