Ice Motion: Motion Craft
Dieses Skill entscheidet, wie sich Dinge bewegen. Es wird von einem Workflow (ice-film, ice-explainer, ice-remake, ice-edit, ice-lottie) aufgerufen, nachdem Brief und Richtung existieren. Es schreibt den Bewegungsplan; es erstellt oder rendert nie.
1. Was dieses Skill besitzt und worauf es verweist
| Besitzt | Verweist auf |
|---|---|
| Bewegungsaufträge, Bewegungsverben, Ursache und Wirkung | Kinetic Type, Untertitel, Lesedauer, Tippgeschwindigkeit von Display-Text: ice-type |
| Dauern, Easing, Staffelungen, Überlappungen, Federn | Musik, SFX, Voiceover, Beat-Raster, Wort-Timing: ice-audio |
| Haltepolitik (lebendig, nur Kamera, echt still, kein Leerlauf) | Tore, Nahtprüfung, Frame-Scans, Dichtemessung: ice-qa |
| Schnitt- und Übergangskatalog, Übergangspolitik | Engine-Syntax, Render, Shutter-Capture, Plattform-Sicherheitszonen: ice-engines |
| Nähte, Tragen, Vektorgesetz, Übergaben | Kunst- und Zeichenstile, Charakter-Rigs, Erzählgrammatiken: ice-styles |
| Kamera, Komposition, Heldengröße, Inszenierungslicht, die Richness-Maße | Palette, Type-Paarung, Anti-Gleichheit-Fingerabdrücke, Entscheidungslogbuch: ice-direction |
| 2D-, 2.5D- und 3D-Bewegung; Physik; Morphing; Loops | Arabische und rechts-nach-links-Ligaturen und -Richtungen: ice-arabic |
| Cursor- und UI-Demonstrationsbewegungen in Filmen | App- und Site-UI-Bewegung, Lottie, Logo-Vektor-Vorbereitung: ice-lottie |
| Bewegungsdeck, atomare Bewegungen, Shot-Blaupausen | Asset-Truth, echtes UI-Capture, Logos: ice-assets |
Auf andere Skills beim Namen verweisen; deren Regeln niemals wiederholen.
2. Vorgehen beim Aufruf
- Lies die Brief-Slots (Film- oder Edit-Typ, Plattform, Seitenverhältnis, Dauer, Sprache, Register, Markenwörter) und das Richtungslogbuch. Wenn der Typ fehlt, frage den Workflow, rate nicht.
- Öffne
references/motion-language-by-type.mdund setze die Bewegungssprache des Films: Haltepolitik, Übergangspolitik, Kamerapolitik, Überschwingerpolitik, Takt- und Unschärfegrammatik, Tempo. Wende die Branchen- und Markenpersönlichkeits-Voreinstellungen nur an, wo der Brief schweigt. - Schreibe die Bewegungspersönlichkeit: eine Metapher plus 3-5 Regeln (
references/motion-grammar.mdAbschnitt 8). Dort gibt es mehrere unterschiedliche Beispiele; kopiere niemals eines. - Teile die Bewegungspalette aus: 3 Kernbewegungen, höchstens 2 Akzente, höchstens 1 Signatur, vermeide die Kernbewegungen des vorherigen Films (
references/move-deck.md,references/anti-slideshow-and-density.mdAbschnitt 6). - Schreibe für jeden Beat dessen Bewegungsauftrag und -verb, Timing und Ease sowie dessen Wichtigkeitsstufe (
references/motion-grammar.md,references/timing-and-easing.md,references/measured-motion.md). - Schreibe für jede Grenze eine Nahtzeile mit Träger, Ausgangs- und Eingangsvektoren und Begründung (
references/seams-and-carry.md,references/transition-policy.md,references/cut-catalog.md). - Schreibe für jede Kamerabewegung deren Grund und Fenster (
references/camera.md). - Überprüfe den Plan anhand der Anti-Slideshow-Regeln und der Dichtevorgaben für den Typ (
references/anti-slideshow-and-density.md) und anhand der visuellen Richness-Mindestanforderung: lies die Mindestzahlen aus der „Richness Floor“-Tabelle des Filmtyps (derice-film-Workflowreferences/film-types/<type>.md) und die Maße und Korrekturen inreferences/composition-and-staging.mdAbschnitt 7. Ein Shot unterhalb der Mindestanforderung wird vor dem Bauen nachinszeniert. - Schreibe für Werbespots, Produktreisen und textgeführte Filme ohne Voiceover auch den maschinell prüfbaren Bewegungsvertrag (Form:
assets/motion-contract.example.json; Doktrin:references/continuous-journey.md) und führepython scripts/validate_motion_contract.py ice/plan/motion-contract.json --project-root .aus, bis es PASS ausgibt. Übergib den Plan an den Workflow; ice-qa überprüft das Rendering. Drei Dinge, die der Validator buchstäblich prüft:- Referenzen: drei rollenspezifische Referenzen mit Zerlegungsnotizen. Wenn die datierte Recherche keine Referenz fand, die du tatsächlich ansehen konntest, schreibe
"references": [](oder die, die du hast) plus"referencesWaiver": {"reason": "<was gesucht wurde, warum keine ansehbar>", "researchNote": "ice/research/<note>.md"}; verweise niemals mit einer Referenz auf eine Notiz, die einen Film beschreibt, den du nicht gesehen hast. - Abstammung: über jede Grenze hinweg vergleicht es IDs, nicht Bilder:
transition.semanticIdder ausgehenden Szene muss gleichentry.semanticIdder nächsten Szene sein, also gib dem getragenen Objekt auf beiden Seiten dieselbesemanticId. Dass das Bild wirklich trägt, wird beim Rendern von ice-qa und dem Reviewer beurteilt. - Generische Verben (slide, grow, scale, float und der Rest seiner Liste) schlagen fehl, es sei denn, das Objekt ist buchstäblich dieser Mechanismus; füge dann
"literalMechanism": "<der wirkliche Mechanismus in einem Satz>"zu dieserprimaryMotionoder Texteinheit hinzu.
- Referenzen: drei rollenspezifische Referenzen mit Zerlegungsnotizen. Wenn die datierte Recherche keine Referenz fand, die du tatsächlich ansehen konntest, schreibe
- Protokolliere jede Bewegungsentscheidung mit Grund und Quelle über ice-direction (
ice/DIRECTION.md).
3. Universelle Gesetze (gelten in jedem Typ)
- Jede Bewegung erfüllt einen Zweck (Aufmerksamkeit lenken, Kontinuität tragen, Veränderung zeigen, Charakter ausdrücken) oder sie wird entfernt.
- Bewegung folgt Bedeutung: Flüsse fließen, Bauten montieren, Countdowns ticken, Routen zeichnen in ihrer Richtung, Zahlen zählen während ihre Ursache sich ändert.
- Eine fokale Bewegung gleichzeitig; unterstützende Elemente warten, die fokale wartet nie.
- Eintritte verlangsamen, Austritte beschleunigen, Onscreen-Bewegungen erleichtern ein- und aus, Aufpraller beschleunigen in den Kontakt; niemals linear für räumliche Bewegungen, es sei denn mechanisch; niemals ein Ease auf allem (mindestens 3 Ease-Charaktere pro Film).
- Austritte sind schneller als Eintritte; Eintritte verwenden 2-3 abklingende Kanäle, niemals nur Deckkraft; niemals aus Null wachsen.
- Staffelungen bleiben unter etwa 0,5 s pro Gruppe, unregelmäßig, in der Reihenfolge der Wichtigkeit; Offsets kürzer als die Bewegungen, die sie versetzen.
- Kontrast ist die Botschaft: variiere Geschwindigkeit (langsamste Szene etwa 3x die schnellste), Shottlänge, Dichte und Stille; setze Maßstab, Effekte und Akzente einmal ein.
- Etwas überquert jede Grenze: ein getragenes Objekt, ein passender Vektor, die Stimme oder der Beat; der Ausgang von Szene A bestimmt den Eingang von Szene B (gleiche Achse, Richtung, Geschwindigkeit).
- Die Kamera ist Satzzeichen: sie bewegt sich aus einem benannten Grund, langsam für Übergänge, schnell nur für Akzente, niemals drei Einwärtsschübe hintereinander.
- Haltezustände sind Entscheidungen: die Haltepolitik des Films wird nach Typ gewählt und überall angewendet; eine Szene, deren Inhalt ausgeht, wird gekürzt oder bekommt eine Geschichte, niemals wackeln.
- Jeder Frame ist eine reine Funktion der Zeit: geschlossene Federn, gesetzter Zufall, keine Echtzeituhr, keine zustandsbehafteten Löser.
- Effekte kompensieren niemals schwaches Layout, schwache Posen oder fehlende Beweise.
4. Konflikte nach Gültigkeitsbereich gelöst (Zusammenfassung)
| Frage | Antwort nach Typ | Datei |
|---|---|---|
| Was bewegt sich während eines Halts? | Lebendig (Launch, App Ad, Social, Hype), nur Kamera (Erklärfilm, Talking-Head, Daten, Longform), echt still als Satzzeichen (Marke, Kunstpausen, Kinetikpausen, Komödie), kein Leerlauf (UI-Walkthrough, nacherzählter Launch) | references/holds-and-stillness.md |
| Überblendungen? | Verboten zwischen Szenen in Launch, App Ad, Hype, Kinetic, Collage, Music-led, Social; erlaubt als „dies geht weiter“ in ruhiger Marke, Kunst, Longform, Podcast, Chart-zu-Chart | references/transition-policy.md |
| Harte Schnitte? | Etwa 95 Prozent der Wechsel in geschnittenem Filmmaterial, Erklärfilmen und Collage; in Kamera-ist-der-Editor-Filmen nur auf einem Downbeat, höchstens zweimal | references/transition-policy.md |
| Überschwinger? | Keine für Daten, Finanzen, Gesundheit, Luxus, Kamera, Text; winzig für Launch und UI; eine Feder pro Verbraucherfilm; verspielt nur für Kinder und Maskottchen | references/timing-and-easing.md |
| Austritte in nicht-finalen Szenen? | Verboten wo der Übergang der Austritt ist (montierte Launch-Filme); kurze beschleunigende Austritte oder Herabstufen am Platz in nacherzählten Erklärfilmen | references/transition-policy.md |
| Rahmen füllen oder große leere Fläche? | Füllen (Business-Spots, Erklärfilme, jedes vertikale Ad) oder etwa 70 Prozent strukturierte Fläche (Minimal-Genre-Referenzen, ruhige Marken, Landschaft nur): nach Referenz-Genre und Register wählen. In beiden Fällen gilt die Richness-Mindestanforderung des Typs; „Premium“ subtrahiert Unordnung, niemals Fülle | references/composition-and-staging.md Abschnitte 2 und 7 |
| Kamera während Halts? | Langsamer Push 3-6 Prozent (Politik A und B); verriegelt (C und D) | references/camera.md, references/holds-and-stillness.md |
5. Ausgabevertrag: der Bewegungsplan
Der Workflow speichert ihn als ice/plan/motion-plan.md. Fülle jeden Slot aus; Slots sind Platzhalter, niemals Beispielwerte.
## Motion language
type: <Film- oder Edit-Typ> | hold policy: <A|B|C|D> | transitions: <Primär + Akzente> | camera policy: <...>
overshoot: <none|tiny|one spring|playful> | clock: <fps, smooth oder stepped> | blur grammar: <smear|crisp|shutter>
personality: <eine Metapher> + <3-5 Regeln>
palette: core <move, move, move> | accents <move, move> | signature <move or none>
richness: hero_share <n> | hero_width <n oder n/a> | frame_fill <n von 16> | empty_half <s> | depth_layers <n> | in_shot_motion <n Prozent> | longest_still <s> | light_events <n> | real_material <Prozent oder n/a> (Mindestzahlen aus der Filmtyp-Datei)
## Beats (eine Zeile pro Beat)
| t in-out | beat role | importance 1-3 | focal element | job | verb | ease | duration | stagger | buys |
## Seams (eine Zeile pro Grenze)
| cut t | out motion (Achse, Richtung, Geschwindigkeit, Unschärfe) | seam type | in motion | carrier | ease pair | cue | reason |
## Camera windows
| from | apex | dwell end | to | target | move | reason |
6. Dateien
| Bedarf | Öffne | Wann |
|---|---|---|
| Bewegungssprache für einen Typ, eine Branche oder Marke festlegen | references/motion-language-by-type.md | Zuerst, jedes Mal |
| Entscheiden, ob und warum sich etwas bewegt; Verben; Ursache und Wirkung; Persönlichkeit | references/motion-grammar.md | Planung jedes Beats |
| Dauern, Ease-Richtung, Staffelungen, Überlappungsgesetz, Überschwinger-Politik, Timing-Anker | references/timing-and-easing.md | Timing jedes Beats |
| Gemessene menschliche Zahlen und die 12 angepassten Eases | references/measured-motion.md und scripts/measured-eases.mjs | Launch, App Ad, UI, Hype; Anpassung an eine Referenzbewegung |
| Federformeln, Dämpfungsleitfaden, Voreinstellungsfamilien, benannte Cubic-Bezier-Kurven | references/springs-and-curves.md und scripts/springs.mjs | Jede Feder oder benutzerdefinierte Kurve |
| Was während Halts passiert; Endhalts; Freezes; Loops | references/holds-and-stillness.md | Vor jedem Halt oder Ende |
| Genaue Konstruktion eines Schnitts oder Übergangs | references/cut-catalog.md | Erstellen einer Naht |
| Welcher Übergang, wie viele, Überblendungs- und Austrittspolitik, Nahtplanfelder | references/transition-policy.md | Auswahl von Nähten |
| Tragen, Vektorgesetz, Übergabeverträge, Toleranzen, Wurzelprotagonist | references/seams-and-carry.md | Jede Grenze |
| Eins-Form-, Eins-Welt- und Eins-Akteur-Filme | references/one-take-films.md | Die Richtung verlangt einen durchgehenden Film |
| Kameragründe, Rig-Regeln, Bewegungsdauern, Wackeln, Dichtegrenzen | references/camera.md | Jede Kamerabewegung |
| Brennpunkt, Heldengröße, Ebenen, Layout, Inszenierung, Inszenierungslicht, die visuelle Richness-Mindestanforderung (Abschnitt 7) | references/composition-and-staging.md | Einrahmung jedes Shots; Überprüfung des Plans in Schritt 8 |
| 2D vs. 2.5D vs. 3D, Parallaxe, Tiefenschärfe, 3D-Flugwerte | references/depth-and-3d.md | Tiefen- oder 3D-Beats |
| Slideshow-Fehlermodi, Rhythmus, Dichtevorgaben, Ausgaberegeln | references/anti-slideshow-and-density.md | Überprüfung des Plans |
| Animationsprinzipien als Technik, Physikrezepte, Morphing, Zeichnen, Loops | references/physics-and-morphing.md | Physikalische oder morphende Beats |
| Cursor, Klick, Ziehen, Schalter, Agentenzustände, UI-Demo-Rezepte | references/cursor-and-ui.md | Jede UI-Demonstration |
| Kleine Bewegungen mit Wertetabellen und einer Absichtsauswahl | references/atomic-moves.md | Auswahl einer Bewegung für einen Beat |
| 46-Karten-Bewegungsdeck, abgelehnte Namen, Mechanismus-Kataloge | references/move-deck.md | Austeilen der Bewegungspalette |
| Zeitcodierte Blaupausen, Shot-Konstruktionen, Zeit-Skelette | references/shot-blueprints.md | Planung einer Shot-Sequenz |
| Frame-Takte, Unschärfe-Grammatiken, wann Bewegungsunschärfe, Körnung | references/motion-blur-and-clock.md | Einstellen von Takt und Unschärfe |
| Ein Wurzelprotagonist, Zustandskette, Vererbungskanäle, Hard-Cut-Aufzeichnungen, Text der handelt, Abschluss (Founder's Original) | references/continuous-journey.md | Werbespots und Produktreisen |
| Physischer Entscheidungsvertrag, Wurf, Anziehung, starres UI-Schließen, Ton nach Bewegungsphase (Founder's Original) | references/motion-choreography.md | Physikalische oder kausale Beats |
| Frame- und Text-Fokus-Einheitsverträge, Kamera-Notwendigkeitstest, Kamera-Verben, 2D-Ankerformel (Founder's Original) | references/semantic-camera.md | Jede Kameraentscheidung in Werbespots |
| Bewegungsvertragsform | assets/motion-contract.example.json | Schreiben eines Bewegungsvertrags (Werte dienen nur der Veranschaulichung) |
Skripte (Windows, macOS, Linux). Mindestanforderungen für Node und Python: runtimes in der ice-engines Skill-Datei references/versions.json; Python-Pakete: scripts/requirements.txt (exakte Pins in sync mit versions.json).
| Skript | Laufzeit | Verwendung |
|---|---|---|
node scripts/measured-eases.mjs [ease] [samples] | Node | Drucken oder Importieren der 12 gemessenen Eases |
node scripts/springs.mjs [w z seconds] | Node | Drucken oder Importieren von geschlossenen Federn und Beruhigungszeiten |
python scripts/validate_motion_contract.py <contract.json> [--project-root <folder>] | Python, Standardbibliothek | Strenger kausaler, temporaler, Offenlegungs-, Abstammungs-, Kamera- und Tonvertrags-Gate; exit 1 listet Fehler auf |
python scripts/audit_web_section_motion.py <project folder> | Python, Standardbibliothek | Lehnt animierte-Webabschnitt-Code-Muster ab (exit 1) |
python scripts/audit_motion.py --video <mp4> --audio <wav> | Python mit numpy und opencv-python-headless | Audio-Einsätze und visuelle Änderungsdichte im Vergleich zu einer Referenz; ein Diagnosewerkzeug, kein Urteil |
Die Dateien des Gründers tragen die Notiz „From the founder's commercial-motion-design skill“.