Execution Order in Node festlegen #264

Closed
opened 2026-09-29 06:25:14 +02:00 by admin · 1 comment

Wie wird momentan die Execution Order festgelegt?

Ich bräuchte wahrscheinlich ein Feld in Node (default: 0) um die Execution Order zu ändern (absteigend, sprich wenn der Wert höher ist dann wird es hinten angereiht). Sinnvoll auf jeden Fall bei "On start" und "On update". Wenn es noch andere Nodes gibt wo es sinn macht, dann bitte vorschlagen.

Wie wird momentan die Execution Order festgelegt? Ich bräuchte wahrscheinlich ein Feld in Node (default: 0) um die Execution Order zu ändern (absteigend, sprich wenn der Wert höher ist dann wird es hinten angereiht). Sinnvoll auf jeden Fall bei "On start" und "On update". Wenn es noch andere Nodes gibt wo es sinn macht, dann bitte vorschlagen.
admin added this to the Development project 2026-09-29 06:25:14 +02:00
admin moved this to Next in Development on 2026-09-29 06:25:56 +02:00
admin moved this to Done in Development on 2026-09-29 09:21:39 +02:00
Owner

Umgesetzt in 5fbc6eb, Wiki in a045c4a (Behaviors → Event order).

Entscheidungen wie besprochen: 1b, alle 17 Event-Nodes, Gleichstand nach Hierarchie und dann Anlege-Reihenfolge, ganze Zahlen mit Standard 0.

So läuft ein Frame jetzt

  • Event-Art für Event-Art über alle Behaviors: On disable/On enable, Key down, Key up, Key held, Timer, Collision enter/stay/exit, Animation finished, Click, Mouse wheel, zuletzt On update.
  • Innerhalb einer Art zählt Order: niedriger läuft früher, egal in welchem Behavior. Bei Gleichstand entscheidet die aktuelle Hierarchie (oben zuerst), dann die Anlege-Reihenfolge im Graph.
  • Order: 5 steht nur am Node, wenn der Wert nicht 0 ist. Bestehende Graphen sehen gleich aus.
  • Die Regel „später eingeschaltet → ans Ende“ gibt es nicht mehr.

Was sich in bestehenden Projekten ändert

  • Ein Objekt, das im Frame zerstört wurde, bekommt danach kein Event mehr in diesem Frame. On disable/On destroy kommen wie bisher am Frame-Ende.
  • Neue Instanzen: erst alle On start, dann alle On enable. Abbau: erst alle On disable, dann alle On destroy.
  • State-Events folgen direkt nach der Event-Art, die sie ausgelöst hat.

Tests

  • ./check.sh: 191 Files, 2784 Tests, CHECK EXIT 0
  • Voller e2e-Lauf lokal: ALL PASSED, 1551 Checks (gemessen)
  • 11 Unit-Tests in tests/core/event-order.test.ts, 2 e2e-Checks in 6z-viii (echte Maus/Tastatur)
  • Gegenproben: 5 Unit, 1 Browser, alle greifen

Der CI-Lauf zu 5fbc6eb ist nicht abgewartet.

Umgesetzt in 5fbc6eb, Wiki in a045c4a (*Behaviors* → *Event order*). Entscheidungen wie besprochen: 1b, alle 17 Event-Nodes, Gleichstand nach Hierarchie und dann Anlege-Reihenfolge, ganze Zahlen mit Standard 0. **So läuft ein Frame jetzt** - Event-Art für Event-Art über alle Behaviors: `On disable`/`On enable`, Key down, Key up, Key held, Timer, Collision enter/stay/exit, Animation finished, Click, Mouse wheel, zuletzt `On update`. - Innerhalb einer Art zählt **Order**: niedriger läuft früher, egal in welchem Behavior. Bei Gleichstand entscheidet die aktuelle Hierarchie (oben zuerst), dann die Anlege-Reihenfolge im Graph. - `Order: 5` steht nur am Node, wenn der Wert nicht 0 ist. Bestehende Graphen sehen gleich aus. - Die Regel „später eingeschaltet → ans Ende“ gibt es nicht mehr. **Was sich in bestehenden Projekten ändert** - Ein Objekt, das im Frame zerstört wurde, bekommt danach kein Event mehr in diesem Frame. `On disable`/`On destroy` kommen wie bisher am Frame-Ende. - Neue Instanzen: erst alle `On start`, dann alle `On enable`. Abbau: erst alle `On disable`, dann alle `On destroy`. - State-Events folgen direkt nach der Event-Art, die sie ausgelöst hat. **Tests** - `./check.sh`: 191 Files, 2784 Tests, CHECK EXIT 0 - Voller e2e-Lauf lokal: ALL PASSED, 1551 Checks (gemessen) - 11 Unit-Tests in `tests/core/event-order.test.ts`, 2 e2e-Checks in 6z-viii (echte Maus/Tastatur) - Gegenproben: 5 Unit, 1 Browser, alle greifen Der CI-Lauf zu 5fbc6eb ist nicht abgewartet.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#264