BitQuirky.Behavior.Nodes
Public behavior trees and state machines: runtime symbols in BitQuirky.Behavior.Nodes.
Source snapshot ad0983d00d77.
On this page
Assembly: BitQuirky.Behavior.Runtime
AuthorityAttribute
Section titled “AuthorityAttribute”Category: Node contracts
class BitQuirky.Behavior.Nodes.AuthorityAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:475-488
Inherits: Attribute
Declares the authority context the node ticks under.
Members
Section titled “Members”public BitQuirky.Behavior.Authority.AuthorityKind Kind { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:487
Gets the authority context every node of this type ticks under.
AuthorityAttribute(AuthorityKind kind)
Section titled “AuthorityAttribute(AuthorityKind kind)”public AuthorityAttribute(BitQuirky.Behavior.Authority.AuthorityKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:481-484
Declares the authority context every node of this type ticks under.
AuthorityHandoffResolution
Section titled “AuthorityHandoffResolution”Category: Node contracts
enum BitQuirky.Behavior.Nodes.AuthorityHandoffResolutionSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:74-93
Underlying type: byte
Resolution strategy when host-migration interrupts an active node that has outstanding awaited externals (R-9).
Members
Section titled “Members”Abort = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:92
Drop the node to a typedauthority-handofffailure.
Restart
Section titled “Restart”Restart = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:80
Cancel pending ids and restart the node from scratch on the new authority. Default. Always safe.
Resume
Section titled “Resume”Resume = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:87
Resume the in-flight request on the new authority via adapter-supported replay-by-id. Only legal if the adapter for EVERY awaited external supports replay (validator enforces).
AwaitedExternalDescriptor
Section titled “AwaitedExternalDescriptor”Category: Node contracts
readonly struct BitQuirky.Behavior.Nodes.AwaitedExternalDescriptorSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:652-672
One(serviceId, pendingIdField)pair extracted from an
AwaitsExternalAttribute.
Members
Section titled “Members”PendingIdField
Section titled “PendingIdField”public string PendingIdField { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:671
Gets the stable blackboard field id holding the outstanding request id, or empty when the node does not resume on completion.
ServiceId
Section titled “ServiceId”public string ServiceId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:665
Gets the stable id of the awaited external service.
AwaitedExternalDescriptor(string serviceId, string pendingIdField)
Section titled “AwaitedExternalDescriptor(string serviceId, string pendingIdField)”public AwaitedExternalDescriptor(string serviceId, string pendingIdField)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:658-662
Captures one awaited-external pair. A null argument is stored as an empty string; an
emptypendingIdFieldmeans the node does not resume on completion.
AwaitsExternalAttribute
Section titled “AwaitsExternalAttribute”Category: Node contracts
class BitQuirky.Behavior.Nodes.AwaitsExternalAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:542-569
Inherits: Attribute
Declares an external service the node may issue commands to and the
blackboard field id it stores the resultingpendingRequestId
in.PendingIdFieldmay be empty if the node fires a
command and forgets (no resume).
Members
Section titled “Members”PendingIdField
Section titled “PendingIdField”public string PendingIdField { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:568
Gets the stable blackboard field id that stores the outstanding request id, or empty for a fire-and-forget command.
ServiceId
Section titled “ServiceId”public string ServiceId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:562
Gets the stable id of the external service, cross-checked against the source node’s
%% waits=list.
AwaitsExternalAttribute(string serviceId, string pendingIdField)
Section titled “AwaitsExternalAttribute(string serviceId, string pendingIdField)”public AwaitsExternalAttribute(string serviceId, string pendingIdField = "")Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:552-556
Declares one external service this node issues commands to. Omit
pendingIdFieldfor a fire-and-forget command; supply it to name
the blackboard field holding the outstanding request id the node resumes on.
Parameters
serviceId: Stable external-service id, cross-checked against the source node’s%% waits=list.pendingIdField: Blackboard field id storing the outstanding request id, or empty for no resume.
BehaviorBranchLabelTokens
Section titled “BehaviorBranchLabelTokens”Category: Node contracts
class BitQuirky.Behavior.Nodes.BehaviorBranchLabelTokensSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:267-274
Canonical edge-label tokens for Random Selector branches.
Responsibilities:
- Centralize the stable lowercase branch weight and participation keys.
Does NOT:
- Parse, format, or validate a branch label.
Members
Section titled “Members”Disabled
Section titled “Disabled”public const string Disabled = "disabled"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:273
The modifier marking a branch as switched off by the author.
Weight
Section titled “Weight”public const string Weight = "weight"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:270
The branch weight label prefix.
BehaviorBuiltInAuthoringRegistry
Section titled “BehaviorBuiltInAuthoringRegistry”Category: Node contracts
class BitQuirky.Behavior.Nodes.BehaviorBuiltInAuthoringRegistrySource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1386-1645
Creates operation-local registries for package-owned node schemas.
Responsibilities:
- Compose Repeat and Move To descriptors plus the generic condition parameter schema without global mutable state.
Does NOT:
- Discover consumer schemas or validation extensions.
Members
Section titled “Members”Create()
Section titled “Create()”public static BitQuirky.Behavior.Nodes.NodeAuthoringRegistry Create()Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1389-1605
Creates a fresh registry containing all package-owned schemas.
BehaviorNodeAttribute
Section titled “BehaviorNodeAttribute”Category: Node contracts
class BitQuirky.Behavior.Nodes.BehaviorNodeAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:386-403
Inherits: Attribute
Marks a class as a behavior node and binds it to the Mermaid
:::<token> class suffix (e.g. :::action,
:::condition). The token is the authoritative cross-boundary
id between authoring (.bqbehavior) and runtime registration.
Members
Section titled “Members”NodeKindToken
Section titled “NodeKindToken”public string NodeKindToken { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:402
The Mermaid:::<token>suffix identifying this node
type. Must be a stable id of the form[a-z][a-z0-9_]*.
BehaviorNodeAttribute(string nodeKindToken)
Section titled “BehaviorNodeAttribute(string nodeKindToken)”public BehaviorNodeAttribute(string nodeKindToken)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:393-396
Binds the node class to its Mermaid:::<token>class suffix. A null token
is stored as an empty string, which the registration scan then rejects.
BehaviorNodeKindTokens
Section titled “BehaviorNodeKindTokens”Category: Node contracts
class BitQuirky.Behavior.Nodes.BehaviorNodeKindTokensSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:148-256
Canonical node-kind tokens shared across source, editor, validation, and bake operations.
Responsibilities:
- Centralize the stable lowercase identifiers used by behavior source nodes.
Does NOT:
- Register node implementations or determine runtime semantics.
Members
Section titled “Members”Action
Section titled “Action”public const string Action = "action"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:193
The generic action node token.
AnyState
Section titled “AnyState”public const string AnyState = "any_state"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:163
The statechart-wide Any State node token.
Condition
Section titled “Condition”public const string Condition = "condition"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:196
The generic condition node token.
Conditional
Section titled “Conditional”public const string Conditional = "conditional"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:190
The conditional decorator node token.
public const string Entry = "entry"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:154
The statechart entry node token.
Inverter
Section titled “Inverter”public const string Inverter = "inverter"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:181
The inverter decorator node token.
MemberCondition
Section titled “MemberCondition”public const string MemberCondition = "member_condition"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:217
The reusable member condition node token.
MemberEvent
Section titled “MemberEvent”public const string MemberEvent = "member_event"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:220
The reusable member event condition node token.
MemberField
Section titled “MemberField”public const string MemberField = "member_field"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:211
The reusable member field action node token.
MemberMessage
Section titled “MemberMessage”public const string MemberMessage = "member_message"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:214
The reusable member message action node token.
MemberMethod
Section titled “MemberMethod”public const string MemberMethod = "member_method"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:205
The reusable member method action node token .
MemberProperty
Section titled “MemberProperty”public const string MemberProperty = "member_property"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:208
The reusable member property action node token.
MoveTo
Section titled “MoveTo”public const string MoveTo = "move_to"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:202
The movement action node token.
Parallel
Section titled “Parallel”public const string Parallel = "parallel"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:178
The parallel composite node token.
ProbabilitySelector
Section titled “ProbabilitySelector”public const string ProbabilitySelector = "probability_selector"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:172
The probability-selector composite node token.
Repeat
Section titled “Repeat”public const string Repeat = "repeat"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:184
The repeat decorator node token.
public const string Root = "root"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:151
The statechart root node token.
Selector
Section titled “Selector”public const string Selector = "selector"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:169
The selector composite node token.
Sequence
Section titled “Sequence”public const string Sequence = "sequence"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:175
The sequence composite node token.
public const string State = "state"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:157
The state node token.
StateMachineReference
Section titled “StateMachineReference”public const string StateMachineReference = "state_machine_reference"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:166
The reusable referenced-state-machine canvas node token.
Subgraph
Section titled “Subgraph”public const string Subgraph = "subgraph"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:199
The subgraph-reference node token.
TimeLimit
Section titled “TimeLimit”public const string TimeLimit = "timelimit"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:187
The time-limit decorator node token.
Transition
Section titled “Transition”public const string Transition = "transition"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:160
The state transition node token.
BehaviorNodeParameterAttribute
Section titled “BehaviorNodeParameterAttribute”Category: Node contracts
class BitQuirky.Behavior.Nodes.BehaviorNodeParameterAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:416-470
Inherits: Attribute
Declares one typed semantic parameter on a behavior node class.
Responsibilities:
- Provide reflection-readable authoring schema metadata.
- Identify inspector order, requirement state, numeric bounds, enum tokens, and an optional external-service payload slot.
Does NOT:
- Store an authored value or perform runtime parsing.
Members
Section titled “Members”AllowedEnumTokens
Section titled “AllowedEnumTokens”public string[] AllowedEnumTokens { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:459
Gets or sets the allowed values for an enum-token parameter.
DisplayLabel
Section titled “DisplayLabel”public string DisplayLabel { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:438
Gets the lowercase editor label.
InspectorOrder
Section titled “InspectorOrder”public int InspectorOrder { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:444
Gets the deterministic inspector position.
public string Key { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:435
Gets the stable source parameter key.
Maximum
Section titled “Maximum”public double Maximum { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:456
Gets or sets the inclusive numeric upper bound.
Minimum
Section titled “Minimum”public double Minimum { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:453
Gets or sets the inclusive numeric lower bound.
PayloadSlot
Section titled “PayloadSlot”public int PayloadSlot { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:450
Gets or sets the external-command payload slot, or -1 when unused.
Required
Section titled “Required”public bool Required { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:447
Gets or sets whether a source value is required.
RequiredWhenParameterKey
Section titled “RequiredWhenParameterKey”public string RequiredWhenParameterKey { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:464
Gets or sets the stable key whose value conditionally requires this parameter.
RequiredWhenParameterValue
Section titled “RequiredWhenParameterValue”public string RequiredWhenParameterValue { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:469
Gets or sets the exact source value that conditionally requires this parameter.
public BitQuirky.Behavior.Nodes.BehaviorNodeParameterType Type { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:441
Gets the semantic value type.
BehaviorNodeParameterAttribute(string key, string displayLabel, BehaviorNodeParameterType type, int inspectorOrder)
Section titled “BehaviorNodeParameterAttribute(string key, string displayLabel, BehaviorNodeParameterType type, int inspectorOrder)”public BehaviorNodeParameterAttribute(string key, string displayLabel, BitQuirky.Behavior.Nodes.BehaviorNodeParameterType type, int inspectorOrder)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:422-432
Creates a parameter declaration with its stable key and deterministic inspector order.
BehaviorNodeParameterDescriptor
Section titled “BehaviorNodeParameterDescriptor”Category: Node contracts
class BitQuirky.Behavior.Nodes.BehaviorNodeParameterDescriptorSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:708-904
Immutable schema for one typed semantic node parameter.
Responsibilities:
- Define the stable source key, editor label, value type, display order, requirement state, optional payload slot, numeric bounds, and allowed enum tokens.
- Reject malformed schema at composition time.
Does NOT:
- Hold an authored value or mutate source text.
Members
Section titled “Members”AllowedEnumTokens
Section titled “AllowedEnumTokens”public System.Collections.Generic.IReadOnlyList<string> AllowedEnumTokens { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:866
Gets the allowed enum tokens in declaration order.
DisplayLabel
Section titled “DisplayLabel”public string DisplayLabel { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:845
Gets the lowercase editor label.
InspectorOrder
Section titled “InspectorOrder”public int InspectorOrder { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:851
Gets the deterministic inspector position.
public string Key { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:842
Gets the stable source parameter key.
Maximum
Section titled “Maximum”public double Maximum { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:863
Gets the inclusive numeric upper bound.
Minimum
Section titled “Minimum”public double Minimum { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:860
Gets the inclusive numeric lower bound.
PayloadSlot
Section titled “PayloadSlot”public int PayloadSlot { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:857
Gets the payload slot, or NoPayloadSlot when unused.
Required
Section titled “Required”public bool Required { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:854
Gets whether a source value is required.
RequiredWhenParameterKey
Section titled “RequiredWhenParameterKey”public string RequiredWhenParameterKey { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:869
Gets the parameter key that activates the conditional requirement.
RequiredWhenParameterValue
Section titled “RequiredWhenParameterValue”public string RequiredWhenParameterValue { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:872
Gets the parameter value that activates the conditional requirement.
public BitQuirky.Behavior.Nodes.BehaviorNodeParameterType Type { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:848
Gets the semantic value type.
MaximumPayloadSlot
Section titled “MaximumPayloadSlot”public const int MaximumPayloadSlot = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:714
The largest supported zero-based command payload slot.
NoPayloadSlot
Section titled “NoPayloadSlot”public const int NoPayloadSlot = -1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:711
Indicates that the parameter does not populate a command payload slot.
BehaviorNodeParameterDescriptor(string key, string displayLabel, BehaviorNodeParameterType type, int inspectorOrder, bool required, int payloadSlot, double minimum, double maximum, IReadOnlyList<string> allowedEnumTokens)
Section titled “BehaviorNodeParameterDescriptor(string key, string displayLabel, BehaviorNodeParameterType type, int inspectorOrder, bool required, int payloadSlot, double minimum, double maximum, IReadOnlyList<string> allowedEnumTokens)”public BehaviorNodeParameterDescriptor(string key, string displayLabel, BitQuirky.Behavior.Nodes.BehaviorNodeParameterType type, int inspectorOrder, bool required, int payloadSlot, double minimum, double maximum, System.Collections.Generic.IReadOnlyList<string> allowedEnumTokens)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:719-742
Creates and validates an immutable semantic parameter schema.
BehaviorNodeParameterDescriptor(string key, string displayLabel, BehaviorNodeParameterType type, int inspectorOrder, bool required, int payloadSlot, double minimum, double maximum, IReadOnlyList<string> allowedEnumTokens, string requiredWhenParameterKey, string requiredWhenParameterValue)
Section titled “BehaviorNodeParameterDescriptor(string key, string displayLabel, BehaviorNodeParameterType type, int inspectorOrder, bool required, int payloadSlot, double minimum, double maximum, IReadOnlyList<string> allowedEnumTokens, string requiredWhenParameterKey, string requiredWhenParameterValue)”public BehaviorNodeParameterDescriptor(string key, string displayLabel, BitQuirky.Behavior.Nodes.BehaviorNodeParameterType type, int inspectorOrder, bool required, int payloadSlot, double minimum, double maximum, System.Collections.Generic.IReadOnlyList<string> allowedEnumTokens, string requiredWhenParameterKey, string requiredWhenParameterValue)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:748-839
Creates and validates an immutable semantic parameter schema with an optional conditional requirement.
BehaviorNodeParameterTokens
Section titled “BehaviorNodeParameterTokens”Category: Node contracts
class BitQuirky.Behavior.Nodes.BehaviorNodeParameterTokensSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:285-374
Canonical semantic parameter tokens introduced by source format 1.1.
Responsibilities:
- Centralize stable lowercase parameter keys used by built-in authoring schemas.
Does NOT:
- Supply values, defaults, or validation behavior for those parameters.
Members
Section titled “Members”AbortMode
Section titled “AbortMode”public const string AbortMode = "abort_mode"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:288
The condition interruption policy parameter token.
ActionExecution
Section titled “ActionExecution”public const string ActionExecution = "action_execution"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:321
The action-state list execution policy token.
ActionLifetime
Section titled “ActionLifetime”public const string ActionLifetime = "action_lifetime"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:324
The action-state list activation lifetime token.
ActionPhase
Section titled “ActionPhase”public const string ActionPhase = "action_phase"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:327
The direct state action’s explicit lifecycle-phase token.
ArrivalTolerance
Section titled “ArrivalTolerance”public const string ArrivalTolerance = "arrival_tolerance"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:309
The movement arrival-tolerance parameter token.
ConditionOperand
Section titled “ConditionOperand”public const string ConditionOperand = "condition_operand"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:315
The blackboard condition comparison operand.
ConditionOperator
Section titled “ConditionOperator”public const string ConditionOperator = "condition_operator"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:312
The blackboard condition comparison-operator token.
public const string Count = "count"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:294
The bounded repeat-count parameter token.
EntryActionExecution
Section titled “EntryActionExecution”public const string EntryActionExecution = "entry_action_execution"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:330
The Entry lifecycle group’s execution policy token.
ExitActionExecution
Section titled “ExitActionExecution”public const string ExitActionExecution = "exit_action_execution"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:339
The Exit lifecycle group’s execution policy token.
FailureWeight
Section titled “FailureWeight”public const string FailureWeight = "failure_weight"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:373
The Random Selector’s optional Direct failure weight token. Absent means the outcome is not in the weighted set at all; a present zero is a usable weight that contributes nothing to the denominator and can never be drawn.
Policy
Section titled “Policy”public const string Policy = "policy"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:291
The repeat policy parameter token.
Seconds
Section titled “Seconds”public const string Seconds = "seconds"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:318
The time-limit decorator’s wall-clock budget token, in seconds.
public const string Speed = "speed"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:306
The movement speed parameter token.
StateCompletion
Section titled “StateCompletion”public const string StateCompletion = "completion"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:363
What a state does after terminal Active Update work.
StateFinishResult
Section titled “StateFinishResult”public const string StateFinishResult = "finish_result"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:366
The machine result produced by a finishing state.
StateMachineCandidateDefault
Section titled “StateMachineCandidateDefault”public const string StateMachineCandidateDefault = "is_default"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:357
Whether a referenced-machine candidate is the unconditional default.
StateMachineCandidateOverridePrefix
Section titled “StateMachineCandidateOverridePrefix”public const string StateMachineCandidateOverridePrefix = "override_"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:360
Prefix for a candidate declared-value override parameter.
TargetX
Section titled “TargetX”public const string TargetX = "target_x"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:297
The target world X parameter token.
TargetY
Section titled “TargetY”public const string TargetY = "target_y"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:300
The target world Y parameter token.
TargetZ
Section titled “TargetZ”public const string TargetZ = "target_z"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:303
The target world Z parameter token.
TransitionEvaluate
Section titled “TransitionEvaluate”public const string TransitionEvaluate = "evaluate"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:342
When a state transition is evaluated.
TransitionKind
Section titled “TransitionKind”public const string TransitionKind = "kind"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:351
Whether a transition switches or pushes its destination.
TransitionOnReturn
Section titled “TransitionOnReturn”public const string TransitionOnReturn = "on_return"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:354
Whether a pushed source resumes or re-enters when its child returns.
TransitionReentry
Section titled “TransitionReentry”public const string TransitionReentry = "reentry"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:348
How a self-transition re-enters its state.
TransitionResult
Section titled “TransitionResult”public const string TransitionResult = "result"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:345
Which Active Update result permits a state transition.
UpdateActionExecution
Section titled “UpdateActionExecution”public const string UpdateActionExecution = "update_action_execution"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:333
The Active Update lifecycle group’s execution policy token.
UpdateActionLifetime
Section titled “UpdateActionLifetime”public const string UpdateActionLifetime = "update_action_lifetime"Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:336
The Active Update lifecycle group’s activation lifetime token.
BehaviorNodeParameterType
Section titled “BehaviorNodeParameterType”Category: Node contracts
enum BitQuirky.Behavior.Nodes.BehaviorNodeParameterTypeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:124-137
Underlying type: byte
Supported semantic parameter value types.
Responsibilities:
- Give authoring, validation, and baking one stable type vocabulary.
Does NOT:
- Store a parameter value or define its runtime representation.
Members
Section titled “Members”Bool = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:136
A Boolean value.
EnumToken
Section titled “EnumToken”EnumToken = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:133
A stable lowercase token selected from a declared set.
Float32
Section titled “Float32”Float32 = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:127
A 32-bit floating-point value.
Int32 = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:130
A signed 32-bit integer value.
BehaviorNodeStatus
Section titled “BehaviorNodeStatus”Category: Node contracts
enum BitQuirky.Behavior.Nodes.BehaviorNodeStatusSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:33-68
Underlying type: byte
Per-tick result code returned by every behavior node, per section Tick contract.
Members
Section titled “Members”AuthorityMismatch
Section titled “AuthorityMismatch”AuthorityMismatch = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:67
Authority gate refused the tick .
Blocked
Section titled “Blocked”Blocked = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:57
A guard predicate is false. Maps toblocked-condition
failure reason in diagnostics.
Failure
Section titled “Failure”Failure = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:46
The node’s work finished and the node reports failure to its parent.
Interrupted
Section titled “Interrupted”Interrupted = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:51
Tick was preempted by a parent / sibling / authority handoff.
Running
Section titled “Running”Running = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:40
Tick is in flight. The node MUST progress next frame; a node that returnsRunningindefinitely with no awaited external is a bug (silent re-tick loop).
Success
Section titled “Success”Success = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:43
The node’s work finished and the node reports success to its parent.
Timeout
Section titled “Timeout”Timeout = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:62
A decorator-imposed time limit elapsed.
DeterminismClass
Section titled “DeterminismClass”Category: Node contracts
enum BitQuirky.Behavior.Nodes.DeterminismClassSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:99-113
Underlying type: byte
Determinism class declared on a node, per section Required declarations.
Members
Section titled “Members”Deterministic
Section titled “Deterministic”Deterministic = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:104
Same input -> same output across host and client. Default.
HostOnlyNonDeterministic
Section titled “HostOnlyNonDeterministic”HostOnlyNonDeterministic = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:112
Tick reads sources of host-only entropy (RNG, scene-graph queries, wallclock). MUST also be HostAuthoritative; the validator rejects non-host instances.
DeterminismClassAttribute
Section titled “DeterminismClassAttribute”Category: Node contracts
class BitQuirky.Behavior.Nodes.DeterminismClassAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:626-642
Inherits: Attribute
Declares the node’s determinism class. Defaults to Deterministicif absent.
Members
Section titled “Members”Determinism
Section titled “Determinism”public BitQuirky.Behavior.Nodes.DeterminismClass Determinism { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:641
Gets the determinism class applied to every node of this type. The bake stamps it onto the baked node and the validator enforces the authority pairing it implies.
DeterminismClassAttribute(DeterminismClass determinism)
Section titled “DeterminismClassAttribute(DeterminismClass determinism)”public DeterminismClassAttribute(BitQuirky.Behavior.Nodes.DeterminismClass determinism)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:632-635
Declares the determinism class the bake stamps onto every baked node of this type.
NodeAuthoringDescriptor
Section titled “NodeAuthoringDescriptor”Category: Node contracts
class BitQuirky.Behavior.Nodes.NodeAuthoringDescriptorSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:912-1113
Snapshot of the authoring metadata declared on a node type via
attributes. The bake-time validator (BehaviorValidator)
consumes this to cross-check against the per-node%% authority=... read=... write=... waits=...metadata block in the .bqbehavior source.
Members
Section titled “Members”Authority
Section titled “Authority”public BitQuirky.Behavior.Authority.AuthorityKind Authority { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:995
The authority context nodes of this type must declare. The validator reports
node-authority-mismatch when a source node’s %% authority=differs.
AwaitedExternals
Section titled “AwaitedExternals”public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.AwaitedExternalDescriptor> AwaitedExternals { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1016
External services the node issues commands to, each paired with the blackboard field
holding the outstanding request id. Their service ids are compared as a set against the
source node’s%% waits= list (node-waits-mismatch). Empty declares that
the node never waits on a completion.
Determinism
Section titled “Determinism”public BitQuirky.Behavior.Nodes.DeterminismClass Determinism { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1036
The node’s determinism class, which the bake stamps onto every baked node of this type. Host-only-non-deterministic additionally forces host authority, and a client-presentation node must be deterministic. Deterministic when the node type declares nothing.
HandoffResolution
Section titled “HandoffResolution”public BitQuirky.Behavior.Nodes.AuthorityHandoffResolution HandoffResolution { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1029
What the runtime does with the node’s in-flight awaited externals when authority migrates. Restart when the node type declares nothing.
NodeKindToken
Section titled “NodeKindToken”public string NodeKindToken { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:989
The stable:::<token>id binding this schema to every source node carrying
the same suffix. Always matches[a-z][a-z0-9_]*.
NodeType
Section titled “NodeType”public System.Type NodeType { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:983
The node class the attributes were read from. Lookup keys on NodeKindToken, not on this type.
Parameters
Section titled “Parameters”public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.BehaviorNodeParameterDescriptor> Parameters { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1039
Gets typed parameter schemas in deterministic inspector order.
PayloadFields
Section titled “PayloadFields”public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.PayloadFieldDescriptor> PayloadFields { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1023
Blackboard fields the bake copies into external-service command payload slots, as stable field ids resolved per slot. The validator rejects a slot outside 0-3 and any field missing from the node’s read set. Empty means the node sends no payload.
ReadSet
Section titled “ReadSet”public System.Collections.Generic.IReadOnlyList<string> ReadSet { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1001
Stable blackboard field ids the tick reads, compared as a set against the source node’s
%% read= list (node-read-mismatch). Empty declares no reads.
WriteSet
Section titled “WriteSet”public System.Collections.Generic.IReadOnlyList<string> WriteSet { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1008
Stable blackboard field ids and external-service ids the tick writes, compared as a set
against the source node’s%% write= list (node-write-mismatch). Empty
declares no writes.
NodeAuthoringDescriptor(Type nodeType, string nodeKindToken, AuthorityKind authority, IReadOnlyList<string> readSet, IReadOnlyList<string> writeSet, IReadOnlyList<AwaitedExternalDescriptor> awaitedExternals, IReadOnlyList<PayloadFieldDescriptor> payloadFields, AuthorityHandoffResolution handoff, DeterminismClass determinism)
Section titled “NodeAuthoringDescriptor(Type nodeType, string nodeKindToken, AuthorityKind authority, IReadOnlyList<string> readSet, IReadOnlyList<string> writeSet, IReadOnlyList<AwaitedExternalDescriptor> awaitedExternals, IReadOnlyList<PayloadFieldDescriptor> payloadFields, AuthorityHandoffResolution handoff, DeterminismClass determinism)”public NodeAuthoringDescriptor(System.Type nodeType, string nodeKindToken, BitQuirky.Behavior.Authority.AuthorityKind authority, System.Collections.Generic.IReadOnlyList<string> readSet, System.Collections.Generic.IReadOnlyList<string> writeSet, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.AwaitedExternalDescriptor> awaitedExternals, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.PayloadFieldDescriptor> payloadFields, BitQuirky.Behavior.Nodes.AuthorityHandoffResolution handoff, BitQuirky.Behavior.Nodes.DeterminismClass determinism)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:917-939
Creates an immutable node schema without typed semantic parameters.
NodeAuthoringDescriptor(Type nodeType, string nodeKindToken, AuthorityKind authority, IReadOnlyList<string> readSet, IReadOnlyList<string> writeSet, IReadOnlyList<AwaitedExternalDescriptor> awaitedExternals, IReadOnlyList<PayloadFieldDescriptor> payloadFields, AuthorityHandoffResolution handoff, DeterminismClass determinism, IReadOnlyList<BehaviorNodeParameterDescriptor> parameters)
Section titled “NodeAuthoringDescriptor(Type nodeType, string nodeKindToken, AuthorityKind authority, IReadOnlyList<string> readSet, IReadOnlyList<string> writeSet, IReadOnlyList<AwaitedExternalDescriptor> awaitedExternals, IReadOnlyList<PayloadFieldDescriptor> payloadFields, AuthorityHandoffResolution handoff, DeterminismClass determinism, IReadOnlyList<BehaviorNodeParameterDescriptor> parameters)”public NodeAuthoringDescriptor(System.Type nodeType, string nodeKindToken, BitQuirky.Behavior.Authority.AuthorityKind authority, System.Collections.Generic.IReadOnlyList<string> readSet, System.Collections.Generic.IReadOnlyList<string> writeSet, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.AwaitedExternalDescriptor> awaitedExternals, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.PayloadFieldDescriptor> payloadFields, BitQuirky.Behavior.Nodes.AuthorityHandoffResolution handoff, BitQuirky.Behavior.Nodes.DeterminismClass determinism, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.BehaviorNodeParameterDescriptor> parameters)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:945-977
Creates an immutable node schema from explicitly supplied authoring metadata and typed semantic parameters.
TryGetParameter(string parameterKey, out BehaviorNodeParameterDescriptor descriptor)
Section titled “TryGetParameter(string parameterKey, out BehaviorNodeParameterDescriptor descriptor)”public bool TryGetParameter(string parameterKey, out BitQuirky.Behavior.Nodes.BehaviorNodeParameterDescriptor descriptor)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1042-1057
Resolves one parameter schema by its stable source key.
NodeAuthoringDescriptorReader
Section titled “NodeAuthoringDescriptorReader”Category: Node contracts
class BitQuirky.Behavior.Nodes.NodeAuthoringDescriptorReaderSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1121-1208
Reflection-driven reader. Pulls a NodeAuthoringDescriptoroff any type carrying the authoring attributes. Designed to run at editor / boot time, NOT on the tick hot path.
Members
Section titled “Members”Read(Type nodeType)
Section titled “Read(Type nodeType)”public static BitQuirky.Behavior.Nodes.NodeAuthoringDescriptor Read(System.Type nodeType)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1130-1205
Read a descriptor fromnodeType. Throws
ArgumentNullExceptionif the type is null. Returns
null when the type carries noBehaviorNodeAttribute.
NodeAuthoringRegistry
Section titled “NodeAuthoringRegistry”Category: Node contracts
class BitQuirky.Behavior.Nodes.NodeAuthoringRegistrySource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1226-1374
Registry of node-kind tokens to authoring descriptors. Populated at boot by scanning loaded assemblies (or constructed by hand in tests). The validator consults the registry when declared.
Responsibilities:
- Map a Mermaid
:::<token>suffix to its NodeAuthoringDescriptor. - Refuse duplicate registrations of the same token (a single token cannot resolve to two C# types).
Does NOT:
- Construct or invoke node instances - that’s the runtime tick’s concern.
- Drive Burst dispatch - separate concern (BehaviorTickJob).
Members
Section titled “Members”public int Count { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1235
Gets the number of registered node schemas.
public System.Collections.Generic.IEnumerable<BitQuirky.Behavior.Nodes.NodeAuthoringDescriptor> All()Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1367-1373
Enumerates all node schemas in ordinal node-kind-token order.
Compose(params IEnumerable<NodeAuthoringDescriptor>[] descriptorSets)
Section titled “Compose(params IEnumerable<NodeAuthoringDescriptor>[] descriptorSets)”public static BitQuirky.Behavior.Nodes.NodeAuthoringRegistry Compose(params System.Collections.Generic.IEnumerable<BitQuirky.Behavior.Nodes.NodeAuthoringDescriptor>[] descriptorSets)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1240-1264
Creates a fresh operation-local registry from explicit descriptor sets.
GetParameters(string nodeKindToken)
Section titled “GetParameters(string nodeKindToken)”public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.BehaviorNodeParameterDescriptor> GetParameters(string nodeKindToken)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1353-1364
Gets semantic parameter schemas for one stable node-kind token.
Register(NodeAuthoringDescriptor descriptor)
Section titled “Register(NodeAuthoringDescriptor descriptor)”public void Register(BitQuirky.Behavior.Nodes.NodeAuthoringDescriptor descriptor)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1267-1280
Registers one node schema and rejects duplicate node-kind tokens.
RegisterParameterSchema(string nodeKindToken, IReadOnlyList<BehaviorNodeParameterDescriptor> parameters)
Section titled “RegisterParameterSchema(string nodeKindToken, IReadOnlyList<BehaviorNodeParameterDescriptor> parameters)”public void RegisterParameterSchema(string nodeKindToken, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Nodes.BehaviorNodeParameterDescriptor> parameters)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1286-1316
Registers semantic parameters for a generic node whose read and write metadata remain source-defined.
TryGet(string nodeKindToken, out NodeAuthoringDescriptor descriptor)
Section titled “TryGet(string nodeKindToken, out NodeAuthoringDescriptor descriptor)”public bool TryGet(string nodeKindToken, out BitQuirky.Behavior.Nodes.NodeAuthoringDescriptor descriptor)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1319-1322
Resolves one node schema by its stable node-kind token.
TryGetParameter(string nodeKindToken, string parameterKey, out BehaviorNodeParameterDescriptor descriptor)
Section titled “TryGetParameter(string nodeKindToken, string parameterKey, out BehaviorNodeParameterDescriptor descriptor)”public bool TryGetParameter(string nodeKindToken, string parameterKey, out BitQuirky.Behavior.Nodes.BehaviorNodeParameterDescriptor descriptor)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1325-1350
Resolves one parameter schema by stable node and parameter tokens.
OnAuthorityHandoffAttribute
Section titled “OnAuthorityHandoffAttribute”Category: Node contracts
class BitQuirky.Behavior.Nodes.OnAuthorityHandoffAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:603-620
Inherits: Attribute
Declares the node’s behavior on host migration.
Members
Section titled “Members”Resolution
Section titled “Resolution”public BitQuirky.Behavior.Nodes.AuthorityHandoffResolution Resolution { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:619
Gets the resolution the runtime applies to this node’s in-flight awaited externals when authority migrates.
OnAuthorityHandoffAttribute(AuthorityHandoffResolution resolution)
Section titled “OnAuthorityHandoffAttribute(AuthorityHandoffResolution resolution)”public OnAuthorityHandoffAttribute(BitQuirky.Behavior.Nodes.AuthorityHandoffResolution resolution)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:610-613
Declares what the runtime does to this node’s in-flight awaited externals when authority migrates to another host.
PayloadFieldAttribute
Section titled “PayloadFieldAttribute”Category: Node contracts
class BitQuirky.Behavior.Nodes.PayloadFieldAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:577-598
Inherits: Attribute
Declares the blackboard field copied into a service command payload
slot. Slots map directly to
Payload0
throughPayload3.
Members
Section titled “Members”FieldId
Section titled “FieldId”public string FieldId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:597
Gets the stable blackboard field id copied into the slot. It must also appear in the
node’s read set, or the bake reportsnode-payload-read-mismatch.
public int Slot { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:591
Gets the zero-based command payload slot; the validator requires 0 through 3.
PayloadFieldAttribute(int slot, string fieldId)
Section titled “PayloadFieldAttribute(int slot, string fieldId)”public PayloadFieldAttribute(int slot, string fieldId)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:584-588
Declares that one blackboard field supplies a command payload slot. The validator requires a slot of 0 through 3; a null field id is stored as an empty string.
PayloadFieldDescriptor
Section titled “PayloadFieldDescriptor”Category: Node contracts
readonly struct BitQuirky.Behavior.Nodes.PayloadFieldDescriptorSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:678-695
One explicit service-command payload mapping extracted from a PayloadFieldAttribute.
Members
Section titled “Members”FieldId
Section titled “FieldId”public string FieldId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:694
Gets the stable blackboard field id supplying the slot’s value.
public int Slot { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:691
Gets the zero-based command payload slot the field value is copied into.
PayloadFieldDescriptor(int slot, string fieldId)
Section titled “PayloadFieldDescriptor(int slot, string fieldId)”public PayloadFieldDescriptor(int slot, string fieldId)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:684-688
Captures one payload mapping: the zero-based command payload slot and the blackboard field id supplying it. A null field id is stored as an empty string.
ReadFieldAttribute
Section titled “ReadFieldAttribute”Category: Node contracts
class BitQuirky.Behavior.Nodes.ReadFieldAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:495-509
Inherits: Attribute
Declares a blackboard field id the tick reads. Repeat for each id;
the bake intersects these with the source-sidereadmetadata
block to reject mismatches.
Members
Section titled “Members”FieldId
Section titled “FieldId”public string FieldId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:508
Gets the stable blackboard field id the tick reads.
ReadFieldAttribute(string fieldId)
Section titled “ReadFieldAttribute(string fieldId)”public ReadFieldAttribute(string fieldId)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:502-505
Declares one blackboard field id the tick reads. A null id is stored as an empty
string, which the bake rejects against the source-sidereadblock.
WriteFieldAttribute
Section titled “WriteFieldAttribute”Category: Node contracts
class BitQuirky.Behavior.Nodes.WriteFieldAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:516-534
Inherits: Attribute
Declares a blackboard field id OR an external-service queue id the
tick writes. The bake disambiguates by scanning the source’s
%% fields: and %% services:declaration blocks.
Members
Section titled “Members”FieldOrServiceId
Section titled “FieldOrServiceId”public string FieldOrServiceId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:533
Gets the declared write target: either a stable blackboard field id or an external-service id.
WriteFieldAttribute(string fieldOrServiceId)
Section titled “WriteFieldAttribute(string fieldOrServiceId)”public WriteFieldAttribute(string fieldOrServiceId)Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:524-527
Declares one write target: a blackboard field id or an external-service queue id. A null id is stored as an empty string. The bake decides which kind it is by scanning the source’s declaration blocks.
Source fingerprint: sha256:ad0983d00d773d882bc61865e18d8c5559e009d181e5891575cd7f262515b23e