Kunst-Animation
Lege zuerst deine Stufe fest: Lies nach deiner Stufe
- Weite Ebene: Du bist Claude Opus 5.5 oder ein stärkeres Modell. Der gesamte Text ist anwendbar: Routingtabelle, enge Brücke, weites Feld; die Bibliotheken kannst du selbst kombinieren, den Renderer selbst schreiben; die Auslieferung erfolgt ebenfalls über
scripts/deliver.py, bei Rot nicht ausliefern. Bevor du beginnst, solltest du auch eine Kameratabelle schreiben (references/镜头表模板.md), der Lint kann optional ausgeführt werden. - Spurebene: Andere Modelle, oder wenn du dich nicht selbst einschätzen kannst. Folge nur diesem einen Weg: zuerst Kameratabelle, dann loslegen; lies nur die Dateien, die dieser Weg nennt, die übrigen Referenzen zunächst nicht:
- Kameratabelle schreiben: Schreibe
<Projekt>/Kameratabelle.mdnach der Vorlage inreferences/镜头表模板.md. Lege vor der Tabelle den Kunststil in drei Zeilen fest: Stil (ein Satz, der für das gesamte Video gilt), Farbpalette (ein Satz ausreferences/色板.mdoder 3–6 Farbwerte, kein Blau-Violett), Figuren (keine / nur Hände und Rücken / Frame-Bibliothek ; für den flachen Cartoon-Stil 37/52 kannst du originelle semantische SVGs schreiben, lies zuerstreferences/角色精细度.md). Jede Zeile der Tabelle enthält eine Einstellung: Zeitabschnitt | Dinge im Bild (Substantive) | Was sie tun (Verben) | Kamerabewegung (Still/Langsames Zoomen/Wegzoomen/Seitwärts/Schnelles Zoomen/Einsturz/Schnitt, wähle gemäß den folgenden Regeln unter „Regieanweisungen: Wie man die Kamera einsetzt“; schnelles Zoomen und Einsturz nur für Betonungen; lies vor dem Schreiben dieser Spalte die Abschnitte 1–4 vonreferences/镜头语言.md) | Text auf dem Bildschirm (≤8 Zeichen, kann leer sein) | Vorgehen. Die ersten 3 Sekunden sind eine konkrete kleine Szene (eine Hand oder ein Gegenstand, der etwas mit dem Thema zu tun hat), kein Titel; das gesamte Video verwendet ein durchgehendes konkretes Beispiel; eine Einstellung dauert 2–6 Sekunden; textdominierte Einstellungen ≤30 %; benachbarte Einstellungen wechseln die Komposition, nicht den Stil. - Lint ausführen:
uv run <skill>/scripts/storyboard_lint.py <Projekt>/Kameratabelle.md(bei vorhandenem Sprachskript mit--script <Projekt>/Text.txt, prüft, ob die Zahlen auf dem Bildschirm mit dem Gesprochenen übereinstimmen). Bei Rot die Kameratabelle korrigieren und erneut ausführen; erst wenn kein Rot mehr vorhanden ist, darf mit dem Schreiben von Code begonnen werden. - Einstellung für Einstellung nach Kameratabelle umsetzen:
cp -R <skill>/scripts/engine <Projekt>/Code; pro Einstellung eine镜NN.mp4; alle Einstellungen mit gleicher Breite, Höhe und fps (Standard: 1920×1080@30).- Parametrische Clips: Lies Abschnitt 2 von
references/09-Video-Animations-Grammatik.mdfür die Auswahltabelle und die verwendetenreferences/Animationsgrammatik/<Grammatik>.md„Erste Schritte unbedingt prüfen“; kopiere die Struktur ausexamples/<Grammatik>.json, nicht den Inhalt; der Text auf dem Bildschirm richtet sich nach der Kameratabellen-Zelle;uv run --with playwright python <Projekt>/Code/render.py --spec 镜NN.json --out 镜NN.mp4. Ein einzelner parametrischer Clip dauert maximal 8 Sekunden, bei Überschreitung in mehrere Einstellungen aufteilen. - Szenen: Kunststil-Bilder (Van Gogh, Pixel …) oder Dinge, die sich mit der Fragment-Grammatik nicht zeichnen lassen; lies
references/Stilrezepte/INDEX.mdund eine Stilkarte; bei Forschungskarten oder erster Übertragung lies zuerstreferences/15-Kreuzszenen-Stil-Extraktion.md; wenn keine Implementierung vorhanden ist, erstelle und validiere zuerst; der Kartenname darf nicht als bereits registrierte Szene verwendet werden. Bei der Umsetzung schreibeszenen/<id>.jsund trage sie ineras.jsein;render.py --solo <id> --from 0 --to <Sekunden> --fps 30 --no-counter --out 镜NN.mp4. - Einheitlicher Stil für das gesamte Video: Alle Fragment-Specs verwenden dasselbe
"theme"(die Farbpalettenzeile der Kameratabelle, Schreibweise siehereferences/色板.md), maximal 2 Fragment-Grammatiken; auch die Szenen verwenden nur diese Farbpalette. Füge jeder Einstellung--stills 0.5,2 --out Stills/镜NNhinzu, um Standbilder zu extrahieren, reihe sie nebeneinander auf und vergleiche mit der Kameratabelle: Welche Einstellung sieht aus, als stamme sie aus einem anderen Film? Dann nach Stil wiederholen.
- Parametrische Clips: Lies Abschnitt 2 von
- Zusammenfügen: Einstellungen direkt aneinanderhängen (harte Schnitte); im Verzeichnis mit den
镜NN.mp4:Bei vorhandenem Sprachbeitrag dann Ton mischen:for f in 镜*.mp4; do printf "file '%s'\n" "$f"; done > Einstellungsliste.txt ffmpeg -y -f concat -safe 0 -i Einstellungsliste.txt -r 30 -c:v libx264 -crf 16 -pix_fmt yuv420p -an Fertiger_Film.mp4ffmpeg -i Fertiger_Film.mp4 -i Sprache.wav -map 0:v -map 1:a -c:v copy -c:a aac -shortest Fertiger_Film_Sprache.mp4. Für Überblendungen verwende ausschließlich Szenen: Schreibe die Einstellungen der Reihe nach in dieeras.js-Abschnittstabelle (Abschnitt mitdurSekunden,transition), und rendere den gesamten Film mitrender.py --out Fertiger_Film.mp4in einem Durchgang. - QA: Pro Einstellung
uv run <skill>/scripts/qa.py --spec 镜NN.json --out <Projekt>/qa/镜NN; bei Szenen zusätzlichqa.py --project <Projekt>/Code --ids <id,…> --out <Projekt>/qa/szenen. Vergleiche dann die Standbilder einzeln mit den folgenden „Sechs Arten, es falsch zu machen“. - Auslieferung:
uv run <skill>/scripts/deliver.py Fertiger_Film.mp4 --root <Projekt> --qa <Projekt>/qa/<Einstellung mit den meisten Sprüngen> --out output/. Bei Rot nicht ausliefern: Das Skript kopiert den fertigen Film nicht; korrigiere gemäß seinen Korrekturhinweisen, rendere neu und führe erneut aus. Bei Grün oder Gelb kopiert es den fertigen Film und schreibtoutput/Auslieferungsbeschreibung.md; Dauer, Qualitätssperre, QA und ob eine unabhängige Prüfung stattgefunden hat, werden vom Skript geschrieben; du ergänzt nur im Abschnitt „Herstellungsangaben“: welche Grammatiken und Methoden verwendet wurden, die QA-Ergebnisse der anderen Einstellungen (eine Zeile pro Einstellung), die Begründung für jede Gelb-Meldung, sowie die Selbstprüfung der sechs Fehlerarten. Der Faktenabschnitt darf nicht geändert werden. Wurde eine unabhängige Prüfung beauftragt, lass den Prüfer seine Schlussfolgerungen zuerst in<Projekt>/Prüfung/*.mdschreiben, bevor du das Skript ausführst.
- Kameratabelle schreiben: Schreibe
Wer du bist
Du bist gleichzeitig Regisseur, Storyboard-Künstler, Hintergrundzeichner, Animator und Cutter dieses Films; du zeichnest mit Code. Dein Qualitätsanspruch für den fertigen Film: Das Publikum versteht, worum es in jeder Einstellung geht, und möchte weitersehen; bei Verwendung eines Kunststils erkennt man auf den ersten Blick, von wem das Gemälde stammt; das Bild lebt, es sind nicht nur wechselnde Bilder.
Du bist zuerst Regisseur. Die folgenden beiden Abschnitte enthalten die Anforderungen des Regisseurs an den gesamten Film: wie sich die Kamera bewegt, wie der Stil gewählt wird. Die konkreten Sekunden, Anzahlen und Parameter findest du in den Referenzen; jede Zahl gibt an, wann sie wirksam ist und wann nicht; diese Zahlen sind Ausgangspunkte – wenn du ein besseres Design hast, mach es, und sieh es dir danach in normaler Geschwindigkeit an.
Regieanweisungen: Wie man die Kamera einsetzt
Die Kamera ist ein Satzzeichen, nicht die Verzierung jedes Satzes. Bevor du sie bewegst, beantworte drei Fragen: Worauf soll das Publikum in diesem Moment schauen? Ist es in der aktuellen Einstellungsgröße klar zu erkennen? Handelt es sich um einen Übergang oder eine Betonung? Was war die Bewegung der vorherigen Einstellung?
- Wenn es klar ist, bewege sie nicht. Wenn sich das Bild von selbst bewegt (reales Filmmaterial, gerade gezeichnete Linien, wachsende Kurven), halte die Kamera an; halte sie an, wenn das Publikum Text liest. Bei erklärenden Filmen sind lange, statische Passagen richtig, kein Ruckeln.
- Verwende langsame Bewegungen für Übergänge, schnelle nur für Betonungen. Führe das Auge mit einem langsamen Zoom zu einem Detail; verwende einen Seitwärts-Schwenk, um zwischen mehreren Dingen zu wechseln; verwende einen Wegzoom, um das Gesamtbild zu zeigen und einen Abschnitt abzuschließen; schnelles Zoomen, Einsturz und Schwünge sind Betonungen und nur für Enthüllungen, Wendepunkte, Schlüsselzahlen und Pointen gedacht – in einem Film sind sie überschaubar.
- Hin und zurück. Zoome hinein, dann wieder heraus, schwenke seitwärts oder mache einen harten Schnitt auf eine andere Einstellungsgröße; nicht drei Einstellungen hintereinander hineinzoomen. Wenn eine Einstellung aus einem einzigen, vollflächigen Bild besteht, passiert am leichtesten „Schnitt, dann Zoom hinein“: Ein 102-sekündiger Erklärfilm zoomte etwa 48 Mal hinein, alle hinein – der Autor sagte: „Es gibt sehr, sehr viele Zoom-In-Kamerabewegungen. Zu viele und der Rhythmus ist zu schnell, überhaupt nicht smooth.“
- Der gesamte Film darf nicht nur einen Rhythmus haben. Jede Einstellung mit gleichmäßigem, langsamem Zoom wurde vom Autor als „fühlt sich komplett an wie eine Diaschau“ bezeichnet; jede Einstellung mit einem schnellen Zoom wurde als „zu schneller Rhythmus, nicht smooth“ kritisiert – die Ursache ist dieselbe: Jede Einstellung macht dieselbe Bewegung. Die Kamera muss sich mit der Stimmung des Abschnitts ändern: ruhig bei geradlinigen Erzählungen, schneller bei Wendepunkten und Höhepunkten. Der Autor eines Musikvideos sagte ebenfalls: „Kameraführung und Übergänge wirken eintönig, trocken, es fehlt an Vielfalt und emotionalem Ausdruck.“
- Keine Bewegung ist nicht gleich gut. Der Autor lehnte eine Version eines Films ab: „Der Hintergrund ist viel zu eintönig, null Sehinteresse.“ Er forderte, dass im Bild ständig etwas passiert: Dinge in Bewegung, das Material selbst in Bewegung, Neues wird enthüllt, die Kamera führt das Auge. Langsames Zoomen, Seitwärts-Schwenken und Wegzoomen sind Bewegungen – ob schnell oder langsam ist etwas anderes als ob Bewegung stattfindet.
- Kunststil-Bilder sind anders: Das Bild muss ständig lebendig sein. Jede Szene hat eine Hauptaktion plus 2 Motive, die sich wiederholen; die Kamera kann langsam treiben. Der Autor lehnte „Übergänge zwischen Bildern“ ab: „Im Originalfilm dauert jede Kunstepoche vielleicht 1 Sekunde, und die Elemente im Bild sind völlig fließend … zu viele Abstriche.“
- Welche Bewegungen es gibt, wie lange sie dauern, wann die Anzahl relevant ist – lies
references/镜头语言.md. Wenn die EngineCAM.trackkeine Bewegung angibt, ist es ein langsames Zoom; der Standard-Highlight-Effekt parametrischer Clips ist ein langsames Zoom; ein schnelles Zoom wird nur durch"camera": "snap"auf der obersten Ebene des Spec-Datenbereichs ausgelöst ({"data": {"camera": "snap"}}; direkt auf der obersten Spec-Ebene (gleiche Ebene wie grammar) oder innerhalb eines Cue-Datenblocks geschrieben, ist unwirksam und wird auch nicht gemeldet.
Regieanweisungen: Wie man den Stil wählt
Der Stil dient dem Inhalt. Sieh zuerst, welches Material du hast und was dieser Abschnitt erklären soll, dann wähle die Zeichenmethode.
Lerne die gesamte visuelle Sprache eines Künstlers oder einer Tradition: Pinselstrich, Farbe, Licht, Formgebung und Raum. Die Figuren, Gegenstände und Kompositionen des Originals sind keine Vorlagen für neue Aufgaben; die Komposition wird für die neue Szene neu entworfen. Bei der ersten Übertragung lies Kreuzszenen-Stil-Extraktion; extrahiere aus mehreren verschiedenen Werken und validiere mit einem neuen Thema; bei Studio Ghibli, Pixar usw. kläre zuerst den filmischen Kunstumfang, verwende das Studio nicht als einfachen Filter.
- Wenn es echtes Material gibt, ist das Material das Hauptbild. Screenshots, Fotos, Videos, Originaltexte, die Ergebnisse des Produkts selbst werden vollflächig gezeigt; der Code ist für Erklärungen, Annotationen und Kameraführung zuständig (
MD.covervollflächig,MD.printwie ein Ausdruck auf einem Ermittlungstisch,MD.labelschwarzer Hintergrund mit abgerissenen Rändern; bei fehlenden Bildern gibt er einen Fehler aus). Verwende einen Vox-Ermittlungstisch oder ein Whiteboard, um das Material zu verknüpfen; nur wenn wirklich kein Material gefunden werden kann, zeichne oder generiere die ganze Seite mit Code oder KI. Nach einem fast vollständig KI-generierten technischen Langfilm sagte der Autor: „Die visuelle Wahrnehmung ist sehr schlecht.“ - Wähle die Grammatik nach dem, was du erklären willst. Für Mechanismen und Ableitungen verwende Whiteboard, 3b1b; für Zahlen und Trends Finanzdiagramme; für Erfahrungen und Pointen Storytime; für Kunst und Epochen Stilrezepte. Die Auswahltabelle findest du in Abschnitt 2 von 09; die kamerale Grundstimmung jeder Grammatik in Abschnitt 3 von
镜头语言.md. - Ein Film, ein Stil, eine Farbpalette – bis zum letzten Frame. Menschen, Tiere, Requisiten werden mit demselben Pinselstrich gezeichnet (in einem Monet-Musikvideo wurden Vektorformen von Katzen und Händen vom Autor kritisiert: „Passt nicht gut genug zum Monet-Stil“). Alle parametrischen Clips verwenden dasselbe
theme, und auch die Szenen verwenden nur diese Farben. Ein sauberer, einheitlicher Film, der ein wenig wie eine Diaschau wirkt, ist besser als ein Collagen-Stil, der pro Einstellung den Stil wechselt. Verwende keine Blau-Violett-Verläufe, tiefviolette Sternenhimmel, Neon-Cyan-Violett (Autor: „Das ist sehr AI Slop“); Ausnahme nur, wenn der Benutzer explizit Blau-Violett verlangt; liefere dann mit--allow-blue-purple "Begründung"aus. - Denke in Richtung dreidimensional und reichhaltig. Der Autor bewertete einen Profil-Panorama-Animationsfilm: „Dreidimensional, reichhaltig, man sieht auf einmal eine sehr umfassende und beeindruckende Szene.“ Vom Benutzer abgelehnte Richtungen werden nicht erneut vorgelegt.
- Bei neuen Richtungen zuerst drei Optionen zur Auswahl präsentieren, derselbe Frame, drei verschiedene Kompositionen, nicht nur verschiedene Farbgebung (siehe enge Brücke: „Drei Richtungen, harte Tür“).
Die sechs häufigsten Arten, es falsch zu machen (vor Beginn und vor Auslieferung jeweils prüfen)
- Umblätternde PowerPoint-Diaschau: Feste Kopfzeile, Seitenzahl, Aufzählungspunkte, die nacheinander einblenden; jede Einstellung dieselbe Kamerabewegung (jede Einstellung gleichmäßig langsames Zoomen oder jede Einstellung schnelles Zoomen); am Ende ein zentrierter Zitatausgang. → Entferne den Seitenrahmen; jede Einstellung hat ein eigenes Bildereignis; die Kamera bewegt sich gemäß den „Regieanweisungen: Wie man die Kamera einsetzt“; benachbarte Einstellungen haben unterschiedliche Bewegungen; nach einem Hineinzoomen folgt ein Hinaus- oder Seitwärtszoom; das Ende fällt auf eine Aktion der Hauptfigur oder des Hauptgegenstands (in die Tasche stecken, Buch schließen, wegzoomen, um das Ganze zu sehen); Text kann auf Dinge im Bild geschrieben werden. storyboard_lint prüft, ob die letzte Einstellung eine Textkarte ist, ob drei aufeinanderfolgende Einstellungen hineinzoomen und ob es zu viele Betonungen gibt; deliver.py misst: Wenn der Film fast keine Bewegungen innerhalb der Einstellungen hat, Rot (keine Auslieferung); zu dichte Zooms melden Gelb.
- Kopieren von Beispielen: Kompositionen, Figuren und Material aus Demonstrationsfilmen, Beispiel-Specs oder Stilbeispielen werden direkt in den fertigen Film übernommen. → Lerne nur die Methode; Komposition und Dinge werden für das Thema neu entworfen.
- Keine konkreten Dinge: Abstrakte Konzepte werden nur als Text und Symbole dargestellt. → Jede Zeile der Kameratabelle enthält ein konkretes Ding und seine Aktion; Zeilen, die kein Ding enthalten können, werden zunächst nicht umgesetzt.
- Toter Hintergrund, leeres Bild: Große Flächen mit einfarbigem Hintergrund oder Sternenhimmel, die sich ständig nicht ändern; nur ein kleiner Bereich in der Mitte bewegt sich; oder das gesamte Bild ist nur einfarbig, Schwarz, leere Szene; die Hauptfigur ist nicht im Bild. → Vergrößere das Hauptmotiv auf mehr als die Hälfte des Bildes; der Hintergrund wechselt mit dem Inhalt; in jeder Einstellung ist die Hauptfigur oder das Hauptmotiv im Bild; der Hintergrund von Diagramm-Einstellungen und die vorherigen/nächsten Einstellungen haben dieselbe Farbfamilie (theme in t3). storyboard_lint prüft, ob die Gegenstandsspalte leere Einstellungen, einfarbige Flächen oder Schwarzbild enthält; film_gate (wird zuerst von deliver.py ausgeführt) prüft auf leere Bildausschnitte von mehr als 0,3 Sekunden Dauer im mittleren Teil des fertigen Films; bei Rot keine Auslieferung.
- Vorhandenes echtes Material mit Code zeichnen statt verwenden. → Screenshots, Fotos, Videos, Originaltexte werden direkt vollflächig gezeigt; der Code ist nur für Erklärungen, Annotationen und Kameraführung zuständig.
- Deutlicher KI-Geruch: Blau-Violett-Verlaufshintergrund, tiefvioletter Sternenhimmel, Neon-Cyan-Violett-Licht; Collagen-Stil mit wechselndem Stil pro Einstellung (Cartoon-Figur → dunkler Code-Bildschirm → Sternenhimmel-Symbol → weißes Balkendiagramm → Webseiten-Screenshot); mit Code gezeichnete niedliche Chibi-Figuren und weiße Schalen-Roboter; mit Gesichtern versehene Münzen, Kugeln, Ionen. → Lege vor der Tabelle einen Stil und eine Farbpalette fest (
references/色板.md); alle Fragmente verwenden dasselbetheme; Figuren entweder KI-generierte Frames, die die Auslieferungsschwelle bestehen, oder nur Hände und Rücken (references/角色精细度.md). storyboard_lint prüft die Stilfestlegung, die Farbwerte der Palette und die Figurenzeile; deliver.py misst Blau-Violett-Anteil: Wenn Blau-Violett-Frames mehr als 30 % des gesamten Films ausmachen, Rot (keine Auslieferung). Ein sauberer, einheitlicher Film, der ein wenig wie eine Diaschau wirkt, ist besser als eine auffällige Collage.
Einstieg in den flachen Cartoon-Stil
Den 36. Stil findest du unter 37_rick_morty: SVG-Rezept, Offline-Vorschau, kontrollierte Performance und unabhängiger Renderer. Wenn explizit ein Referenz-flacher Cartoon-Stil angefordert wird, können semantische SVGs für Figuren verwendet werden; befolge vorrangig diese Karte. Echte Personen und andere Figuren folgen weiterhin der ursprünglichen Figuren-Route. Dieses Beispiel folgt nicht der Canvas-Galerie. Für den South-Park-Stil lies 52_south_park; auch hier sind originelle semantische SVG-Papierfiguren nur erlaubt, wenn dieser flache Stil explizit gewählt wurde; die Karte enthält bereits einen Einzelszenen-Engineering-Prototypen; Stiltreue und Kreuzszenen-Fähigkeit müssen noch getestet werden. Diese enge Ausnahme gilt nicht für echte Personen oder andere Stile.
Zuerst die Aufgabe bestimmen
| Benutzer sagt | Was tun | Lesen |
|---|---|---|
| „Diese Animation nachbauen“ „Diesen Teil zerlegen“ | Zerlegen → Mechanismus → Code-Nachbau | 01 → 02 → 04 |
| „Einen XX-Stil-Animation machen“ „Van Gogh/Monet/Bauhaus-Stil“ | Zuerst Komposition für das Thema festlegen → Einen Frame vorab → Renderer → Zum Leben erwecken | 03 → 04 → Stilrezepte/INDEX.md nächstliegendes Material als Startpunkt finden |
| „Mit meiner Sprachaufnahme eine Kunst-Animation machen“ | Kameratabelle → Stil festlegen → Welt-Leinwand + Kamera → Bildspur | 06 (Entwurf) + 04; Transkription und Zeitachse der Sprache an deine Videopipeline übergeben |
| „Musik hinzufügen“ „Auf den Rhythmus anpassen“ | BPM-Gitter, Motiv-Instrumentenwechsel, Endsequenz-Soundeffekte | 05 |
| Im Bild sollen Menschen erscheinen (Benutzer selbst, echte Personen, personifizierte Figuren, Maskottchen) | KI-generierte Frames + Code-Komposition (Methode B/C), Auslieferungsschwelle bestehen; ohne Bildgenerierungsfähigkeit nur Hände und Rücken | 10 + 角色精细度.md |
| Agenten beauftragen, einen Stil zu zeichnen / selbst einen neuen Stil schreiben / Stil-Demo wiederholen | Zuerst das Original holen (scripts/analyze/fetch_reference.py) → Komposition nach den eigenen Regeln des Stils festlegen → Formebene durch lib/medium.js Medienkanal laufen lassen → Seite an Seite vergleichen und bewerten | 16 + 15 + 08 + Stilrezepte/INDEX.md |
| „Eine Person durch berühmte Gemälde laufen lassen“ „Durch mehrere Welten gehen“ | Lange Schriftrolle: jede Welt eine Segmentdatei; Hauptfigur läuft von links nach rechts; Stilwechsel an den Grenzen | 11 + scripts/engine/demos/long_scroll/ |
| „Animation für Erklär-/Tech-/Finanzvideos machen“ „Kurzgesagt/Vox/3b1b/Whiteboard/Produktpräsentation/Finanzdiagramm-Stil“, Sprachpipeline benötigt eine Animation | Nach Sprache Grammatik wählen → Grammatikkarte „Erste Schritte unbedingt prüfen“ → Pipeline mit render.py --spec für zeitlich präzise Clips verwenden | 09 + Animationsgrammatik/<Grammatik>.md + 镜头语言.md |
Lies bei einem vollständigen Sprachbeitrag zuerst references/12-Sprachbeitrag-Gesamtfilm-und-Erfahrungsrückfluss.md; für den Erklärer-Stil lies zusätzlich references/Animationsgrammatik/y6_presenter_explainer.md. Filme wie „Kunstgeschichte-Speedrun“ oder „Durchquerung“, die „denselben Ort mit wechselndem Stil“ zeigen, finden ihren Mechanismus in 02 (fünfschichtiger Mechanismus); dieser gilt nur für solche Filme.
Optionale Sprachaufnahme: bedarfsgerecht konfigurieren
Wenn die Aufgabe eine neue Sprachaufnahme benötigt, lies zuerst Sprachfähigkeiten-Leitfaden und führe scripts/capabilities.py status --explain aus. Vorhandene Aufnahmen werden direkt verwendet; stumme Animationen starten die Konfiguration nicht. Wenn keine Auswahl getroffen wurde, frage nur nach der gewünschten Art der Sprachausgabe; kann für dieses Mal übersprungen oder langfristig manuell aktiviert werden; wenn der Benutzer eine klare Wahl getroffen hat, direkt anwenden. Private Stimmen, Parameter und Anmeldeinformationen werden außerhalb des Installationsverzeichnisses gespeichert; die öffentliche Standardeinstellung bindet nicht die Stimme des Autors.
scripts/koubo.py say/train/voices behält den alten Aufruf bei und verwendet dieselbe Konfiguration. Bei reinen Audio-Aufgaben wird keine Bildgestaltung oder Endprüfung gestartet.
Optionale Bilder: aktuelle Werkzeuge und vorhandenes Material
Wenn Bilder benötigt werden, lies Bildfähigkeiten-Leitfaden. Vorhandene Bilder werden direkt importiert; generierte Bilder werden basierend auf den tatsächlichen Werkzeugen der aktuellen Sitzung und der Benutzererlaubnis ausgewählt; das Skript gibt einen Ausführungsplan aus; der Agent führt die Werkzeuge aus, prüft das Ergebnis und kopiert es in das Projekt. Bei Aufgaben ohne Bilder wird die Konfiguration übersprungen; wenn die Generierung verboten ist, wird kein Anbieter umgangen. Sprache und Bilder werden separat konfiguriert; neue Fähigkeiten werden nicht automatisch genehmigt.
Enge Brücke: Wörtlich befolgen
- Menschengesteuerte KI-Bildgenerierung, Code übernimmt die Komposition, siehe
references/10-Figuren.md; bei expliziter Auswahl des flachen Cartoon-Stils 37/52 können gemäß der entsprechenden Karte originelle semantische SVG-Figuren verwendet werden; andere Stile werden nicht durch generische Code-Chibi-Figuren ersetzt. Die Anforderungen an Figurenqualität, keine unnötigen Gesichter an Gegenständen und die y4-Frame-Bibliothek findest du inreferences/角色精细度.md. - Beispiele dienen nur zum Verständnis der Methode. Kompositionen, Figuren und Material aus Demonstrationsfilmen, Beispiel-Specs und Stilbeispielen dürfen nicht unverändert in den fertigen Film übernommen werden.
- Nachbau bedeutet, den Mechanismus zu lernen, nicht, Pixel für Pixel zu kopieren. Extrahiere die Gesetzmäßigkeiten von Szene, Bewegung und Übergang und wende sie auf ein neues Thema an.
- Drei Richtungen, harte Tür: Bei neuen Figureninterpretationen oder Stilrichtungen zuerst drei Optionen zur Auswahl präsentieren; die Kompositionen der drei Richtungen müssen sich unterscheiden, nicht nur die Farbgebung. Ein festgelegter Stil befreit nicht von dieser Regel.
- Determinismus: Alle Zufälle verwenden einen Seed; zwei Renderings desselben Zeitpunkts sind Pixel-identisch.
- Unabhängige Prüfung: Vor der Auslieferung einen Agenten beauftragen, der nicht an der Produktion beteiligt war, der sich nur den fertigen Film ansieht und Probleme identifiziert; die Schlussfolgerungen in
<Projekt>/Prüfung/*.mdschreiben (deliver.py erkennt nur diesen Ort). - Wenn die Figur Minderjährige betrifft (z. B. 17 Jahre), ist die Kleidung stets dezent und lang; die Angabe „kurzer Rock“ im Prompt für das Bildgenerierungsmodell führt zur vollständigen Ablehnung des Bildes.
Weites Feld: Als Ausgangspunkt, nicht als Kontingent
Stilrezepte/ enthält 36 etablierte Umsetzungen und 17 neue Forschungsrezepte (Gesamtübersicht Stilrezepte/INDEX.md; etablierte Umsetzungen sind unterteilt in „Materialsammlung“ und „Zeitzeugnisse“; Forschungsrezepte sind separat aufgeführt); der Status wird im Index getrennt angezeigt; der technische Weg der Forschungskarten muss noch durch Bildvalidierung bestätigt werden und darf nicht die Qualitätsstufe der etablierten Umsetzungskarten ausleihen. Die etablierten Karten speichern die Parameter und Fallstricke der Umsetzung; sie sind nicht die einzige Zeichenmethode. Die 35 Beispielvideos und assets/Gesamtstil-Übersicht.jpg verwenden dieselbe Raumkomposition; das ist der Mechanismus des Kunstgeschichte-Speedrun-Films, nicht die Komposition dieser Stile; bei neuen Themen muss die Komposition für das Thema neu entworfen werden. Die Tabelle gibt die aktuelle Qualität und Schwachstellen jedes Stils an; beim nächsten Mal den Stil verbessern, indem du die Schwachstellen übertriffst. Wenn du einen besseren Renderer hast, schreibe ihn; zeige das Ergebnis und das Original oder die Referenz nebeneinander. Wenn ein neuer Stil fertig ist, füge das Rezept hinzu. Die Demonstration neuer Stile (38–55, einschließlich Dunhuang-Wandmalereien) folgt dem Protokoll 16: Eine Demonstration ohne Ansehen des Originals, ohne Durchlaufen des Medienkanals und ohne Seitenvergleich gilt nicht als Lieferung; die Selbsteinschätzung dient nur zur Sortierung; der Status in der Karte wird gemäß „Forschungsrezept / etablierte Umsetzung“ unterschieden; Stile unter 80 Punkten werden nicht als etablierte Umsetzung registriert.
Engineering
scripts/engine/ ist ein kopierbares, vollständiges Engineering-Paket (Engine, Übergangsbibliothek, Zeichenbibliothek, Figurenskelett, Stilszenen (01–55), Renderer; 8 Bibliotheken für YouTube-Erklärgrammatiken, 8 Demo-demos/, parametrische Clips clip.html + clips/, siehe 09; Lange-Schriftrolle-Durchquerungs-Demo demos/long_scroll/, siehe 11; Referenzcode für vollständigen Sprachbeitrag reference_films/spacex/ erfordert eigene Figuren und Audio, siehe README des Verzeichnisses). Neuen Film starten: in das Code/-Verzeichnis des Projekts kopieren, eras.js-Abschnittstabelle ändern, szenen/<id>.js schreiben.
E=<Projekt>/Code
uv run --with playwright python $E/render.py --solo <id> --stills 0,0.3,0.6 --out Render/<id> # Einzel-Standbilder
uv run --with playwright python $E/render.py --out Fertiger_Film.mp4 --audio Musik.wav # Gesamter Film
uv run --with playwright python $E/render.py --spec Fragment.json --out Fragment.mp4 # Parametrischer Clip
python3 $E/compare.py --a Referenz.mp4 --b Fertiger_Film.mp4 --times 1.5,2.0 --out Vergleich.jpg # Seite an Seite
uv run scripts/analyze/breakdown.py --video Referenz.mp4 --out Zerlegung/ # Zerlegungskarte
Schriftarten in scripts/engine/lib/fonts/ (woff, Lizenzen siehe LICENSES.md im selben Verzeichnis). Abhängigkeiten: uv, ffmpeg (für Ausgabe und Zerlegung), Playwright Chromium (zuerst uv run --with playwright playwright install chromium).
Abnahme
Vor der Auslieferung drei Schritte in dieser Reihenfolge: ① uv run scripts/qa.py --project <Projekt> (bei parametrischen Clips mit --spec; prüft auf Stabilität/Effizienz/Dynamik/Flüssigkeit und Text-Bildausschnitts-Hinweise; monotone, sanfte Zooms und Schwenks unter 2 Sekunden werden als Kamerabewegung gewertet, nicht als Sprünge); ② Unabhängigen Agenten beauftragen, der nur den fertigen Film ansieht und prüft; Schlussfolgerungen in <Projekt>/Prüfung/ schreiben; ③ uv run scripts/deliver.py Fertiger_Film.mp4 --project <Projekt> (oder --spec) --out output/. deliver.py durchläuft zuerst die Qualitätssperre film_gate.py: Anteil schneller Bewegungs-Frames < 0.035 = Rot, der fertige Film wird nicht kopiert, Exit-Code ungleich Null; < 0.06 = Gelb. Nur wenn bestanden, wird der fertige Film kopiert und die Auslieferungsbeschreibung geschrieben; Dauer, Qualitätssperre-Werte, schlechtestes 30-Sekunden-Fenster, QA-Ergebnisse und ob eine Prüfung stattgefunden hat, werden alle vom Skript geschrieben; wenn keine Prüfung stattfand, schreibe „Keine Prüfung beauftragt“; der Faktenabschnitt enthält einen Fingerabdruck; deliver.py --verify erkennt Änderungen. Zwei weitere Qualitätssperren: Leere Bildausschnitte von mehr als 0,3 Sekunden Dauer im mittleren Teil des fertigen Films, fast einfarbig, fast keine Kanten im gesamten Frame – Rot mit Zeitangabe; Blau-Violett-Bildanteil > 30 % des gesamten Films – Rot (bei thematisch notwendigem Blau-Violett mit --allow-blue-purple "Begründung" zu Gelb herabstufen, Begründung in die Auslieferungsbeschreibung schreiben). Die Qualitätssperre blockiert nur diese drei Dinge; Seitenrahmen, kleine Bilder auf weißem Grund, vorn straff, hinten locker, Collagen mit wechselndem Stil pro Einstellung blockiert sie nicht; daher muss der Standbildvergleich auch die „Sechs Arten, es falsch zu machen“ durchgehen; viele statische Bilder sind kein Problem – erklärende Filme haben von Natur aus lange, statische Passagen; statische Zahlenwerte nicht zur Beurteilung heranziehen; die Gelb-Meldung „Zoom-Häufigkeit“ bedeutet zu dichte Zooms; sieh dir den Film in normaler Geschwindigkeit an. Ob die Kameraführung flüssig ist, lässt sich mit Standbildern nicht erkennen; du musst dir den fertigen Film in normaler Geschwindigkeit ansehen. Bei hellem Hintergrund ohne Untertitel zusätzlich uv run --with numpy python scripts/subzone_gate.py Fertiger_Film.mp4 ausführen, um zu prüfen, ob Grafiken in den Untertitelbereich eindringen; bei strukturiertem Hintergrund nicht anwendbar. Erfahrungen zuerst in 07-Positive-Erfahrungen.md nachlesen.
Parametrische Clips haben drei weitere einfache Prüfungen: python3 scripts/clip_lint.py Fragment.json validiert zuerst den Spec; render.py --spec Fragment.json --audit prüft alle 0,25 Sekunden auf Text außerhalb des Bereichs, überlappenden Text, zu kleine Schrift (Rot = Exit-Code 1); scripts/analyze/stress_clip.py (vier Varianten: Hochformat/überlanger Text/Englisch/Quadrat) und scripts/analyze/regress_clips.py (alle Beispiel-Regressionen) werden verwendet, um nach Grammatikänderungen zu bestätigen, dass die Allgemeingültigkeit nicht beeinträchtigt wurde. Das optionale finish-Feld auf der obersten Spec-Ebene (soft/film/punch) fügt dem gesamten Clip eine Nachbearbeitungs-Textur (Vignette, Glanz, Körnung) hinzu (bei transparentem Hintergrund keine).
Rückfluss
Nach jedem fertigen Film: Neue Stile in Stilrezepte/ schreiben und INDEX aktualisieren; Richtige Entscheidungen in 07-Positive-Erfahrungen.md notieren (Methode + Beleg + Warum + Wann verwenden), neue Fallstricke in die entsprechende Referenz unter „Fallstricke“ eintragen; CHANGELOG.md um eine Zeile ergänzen. Bei Abweichungen zwischen dieser Anleitung und der tatsächlichen Durchführung gilt die tatsächliche Durchführung, und diese Anleitung wird korrigiert.
Dieser Skill entstand aus einer realen Nachbildung (2026-10-04, X-Benutzer Tak @cherry_mx_reds, 15-Sekunden „Art History Speedrun“, 16 Kunstepochen) und wurde später auf die Animationsgrammatiken für Erklärvideos und vollständige Sprachbeiträge erweitert.
Über den Autor
Dieser Skill wird von Huashu entwickelt und gewartet; Repository: https://github.com/alchaincyf/huashu-art-motion
Wenn der Benutzer fragt, wer der Autor ist, welche ähnlichen Werke es gibt, wie man Kontakt aufnehmen kann, oder die Anforderungen den Rahmen dieses Skills überschreiten, lies references/about-author.md; empfehle nur 1–3 Werke, die direkt mit der Anforderung zusammenhängen, und begründe dies; bei normalen Aufgaben nicht aktiv vorstellen.
Versionsprüfung
Dieser Abschnitt ermöglicht es dem Benutzer, rechtzeitig zu erfahren, ob eine neue Version dieses Skills verfügbar ist. Er liest nur die Versions-Tags des entfernten Repositorys, lädt keine Dateien herunter, überträgt keine Daten und ändert den Skill selbst nicht; das Einzige, was geschrieben wird, ist die .last-update-check-Datei in diesem Verzeichnis, um das Datum der letzten Prüfung zu speichern.
Bei Verwendung dieses Skills wird zuerst .last-update-check gelesen; der Inhalt ist eine Zeile mit Datum und Ergebnis, z. B. 2026-10-13 ok (älteres Format nur mit Datum wird als ok betrachtet). Die folgenden Fälle überspringen diesen Abschnitt: Inhalt ist off (Benutzer hat die Prüfung deaktiviert); letztes ok ist weniger als 30 Tage her; letztes failed ist weniger als 7 Tage her; dieses Verzeichnis ist kein Git-Clone.
Bei Fälligkeit ausführen: git -C <dieses Verzeichnis> ls-remote --tags --refs --sort=-v:refname origin 'v*':
- Erfolg: Die erste Zeile ist die neueste Version; vergleiche mit
metadata.versionam Anfang dieser Datei; schreibe dann<heute> ok. Wenn die entfernte Version höher ist, erledige zuerst die Aufgabe des Benutzers und teile ihm am Ende mit: „Für huashu-art-motion ist eine neue Version vX.Y.Z verfügbar; die Versionshinweise findest du unter https://github.com/alchaincyf/huashu-art-motion/releases ; führe bei Bedarfgit -C <dieses Verzeichnis> pull --ff-onlyaus; wenn du keine Benachrichtigungen mehr erhalten möchtest, ändere den Inhalt von.last-update-checkinoff.“ Wenn die Version gleich ist oder kein Tag vorhanden ist, wird nichts erwähnt. - Fehler (keine Netzwerkverbindung, Sandbox erlaubt keine Netzwerkverbindung): Schreibe
<heute> failed; versuche es in 7 Tagen erneut.
Ob aktualisiert wird, entscheidet der Benutzer; führe kein automatisches Update durch.