Graph editor multiselect und mausverhalten #10

Closed
opened 2026-09-12 15:03:51 +02:00 by admin · 0 comments
  1. panning per linksklick drag soll raus, dafür beim mittelklick (aber egal ob man ins leere klick oder sich über einem node befindet) = wie bei scene view
  2. mehrere nodes gleichzeitig auswählbar um dadurch mehrere zu bewegen oder zu löschen. auch mit rect-auswahl selektierbar = auch wie bei scene view
  3. was anderes: wenn ich in der graph view auf "fit" klicke, dann fittet es nicht wirklich (es befinden sich nodes halb außerhalb)

Umgesetzt (2026-09-09), alle drei Punkte.

  1. Panning nur noch mit der mittleren Taste — und zwar von ueberall, auch wenn der Zeiger
    ueber einem Node steht: der NodeView laesst den Mittelklick bewusst durchblubbern, statt ihn
    wie jeden anderen Klick zu schlucken. Shift+Links auf leerer Flaeche pannt zusaetzlich, genau
    wie im Scene-View. Die linke Taste pannt gar nicht mehr.
  2. Mehrfachauswahl: Ziehen auf leerer Flaeche spannt ein Gummiband auf, das jeden beruehrten
    Node auswaehlt; Ctrl/Shift-Klick nimmt einzelne dazu oder raus; das Ziehen eines Nodes der
    Auswahl bewegt alle; Delete (und das Kontextmenue) loescht alle — jeweils als ein
    Undo-Schritt (CompoundCommand).
    Bewusster Unterschied zum Scene-View: dort entscheidet die Position eines Objekts, hier die
    Ueberschneidung mit dem Rechteck. Nodes sind grosse Kaesten — ein Band, das sichtbar quer
    durch einen Node geht, muss ihn fangen.
  3. Fit fittet wirklich. Die alte Fassung setzte den Zoom hart auf 1 und zentrierte nur —
    war der Graph groesser als die Ansicht, hingen Nodes danach zwangslaeufig heraus. Ausserdem
    rechnete sie mit einer geschaetzten Node-Hoehe (80) fuer alle, obwohl echte Nodes je nach
    Portzahl deutlich hoeher sind. Jetzt wird jeder Node mit seiner gezeichneten Groesse
    gemessen und der Zoom so gewaehlt, dass alles hineinpasst (nie ueber 1 hinaus vergroessert).

Die Geometrie dahinter liegt als reine Funktion in src/editor/graph/framing.ts
(boxesInBand, frameBoxes), nicht im Panel — genau diese Rechnung war der Bug aus Punkt 3 und
war vorher von keinem Test erreichbar. Die Mehrfachauswahl selbst sitzt im Selektionsmodell
(nodeSelection/toggleNode, symmetrisch zu den Szenenobjekten), nicht im Canvas.


Übernommen aus todo-notes/done/graph-editor-multiselect-und-mausverhalten.md beim Umzug auf das Issue-System (2026-09-12).

  • Angelegt: 2026-09-09 · e0d43e1 — Pan with the middle button, select several nodes, and fit properly
  • Abgeschlossen: 2026-09-09 · im selben Commit e0d43e1
  • Gemeldet von: admin
1. panning per linksklick drag soll raus, dafür beim mittelklick (aber egal ob man ins leere klick oder sich über einem node befindet) = wie bei scene view 2. mehrere nodes gleichzeitig auswählbar um dadurch mehrere zu bewegen oder zu löschen. auch mit rect-auswahl selektierbar = auch wie bei scene view 3. was anderes: wenn ich in der graph view auf "fit" klicke, dann fittet es nicht wirklich (es befinden sich nodes halb außerhalb) --- **Umgesetzt (2026-09-09), alle drei Punkte.** 1. **Panning nur noch mit der mittleren Taste** — und zwar von ueberall, auch wenn der Zeiger ueber einem Node steht: der NodeView laesst den Mittelklick bewusst durchblubbern, statt ihn wie jeden anderen Klick zu schlucken. Shift+Links auf leerer Flaeche pannt zusaetzlich, genau wie im Scene-View. Die linke Taste pannt gar nicht mehr. 2. **Mehrfachauswahl**: Ziehen auf leerer Flaeche spannt ein Gummiband auf, das jeden **beruehrten** Node auswaehlt; Ctrl/Shift-Klick nimmt einzelne dazu oder raus; das Ziehen eines Nodes der Auswahl bewegt alle; `Delete` (und das Kontextmenue) loescht alle — jeweils als **ein** Undo-Schritt (`CompoundCommand`). Bewusster Unterschied zum Scene-View: dort entscheidet die *Position* eines Objekts, hier die *Ueberschneidung* mit dem Rechteck. Nodes sind grosse Kaesten — ein Band, das sichtbar quer durch einen Node geht, muss ihn fangen. 3. **Fit fittet wirklich.** Die alte Fassung setzte den Zoom hart auf `1` und *zentrierte* nur — war der Graph groesser als die Ansicht, hingen Nodes danach zwangslaeufig heraus. Ausserdem rechnete sie mit einer *geschaetzten* Node-Hoehe (80) fuer alle, obwohl echte Nodes je nach Portzahl deutlich hoeher sind. Jetzt wird jeder Node mit seiner **gezeichneten** Groesse gemessen und der Zoom so gewaehlt, dass alles hineinpasst (nie ueber 1 hinaus vergroessert). Die Geometrie dahinter liegt als reine Funktion in `src/editor/graph/framing.ts` (`boxesInBand`, `frameBoxes`), nicht im Panel — genau diese Rechnung war der Bug aus Punkt 3 und war vorher von keinem Test erreichbar. Die Mehrfachauswahl selbst sitzt im Selektionsmodell (`nodeSelection`/`toggleNode`, symmetrisch zu den Szenenobjekten), nicht im Canvas. --- *Übernommen aus `todo-notes/done/graph-editor-multiselect-und-mausverhalten.md` beim Umzug auf das Issue-System (2026-09-12).* - **Angelegt:** 2026-09-09 · `e0d43e1` — Pan with the middle button, select several nodes, and fit properly - **Abgeschlossen:** 2026-09-09 · im selben Commit `e0d43e1` - **Gemeldet von:** admin
admin added the todo-note label 2026-09-12 15:03:51 +02:00
admin closed this issue 2026-09-12 15:03:51 +02:00
admin added this to the Development project 2026-09-13 13:43:29 +02:00
admin moved this to Done in Development on 2026-09-13 13:45:15 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#10