Nested Behavior ohne Start Node #230

Closed
opened 2026-09-25 15:07:50 +02:00 by admin · 1 comment

Wenn ein Behavior keinen Start Node hat, dann soll es als Fallback das "On Start" Node verwenden

Wenn ein Behavior keinen Start Node hat, dann soll es als Fallback das "On Start" Node verwenden
admin added this to the Development project 2026-09-25 15:07:50 +02:00
admin moved this to Next in Development on 2026-09-25 15:07:54 +02:00
Owner

Umgesetzt in 21d7149.

Verhalten

  • Hat ein aufgerufenes Behavior keinen Behavior start, beginnt Run behavior bei seinen On start-Nodes. Mehrere laufen in der Reihenfolge im Graph, im selben Frame und mit denselben Variablen.
  • Behavior end gibt weiter zurück, was bei ihm ankommt. Eingänge hat so ein Aufruf nicht, die deklariert nur der Start-Node.
  • Nur ein Fallback: Gibt es einen Behavior start, bleiben die On start-Nodes beim Aufruf außen vor.
  • Die Meldung am Node heißt jetzt „No start or On start node – does nothing“ und erscheint nur, wenn keines von beiden da ist.
  • Keep und lokale State Machines verhalten sich wie bisher.

Umsetzung

  • callEntries() in src/core/graph/nested.ts liefert den Start-Node oder alle On start-Nodes. callProblem nutzt sie auch.
  • GraphInterpreter.call() folgt allen Einstiegen nacheinander.

Tests

  • ./check.sh: 163 Files, 2396 Tests, CHECK EXIT 0 (vorher 2392).
  • e2e 19: ALL PASSED, 35 Checks.
  • 4 neue Unit-Tests in tests/core/nested-behavior.test.ts: Flow hinter On start läuft, Rückgabe über Behavior end, Reihenfolge bei mehreren On start, mit Start-Node bleibt On start draußen.
  • Gegenproben: ohne Fallback fallen 3 Tests, nur mit dem ersten On start fällt der Reihenfolge-Test.

Wiki: Behaviors beschreibt den Fallback (e77acc5).

Umgesetzt in `21d7149`. **Verhalten** - Hat ein aufgerufenes Behavior keinen `Behavior start`, beginnt `Run behavior` bei seinen `On start`-Nodes. Mehrere laufen in der Reihenfolge im Graph, im selben Frame und mit denselben Variablen. - `Behavior end` gibt weiter zurück, was bei ihm ankommt. Eingänge hat so ein Aufruf nicht, die deklariert nur der Start-Node. - Nur ein Fallback: Gibt es einen `Behavior start`, bleiben die `On start`-Nodes beim Aufruf außen vor. - Die Meldung am Node heißt jetzt „No start or On start node – does nothing“ und erscheint nur, wenn keines von beiden da ist. - Keep und lokale State Machines verhalten sich wie bisher. **Umsetzung** - `callEntries()` in `src/core/graph/nested.ts` liefert den Start-Node oder alle `On start`-Nodes. `callProblem` nutzt sie auch. - `GraphInterpreter.call()` folgt allen Einstiegen nacheinander. **Tests** - `./check.sh`: 163 Files, 2396 Tests, CHECK EXIT 0 (vorher 2392). - e2e 19: ALL PASSED, 35 Checks. - 4 neue Unit-Tests in `tests/core/nested-behavior.test.ts`: Flow hinter `On start` läuft, Rückgabe über `Behavior end`, Reihenfolge bei mehreren `On start`, mit Start-Node bleibt `On start` draußen. - Gegenproben: ohne Fallback fallen 3 Tests, nur mit dem ersten `On start` fällt der Reihenfolge-Test. Wiki: *Behaviors* beschreibt den Fallback (`e77acc5`).
admin moved this to Done in Development on 2026-09-25 17:32:37 +02:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#230