State machine: Zustands-Scope – pro Objekt statt pro Behavior-Instanz? #59

Closed
opened 2026-09-12 18:02:39 +02:00 by meleki · 0 comments
Owner

Entscheidung in #51: Zustand pro Behavior-Instanz (Instance.states). Folgen, die beim Bauen sichtbar wurden:

  • Zwei Behaviors am selben Objekt sehen dieselbe Maschine in verschiedenen Zuständen.
  • Ein Run behavior-Aufruf startet mit states: {} (wie mit frischen Variablen) – das aufgerufene Behavior kann den Zustand des Aufrufers weder lesen noch setzen.
  • Ein Objekt, das ein anderes befragen will („ist die Tür offen?“), hat keinen Weg.

Zu klären: Soll der Zustand an das Szenenobjekt (wie Properties/entity.props) statt an die Instanz? Dann teilen alle Behaviors eines Objekts und verschachtelte Aufrufe denselben Zustand, und ein Node State of object (Objekt + Maschine rein, Zustand raus) wird möglich. Alternativ ein globaler Scope pro Maschine für „Spielzustand“ (Menü/Level/Pause).

Kein Umbau ohne Entscheidung – hier nur die Frage festgehalten.


Folge-Issue zu #51 (State machine, Commit e7d82bd, 2026-09-12).

Entscheidung in #51: Zustand **pro Behavior-Instanz** (`Instance.states`). Folgen, die beim Bauen sichtbar wurden: - Zwei Behaviors am **selben Objekt** sehen dieselbe Maschine in **verschiedenen** Zuständen. - Ein `Run behavior`-Aufruf startet mit `states: {}` (wie mit frischen Variablen) – das aufgerufene Behavior kann den Zustand des Aufrufers weder lesen noch setzen. - Ein Objekt, das ein anderes befragen will („ist die Tür offen?“), hat keinen Weg. **Zu klären:** Soll der Zustand an das **Szenenobjekt** (wie Properties/`entity.props`) statt an die Instanz? Dann teilen alle Behaviors eines Objekts und verschachtelte Aufrufe denselben Zustand, und ein Node `State of object` (Objekt + Maschine rein, Zustand raus) wird möglich. Alternativ ein globaler Scope pro Maschine für „Spielzustand“ (Menü/Level/Pause). Kein Umbau ohne Entscheidung – hier nur die Frage festgehalten. --- Folge-Issue zu #51 (State machine, Commit `e7d82bd`, 2026-09-12).
meleki added the state-machine label 2026-09-12 18:02:39 +02:00
admin added the low-priority label 2026-09-12 18:10:26 +02:00
admin added this to the Development project 2026-09-13 13:29:59 +02:00
admin removed this from the Development project 2026-09-13 13:30:59 +02:00
admin added this to the Development project 2026-09-13 13:45:44 +02:00
admin moved this to Done in Development on 2026-09-14 21:44:07 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#59