Aus #97, Entscheidung 6: v1 animiert nur Schema-Properties (Transform, color, texture, enabled, Textgröße, Kamera …).
Zu bauen:
Behavior-Variablen des Zielobjekts als Property wählbar (Dialog listet sie unter dem Behavior-Namen). Der Wert wird zur Laufzeit in die Variable geschrieben, vor dem BehaviorSystem, damit das Behavior wie bei allen anderen Zeilen als letztes schreibt (Entscheidung 16).
Shader-Parameter (Uniforms eines Shaders am Sprite) als Ziel: Zahl, Farbe, Vektor. Vorschau im Tab muss das mitzeichnen.
Ziel-Art muss beim Umhängen gleich bleiben (Regel aus Entscheidung 22 gilt weiter).
Offen: Was passiert mit der Zeile, wenn das Behavior vom Objekt entfernt oder die Variable umbenannt wird? Vorschlag: wie ein gelöschtes Ziel, Zeile bleibt als „missing“.
Aus #97, Entscheidung 6: v1 animiert nur Schema-Properties (Transform, color, texture, enabled, Textgröße, Kamera …).
**Zu bauen:**
- **Behavior-Variablen** des Zielobjekts als Property wählbar (Dialog listet sie unter dem Behavior-Namen). Der Wert wird zur Laufzeit in die Variable geschrieben, vor dem `BehaviorSystem`, damit das Behavior wie bei allen anderen Zeilen als letztes schreibt (Entscheidung 16).
- **Shader-Parameter** (Uniforms eines Shaders am Sprite) als Ziel: Zahl, Farbe, Vektor. Vorschau im Tab muss das mitzeichnen.
- Ziel-Art muss beim Umhängen gleich bleiben (Regel aus Entscheidung 22 gilt weiter).
**Offen:** Was passiert mit der Zeile, wenn das Behavior vom Objekt entfernt oder die Variable umbenannt wird? Vorschlag: wie ein gelöschtes Ziel, Zeile bleibt als „missing“.
admin
added this to the Development project 2026-09-16 21:24:29 +02:00
Umgesetzt in beeea35, Wiki 245e049 (Animations.md).
Was jetzt geht
Behavior-Variablen als Zeilenziel: Das Behavior steht im Dialog unter seinem Owner, angeboten werden seine Variablen neben Enabled. Geschrieben wird vor dem BehaviorSystem: ein Graph liest den neuen Wert im selben Frame, ein Behavior, das dieselbe Variable setzt, schreibt trotzdem zuletzt.
Shader-Parameter als Zeilenziel: angeboten werden die Parameter des Shaders, den das Objekt trägt, auch wenn nur das platzierte Objekt ihn per Override trägt. Werte werden auf min/max des Parameters begrenzt. Laufzeit und Vorschau zeigen dieselben Werte.
Offene Frage (wie im Issue vorgeschlagen): Behavior entfernt, Variable umbenannt oder Shader ohne diesen Parameter → Zeile steht auf (missing), Keys bleiben, beim Abspielen übersprungen. Umhängen nur auf dieselbe Art.
Abweichungen
„Farbe, Vektor" bei Shader-Parametern gibt es nicht: der ShaderProperty-Node legt nur Zahlen an, alle Uniforms sind float.
Behaviors bieten keine X/Y-Zeilen mehr an (nichts Sichtbares). Dabei aufgefallen und behoben: eine Behavior-Variable namens x wurde in Laufzeit und Vorschau auf die Position geschrieben. Die Regel steht jetzt an einer Stelle (isPositionRow).
Umbau: Welche Properties eine Zeile anbietet, hängt jetzt von Asset und Properties ab. Alles läuft über targetDefs()/trackDef() in src/core/model/animation.ts (Dialog, Timeline, Inspector, Commands, Usages, Vorschau, Laufzeit).
Tests (lokal)
npm run check → 92 Files, 1202 Tests (vorher 1197), CHECK EXIT 0
npm run build → ok
GM_STEPS=24,25,26 (frisch geseedet) → ALL PASSED – 101 checks
5 neue Unit-Tests; Gegenprobe mit drei eingebauten Fehlern (5 / 1 / 3 Tests rot), danach zurückgespielt. Keine neuen e2e-Checks, Summe bleibt 943. CI auf beeea35 war beim Schließen noch nicht gelesen.
Umgesetzt in `beeea35`, Wiki `245e049` (`Animations.md`).
**Was jetzt geht**
- **Behavior-Variablen als Zeilenziel:** Das Behavior steht im Dialog unter seinem Owner, angeboten werden seine Variablen neben `Enabled`. Geschrieben wird vor dem `BehaviorSystem`: ein Graph liest den neuen Wert im selben Frame, ein Behavior, das dieselbe Variable setzt, schreibt trotzdem zuletzt.
- **Shader-Parameter als Zeilenziel:** angeboten werden die Parameter des Shaders, den das Objekt trägt, auch wenn nur das platzierte Objekt ihn per Override trägt. Werte werden auf min/max des Parameters begrenzt. Laufzeit und Vorschau zeigen dieselben Werte.
- **Offene Frage (wie im Issue vorgeschlagen):** Behavior entfernt, Variable umbenannt oder Shader ohne diesen Parameter → Zeile steht auf *(missing)*, Keys bleiben, beim Abspielen übersprungen. Umhängen nur auf dieselbe Art.
**Abweichungen**
- „Farbe, Vektor" bei Shader-Parametern gibt es nicht: der `ShaderProperty`-Node legt nur Zahlen an, alle Uniforms sind `float`.
- Behaviors bieten keine `X`/`Y`-Zeilen mehr an (nichts Sichtbares). Dabei aufgefallen und behoben: eine Behavior-Variable namens `x` wurde in Laufzeit und Vorschau auf die Position geschrieben. Die Regel steht jetzt an einer Stelle (`isPositionRow`).
**Umbau:** Welche Properties eine Zeile anbietet, hängt jetzt von Asset *und* Properties ab. Alles läuft über `targetDefs()`/`trackDef()` in `src/core/model/animation.ts` (Dialog, Timeline, Inspector, Commands, Usages, Vorschau, Laufzeit).
**Tests (lokal)**
```
npm run check → 92 Files, 1202 Tests (vorher 1197), CHECK EXIT 0
npm run build → ok
GM_STEPS=24,25,26 (frisch geseedet) → ALL PASSED – 101 checks
```
5 neue Unit-Tests; Gegenprobe mit drei eingebauten Fehlern (5 / 1 / 3 Tests rot), danach zurückgespielt. Keine neuen e2e-Checks, Summe bleibt 943. CI auf `beeea35` war beim Schließen noch nicht gelesen.
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, Entscheidung 6: v1 animiert nur Schema-Properties (Transform, color, texture, enabled, Textgröße, Kamera …).
Zu bauen:
BehaviorSystem, damit das Behavior wie bei allen anderen Zeilen als letztes schreibt (Entscheidung 16).Offen: Was passiert mit der Zeile, wenn das Behavior vom Objekt entfernt oder die Variable umbenannt wird? Vorschlag: wie ein gelöschtes Ziel, Zeile bleibt als „missing“.
Umgesetzt in
beeea35, Wiki245e049(Animations.md).Was jetzt geht
Enabled. Geschrieben wird vor demBehaviorSystem: ein Graph liest den neuen Wert im selben Frame, ein Behavior, das dieselbe Variable setzt, schreibt trotzdem zuletzt.Abweichungen
ShaderProperty-Node legt nur Zahlen an, alle Uniforms sindfloat.X/Y-Zeilen mehr an (nichts Sichtbares). Dabei aufgefallen und behoben: eine Behavior-Variable namensxwurde in Laufzeit und Vorschau auf die Position geschrieben. Die Regel steht jetzt an einer Stelle (isPositionRow).Umbau: Welche Properties eine Zeile anbietet, hängt jetzt von Asset und Properties ab. Alles läuft über
targetDefs()/trackDef()insrc/core/model/animation.ts(Dialog, Timeline, Inspector, Commands, Usages, Vorschau, Laufzeit).Tests (lokal)
5 neue Unit-Tests; Gegenprobe mit drei eingebauten Fehlern (5 / 1 / 3 Tests rot), danach zurückgespielt. Keine neuen e2e-Checks, Summe bleibt 943. CI auf
beeea35war beim Schließen noch nicht gelesen.