Aus #97, Teil (b) von drei. Baut auf Teil (a) auf (Modell, Laufzeit, Nodes, 193378e).
Was heute ist: Der Animation-Tab ist ein Platzhalter („Animates X – the timeline editor is being built“). Modell und Kommandos sind da: setAnimationRoot, addAnimationRow/removeAnimationRow/retargetAnimationRow, setRowRelative, setKey/moveKeys/deleteKeys.
Add-Dialog: Asset (= Wurzel) → optional Objekt darin (Selector wie beim Parent-Picker, über den ganzen Baum) → Property der Auswahl. Ziel + Property nur einmal je Animation; Dialog auch zum Umhängen einer Zeile (nur gleiche Art).
Zeilen: jede Zeile eine Zeile, kein Gruppieren, kein Einklappen. Zeilenkopf mit Ziel, Property, Schalter „relativ“, Entfernen. Fehlendes Ziel als „missing“ sichtbar.
Zellen: Doppelklick setzt einen Key mit dem dort geltenden Wert. Keys auswählen (Klick, Gummiband), per Drag verschieben (Landen auf einem Key ersetzt ihn), Entf löscht, alles mit Undo.
Playhead zum Scrubben; ausgewählter Key zeigt seinen Wert im Inspector, dort änderbar.
Actor-Demo (tools/seed-actor.mjs, tools/smoke-actor.mjs) auf Play animation umstellen.
Nicht in v1: Kopieren/Einfügen, Loop-Bereich, Kurvenansicht, Aufnahme-Modus, Umsortieren per Drag.
Tests: Gate + Unit-Tests für die Editor-Geometrie (Zelle ↔ Frame, Gummiband), e2e-Modul 25 wieder auf einen echten Ablauf bringen.
Aus #97, Teil (b) von drei. Baut auf Teil (a) auf (Modell, Laufzeit, Nodes, `193378e`).
**Was heute ist:** Der Animation-Tab ist ein Platzhalter („Animates X – the timeline editor is being built“). Modell und Kommandos sind da: `setAnimationRoot`, `addAnimationRow`/`removeAnimationRow`/`retargetAnimationRow`, `setRowRelative`, `setKey`/`moveKeys`/`deleteKeys`.
**Zu bauen (Entscheidungen 18–23 in #97):**
- Kopfzeile: Wurzel-Asset-Picker, `fps`, `playback`, Play/Pause, horizontaler Zoom.
- **Add-Dialog:** Asset (= Wurzel) → optional Objekt darin (Selector wie beim Parent-Picker, über den ganzen Baum) → Property der Auswahl. Ziel + Property nur einmal je Animation; Dialog auch zum Umhängen einer Zeile (nur gleiche Art).
- Zeilen: **jede Zeile eine Zeile**, kein Gruppieren, kein Einklappen. Zeilenkopf mit Ziel, Property, Schalter „relativ“, Entfernen. Fehlendes Ziel als „missing“ sichtbar.
- Zellen: **Doppelklick** setzt einen Key mit dem dort geltenden Wert. Keys auswählen (Klick, Gummiband), per Drag verschieben (Landen auf einem Key ersetzt ihn), Entf löscht, alles mit Undo.
- Playhead zum Scrubben; ausgewählter Key zeigt seinen Wert im Inspector, dort änderbar.
- Actor-Demo (`tools/seed-actor.mjs`, `tools/smoke-actor.mjs`) auf `Play animation` umstellen.
**Nicht in v1:** Kopieren/Einfügen, Loop-Bereich, Kurvenansicht, Aufnahme-Modus, Umsortieren per Drag.
**Tests:** Gate + Unit-Tests für die Editor-Geometrie (Zelle ↔ Frame, Gummiband), e2e-Modul 25 wieder auf einen echten Ablauf bringen.
Gebaut in 5af0a1c: Kopfzeile mit Wurzel-Picker, + Row, Play/Pause; Add-Dialog Asset → Objekt darin → Property, auch zum Umhängen (nur gleiche Art); jede Zeile eine Zeile mit Ziel, Property, „relativ“, Entfernen, „missing“ bei fehlendem Ziel; Doppelklick setzt einen Key mit dem geltenden Wert; Keys per Klick/Gummiband auswählen, ziehen (Landen ersetzt), Entf löscht, alles mit Undo; Lineal scrubbt, Mausrad zoomt, Shift+Mausrad scrollt; Inspector-Abschnitt für Zeile und Key. Unit-Tests für Geometrie und Zeilen-Selektion. Actor-Demo umgestellt (4ed2edd).
Offen aus der Testzeile: Modul 25 ist noch ein Rumpf, das ist #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 `5af0a1c`: Kopfzeile mit Wurzel-Picker, `+ Row`, Play/Pause; Add-Dialog Asset → Objekt darin → Property, auch zum Umhängen (nur gleiche Art); jede Zeile eine Zeile mit Ziel, Property, „relativ“, Entfernen, „missing“ bei fehlendem Ziel; Doppelklick setzt einen Key mit dem geltenden Wert; Keys per Klick/Gummiband auswählen, ziehen (Landen ersetzt), Entf löscht, alles mit Undo; Lineal scrubbt, Mausrad zoomt, Shift+Mausrad scrollt; Inspector-Abschnitt für Zeile und Key. Unit-Tests für Geometrie und Zeilen-Selektion. Actor-Demo umgestellt (`4ed2edd`).
Offen aus der Testzeile: Modul 25 ist noch ein Rumpf, das ist #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 (b) von drei. Baut auf Teil (a) auf (Modell, Laufzeit, Nodes,
193378e).Was heute ist: Der Animation-Tab ist ein Platzhalter („Animates X – the timeline editor is being built“). Modell und Kommandos sind da:
setAnimationRoot,addAnimationRow/removeAnimationRow/retargetAnimationRow,setRowRelative,setKey/moveKeys/deleteKeys.Zu bauen (Entscheidungen 18–23 in #97):
fps,playback, Play/Pause, horizontaler Zoom.tools/seed-actor.mjs,tools/smoke-actor.mjs) aufPlay animationumstellen.Nicht in v1: Kopieren/Einfügen, Loop-Bereich, Kurvenansicht, Aufnahme-Modus, Umsortieren per Drag.
Tests: Gate + Unit-Tests für die Editor-Geometrie (Zelle ↔ Frame, Gummiband), e2e-Modul 25 wieder auf einen echten Ablauf bringen.
Gebaut in
5af0a1c: Kopfzeile mit Wurzel-Picker,+ Row, Play/Pause; Add-Dialog Asset → Objekt darin → Property, auch zum Umhängen (nur gleiche Art); jede Zeile eine Zeile mit Ziel, Property, „relativ“, Entfernen, „missing“ bei fehlendem Ziel; Doppelklick setzt einen Key mit dem geltenden Wert; Keys per Klick/Gummiband auswählen, ziehen (Landen ersetzt), Entf löscht, alles mit Undo; Lineal scrubbt, Mausrad zoomt, Shift+Mausrad scrollt; Inspector-Abschnitt für Zeile und Key. Unit-Tests für Geometrie und Zeilen-Selektion. Actor-Demo umgestellt (4ed2edd).Offen aus der Testzeile: Modul 25 ist noch ein Rumpf, das ist #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.