BitQuirky.Behavior.Nodes.State
Public behavior trees and state machines: runtime symbols in BitQuirky.Behavior.Nodes.State.
Source snapshot ad0983d00d77.
On this page
Assembly: BitQuirky.Behavior.Runtime
ActionExecutionTokens
Section titled “ActionExecutionTokens”Category: Node contracts
class BitQuirky.Behavior.Nodes.State.ActionExecutionTokensSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:34-46
Stable source tokens for action-state list execution.
Responsibilities:
- Name the deterministic ordered and same-advancement execution policies.
Does NOT:
- Store authored values or schedule actions.
Members
Section titled “Members”Parallel
Section titled “Parallel”public const string Parallel = "parallel"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:45
Same-advancement: every action in the group advances on each tick, and the first non-success cancels the rest of the range.
Sequence
Section titled “Sequence”public const string Sequence = "sequence"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:40
Ordered: the group advances one action at a time in authored order. The bake assumes this when no execution policy is authored.
ActionLifetimeTokens
Section titled “ActionLifetimeTokens”Category: Node contracts
class BitQuirky.Behavior.Nodes.State.ActionLifetimeTokensSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:57-68
Stable source tokens for action-state activation lifetime.
Responsibilities:
- Name one-pass and repeating action-state behavior.
Does NOT:
- Reset runtime state or evaluate transitions.
Members
Section titled “Members”public const string Once = "once"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:62
One pass: the Active Update holds its terminal result instead of starting again.
Repeat
Section titled “Repeat”public const string Repeat = "repeat"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:67
Repeating: the Active Update starts a new pass after each terminal result. The bake assumes this when no lifetime is authored.
ActionPhaseTokens
Section titled “ActionPhaseTokens”Category: Node contracts
class BitQuirky.Behavior.Nodes.State.ActionPhaseTokensSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:79-93
Stable source tokens for one action’s lifecycle group.
Responsibilities:
- Name the Entry, Active Update, and Exit placements an action may author.
Does NOT:
- Order actions, resolve omitted phases, or schedule lifecycle groups.
Members
Section titled “Members”public const string Enter = "enter"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:82
Entry group: evaluated once when the owning state activates.
public const string Exit = "exit"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:92
Exit group: evaluated once after an outgoing transition latches and before the target state activates.
Update
Section titled “Update”public const string Update = "update"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:87
Active Update group: the state’s repeating work, and the placement the bake assumes for an action that authors no phase.
StateCompletionMode
Section titled “StateCompletionMode”Category: Node contracts
enum BitQuirky.Behavior.Nodes.State.StateCompletionModeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:132-142
Underlying type: byte
What a state does after a terminal Active Update with no selected transition.
Members
Section titled “Members”Finish
Section titled “Finish”Finish = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:138
Finish the state machine with the authored machine result.
Return
Section titled “Return”Return = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:141
Return to the state activation suspended by the matching Push.
Stay = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:135
Remain active; Once holds its result and Repeat starts a new pass.
StateCompletionResult
Section titled “StateCompletionResult”Category: Node contracts
enum BitQuirky.Behavior.Nodes.State.StateCompletionResultSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:145-158
Underlying type: byte
The explicit machine result produced by a finishing state.
Members
Section titled “Members”ActiveUpdate
Section titled “ActiveUpdate”ActiveUpdate = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:157
Finish with Success when the Active Update ended in Success, and with Failure for every other terminal result.
Failure
Section titled “Failure”Failure = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:151
Finish with Failure whatever the Active Update’s own terminal result was.
Success
Section titled “Success”Success = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:148
Finish with Success whatever the Active Update’s own terminal result was.
StateCompletionTokens
Section titled “StateCompletionTokens”Category: Node contracts
class BitQuirky.Behavior.Nodes.State.StateCompletionTokensSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:231-251
Canonical source values for state completion and explicit machine results.
Members
Section titled “Members”ActiveUpdate
Section titled “ActiveUpdate”public const string ActiveUpdate = "active_update"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:250
Authoredfinish_resultvalue that mirrors the Active Update’s own terminal
result, and the value the bake assumes when the parameter is absent.
Failure
Section titled “Failure”public const string Failure = "failure"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:245
Authored finish_result value finishing the machine with Failure.
Finish
Section titled “Finish”public const string Finish = "finish"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:239
Authored completion value selecting Finish.
Return
Section titled “Return”public const string Return = "return"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:241
Authored completion value selecting Return.
public const string Stay = "stay"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:237
Authoredcompletion value selecting Stay, and
the value the bake assumes when the parameter is absent.
Success
Section titled “Success”public const string Success = "success"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:243
Authored finish_result value finishing the machine with Success.
StateConstants
Section titled “StateConstants”Category: Node contracts
class BitQuirky.Behavior.Nodes.State.StateConstantsSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:259-296
Constants for the Statechart Root and State node types. The statechart root contains one or more states; each state contains zero or one BT subgraph plus zero or more outgoing transitions (data-model.md §Layer 2 Node Type taxonomy).
Members
Section titled “Members”AnyStateKind
Section titled “AnyStateKind”public const BitQuirky.Behavior.Baked.BakedNodeKind AnyStateKind = AnyStateSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:293
Baked node kind the runtime dispatches on for the Any State pseudo-state.
AnyStateNodeKindToken
Section titled “AnyStateNodeKindToken”public const string AnyStateNodeKindToken = "any_state"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:277-278
Source:::any_statetoken for the pseudo-state whose outgoing transitions are
evaluated from whichever state is active, ahead of that state’s own transitions.
EntryStateKind
Section titled “EntryStateKind”public const BitQuirky.Behavior.Baked.BakedNodeKind EntryStateKind = EntryStateSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:291
Baked node kind the runtime dispatches on for the entry state.
EntryStateNodeKindToken
Section titled “EntryStateNodeKindToken”public const string EntryStateNodeKindToken = "entry"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:271-272
Source:::entrytoken for the state the machine activates on start; the bake
requires exactly one entry state per machine.
ReferenceKind
Section titled “ReferenceKind”public const BitQuirky.Behavior.Baked.BakedNodeKind ReferenceKind = StateMachineReferenceSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:295
Baked node kind the runtime dispatches on for a referenced-machine state.
ReferenceNodeKindToken
Section titled “ReferenceNodeKindToken”public const string ReferenceNodeKindToken = "state_machine_reference"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:283-284
Source:::state_machine_referencetoken for a state that runs a separately
authored machine in place of its own actions.
RootKind
Section titled “RootKind”public const BitQuirky.Behavior.Baked.BakedNodeKind RootKind = StatechartRootSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:287
Baked node kind the runtime dispatches on for the statechart root.
RootNodeKindToken
Section titled “RootNodeKindToken”public const string RootNodeKindToken = "root"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:262-263
Source :::root token for the statechart root that owns the machine’s states.
StateKind
Section titled “StateKind”public const BitQuirky.Behavior.Baked.BakedNodeKind StateKind = StateSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:289
Baked node kind the runtime dispatches on for an ordinary state.
StateNodeKindToken
Section titled “StateNodeKindToken”public const string StateNodeKindToken = "state"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:265-266
Source :::state token for one ordinary state of the machine.
StateSelfReentry
Section titled “StateSelfReentry”Category: Node contracts
enum BitQuirky.Behavior.Nodes.State.StateSelfReentrySource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:122-129
Underlying type: byte
How an explicitly authored self-transition re-enters its active state.
Members
Section titled “Members”Restart
Section titled “Restart”Restart = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:125
Run the normal bounded Exit/Entry handoff and restart state progress.
Resume
Section titled “Resume”Resume = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:128
Keep current state progress without running Exit or Entry.
StateTransitionEvaluation
Section titled “StateTransitionEvaluation”Category: Node contracts
enum BitQuirky.Behavior.Nodes.State.StateTransitionEvaluationSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:96-106
Underlying type: byte
When an outgoing state transition is eligible for evaluation.
Members
Section titled “Members”Continuous
Section titled “Continuous”Continuous = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:99
Evaluate at each existing pre- and post-update transition boundary.
OnFinish
Section titled “OnFinish”OnFinish = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:102
Evaluate while a Once Active Update holds its terminal result.
OnIteration
Section titled “OnIteration”OnIteration = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:105
Evaluate exactly once at each Active Update pass boundary.
StateTransitionKind
Section titled “StateTransitionKind”Category: Node contracts
enum BitQuirky.Behavior.Nodes.State.StateTransitionKindSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:192-199
Underlying type: byte
How a state transition treats the source activation.
Members
Section titled “Members”Push = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:198
Suspend the source without Exit and enter the target as a nested activation.
Switch
Section titled “Switch”Switch = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:195
Cancel the source and every suspended activation before entering the target.
StateTransitionKindTokens
Section titled “StateTransitionKindTokens”Category: Node contracts
class BitQuirky.Behavior.Nodes.State.StateTransitionKindTokensSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:212-228
Canonical source values for transition kind and return policy.
Members
Section titled “Members”public const string Push = "push"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:220
Authored kind value selecting Push.
Reenter
Section titled “Reenter”public const string Reenter = "reenter"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:227
Authored on_return value selecting Reenter.
Resume
Section titled “Resume”public const string Resume = "resume"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:225
Authoredon_return value selecting Resume,
and the value the bake assumes when the parameter is absent.
Switch
Section titled “Switch”public const string Switch = "switch"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:218
Authoredkind value selecting Switch, and the
value the bake assumes when the parameter is absent.
StateTransitionOnReturn
Section titled “StateTransitionOnReturn”Category: Node contracts
enum BitQuirky.Behavior.Nodes.State.StateTransitionOnReturnSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:202-209
Underlying type: byte
How a state resumes after the pushed activation returns.
Members
Section titled “Members”Reenter
Section titled “Reenter”Reenter = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:208
Run Entry and begin a fresh Active Update activation.
Resume
Section titled “Resume”Resume = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:205
Continue the exact preserved activation without Entry.
StateTransitionResultFilter
Section titled “StateTransitionResultFilter”Category: Node contracts
enum BitQuirky.Behavior.Nodes.State.StateTransitionResultFilterSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:109-119
Underlying type: byte
Which terminal Active Update result permits a transition to fire.
Members
Section titled “Members”Any = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:112
Do not filter the transition by terminal result.
Failure
Section titled “Failure”Failure = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:118
Permit only a failed terminal result.
Success
Section titled “Success”Success = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:115
Permit only a successful terminal result.
StateTransitionTokens
Section titled “StateTransitionTokens”Category: Node contracts
class BitQuirky.Behavior.Nodes.State.StateTransitionTokensSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:161-189
Canonical source values for transition cadence, result filtering, and re-entry.
Members
Section titled “Members”AnyResult
Section titled “AnyResult”public const string AnyResult = "any"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:177
Authoredresult value selecting Any,
and the value the bake assumes when the parameter is absent.
Continuous
Section titled “Continuous”public const string Continuous = "continuous"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:168
Authoredevaluatevalue selecting
Continuous, and the value the bake assumes when
the parameter is absent.
Failure
Section titled “Failure”public const string Failure = "failure"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:181
Authored result value selecting Failure.
OnFinish
Section titled “OnFinish”public const string OnFinish = "on_finish"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:170
Authored evaluate value selecting OnFinish.
OnIteration
Section titled “OnIteration”public const string OnIteration = "on_iteration"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:172
Authored evaluate value selecting OnIteration.
Restart
Section titled “Restart”public const string Restart = "restart"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:186
Authoredreentry value selecting Restart, and the
value the bake assumes when the parameter is absent.
Resume
Section titled “Resume”public const string Resume = "resume"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:188
Authored reentry value selecting Resume.
Success
Section titled “Success”public const string Success = "success"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:179
Authored result value selecting Success.
StatechartState
Section titled “StatechartState”Category: Node contracts
struct BitQuirky.Behavior.Nodes.State.StatechartStateSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:312-369
Authoritative baked lookup row for one statechart state.
Responsibilities:
- Carry the state’s baked node identity and optional hosted behavior-tree root.
- Own the effective Active Update lifetime independently of direct-action storage.
- Address its contiguous authored outgoing-transition and direct-action row ranges.
- Address its optional hosted-lifecycle row without graph-wide runtime scans.
- Provide a Burst-friendly snapshot selected through the artifact’s node-to-state index.
Does NOT:
- Hold per-follower state: that lives on
BehaviorRuntimeInstance. - Own companion arrays or evaluate transitions and actions.
Members
Section titled “Members”ActionListCount
Section titled “ActionListCount”public int ActionListCountSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:344
Number of contiguous direct-action lifecycle rows owned by this state.
ActionListStart
Section titled “ActionListStart”public int ActionListStartSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:341
First direct-action lifecycle row in the baked action-list table.
BehaviorTreeRootIndex
Section titled “BehaviorTreeRootIndex”public int BehaviorTreeRootIndexSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:319
Index of the contained BT root inNodes, or -1 if the state has no behavior tree.
Completion
Section titled “Completion”public BitQuirky.Behavior.Nodes.State.StateCompletionMode CompletionSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:365
Completion policy applied after terminal Active Update work.
CompletionResult
Section titled “CompletionResult”public BitQuirky.Behavior.Nodes.State.StateCompletionResult CompletionResultSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:368
Machine result selected when Completion is Finish.
HostedBehaviorIndex
Section titled “HostedBehaviorIndex”public int HostedBehaviorIndexSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:350
Index of this state’s row in the hosted-behavior table, or -1 when it owns no hosted behavior tree.
IsEntry
Section titled “IsEntry”public bool IsEntrySource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:332
True when this state is the entry state of the enclosing statechart (exactly one per source; bake enforces).
MachineIndex
Section titled “MachineIndex”public int MachineIndexSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:356
Owning machine row in the artifact’s dense machine table.
OutgoingTransitionCount
Section titled “OutgoingTransitionCount”public int OutgoingTransitionCountSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:326
Number of outgoing transitions in the artifact’s transition table whoseSourceStateIndex equals this state’s node index.
OutgoingTransitionStart
Section titled “OutgoingTransitionStart”public int OutgoingTransitionStartSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:338
First authored outgoing transition in the baked transition table.
StateMachineReferenceIndex
Section titled “StateMachineReferenceIndex”public int StateMachineReferenceIndexSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:353
Referenced-machine row, or -1 for an ordinary action state.
StateNodeIndex
Section titled “StateNodeIndex”public int StateNodeIndexSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:335
Baked node index of the state represented by this row.
UpdateLifetime
Section titled “UpdateLifetime”public BitQuirky.Behavior.Baked.BakedActionLifetime UpdateLifetimeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/StatechartState.cs:362
Effective lifetime of the state’s selected Active Update source. Actionless states retain this policy without requiring a direct-action row.
Transition
Section titled “Transition”Category: Node contracts
struct BitQuirky.Behavior.Nodes.State.TransitionSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:77-167
Pure-data view of one statechart transition. The baked transition table (BakedTransition) is the authoritative representation; this struct is a per-evaluation projection used by the runtime tick job and the debugger overlay.
Responsibilities:
- Carry the source / target state indices and the optional condition node index used to evaluate the transition.
- Provide a Burst-callable evaluation rule.
Does NOT:
- Resolve the condition predicate: that’s the condition node’s responsibility; this rule is the structural pairing.
Members
Section titled “Members”ConditionNodeIndex
Section titled “ConditionNodeIndex”public int ConditionNodeIndexSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:93
Baked node index of the node whose evaluation gates the transition, or -1 when the transition is unconditional andEvaluatealways fires.
Evaluation
Section titled “Evaluation”public BitQuirky.Behavior.Nodes.State.StateTransitionEvaluation EvaluationSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:103
Point in the tick at which this transition becomes eligible.
public BitQuirky.Behavior.Nodes.State.StateTransitionKind KindSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:122
Whether firing switches away from the source activation or suspends it and pushes the target as a nested activation.
OnReturn
Section titled “OnReturn”public BitQuirky.Behavior.Nodes.State.StateTransitionOnReturn OnReturnSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:128
How the suspended source resumes once the pushed activation returns. Consulted only whenKindis Push.
ResultFilter
Section titled “ResultFilter”public BitQuirky.Behavior.Nodes.State.StateTransitionResultFilter ResultFilterSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:109
Terminal Active Update result required to fire. Consulted only on the completion
boundaries (OnFinish and OnIteration); a Continuous transition ignores it.
SelfReentry
Section titled “SelfReentry”public BitQuirky.Behavior.Nodes.State.StateSelfReentry SelfReentrySource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:116
Re-entry policy applied whenTargetStateIndexis the already-active state. The runtime tests this beforeKind, so a self-transition marked Resume keeps the state’s progress and never pushes.
SourceStateIndex
Section titled “SourceStateIndex”public int SourceStateIndexSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:84
Baked node index of the state this transition leaves, matching that state’s StateNodeIndex, or the machine’s Any State node index for a statechart-wide transition.
TargetStateIndex
Section titled “TargetStateIndex”public int TargetStateIndexSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:87
Baked node index of the state entered when the transition fires.
TransitionIdInternedIndex
Section titled “TransitionIdInternedIndex”public int TransitionIdInternedIndexSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:100
Index into the artifact’s interned string table of the transition’s authored id, not a row index in the transition table. The runtime latches it as the cause recorded for the state change.
Evaluate(BehaviorNodeStatus conditionStatus)
Section titled “Evaluate(BehaviorNodeStatus conditionStatus)”public BitQuirky.Behavior.Nodes.State.TransitionEvaluation Evaluate(BitQuirky.Behavior.Nodes.BehaviorNodeStatus conditionStatus)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:151-166
Evaluate the transition given the current condition status. A transition with no condition (ConditionNodeIndex = -1) fires unconditionally each tick.
From(BakedTransition baked)
Section titled “From(BakedTransition baked)”public static BitQuirky.Behavior.Nodes.State.Transition From(BitQuirky.Behavior.Baked.BakedTransition baked)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:133-144
Project a baked transition into the runtime view.
TransitionConstants
Section titled “TransitionConstants”Category: Node contracts
class BitQuirky.Behavior.Nodes.State.TransitionConstantsSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:27-35
Constants for the statechart Transition node type.
Members
Section titled “Members”public const BitQuirky.Behavior.Baked.BakedNodeKind Kind = TransitionSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:34
Baked runtime node kind.
NodeKindToken
Section titled “NodeKindToken”public const string NodeKindToken = "transition"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:30-31
Canonical source node-kind token.
TransitionEvaluation
Section titled “TransitionEvaluation”Category: Node contracts
enum BitQuirky.Behavior.Nodes.State.TransitionEvaluationSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:40-60
Underlying type: byte
Outcome of evaluating a transition’s condition once.
Members
Section titled “Members”AuthorityMismatch
Section titled “AuthorityMismatch”AuthorityMismatch = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:59
The transition’s read set references a slot the executing
authority is not allowed to read; the runtime declines to
evaluate (typedauthority-mismatchreason).
DoesNotFire
Section titled “DoesNotFire”DoesNotFire = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:45
Condition does not hold; the transition does not fire this tick.
Fires = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/State/Transition.cs:52
Condition holds; the runtime should change state to TargetStateIndexand record the transition’s id as the cause.
Source fingerprint: sha256:ad0983d00d773d882bc61865e18d8c5559e009d181e5891575cd7f262515b23e