Snapping on by default in every graph #391

Closed
opened 2026-10-10 17:09:45 +02:00 by meleki · 1 comment
Owner

Wunsch des Users: Snapping soll standardmäßig aktiv sein, und zwar in jedem Graphen.

  • Der Magnet (#194) ist in jedem Graph-Tab beim Start eingeschaltet und leuchtet: Logik, State Machine, Shader, Particles, Sound FX, Instrument, Song-Routing, Routing
  • Ausschalten wie bisher über den Magneten
  • Curve und Vector Art sind keine Graphen und bleiben, wie sie sind
Wunsch des Users: Snapping soll standardmäßig aktiv sein, und zwar in **jedem** Graphen. - Der Magnet (#194) ist in jedem Graph-Tab beim Start eingeschaltet und leuchtet: Logik, State Machine, Shader, Particles, Sound FX, Instrument, Song-Routing, Routing - Ausschalten wie bisher über den Magneten - Curve und Vector Art sind keine Graphen und bleiben, wie sie sind
Author
Owner

Erledigt mit fe4e0d9, Wiki 0c0d557.

Was gebaut ist

  • Der Magnet ist in allen 8 Graph-Tabs beim Öffnen an: Behavior, State Machine, Shader, Particles, Sound FX, Instrument, Song-Routing und Routing. Ausschalten geht wie bisher über den Magneten.
  • Curve und Vector Art bleiben aus, das sind keine Graphen.
  • SnapToggle nimmt jetzt einen Startwert und lässt den Knopf passend leuchten. Knopf und Canvas lesen denselben Wert (GRAPH_SNAPS_AT_FIRST in SnapToggle.ts), sie können also nicht auseinanderlaufen.
  • Neuer Test-Hook __gm.graphSnapping(on?): meldet je Graph-Tab den Magneten (oder mixed, wenn Knopf und Canvas sich widersprechen) und schaltet mit on alle um.

Selbst entschieden

  • Der e2e-Harness schaltet nach jedem Laden alle Magneten aus, genau wie er schon die Zoom-Animation auf 0 setzt. Grund: Viele Checks ziehen Nodes und prüfen die Position auf ±2 genau, mit Snapping ab Start wären sie reihenweise rot. Den Startzustand liest er vorher aus (graphSnapAtFirst()).
  • e2e 06 prüft, dass alle acht beim Laden an waren. e2e 45 lädt den Editor über die Anmeldung und schaltet deshalb selbst aus. Die Checks in 06, 26 und 65, die den Magneten ablesen, sagen jetzt im Wortlaut, dass sie den Stand nach dem Harness lesen.

Tests

Unit snap-toggle → 4 Tests grün (1 neu)
e2e 06 (atx)     → 150 Checks grün (1 neu)
e2e 34 (atx)     → ALL PASSED, 134 Checks
Gate (atx)       → CHECK EXIT 0, 287 Dateien, 4397 Tests (zusammen mit #390)
  • Der neue Check in 06 meldet für alle 8 Tabs true.

Nicht geprüft:

  • die übrigen Module, die Nodes ziehen (19, 23, 26, 28, 36, 51, 65). Schaltet der Harness richtig aus, ändert sich für sie nichts, das zeigt aber erst CI.
  • ein Graph-Tab im Browser per Hand, der Zustand kommt aus dem Hook
  • CI-Lauf zu fe4e0d9 (nicht abgewartet)
Erledigt mit fe4e0d9, Wiki 0c0d557. ## Was gebaut ist - **Der Magnet ist in allen 8 Graph-Tabs beim Öffnen an:** Behavior, State Machine, Shader, Particles, Sound FX, Instrument, Song-Routing und Routing. Ausschalten geht wie bisher über den Magneten. - **Curve und Vector Art bleiben aus**, das sind keine Graphen. - `SnapToggle` nimmt jetzt einen Startwert und lässt den Knopf passend leuchten. Knopf und Canvas lesen denselben Wert (`GRAPH_SNAPS_AT_FIRST` in `SnapToggle.ts`), sie können also nicht auseinanderlaufen. - Neuer Test-Hook `__gm.graphSnapping(on?)`: meldet je Graph-Tab den Magneten (oder `mixed`, wenn Knopf und Canvas sich widersprechen) und schaltet mit `on` alle um. ## Selbst entschieden - **Der e2e-Harness schaltet nach jedem Laden alle Magneten aus**, genau wie er schon die Zoom-Animation auf 0 setzt. Grund: Viele Checks ziehen Nodes und prüfen die Position auf ±2 genau, mit Snapping ab Start wären sie reihenweise rot. Den Startzustand liest er vorher aus (`graphSnapAtFirst()`). - e2e 06 prüft, dass alle acht beim Laden an waren. e2e 45 lädt den Editor über die Anmeldung und schaltet deshalb selbst aus. Die Checks in 06, 26 und 65, die den Magneten ablesen, sagen jetzt im Wortlaut, dass sie den Stand nach dem Harness lesen. ## Tests ``` Unit snap-toggle → 4 Tests grün (1 neu) e2e 06 (atx) → 150 Checks grün (1 neu) e2e 34 (atx) → ALL PASSED, 134 Checks Gate (atx) → CHECK EXIT 0, 287 Dateien, 4397 Tests (zusammen mit #390) ``` - Der neue Check in 06 meldet für alle 8 Tabs `true`. **Nicht geprüft:** - die übrigen Module, die Nodes ziehen (19, 23, 26, 28, 36, 51, 65). Schaltet der Harness richtig aus, ändert sich für sie nichts, das zeigt aber erst CI. - ein Graph-Tab im Browser per Hand, der Zustand kommt aus dem Hook - CI-Lauf zu fe4e0d9 (nicht abgewartet)
admin added this to the Development project 2026-10-10 18:58:22 +02:00
admin moved this to Next in Development on 2026-10-10 18:58:28 +02:00
admin moved this to Done in Development on 2026-10-10 18:58:33 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#391