Timeline: Doppelklick in eine leere Zeile setzt den Standardwert statt des angezeigten Werts #412

Closed
opened 2026-10-11 21:24:19 +02:00 by meleki · 2 comments
Owner

Aus #156, Durchgang 6. Fund in #408, Abschluss 4352 („Das passt nicht zusammen und ist nicht angefasst“).

Befund

  • Seit #408 zeigt jede Zeile der Timeline rechts ihr Wertefeld. Ohne Keys zeigt es den Wert, den das Objekt hat (lineValueAt → heldBy, src/core/model/animation.ts:635–649).
  • Ein Doppelklick in eine Zelle einer Zeile ohne Keys setzt aber den Standardwert der Property (SetAnimationKeyCommand, src/core/commands/animationCommands.ts:238: current ?? (track.relative ? 0 : def.default)).
  • Beispiel: Ein Sprite steht auf X = 40, die neue Zeile X zeigt 40. Ein Doppelklick auf Frame 0 setzt einen Key mit 0, das Sprite springt.

Vorschlag

  • Der Doppelklick nimmt denselben Wert wie das Feld: den gehaltenen Wert des Objekts, bei einer relativen Zeile 0.
  • Die Regel liegt dann an einer Stelle: SetAnimationKeyCommand fragt dieselbe Funktion wie das Feld.

Offen (mit Vorschlag)

  1. Zeile, deren Ziel weg ist: Vorschlag: wie heute, Hinweis statt Key.
  2. Zeile mit Keys: bleibt, wie sie ist (der Wert der Kurve an dieser Stelle).

Fertig, wenn

  • Unit-Test: Doppelklick-Kommando in einer leeren Zeile X eines Sprites auf X = 40 setzt 40. Gegenprobe mit def.default wird rot.
  • e2e 25: Doppelklick in eine neue Zeile, der Key hat den Wert, den das Feld vorher zeigte.
Aus #156, Durchgang 6. Fund in #408, Abschluss 4352 („Das passt nicht zusammen und ist nicht angefasst“). ## Befund - Seit #408 zeigt jede Zeile der Timeline rechts ihr Wertefeld. **Ohne Keys** zeigt es den Wert, den das Objekt hat (`lineValueAt` → `heldBy`, `src/core/model/animation.ts:635`–`649`). - Ein **Doppelklick in eine Zelle** einer Zeile ohne Keys setzt aber den **Standardwert der Property** (`SetAnimationKeyCommand`, `src/core/commands/animationCommands.ts:238`: `current ?? (track.relative ? 0 : def.default)`). - Beispiel: Ein Sprite steht auf X = 40, die neue Zeile *X* zeigt 40. Ein Doppelklick auf Frame 0 setzt einen Key mit 0, das Sprite springt. ## Vorschlag - Der Doppelklick nimmt denselben Wert wie das Feld: den gehaltenen Wert des Objekts, bei einer relativen Zeile 0. - Die Regel liegt dann an einer Stelle: `SetAnimationKeyCommand` fragt dieselbe Funktion wie das Feld. ## Offen (mit Vorschlag) 1. **Zeile, deren Ziel weg ist:** Vorschlag: wie heute, Hinweis statt Key. 2. **Zeile mit Keys:** bleibt, wie sie ist (der Wert der Kurve an dieser Stelle). ## Fertig, wenn - Unit-Test: Doppelklick-Kommando in einer leeren Zeile *X* eines Sprites auf X = 40 setzt 40. Gegenprobe mit `def.default` wird rot. - e2e 25: Doppelklick in eine neue Zeile, der Key hat den Wert, den das Feld vorher zeigte.
meleki added the new label 2026-10-11 21:24:19 +02:00
admin added this to the Development project 2026-10-11 21:25:32 +02:00
admin moved this to Next in Development on 2026-10-12 15:18:58 +02:00
admin removed the new label 2026-10-12 15:19:01 +02:00

vorschläge passen

vorschläge passen
admin moved this to Done in Development on 2026-10-12 17:56:17 +02:00
Author
Owner

Erledigt mit c425eea, im Wiki 7c6c53f (Animations).

  • Ein Doppelklick in eine Zeile ohne Keys setzt jetzt den Wert, den das Feld der Zeile anzeigt, nicht mehr den Standardwert der Property.
  • Feld und Doppelklick fragen dieselbe Regel (trackHeld in src/core/model/animation.ts). Relative Zeilen bekommen weiter 0, Zeilen mit Keys den Wert der Kurve an dieser Stelle.

Tests: Unit animation 87 grün (1 neu, Gegenprobe mit der alten Regel def.default rot: 0 statt 40), e2e 25i-ii grün (Arm auf x 40, Key { frame: 3, value: 40 }). Ein CI-Lauf dazu fehlt, weil ci.yml beim Push deaktiviert war.

Erledigt mit c425eea, im Wiki 7c6c53f (*Animations*). - Ein Doppelklick in eine Zeile ohne Keys setzt jetzt den Wert, den das Feld der Zeile anzeigt, nicht mehr den Standardwert der Property. - Feld und Doppelklick fragen dieselbe Regel (`trackHeld` in `src/core/model/animation.ts`). Relative Zeilen bekommen weiter 0, Zeilen mit Keys den Wert der Kurve an dieser Stelle. Tests: Unit animation 87 grün (1 neu, Gegenprobe mit der alten Regel `def.default` rot: 0 statt 40), e2e 25i-ii grün (Arm auf x 40, Key `{ frame: 3, value: 40 }`). Ein CI-Lauf dazu fehlt, weil `ci.yml` beim Push deaktiviert war.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#412