Timeline: Zeilen senkrecht scrollen #413

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

Aus #156, Durchgang 6. In #408 unter Nicht dabei und im Abschluss 4352 unter offen.

Herkunft

  • #408, Nicht dabei: „Senkrechtes Scrollen der Zeilen (gibt es heute nicht; die Kopfzeilen brauchen etwas mehr Höhe)“.
  • #408, Abschluss: „Die Timeline lässt sich nicht senkrecht scrollen, und die Gruppenzeilen brauchen Höhe. Bei vielen Zeilen wird der Platz knapp.“

Stand

  • TimelineCanvas kennt nur eine waagrechte Verschiebung (panX, src/editor/animation/TimelineCanvas.ts:679). Das Mausrad zoomt, Shift + Rad schiebt waagrecht. Eine senkrechte Verschiebung gibt es nicht.
  • Seit #408 hat jedes Objekt eine Kopfzeile. Eine Animation für einen Schnitt (#404) mit mehreren Clips, Texten und Übergängen hat schnell mehr Zeilen, als der Tab hoch ist. Was unten herausfällt, ist nicht erreichbar.

Vorschlag

  • Senkrechtes Scrollen der Zeilen samt Kopfspalte, Lineal und Kopfzeile des Tabs bleiben stehen.
  • Bedienung: Shift + Rad schiebt waagrecht wie heute, das Rad über der Kopfspalte scrollt senkrecht. Dazu ein schmaler Scrollbalken rechts, sobald nicht alle Zeilen passen.
  • Wird eine Zeile ausgewählt oder neu angelegt, die außerhalb liegt, scrollt die Timeline sie ins Bild.
  • Die Wertefelder aus #408 wandern mit, Felder außerhalb werden nicht gezeichnet.

Offen (mit Vorschlag)

  1. Rad über den Zellen: zoomt weiter, wie heute. Vorschlag: so lassen, nur über der Kopfspalte scrollt das Rad.
  2. Mittlere Maustaste ziehen: Vorschlag: verschiebt waagrecht und senkrecht zugleich, wie in der Szene.

Fertig, wenn

  • Unit-Test: Grenzen des Scrollens (nicht über die erste und die letzte Zeile hinaus), eine gewählte Zeile wird ins Bild geholt. Dazu eine Gegenprobe.
  • e2e 25: Eine Animation mit mehr Zeilen als Platz, Rad über der Kopfspalte, danach ist die letzte Zeile zu sehen und ihr Feld bedienbar.
Aus #156, Durchgang 6. In #408 unter *Nicht dabei* und im Abschluss 4352 unter *offen*. ## Herkunft - #408, *Nicht dabei*: „Senkrechtes Scrollen der Zeilen (gibt es heute nicht; die Kopfzeilen brauchen etwas mehr Höhe)“. - #408, Abschluss: „Die Timeline lässt sich nicht senkrecht scrollen, und die Gruppenzeilen brauchen Höhe. Bei vielen Zeilen wird der Platz knapp.“ ## Stand - `TimelineCanvas` kennt nur eine waagrechte Verschiebung (`panX`, `src/editor/animation/TimelineCanvas.ts:679`). Das Mausrad zoomt, Shift + Rad schiebt waagrecht. Eine senkrechte Verschiebung gibt es nicht. - Seit #408 hat jedes Objekt eine Kopfzeile. Eine Animation für einen Schnitt (#404) mit mehreren Clips, Texten und Übergängen hat schnell mehr Zeilen, als der Tab hoch ist. Was unten herausfällt, ist nicht erreichbar. ## Vorschlag - Senkrechtes Scrollen der Zeilen samt Kopfspalte, Lineal und Kopfzeile des Tabs bleiben stehen. - **Bedienung:** Shift + Rad schiebt waagrecht wie heute, das Rad über der **Kopfspalte** scrollt senkrecht. Dazu ein schmaler Scrollbalken rechts, sobald nicht alle Zeilen passen. - Wird eine Zeile ausgewählt oder neu angelegt, die außerhalb liegt, scrollt die Timeline sie ins Bild. - Die Wertefelder aus #408 wandern mit, Felder außerhalb werden nicht gezeichnet. ## Offen (mit Vorschlag) 1. **Rad über den Zellen:** zoomt weiter, wie heute. Vorschlag: **so lassen**, nur über der Kopfspalte scrollt das Rad. 2. **Mittlere Maustaste ziehen:** Vorschlag: verschiebt waagrecht und senkrecht zugleich, wie in der Szene. ## Fertig, wenn - Unit-Test: Grenzen des Scrollens (nicht über die erste und die letzte Zeile hinaus), eine gewählte Zeile wird ins Bild geholt. Dazu eine Gegenprobe. - e2e 25: Eine Animation mit mehr Zeilen als Platz, Rad über der Kopfspalte, danach ist die letzte Zeile zu sehen und ihr Feld bedienbar.
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-11 21:26:08 +02:00

vorschläge passen

