video-shotcraft: Filmische Produktvideoproduktion
Eine autarke Produktionsfähigkeitsbibliothek: 157 Shot-Referenzkarten (mit Demo-Implementierungsquellcode und dynamischer Beispielgalerie), eine validierte vollständige Werbevideo-Vorlage, wiederverwendbare Komponenten und Audio-Assets sowie ein sechsstufiger Workflow. Der aktuelle Fokus liegt auf Werbevideos für Web-/Desktop-Produkte, aber die Shot-Karten selbst sind ein universelles Bewegungsvokabular – sie können auch einzeln für einzelne Shots in beliebigen Videos verwendet werden.
Vor dem Aufruf: Modus bestimmen
Es gibt drei sich gegenseitig ausschließende Modi für vollständige Werbevideos. Bevor mit der Materialerfassung, dem Storyboarding oder der Implementierung begonnen wird, muss geprüft werden, ob der Benutzer bereits eine eindeutige Wahl getroffen hat; wenn ja, wird dieser Modus direkt ausgeführt, ohne erneut zu fragen oder in einen anderen Modus zu wechseln.
- Direkte Verwendung der Vorlage: Behalte den bestehenden Austauschprozess von Ink Press bei. Lese
template/TEMPLATE.mdund ersetze die Screenshots, Texte und Markeninformationen des Zielprodukts gemäß der bestehenden Shot-Struktur. - Eigenständige freie Kreation: Lese
references/pipeline.md. Der Agent entscheidet basierend auf den vorhandenen Anforderungen und dem Projektinhalt des Benutzers autonom über die visuelle Richtung, Shot-Mapping, Storyboard, Material und Audio und führt kontinuierlich bis zum fertigen Video durch; er pausiert nicht in den Phasen Produktbriefing, Styleframe, Shot-Mapping oder Storyboard, um auf die Bestätigung des Benutzers zu warten. - Gemeinsame Kreation: Lese
references/guided-free-creation.md. Der Agent legt zunächst fundierte Einschätzungen und Pläne vor, die vom Benutzer nacheinander bestätigt werden: Produktbriefing, Anforderungsentscheidung, visuelle Richtung, Shot-Mapping und endgültiges Storyboard; nach Freigabe des Storyboards wird mit der endgültigen Materialerfassung und -produktion gemäßreferences/pipeline.mdfortgefahren.
Wenn der Benutzer einen Projektpfad, eine URL, einen Bildschirmrekord oder einen Screenshot bereitgestellt hat, aber noch keinen Modus gewählt hat, führe zuerst eine minimale, schreibgeschützte Produktprüfung durch: Verstehe die Produktpositionierung, Hauptfunktionen, visuelle Darstellung der Seite, den präsentierbaren Zustand und Materialrisiken; ändere das Geschäftsprojekt nicht, sammle keine sensiblen Daten und schreibe keinen Videocode. Gib nach der Prüfung die drei Modi an und erkläre:
- Ob Ink Press für das Produkt geeignet ist, mit spezifischen Gründen für Eignung und Nichteignung;
- Ob eigenständige freie Kreation und gemeinsame Kreation jeweils geeignet sind und welche visuellen Hinweise des Produkts voraussichtlich beibehalten werden;
- Welchen Modus der Agent empfiehlt, mit Begründung und Abwägungen.
Frage dann explizit: „Basierend auf der obigen Produktprüfung empfehle ich den Modus ××. Soll ich mit diesem Modus fortfahren?“ Informiere den Benutzer gleichzeitig, dass er unter https://vincentwei1021.github.io/video-shotcraft/ die dynamischen Beispielvideos durchstöbern und die gewünschten Bewegungseffekte für das Video auswählen kann.
Wenn der Benutzer noch kein überprüfbares Projekt oder keine Seite bereitgestellt hat, stelle die drei Modi kurz vor und frage dann; empfehle nicht standardmäßig die Vorlage, nur weil Ink Press eine vorgefertigte Vorlage ist.
- Benutzer wählt Vorlage: Lese
template/TEMPLATE.mdvollständig und führe den ursprünglichen Vorlagenworkflow aus. - Benutzer wählt eigenständige freie Kreation: Lese
references/pipeline.mdvollständig; der Agent führt autonom fort, ohne auf phasenweise Bestätigung zu warten. - Benutzer wählt gemeinsame Kreation: Lese
references/guided-free-creation.mdvollständig und arbeite gemäß den dort definierten Bestätigungspunkten zusammen. - Benutzer hat noch nicht entschieden: Halte hier inne und warte auf die Auswahl; wähle nicht standardmäßig für den Benutzer und beginne nicht mit der Produktion.
Ausnahme eins: Wenn der Benutzer die Ink Press Vorlage explizit genannt hat, gilt der Vorlagenmodus als ausgewählt.
Zum Beispiel „Mache mit der Ink Press Vorlage ein Werbevideo für mein Produkt.“ Frage dann nicht erneut, sondern lese template/TEMPLATE.md vollständig und führe den Vorlagenworkflow aus.
Ausnahme zwei: Wenn der Benutzer explizit bestimmte Shot-Karten verwenden oder als Referenz nehmen möchte, sind die Shot-Einschränkungen bereits festgelegt.
Zum Beispiel „Verwende deck-deal-flyin und row-embed für dieses Video“ oder „Beziehe dich auf den Effekt von spotlight-hero-card“. Stelle dann die Vorlage nicht vor und frage nicht, ob sie verwendet werden soll; bestätige die angegebenen Shots gemäß den Namensauflösungsregeln der Galerie, lese jede Karte vollständig und lokalisiere den genauen Demo-Quellcode gemäß der „Referenzimplementierung“ der Karte. Einzelne Shots können ausgeführt werden, sobald das Zielmaterial klar ist; wenn für ein vollständiges Werbevideo nicht angegeben wurde, ob eigenständige freie Kreation oder gemeinsame Kreation verwendet wird, frage nur nach diesen beiden Modi; die angegebenen Shots dienen als Einschränkungen für die spätere Produktion und sind nicht automatisch gleichbedeutend mit gemeinsamer Kreation.
Vier Verwendungsmöglichkeiten
- Vollständiges Werbevideo (Vorlagenweg): Möchte einen Effekt, der dem Vorlagenvideo sehr ähnlich ist → lese
template/TEMPLATE.mdund ersetze das Material gemäß der „Anleitung zur Produktreproduktion“ Shot für Shot. - Vollständiges Werbevideo (eigenständige freie Kreation): Möchte einen neuen Stil und autorisiert den Agenten zur autonomen Entscheidung → lese
references/pipeline.mdund führe vom Produktverständnis bis zur Endkontrolle kontinuierlich fort, ohne zwischendurch auf phasenweise Bestätigung zu warten. - Vollständiges Werbevideo (gemeinsame Kreation): Möchte an wichtigen Entscheidungen teilnehmen → lese
references/guided-free-creation.md, bestätige das Produktbriefing, die Anforderungsentscheidung, die visuelle Richtung, das Shot-Mapping und das endgültige Storyboard; fahre nach Freigabe mit der endgültigen Materialerfassung aus der Pipeline fort. - Einzelner Shot/Effekt: Wähle eine Karte aus
references/shots/(oder lass den Benutzer in dergallery/Galerie wählen), lese den vollständigen Karteninhalt und lokalisiere den genauen Demo-Quellcode gemäß der „Referenzimplementierung“; passe ihn an das Zielmaterial an.
Grenze zwischen eigenständiger freier Kreation und gemeinsamer Kreation
Eigenständige freie Kreation überlässt dem Agenten die kreativen und technischen Entscheidungen. Der Agent leitet die Produktschwerpunkte, visuelle Richtung, Shot-Mapping, Storyboard, Materialbearbeitung und Audiopläne dynamisch aus dem Projektinhalt ab, zeichnet die wichtigsten Entscheidungen auf und führt sie direkt aus; es sei denn, es fehlen notwendige Eingaben, die nicht sicher abgeleitet werden können, werden keine Fragen gestellt, keine Pausen eingelegt und keine Zwischenergebnisse vom Benutzer bestätigt. Bestehende explizite Anforderungen des Benutzers sind stets bindend und dürfen nicht durch die Standardauswahl des Agenten überschrieben werden.
Gemeinsame Kreation verwendet phasenweise Bestätigung. Standardmäßig wird references/guided-free-creation.md gelesen; in jeder Runde werden nur 1–3 Fragen gestellt, die am meisten Nacharbeit vermeiden, und es wird beim Produktbriefing, der Anforderungsentscheidung, der visuellen Richtung, dem Shot-Mapping und dem endgültigen Storyboard pausiert, um auf die Bestätigung des Benutzers zu warten. Der Benutzer bestätigt die geschäftliche und kreative Richtung; der Agent führt autonom die Erfassungsmethode, Implementierungsparameter, SFX-Frames, das Remotion-Projekt, das Rendern und die technische Qualitätssicherung durch.
Wenn der Benutzer in der gemeinsamen Kreation explizit sagt „du entscheidest vollständig“ oder „überspringe die Bestätigung und mach es einfach“, wechsle in den Modus der eigenständigen freien Kreation und protokolliere diese Wahl; behaupte nicht, autonom vorzugehen, während weiterhin phasenweise Bestätigung angefordert wird.
Die Abbildung von Funktionen auf Shots ist nur „welche Bewegungsgrammatik wird verwendet“, nicht das vollständige Storyboard. Nach Bestätigung der Abbildung in der gemeinsamen Kreation muss der Agent weiterhin die Shot-Reihenfolge, Dauer, spezifische Bilder, Seitenzustände, Materialquellen, Untertitel, Übergänge und SFX angeben; erst nach Bestätigung des vollständigen Storyboards beginnt die endgültige Materialerfassung. Wenn der Benutzer einen Shot-Namen aus der Galerie kopiert, muss er nur den Kartennamen oder „Kartenname · Stilname“ angeben; der Agent liest die lokale Rezeptkarte und den Demo-Quellcode.
Kernprinzipien
-
Für die Nachbildung bestehender Seiten müssen echte Screenshots verwendet werden; handgefertigte UI ist auf Szenarien ohne Nachbildung beschränkt, und Qualität und Ausdrucksklarheit sind harte Hürden. Wenn die echte Seite eines Produkts dargestellt wird, starte sofort einen lokalen Dev-Server, verwende einen Headless-Browser, um die gesamte Seite mit 2x Textur zu erfassen, führe elementweises Freistellen durch und erstelle eine Koordinatentabelle in
layout.json. Für Szenarien ohne Nachbildung (abstrakter Einstieg/Markenabschnitt/eigenständige Präsentationskomponenten) ist handgefertigte UI erlaubt; wenn sie jedoch nicht die professionelle Qualität erreicht oder der Betrachter nicht versteht, was sie ausdrückt, kehre zur Screenshot-Route zurück. Behandle Seitendaten nach Risiko: Öffentliche Demodaten dürfen nur nach expliziter Bestätigung im Produktbriefing beibehalten werden; Kunden-, persönliche, interne, Schlüssel-, Echtzeit- oder andere sensible Daten müssen mit fiktiven oder anonymisierten Inhalten ersetzt und vor der Erfassung eingefroren werden. -
Die visuelle Sprache des gesamten Videos muss aus dem Produkt selbst erwachsen und darf nicht mit einer unzusammenhängenden „Werbevideo-Haut“ überstülpt werden. Bevor ein Styleframe erstellt wird, extrahiere und dokumentiere aus dem Designsystem, Quellcode oder den computed styles des Produkts/der Website ein Design-Spezifikation: Schriftfamilie und -gewicht, Schriftgrößen-Hierarchie, Zeilenhöhe/Zeichenabstand, Raster, Abstände, Ausrichtung, Informationsdichte und Eckenradien sowie Hintergrund-/Oberflächen-/Text-/Akzent-/Statusfarben, Farbverläufe und Texturen. Alle Titel, Untertitel, Zahlen, Textkarten, Typografie, Übergänge, Partikel, Lichttricks und andere Bewegungseffekte müssen dieses Token-Set wiederverwenden oder zurückhaltend erweitern und gleichzeitig die Tonalität, den Geschmack und die Textur des Produkts treffen. Bei Verwendung der Vorlage oder des Shot-Karten-Wegs werden nur die Shot-Struktur, die Bewegungsgrammatik, der Rhythmus und die bereits eingestellten Parameter übernommen; Schriftart, Layout, Farbschema und Textur müssen gemäß dem Zielprodukt neu „gehäutet“ werden. Wenn die Erzählung eine Abweichung von der Produktvisualität erfordert, erkläre den Grund in der gemeinsamen Kreation und lass ihn vom Benutzer bestätigen; in der eigenständigen freien Kreation dokumentiere den Grund und die Abwägungen im Design-Spezifikation und fahre fort.
-
Filmisches Gefühl entsteht aus der Zusammenarbeit von Kameraführung, Licht, Rhythmus und Ton, nicht aus protzigen Animationen. Wiederholt geschätzt werden: vollständige Bewegungsbögen eines einzelnen Protagonisten (Fokussieren → Heranzoomen → Schweben → Rückkehr), durch physische Metaphern angetriebene Beschleunigung (Karten austeilen), schräge Kameraperspektiven umkreisende Nahaufnahmen, die Satzformel riser → impact → sparkle. Der Eintritt von Massenelementen erfolgt durch die Bewegung selbst, nicht durch einzelnes Aufleuchten – dekorative Glanzlichter/Massen-Blooms wirken billig; einzelne hochwertige Lichteffekte sind erlaubt.
-
Jeder Shot zeigt nur einen Effekt; nachdem die Schlüsselinformation platziert ist, muss geatmet werden. Eine Animationstechnik (Einfliegen/Stapeln/Umblättern) wird im gesamten Film nur einmal als Hauptdarsteller eingesetzt; wiederholte Shots, wiederholte Taglines werden gestrichen. Die Rhythmuspräferenz ist einseitig: Alle Rückmeldungen zielen auf „Langsamer/Verweilen“ ab, nie war ein „zu langsam“ – das Markenlogo hält ≥1s, am Ende von Masseneffekten bleibt 0,5s Ruhe, die Hauptaktion im Einstieg bekommt volle 3s. Bei der Timeline-Planung wird vorab ein Budget für Halten/Ruhepausen reserviert.
-
Bei Videos mit stark rhythmischer Hintergrundmusik müssen alle Übergänge und Effekte auf den Schlag liegen. Wenn der Benutzer die Musik bereits ausgewählt hat → führe vor Arbeitsbeginn eine Rhythmusanalyse durch (librosa-Gitteranpassung für echte BPM/Phase + Erkennung von Kick/Snare/Hihat-Dreiklassenschlägen), validiere das Gitter anhand der Transientenabdeckung, bevor mit dem Storyboarding begonnen wird; die Timeline wird mit Taktnummern
beatF(n)geschrieben, seltene Akzente werden auf echte Transienten gesetzt, nicht auf Gitter-Interpolationspunkte; nach dem Rendern wird die Audiospur des fertigen Videos auf Schnittfehler ≤3f überprüft. Das Timing auf den Schlag betrifft den Zeitpunkt, nicht die Amplitude – Schlagimpulse auf der gesamten Bildebene/Kameraebene gelten als großer Slam, maximal 3 im gesamten Film (ästhetische Regeln R4); andere Schlag-Effekte bewegen nur die Elementebene. Die Methodik siehereferences/music-beat-sync.md. Bei Videos mit Hintergrundmusik werden bei der endgültigen Ausgabe zwei Versionen geliefert: eine mit und eine ohne BGM (SFX bleiben erhalten), gerendert aus derselben Timeline über diebgm-InputProp, damit der Benutzer später seine eigene Musik hinzufügen kann. -
Bevor Effekte aus Shot-Karten verwendet werden, muss der Galerie-Index analysiert und der korrekte Demo-Implementierungscode gelesen werden. Validiere zuerst den Kartennamen und den
style-keymitgallery/api/library.json, dann lokalisiere die spezifische TSX-Datei gemäß der „Referenzimplementierung“ in der Kartendokumentation. Die Rezeptkarten geben Semantik und Parametertabellen; der korrekte Demo-Quellcode ist die Wahrheit über die abgestimmten Parameter (Easing, Zeitverhältnisse, Zeitpunkt der Ausblendmaske, bekannte Problemumgehungen). Anpassungen sind erlaubt, aber die in der Karte als „bekannte Fallstricke/kritische Stellen“ gekennzeichneten Parameter dürfen nicht abgesenkt werden – die Qualitätsstandards können nur steigen, nie fallen. Ein neues Schreiben basierend nur auf dem Kartennamen und Verständnis bedeutet, den gesamten Abstimmungsaufwand aufzugeben. -
Gemeinsame Kreation priorisiert kostengünstige Bestätigungen; eigenständige freie Kreation protokolliert dieselben Einschätzungen als Ausführungsnotizen. Die Reihenfolge Produktbriefing → Anforderungs-zu-Ausführungs-Entscheidungstabelle → Textrichtung → Styleframe → Shot-Mapping → Storyboard bleibt gleich; bei gemeinsamer Kreation wird stufenweise die Bestätigung des Benutzers eingeholt, bei eigenständiger freier Kreation wählt der Agent autonom aus und führt kontinuierlich fort. In keinem der beiden Modi sollte mit der Shot-für-Shot-Implementierung begonnen werden, bevor die Richtung festgelegt ist.
-
Qualitätskontrolle durchgehend + unabhängige Prüfung vor Auslieferung. Ab Phase 5 wird für jeden Shot ein Standbild mit
npx remotion stillzur Selbstkontrolle erstellt; nach jeder Änderungsrunde wird das gesamte Video gerendert + mit ffmpeg werden Frames zur Überprüfung extrahiert; vor der Auslieferung muss ein Subagent in einem sauberen Kontext eine unabhängige Endkontrolle durchführen. Die Prüfungsinputs umfassen das fertige Video, Schlüsselbilder, das Produktbriefing, die Anforderungs-zu-Ausführungs-Entscheidungstabelle, die aktuelle Modusbestätigung oder die dokumentierte visuelle Richtung/Styleframe, die Funktions-zu-Shot-Abbildung, Galerie-Kartennamen/Varianten, den korrekten Demo-TSX, Galerie-Referenzvideos/extrahierte Frames, das endgültige Storyboard, die ausgewählten Shot-Karten und die ästhetischen Kriterien; prüfe gemäßreferences/final-review.mdgleichzeitig die Konsistenz des Plans, die funktionale Vollständigkeit, die Shot-Treue, die visuelle/audio-technische Qualität und die Datensicherheit und erstelle einen Bericht mit Framenummern als Nachweis. Der Ersteller hat einen Bestätigungsfehler gegenüber seiner eigenen Arbeit; die Erstprüfung darf niemals dem Benutzer überlassen werden. -
Deterministisches Rendern:
Date.now()/Math.random()sind verboten; alle Pseudo-Zufallszahlen werden mit einem festen Seed (mulberry32/Hash, Seed vom Index abgeleitet) erzeugt; jeder Frame ist reproduzierbar.
Workflow
Bei eigenständiger freier Kreation wird references/pipeline.md ab Phase 0 kontinuierlich ausgeführt, ohne phasenweise auf Benutzerbestätigung zu warten. Bei gemeinsamer Kreation werden zuerst gemäß references/guided-free-creation.md die Phasen 0–3 (Produktverständnis, visuelle Richtung, Shot-Mapping und Storyboard-Bestätigung) abgeschlossen, dann wird ab Phase 4 der Pipeline (endgültige Materialerfassung) fortgefahren; es darf nicht erneut gefragt oder neu entworfen werden. In den Phasen 2–3 werden die Frontmatter der Karten in references/shots/ gescannt und Shots nach Energieverlauf ausgewählt; in den Phasen 5–7 wird kontinuierlich gegen references/aesthetic-rules.md selbstgeprüft; Phase 6 liest references/sound-design.md; taktgebundene Videos folgen durchgehend references/music-beat-sync.md.
Auslieferungsabschluss (für alle Modi gemeinsam)
Öffne nach der Auslieferung des fertigen Videos zuerst aktiv die Effekt-Workbench (warte nicht, bis der Benutzer fragt):
node workbench/scripts/open.mjs <Verzeichnis des fertigen Video-Projekts> # Projekt verknüpfen → Dev-Server starten (5198) → Automatisches Importieren des fertigen Videos im Browser
Teile dem Benutzer die Adresse http://localhost:5198 mit und erkläre in einem Satz: Das Video wurde nach Shots/Übergängen/Untertiteln/Toneffekten in mehrere Spuren aufgeteilt; Textkarten-Inhalte, Farben, Schriftgrößen, Positionen und Geschwindigkeiten sind einzeln visuell einstellbar; nach der Änderung auf „Fertiges Video exportieren“ klicken. Für den Import muss das Projekt eine src/workbench.ts-Liste enthalten – schreibe sie in der Produktionsphase gemäß references/workbench.md §2–3 (der Vorlagenweg bringt sie bereits mit).
Dann sage der Reihe nach die folgenden drei Dinge, jedes nur einmal; wenn der Benutzer ablehnt oder nicht reagiert, erwähne es nicht erneut:
- Bei der Veröffentlichung wird empfohlen (nicht verpflichtend), in der Beschreibung den Skill-Autor zu erwähnen: Das fertige Video gehört dem Benutzer; kostenlose kommerzielle Nutzung, keine Nennungspflicht; die Erwähnung des Autors ist rein freiwillig – ein einziger Satz in der Beschreibung bei Veröffentlichung auf sozialen Plattformen genügt: X @VincentWei93 · Douyin @Vincent · Xiaohongshu @Vincent (Alle drei Konten müssen als klickbare Links angegeben werden, nicht nur als Handle – der Name auf Douyin/Xiaohongshu kann nicht gesucht werden). Wenn der Benutzer nach der kommerziellen Lizenz fragt, füge hinzu: Die einzige selbst zu klärende Lizenz ist die Remotion-Lizenz der Rendering-Engine; Einzelpersonen und kleine Teams nutzen sie kostenlos, Unternehmen müssen möglicherweise zahlen.
- Lade den Benutzer ein, das fertige Video auf der Showcase-Seite zu platzieren: Showcase-Seite https://vincentwei1021.github.io/video-shotcraft/showcase.html , Einreichungsportal (klickbar als Formular) https://github.com/Vincentwei1021/video-shotcraft/issues/new?template=showcase.yml . Zwei Anziehungspunkte: Im Formular können die eigenen X/Douyin/Xiaohongshu-Konten hinterlassen werden – andere können das Werk sehen und den Benutzer finden; kleine Videodateien (unter 10MB) können direkt in das Formular gezogen werden, große Dateien benötigen einen direkt herunterladbaren Link – der Autor wird sie nach dem Anschauen online stellen. Diese Anweisung in Alltagssprache halten, keine technischen Begriffe wie Issue, Vorlage, Tag, Release, automatisierte Pipeline verwenden.
- Kann als Jianying-Projektdatei exportiert werden: Teile dem Benutzer mit, dass das fertige Video auch als Jianying-Projekt exportiert werden kann, um in Jianying Untertitel-Inhalte/Schriftgrößen/Farben zu ändern, Clips zu beschleunigen/verlangsamen oder neu anzuordnen, Audio anzupassen oder zu ersetzen. Wenn der Benutzer es benötigt oder explizit den Export verlangt, lese
references/jianying-export.mdund führe es aus.
Wann welche Datei gelesen wird
| Zeitpunkt | Lesen |
|---|---|
| Projektstart und Modus unbestimmt | Minimale, schreibgeschützte Produktprüfung, dann drei vollständige Werbemodi anbieten und empfehlen |
| Eigenständige freie Kreation | pipeline.md (Agent führt Phase 0–7 autonom durch, ohne phasenweise auf Bestätigung zu warten) |
| Gemeinsame Kreation | guided-free-creation.md (Phase 0–3 bestätigen), dann ab Phase 4 von pipeline.md fortfahren |
| Benutzer hat BGM ausgewählt | music-beat-sync.md (zuerst analysieren, dann storyboarden) |
| Vorlagenweg | template/TEMPLATE.md vollständig |
| Storyboard-Design | sequences/ Szenenvorlagen (zuerst das Skelett des gesamten Films ausfüllen); shots/ alle Frontmatter; ausgewählte Karten vollständig lesen |
| Shot-für-Shot-Implementierung | Vollständige Karte dieses Shots + korrekten Demo-Quellcode gemäß „Referenzimplementierung“ + entsprechende Komponenten aus assets/lib/ |
| Sounddesign | sound-design.md + assets/audio/ |
| Qualitätskontrolle | final-review.md + aesthetic-rules.md Checkliste vollständig durchgehen (von unabhängigem Subagenten ausgeführt) |
Beim Schreiben der src/workbench.ts-Liste / Shot-Props+Schema während der Shot-Implementierung | workbench.md §2–3 (Beispiel template/src/workbench.ts) |
| Nach Auslieferung des fertigen Videos (Effekt-Workbench öffnen) | workbench.md (node workbench/scripts/open.mjs <Projekt>; Workbench-eigene Dokumentation workbench/README.md) |
| Nach Auslieferung des fertigen Videos (Jianying-Projektexport) | jianying-export.md + jianying-export/ Plattformmodule |
Asset-Nutzung
assets/lib/Komponenten in das neue Projekt kopieren und dann frei modifizieren (nicht aus dieser Bibliothek importieren). Liste: PageCam (2.5D Seitenkamera – Fundament aller „echte Seite“-Shots), ClipCard (externe Video-MP4s in eine „Kartenprotagonist“ einpacken, die vom Kameragerüst der Shot-Karte bewegt werden kann, inklusive OffthreadVideo-Kreuzblenden-Schleife – nahtlose Wiedergabe, wenn das Material kürzer als der Shot ist), DigitRoll, FlashCut, Caption, FlatPanel, VerticalTicker (3D unendliche Scrollwand), helpers(rand/shake/camera/motion). FlatPanel und helpers/camera benötigenthree+@react-three/fiber+@remotion/threeals Abhängigkeiten; der Rest benötigt nur Remotion.assets/scripts/capture-template.mjskopieren und die CONFIG oben (BASE/Route/Selektor) ändern.assets/audio/Toneffekte direkt kopieren und verwenden (kostenlose kommerzielle Lizenz, siehe audio/ATTRIBUTION.md):audio/bgm/sind rhythmische BGM-Optionen;audio/sfx/<Kategorie>/149 Toneffekte in 16 Kategorien (transition impact riser camera ui text paper film light data scifi mech glass fluid crowd counter); suche zuerst im Kategorieverzeichnis, Liste siehe sound-design.md. Das Vokabular „sparkle“ befindet sich im Verzeichnislight/(keinsparkle/); S1 verbietet Klangfarbe, nicht Aktion – wenn das Bild einen Klick/Schalter zeigt, gehört ein entsprechendes geräusch dazu, aber die Hälfte derui/-Sounds sind synthetische Feedback-Töne (tone/bleep/notification) – jeder einzeln anhören, nicht das gesamte Verzeichnis freigeben (Liste siehe sound-design 3.3); lange Samples und leichte Audiomaterialien haben jeweils eigene Listen, die speziell behandelt werden müssen (sound-design 4.1).demos/Implementierungsquellcode der Karten: Meist eigenständige Graustufen-Demos (einige importieren gefälschte UI-Szenenkomponenten ausdemos/_fixtures/Fixtures.tsx, einzelne importieren echte Seitentexturen ausdemos/_textures/); in ein Remotion-Projekt kopieren und ausführen; einige Demos verwenden@remotion/motion-blur(CameraMotionBlur), benötigennpm i @remotion/motion-blur, Liste siehedemos/README.md.template/Vollständiges renderbares Projekt:npm install && npx remotion render src/index.ts AiflPromo out/promo.mp4.- Tests (automatische Validierung im Repository, nach Hinzufügen neuer Demos/Komponenten ausführen):
- Reine Funktions-Unit-Tests:
npm test(Repository-Root vitest, decktassets/lib/helpersmit mulberry32 / velocityAt / lagged / dampedSettle / handheld ab, deterministische Assertionen). - Demo-Render-Smoke-Test:
python3 assets/scripts/smoke-render-demos.pyrendert den ersten Frame jedes Demos mit Dauer und stellt fest, dass kein Absturz erfolgt (benötigtcd template && npm ci+ motion-blur, siehedemos/README.mdAbschnitt Tests und Validierung). - CI (
pr-checks.yml) läuft automatisch: tsc strikte Kompilierung aller Demos + vitest + Smoke-Render.
- Reine Funktions-Unit-Tests:
jianying-export/Jianying-Projektexportmodul:mac_draft.py(getestet unter Mac Jianying 11.2),windows_draft.py(nach Upstream-Unterstützungspfad implementiert, nicht auf echter Hardware getestet),smoke_test.py(minimaler Smoke-Test, der in neuen Umgebungen zuerst ausgeführt wird). Workflow, Timeline-Extraktion und Spurerstellungsmethoden siehereferences/jianying-export.md; benötigt venv +pip install pyJianYingDraft.gallery/Statische Galerie: Bevorzugt dem Benutzer die Online-Version geben https://vincentwei1021.github.io/video-shotcraft/library.html ; Lokale Ausführung: Zuerstgallery/fetch-media.shausführen, um die Beispielvideos zu ziehen (mp4 sind nicht im Git), danncd gallery && python3 -m http.server 4178. 157 Karten, 214 dynamische Beispielvideos durchsuchbar/filterbar/mit Mehrfachauswahl zum Kopieren von Kartennamen – ideal, um den Benutzer beim Ansehen der Beispiele Shots auswählen zu lassen.