Skip to content

Add MASS4.Graph.State: cycles, typed triggers and per-instance state #15

Open

Description

@brmassa

Current State

State machines built on string states and magic-string event names fail silently when a name is misspelled or renamed. States and transitions are cyclic by nature, and each running instance needs its own current state and timers.

Tasks:

  • States and transitions on top of the core model; cycles and self-transitions allowed
  • Triggers as registered typed identities, resolved at registration or compile time, never by string
  • Per-instance current state and timers declared through the instance layout contract
  • Transition guards evaluated through Dataflow
  • Replace the hand-written stand-in in the core zero-allocation regression test with a real State graph

Acceptance Criteria:

  • Referencing an unknown trigger or state is a build- or load-time diagnostic, not a runtime miss
  • 1000 instances of one asset tick with zero per-tick allocations
  • Depends only on MASS4.Graph

Related:

Activity

  1. added
    c:stateState semantics: transitions, typed triggers and instance state
    p:highHigh priority — fix in current sprint
    size:L~1-2 weeks — significant feature
    s:nextNext up — target for upcoming work
    t:featureNew feature implementation
    on Oct 27, 2026
  2. moved this from Backlog to Ready in ROADMAPon Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    c:stateState semantics: transitions, typed triggers and instance statep:highHigh priority — fix in current sprints:nextNext up — target for upcoming worksize:L~1-2 weeks — significant featuret:featureNew feature implementation

    Type

    No type

    Projects

    • Status
      Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions