Wo der Editor endet und das Modell beginnt.
In den meisten Werkzeugen gibt es eine Naht. Sie exportieren, laden hoch, warten, laden herunter, setzen das Ergebnis wieder ein und hoffen, dass es noch zusammenpasst. Auf der einen Seite dieser Naht liegt Ihr Projekt, auf der anderen ein Programm, das nie von ihm gehört hat. Sparkle hat diese Naht nicht, und sie zu entfernen ist der größte Teil der Technik auf dieser Seite.
Ein Editor ist ein Dokument und die Operationen, die es ändern
Unter den Panels ist ein Editor eine einzige Sache: ein Dokument, das beschreibt, was wann passiert, und ein Satz benannter Operationen, die der einzige Weg sind, es zu ändern. Einen Clip teilen, sein Tempo ändern, eine Farbe setzen, eine Untertitelspur hinzufügen. Sonst fasst nichts das Dokument an.
Das klingt nach einem Implementierungsdetail und ist die gesamte Architektur. Sobald die Operationen die einzige Tür sind, ist alles, was später zählt — Undo, Nebenläufigkeit, Replay, ein Audit dessen, was passiert ist —, eine Eigenschaft der Tür und nicht etwas, das an jede Funktion geschraubt wird, die hindurchgeht.
Der Assistent ist also ein weiterer Aufrufer, kein weiteres Programm
Der Assistent erzeugt keinen Code, und er erzeugt keine Bilder. Er setzt dieselben benannten Operationen ab, die auch ein Menüpunkt absetzt, mit denselben typisierten Parametern, in dasselbe Dokument. Bitten Sie ihn um eine vertikale Fassung, ruft er die Operation auf, die der Editor ohnehin schon hatte.
Daraus folgen zwei Dinge, und beide sind der Punkt. Er kann nichts ausdrücken, was der Editor nicht kann; es gibt also keine Art von KI-Ausgabe, die hinterher mit dem Projekt in Einklang gebracht werden muss. Und alles, was er getan hat, hätten Sie auch tun können — Sie können es also lesen, ändern oder von Hand auseinandernehmen.
Eine Operation, ein Undo
Eine Operation des Assistenten kann hundert Clips anfassen: ihr Tempo ändern, sie neu färben, jeden Untertitel neu gestalten. Sie fällt trotzdem zu einem einzigen Checkpoint zusammen; ein Undo bringt Sie also zurück vor Ihre Anfrage.
Das ist kein Komfort. Was einen Schnittassistenten brauchbar macht, ist nicht, wie oft er recht hat — sondern wie billig es ist, ihm zu widersprechen. Einen Assistenten, den man nicht sauber ablehnen kann, muss man beaufsichtigen, und ihn zu beaufsichtigen kostet mehr, als die Arbeit selbst zu machen.
Das Modell ist der einfache Teil. Alles darum herum ist der Editor.
Zwei Hände, ein Dokument
Während eine lange Operation läuft, arbeiten Sie weiter; das Dokument hat also zwei Autoren. Die naive Umsetzung davon verliert eine Änderung: Der langsamere Schreiber speichert zuletzt und überschreibt stillschweigend, was der andere getan hat.
Jedes Speichern ist ein Compare-and-Swap gegen die aktuelle Head-Operation des Dokuments. Ein Schreibvorgang, der auf einer Version aufsetzt, die sich weiterbewegt hat, wird zurückgewiesen, nicht zusammengeführt und nicht stillschweigend angewendet. Zurückweisen ist das nützliche Verhalten — ein zurückgewiesenes Speichern kann gegen den tatsächlichen Stand erneut versucht werden, während eine verlorene Änderung Tage später von der Person entdeckt wird, die sie gemacht hat.
Genau einmal, oder gar nicht
Ein Schritt in einem Plan des Assistenten trifft irgendwann auf einen erneuten Versuch, einen Doppelklick, eine abgerissene Verbindung, ein Neuladen, einen Absturz auf halbem Weg oder zwei ausführende Prozesse, die beide glauben, er gehöre ihnen. Jedes davon kann eine Änderung zweimal anwenden, und eine Änderung, die zweimal auf eine Timeline angewendet wird, ist kein Duplikat — sie ist eine andere Timeline.
Der ausführende Prozess darf also nicht selbst entscheiden. Bevor er irgendetwas ändert, muss er beim Plan-Store einen Claim auf den Schritt anfordern, den dieser unter einer Sperre atomar vergibt; nur ein erteilter Claim autorisiert die Änderung, und ein Replay gibt das erste Ergebnis zurück, ohne das Dokument anzufassen. Was beweist, dass eine Operation stattgefunden hat, ist eine aufgezeichnete Operations-ID, kein Flag in einem Browser-Tab.
Die Modelle sitzen neben der Timeline, nicht hinter einem Upload
Matting, Segmentierung und Tiefe laufen im selben Prozess wie der Editor, auf den Bildern, die er ohnehin schon vorliegen hat. Es gibt keinen Export, keinen Upload, kein Warten, keinen Re-Import und nichts, was hinterher wieder zusammenpassen muss.
Das ist eine Entwurfsentscheidung über Latenz, und sie klärt eine Frage, die die Naht sonst offenlässt: Material unter Sperrfrist bleibt unter Sperrfrist, weil es nie weg war. Wo Arbeit die Cloud wirklich braucht, geht sie durch ein einziges Gateway, das sie dem Konto zurechnet, das sie angefordert hat.
Eine Vorschau, die der Export ist
Dieselben Shader zeichnen das Scrubbing und das endgültige Rendering; was Sie abnehmen, ist das, was Sie ausliefern. Ohne das wäre jede KI-Änderung vorläufig: Sie würden ein Bild abnehmen und die Datei später noch einmal prüfen — die Naht, die am anderen Ende der Pipeline wieder auftaucht.
Zusammengenommen — ein Dokument, ein Satz von Operationen, ein Undo, ein Head, eine Ausführung, ein Render-Pfad — ist die interessante Frage nicht mehr, wie gut das Modell ist. Sie lautet, wie billig man ihm widersprechen kann. Das ist der Teil, den wir bauen.