Aus #97, Teil (c) von drei. Baut auf Teil (b) auf (Timeline-Editor).
Entscheidung 18 in #97: Beim Scrubben sieht man das Ergebnis im Animation-Tab selbst: oben eine Vorschau des Wurzel-Assets, darunter die Timeline.
Zu bauen:
Vorschau-Viewport im Tab, der das Wurzel-Asset (Sprite, Text, Container oder Scene) rendert wie der Scene-/Container-Tab, aber ohne Bearbeitung.
Playhead-Position → Zeilenwerte werden auf die Vorschau-Instanz angewendet (dieselbe Auswertung wie der Laufzeit-Player, Punkt 13/14 in #97: halten vor/nach den Keys, „relativ“ als Versatz zum Ausgangswert).
Play/Pause aus der Kopfzeile treibt die Vorschau mit fps und playback (Loop, Once hold/reset, Ping-pong).
Die Vorschau schreibt nichts ins Dokument; Undo bleibt unberührt.
Tests: Gate + Unit; ein e2e-Check mit Pixelbeweis (Wert am Playhead ändert das Bild) folgt beim Push des Gesamtpakets.
Aus #97, Teil (c) von drei. Baut auf Teil (b) auf (Timeline-Editor).
**Entscheidung 18 in #97:** Beim Scrubben sieht man das Ergebnis **im Animation-Tab selbst**: oben eine Vorschau des Wurzel-Assets, darunter die Timeline.
**Zu bauen:**
- Vorschau-Viewport im Tab, der das Wurzel-Asset (Sprite, Text, Container oder Scene) rendert wie der Scene-/Container-Tab, aber ohne Bearbeitung.
- Playhead-Position → Zeilenwerte werden auf die Vorschau-Instanz angewendet (dieselbe Auswertung wie der Laufzeit-Player, Punkt 13/14 in #97: halten vor/nach den Keys, „relativ“ als Versatz zum Ausgangswert).
- Play/Pause aus der Kopfzeile treibt die Vorschau mit `fps` und `playback` (Loop, Once hold/reset, Ping-pong).
- Die Vorschau schreibt **nichts** ins Dokument; Undo bleibt unberührt.
**Tests:** Gate + Unit; ein e2e-Check mit Pixelbeweis (Wert am Playhead ändert das Bild) folgt beim Push des Gesamtpakets.
Gebaut in 89c46c3: über der Timeline die Vorschau des Wurzel-Assets am Playhead, von Play/Pause und Lineal getrieben; Ziehen schwenkt, Mausrad zoomt, Centre rahmt. Die Vorschau ist eine Kopie auf einem synthetischen Holder (Scene ist sie selbst), Zeilen auf Kinder gehen über die Instanz-Edits, das Dokument bleibt byte-identisch (Test). Laufzeit und Vorschau werten Zeilen über dieselbe Funktion trackWriteAt aus; nach once-reset zeigt die Vorschau die Ausgangswerte. 9 Unit-Tests in tests/core/animation-preview.test.ts; Debug-Hooks animation.preview.rect/item/objectId für den e2e-Schritt (#110).
CI auf 35c8788: Task 68 gate → CHECK EXIT 0 (92 Files, 1180 Tests), Task 69 suite → ALL PASSED – 928 checks, Smokes 24 / 19 / 21. Die erste Suite auf 89c46c3 (Task 67) war rot an genau einem Check: e2e 21d zählt die Arten der Kind-Tabelle auf und kannte animation noch nicht, nachgezogen in 35c8788. Die Check-Summe fällt von 960 auf 928, weil Modul 25 bis #110 ein Rumpf mit 5 Checks ist.
Gebaut in `89c46c3`: über der Timeline die Vorschau des Wurzel-Assets am Playhead, von Play/Pause und Lineal getrieben; Ziehen schwenkt, Mausrad zoomt, `Centre` rahmt. Die Vorschau ist eine Kopie auf einem synthetischen Holder (Scene ist sie selbst), Zeilen auf Kinder gehen über die Instanz-Edits, das Dokument bleibt byte-identisch (Test). Laufzeit und Vorschau werten Zeilen über dieselbe Funktion `trackWriteAt` aus; nach `once-reset` zeigt die Vorschau die Ausgangswerte. 9 Unit-Tests in `tests/core/animation-preview.test.ts`; Debug-Hooks `animation.preview.rect/item/objectId` für den e2e-Schritt (#110).
**CI auf `35c8788`:** Task 68 `gate` → `CHECK EXIT 0` (92 Files, 1180 Tests), Task 69 `suite` → `ALL PASSED – 928 checks`, Smokes 24 / 19 / 21. Die erste Suite auf `89c46c3` (Task 67) war rot an genau einem Check: e2e 21d zählt die Arten der Kind-Tabelle auf und kannte `animation` noch nicht, nachgezogen in `35c8788`. Die Check-Summe fällt von 960 auf 928, weil Modul 25 bis #110 ein Rumpf mit 5 Checks ist.
**Folge-Issues:** #101 Easing, #102 Kopieren/Einfügen/Frames, #103 Record, #104 Behavior-Variablen/Shader-Parameter, #105 Laufzeit-Steuerung, #106 Crossfade, #107 Timeline-Komfort, #108 Kurvenansicht (held-back), #109 Zielreichweite, #110 e2e-Schritt für Timeline und Vorschau.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Aus #97, Teil (c) von drei. Baut auf Teil (b) auf (Timeline-Editor).
Entscheidung 18 in #97: Beim Scrubben sieht man das Ergebnis im Animation-Tab selbst: oben eine Vorschau des Wurzel-Assets, darunter die Timeline.
Zu bauen:
fpsundplayback(Loop, Once hold/reset, Ping-pong).Tests: Gate + Unit; ein e2e-Check mit Pixelbeweis (Wert am Playhead ändert das Bild) folgt beim Push des Gesamtpakets.
Gebaut in
89c46c3: über der Timeline die Vorschau des Wurzel-Assets am Playhead, von Play/Pause und Lineal getrieben; Ziehen schwenkt, Mausrad zoomt,Centrerahmt. Die Vorschau ist eine Kopie auf einem synthetischen Holder (Scene ist sie selbst), Zeilen auf Kinder gehen über die Instanz-Edits, das Dokument bleibt byte-identisch (Test). Laufzeit und Vorschau werten Zeilen über dieselbe FunktiontrackWriteAtaus; nachonce-resetzeigt die Vorschau die Ausgangswerte. 9 Unit-Tests intests/core/animation-preview.test.ts; Debug-Hooksanimation.preview.rect/item/objectIdfür den e2e-Schritt (#110).CI auf
35c8788: Task 68gate→CHECK EXIT 0(92 Files, 1180 Tests), Task 69suite→ALL PASSED – 928 checks, Smokes 24 / 19 / 21. Die erste Suite auf89c46c3(Task 67) war rot an genau einem Check: e2e 21d zählt die Arten der Kind-Tabelle auf und kannteanimationnoch nicht, nachgezogen in35c8788. Die Check-Summe fällt von 960 auf 928, weil Modul 25 bis #110 ein Rumpf mit 5 Checks ist.Folge-Issues: #101 Easing, #102 Kopieren/Einfügen/Frames, #103 Record, #104 Behavior-Variablen/Shader-Parameter, #105 Laufzeit-Steuerung, #106 Crossfade, #107 Timeline-Komfort, #108 Kurvenansicht (held-back), #109 Zielreichweite, #110 e2e-Schritt für Timeline und Vorschau.