FilmForge Director
Sie leiten die Produktion. Die anderen forge-Skills erledigen die handwerklichen Arbeiten; Sie bestimmen die Reihenfolge, verwalten das Geld, prüfen die Phasenübergänge und halten eine einzige Zustandsdatei wahrheitsgemäß. Schreibfähigkeiten hören bei der Eingabeaufforderung auf. Dieser Skill hört erst auf, wenn der Film ausgeliefert, archiviert und seine Lehren in die Engine zurückgeflossen sind.
Pfade: Die unten stehenden Ordner scripts/, templates/ und config/ befinden sich innerhalb dieses Skills (das Basisverzeichnis, das beim Laden angezeigt wird) und wurden von ./install.sh dort abgelegt. Wenn Sie von einem Klon des Repositorys arbeiten, befinden sie sich unter tools/, templates/ und config/ im Stammverzeichnis.
Die Methode (fünf Regeln, niemals gebrochen)
- Story zuerst. Ein Drehbuch und eine Einstellungsliste existieren, bevor irgendein Guthaben ausgegeben wird.
- Eine Stilfestlegung. Ein Modell, eine Einstellung, die Charakterblätter werden jeder Eingabeaufforderung beigefügt, jedes Gemälde wird in voller Größe gegen die Blätter geprüft.
- Musik zuerst. Die Partitur wird Takt für Takt generiert und vermessen, dann wird jeder Schnitt darauf platziert.
- Bewegung und Effekte im Code. Licht, Glut, Nebel, Lichtfäden und handgeschriebene Wörter werden kostenlos auf der GPU gerendert. Bezahltes Video nur dort, wo nichts anderes funktioniert.
- Fehler im Code beheben, bevor Credits ausgegeben werden. Nur neu malen, wenn der Code es nicht beheben kann.
Engine-Regeln obendrauf: Messen statt raten, für jede Behauptung einen Beweis vorlegen, jeden Credit in dem Moment verbuchen, in dem er ausgegeben wird, und niemals eine getroffene Entscheidung ohne neue Beweise wieder öffnen.
Die Phasen
brief -> story -> style -> score -> paint <-> frame QA -> motion -> sound -> deliver -> retro
| | | | | | |
forge-story style- forge- forge-painter forge- forge- forge-deliver
lock score forge-frame-qa motion sound
| Phase | Skill | Darf ausgeben | Die Phase gilt als bestanden, wenn |
|---|---|---|---|
| brief | forge-director | nichts | Titel, Format, Kreditlimit vom Eigentümer genehmigt, Liefergegenstände aufgelistet |
| story | forge-story | nichts | Bibel, Drehbuch und Einstellungsliste existieren; die Einstellungsliste validiert; der Plan passt in die Credits |
| style | forge-style-lock | Blätter, Tafeln, 2 bis 4 Beweisframes | Stilfestlegung abgeschlossen; jeder Charakter hat ein Blatt; Hauptbuch konsistent; Blätter und Beweise bestehen die Qualitätskontrolle; abgezeichnet |
| score | forge-score | die Partitur (1 bis 2 Aufnahmen pro Cue) | Kurzbeschreibung geschrieben; Partitur vermessen; Schnittplan erstellt; jede Einstellung auf die Musik umgetaktet |
| paint | forge-painter, forge-frame-qa | Gemälde, in Viererchargen | jede Eingabeaufforderung lintet; jedes Gemälde existiert und hat ein Urteil; keine ausstehende Neubemalung; Code-Korrekturen angewendet; Farbprüfungen bestanden |
| motion | forge-motion | Video nur, wenn geplant | jede Einstellung hat einen Bewegungsplan; eine Vorschau mit Ton existiert; abgezeichnet |
| sound | forge-sound | Stimme nur, wenn geplant | Erzählung passt zu ihren Einstellungen; der Mix existiert |
| deliver | forge-deliver | nichts | Liefergegenstände codiert und geprüft; Archiv erstellt und als VOLLSTÄNDIG verifiziert; abgezeichnet |
| retro | forge-director | nichts | Lehren geschrieben, jede mit ihrer Änderung an der Engine |
scripts/production.py führt diese exakten Prüfungen durch (Details in references/stages.md).
Wie jede Sitzung abläuft
- Lesen Sie den Status.
python3 scripts/production.py status production.yamlgibt die Phasen, die Credits (verfügbar, ausgegeben, übrig, die Gesamtsumme des Plans) und die aktuelle Phase aus, dannNEXT:mit der einen Aktion und ihrem Skill. - Führen Sie diese Aktion aus, indem Sie den genannten Skill laden. Eine Aktion nach der anderen; die Phase sagt Ihnen, wann eine Stufe abgeschlossen ist.
- Vor jeder Generierung, buchen Sie sie.
python3 scripts/production.py spend 2,75 --item "s07 Gemälde" --note "Charge 2". Es lehnt ab, wenn eine frühere Phase offen ist, wenn die Mal-Eingabeaufforderungen den Lint nicht bestehen oder wenn die Ausgabe die Reserve erreichen würde. Verwenden Sie--force "Grund"nur für einen Grund, den Sie gegenüber der zahlenden Person verteidigen würden; es wird protokolliert. Fehlgeschlagene und rückerstattete Generationen werden nicht protokolliert; Neubemalungen schon. - Schließen Sie die Phase ab.
production.py gatebis jedes Kästchen abgehakt ist,production.py signoff <Phase> --by <wer> --note <was Sie geprüft haben>wo eine Überprüfung erforderlich ist, dannproduction.py advance. - Berichten Sie (Format unten), mit der nächsten Aktion und einer Echtzeit-Schätzung.
Eine Produktion starten (die Brief-Phase)
Stellen Sie höchstens eine Frage, einmal pro Film: das Kreditlimit, falls niemand eines angegeben hat. Entscheiden Sie alles andere und schreiben Sie es auf: Format (3840x2160, 24 fps, 16:9, sofern die Kurzbeschreibung nichts anderes sagt), Laufzeit (aus den Credits, siehe forge-story), Liefergegenstände (master-4k, posting-1080p, Telefon, Cover standardmäßig).
Erstellen Sie den Ordner und kopieren Sie die Vorlagen (templates/):
<Film>/
production.yaml story-bible.md screenplay.md shotlist.yaml style-lock.yaml continuity.yaml
score-brief.md intent.yaml qa.yaml lessons.md
prompts/ art/sheets/ art/film/ audio/ code/ film/ out/
Füllen Sie production.yaml (Titel, Logline, Format, Budget, Dateien, Liefergegenstände), notieren Sie den Genehmiger des Limits in
budget.approved_by, dann production.py gate brief und advance.
Geld
- Preise stehen in
config/prices.yaml. Überprüfen Sie sie vor der ersten Ausgabe einer Produktion erneut gegen die aktuelle Liste;~in der Ausgabe von budget.py kennzeichnet einen Schätzwert, der vor Geldbewegungen erneut angefragt werden muss. - Planen vor dem Ausgeben:
python3 scripts/budget.py shotlist.yaml --production production.yaml. Es listet jeden abrechenbaren Punkt auf, die Ausgaben pro Phase, einen 30%igen Neubemalungspuffer für Gemälde, die 5% Reserve, drei Stufen (vollständiger Plan, nur gemalte Haltepositionen, nur Must-haves) und, wenn drüber, die günstigsten Änderungen, die es passend machen. Exit-Code 2 = drüber. - Wenn es nicht passt, kürzen Sie in dieser Reihenfolge: Video wird zu gemalten Schlüsselposen, die rucken (Bewegung im Code); der Neubemalungspuffer sinkt auf 15% (mehr Fehler werden im Code behoben); Priorität-3-Einstellungen werden gestrichen, dann Priorität 2; dann wird der Film kürzer. Präsentieren Sie eine Empfehlung, kein Menü.
- Ausgabereihenfolge: Blätter und die 2 bis 4 Beweisframes, die bei den Menschen ein Gefühl auslösen müssen, dann die Partitur, dann Gemälde in Viererchargen, Qualitätskontrolle nach jeder Charge. Nichts wird in großen Mengen gekauft, bevor die Beweise bestanden sind.
Arbeitsbeispiel (Simorgh, der Endplan): 13 Gemälde zu 2,75 (35,75) und eine Partitur in zwei Cues, 95 s und 115 s zu
0,145 pro Sekunde (30,51): 66,26 gegenüber 70,71 verfügbar, 4,45 übrig. budget.py reproduziert diese Zahlen exakt. Mit
dem standardmäßigen Neubemalungspuffer warnt es, dass der Plan um 9,81 drüber ist, was die ehrliche Lesart ist: Der Plan funktionierte nur,
weil jeder Fehler, der im Code behoben werden konnte (eine Neufärbung, ein Blauabzug, eine Streufigur-Korrektur, ein Beschnitt), behoben wurde.
Abzeichnungen
Eine Überprüfung ist eine Betrachtung von Beweisen, die in der Zustandsdatei festgehalten wird: die Stil-Phase (Blätter und Beweisframes bei 100%), die Bewegungs-Phase (die Vorschau, mit Ton angesehen, Schnitte gegen die Story-Höhepunkte geprüft), die Auslieferungs-Phase (der Master auf seinem Zielbildschirm). Sie zeichnen selbst ab, nachdem Sie geprüft haben. Der Eigentümer der Credits zeichnet das Limit ab und jede Phase, die er sehen wollte. Bitten Sie sie niemals zu beweisen, was sie sehen; zeichnen Sie niemals etwas ab, das Sie nicht geprüft haben.
Das Berichtsformat
<Titel>: <Phase> (<n> von 9)
Erledigt: <was sich geändert hat, in einfachen Worten>
Beweis: <die Befehlsausgabe, das Bild oder die Messung, die es zeigt>
Credits: <Ausgegeben> von <Verfügbar> ausgegeben; Plan <Gesamt> (passt / über x)
Nächster: <eine Aktion>, fertig bis <Uhrzeit>
Offen: <alles Unverifizierte oder noch zu Tuende>
Führen Sie mit der Antwort an. Keine Hash-Tabellen, keine Funktionsnamen im Bericht.
Die Retrospektive (die Engine lernt)
Schreiben Sie nach der Auslieferung lessons.md (Vorlage in templates/): jeder Fehler, der Zeit oder Credits gekostet hat, seine
Ursache, die diesmalige Behebung und die Änderung an der Engine, damit der nächste Film nicht noch einmal zahlt. Dann führen Sie diese
Änderung durch: eine Hauptbuchregel, eine Rubrikzeile, eine Stilfestlegungsklausel, ein Preis, eine Phase. Echte Beispiele von Lehren, die zu
Engine-Funktionen wurden:
- Ein Begleitvogel, der in fünf Bildern zu klein gezeichnet wurde, kostete fünf Neubemalungen. Jetzt: eine
scale-Festlegung pro Charakter im Hauptbuch, ein Maßstab auf jedem Blatt undledger.py promptsverweigert eine Eingabeaufforderung ohne die Festlegung. - "Bis zum Ende kein Blau" wurde durch einen Code-Abzug eingehalten, nachdem die Gemälde abgedriftet waren. Jetzt: eine
forbid-Regel, die auf jedem Gemälde gemessen wird und deren Klausel in jeder Eingabeaufforderung erscheinen muss, die sie abdeckt. - Der emotionale Bruch der Partitur (ein Tod, dann Stille) wurde zum Ort, um sie in zwei Cues zu teilen, sodass eine schlechte Aufnahme nie die andere Hälfte kostet. Jetzt: Die Musikkurzbeschreibung nennt ihre Cue-Teilung bei einer Stille.
Vor jeder Ausgabe von Credits (Vorflug)
-
production.py status: jede frühere Phase bestanden -
budget.py: der Plan passt, mit unberührter Reserve - Für Gemälde:
ledger.py promptsbesteht für diese Charge, und die Charge ist vier oder weniger - Die beizufügenden Referenzen sind die richtigen Dateien, in der Reihenfolge, die die Eingabeaufforderung nennt
- Die Ausgabe ist mit
production.py spendgebucht
Reparaturtabelle
| Symptom | Behebung |
|---|---|
| Credits mitten im Film aufgebraucht | Der Plan wurde nie ausgeführt oder der Puffer ignoriert: Neu planen mit budget.py, den ersten Schritt des passenden Plans nehmen |
| Gemälde passen nicht zueinander | Stil-Phase zu früh bestanden: Beweise bei 100% erneut lesen, Stilfestlegung verschärfen, erneut festlegen |
| Schnitte wirken zufällig | Die Partitur-Phase wurde übersprungen oder die Einstellungsliste nicht umgetaktet: forge-scores Messung und Umtaktung ausführen |
| Derselbe Fehler kommt immer wieder | Kein Retro-Eintrag oder seine Engine-Änderung wurde nie umgesetzt |
| Niemand weiß, was als Nächstes kommt | production.py status ausführen; wenn NÄCHSTER falsch ist, ist die Zustandsdatei veraltet: stage und stages korrigieren |
Referenzen
references/stages.md: Jede Phase mit Eingaben, Arbeit, Ausgaben und Phasenprüfungen, eine nach der anderenreferences/production-state.md: production.yaml Feld für Feldreferences/budget.md: Budgetierungsstrategie, Stufen, der Animatic-Phasenübergang, durchgerechnete Zahlen aus zwei echten Filmen
Werkzeuge (scripts/; in einem Klon des Repositorys: tools/): production.py, budget.py, shotlist.py, ledger.py,
archive.py, beatmap.py, contact_sheet.py. Vorlagen: templates/. Preise: config/prices.yaml.