vorschläge passen
admin removed the new label 2026-10-11 21:28:49 +02:00
Author
Owner

Erledigt mit 480db9c „Scroll the rows of the animation timeline up and down (#413)“, Wiki 5ff3ef3 (Animations, Development).

Was gebaut ist

So wie oben vorgeschlagen und bestätigt:

  • Rad über der Kopfspalte scrollt die Zeilen senkrecht. Über den Zellen zoomt es wie bisher, Shift+Rad schiebt waagrecht.
  • Lineal und Tab-Kopf bleiben stehen. Zeilen, die nach oben wandern, verschwinden unter dem Lineal, samt Beschriftung, Wertefeld und Keys.
  • Scrollbalken rechts, nur wenn nicht alle Zeilen passen. Der Daumen lässt sich ziehen, ein Klick daneben springt dorthin.
  • Mittlere Maustaste verschiebt jetzt waagrecht und senkrecht. Shift+Ziehen bleibt waagrecht.
  • Eine ausgewählte oder neu angelegte Zeile außerhalb des Bilds wird gerade so weit hereingeholt, dass sie ganz zu sehen ist.
  • Wertefelder außerhalb werden nicht gezeichnet. Die Scroll-Position merkt sich der Tab beim Wechsel wie den Zoom.

Fund nebenbei: zoomCells hat eine neue Ansicht nur aus panX und cellWidth gebaut, jeder Zoom hätte das Scrollen verworfen. Der Typcheck hat es gefunden, ein Unit-Test hält es jetzt fest.

Tests

  • tsc, eslint, Prettier sauber
  • Unit timeline-view: 20 grün, 6 neu. Gegenprobe: Ignoriert rowAt das Scrollen bzw. holt revealRow nichts herein, werden genau die betroffenen Tests rot.
  • e2e 25 auf melektaus-atx: ALL PASSED, 37 Checks (25j, 25j-ii neu). 32 Zeilen, das Rad bringt das Feld der letzten Zeile ins Bild, Eintippen setzt dort den Key 77. Den Daumen nach oben gezogen steht scrollY wieder auf 0.
  • Gate auf melektaus-atx: grün, 305 Dateien, 4730 Tests.
  • Screenshot angesehen: unter dem Lineal scheint nichts durch.

Nicht im Browser geprüft: mittlere Maustaste, das Hereinholen einer ausgewählten Zeile (nur Unit-Test), das Rad direkt über einem Wertefeld.

CI: nicht abgewartet.

Erledigt mit `480db9c` „Scroll the rows of the animation timeline up and down (#413)“, Wiki `5ff3ef3` (*Animations*, *Development*). ## Was gebaut ist So wie oben vorgeschlagen und bestätigt: - **Rad über der Kopfspalte** scrollt die Zeilen senkrecht. Über den Zellen zoomt es wie bisher, `Shift`+Rad schiebt waagrecht. - **Lineal und Tab-Kopf bleiben stehen.** Zeilen, die nach oben wandern, verschwinden unter dem Lineal, samt Beschriftung, Wertefeld und Keys. - **Scrollbalken rechts**, nur wenn nicht alle Zeilen passen. Der Daumen lässt sich ziehen, ein Klick daneben springt dorthin. - **Mittlere Maustaste** verschiebt jetzt waagrecht und senkrecht. `Shift`+Ziehen bleibt waagrecht. - **Eine ausgewählte oder neu angelegte Zeile außerhalb des Bilds** wird gerade so weit hereingeholt, dass sie ganz zu sehen ist. - Wertefelder außerhalb werden nicht gezeichnet. Die Scroll-Position merkt sich der Tab beim Wechsel wie den Zoom. **Fund nebenbei:** `zoomCells` hat eine neue Ansicht nur aus `panX` und `cellWidth` gebaut, jeder Zoom hätte das Scrollen verworfen. Der Typcheck hat es gefunden, ein Unit-Test hält es jetzt fest. ## Tests - tsc, eslint, Prettier sauber - Unit `timeline-view`: 20 grün, 6 neu. Gegenprobe: Ignoriert `rowAt` das Scrollen bzw. holt `revealRow` nichts herein, werden genau die betroffenen Tests rot. - e2e 25 auf `melektaus-atx`: ALL PASSED, 37 Checks (25j, 25j-ii neu). 32 Zeilen, das Rad bringt das Feld der letzten Zeile ins Bild, Eintippen setzt dort den Key 77. Den Daumen nach oben gezogen steht `scrollY` wieder auf 0. - Gate auf `melektaus-atx`: grün, 305 Dateien, 4730 Tests. - Screenshot angesehen: unter dem Lineal scheint nichts durch. **Nicht im Browser geprüft:** mittlere Maustaste, das Hereinholen einer ausgewählten Zeile (nur Unit-Test), das Rad direkt über einem Wertefeld. **CI:** nicht abgewartet.
admin moved this to Done in Development on 2026-10-13 08:19:48 +02:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#413