Skip to content
Bit Quirky Behavior Trees and
State Machines

Search documentation

All topics and APIs

Close returns focus to Search.

What are you looking for?

Try a common topic or enter a complete API identifier.

Browse the reference instead

Esc closes · Tab reaches results · Enter opens the focused link

v0.6.0
Menu

Assembly: BitQuirky.Behavior.Runtime

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.AuthorityAttribute

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:475-488

Inherits: Attribute

Declares the authority context the node ticks under.

C#
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.

C#
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.

Category: Node contracts

C#
enum BitQuirky.Behavior.Nodes.AuthorityHandoffResolution

Source 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).

C#
Abort = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:92

Drop the node to a typedauthority-handofffailure.

C#
Restart = 0

Source 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.

C#
Resume = 1

Source 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).

Category: Node contracts

C#
readonly struct BitQuirky.Behavior.Nodes.AwaitedExternalDescriptor

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:652-672

One(serviceId, pendingIdField)pair extracted from an AwaitsExternalAttribute.

C#
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.

C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.AwaitsExternalAttribute

Source 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).

C#
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.

C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.BehaviorBranchLabelTokens

Source 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.

C#
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.

C#
public const string Weight = "weight"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:270

The branch weight label prefix.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.BehaviorBuiltInAuthoringRegistry

Source 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.

C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.BehaviorNodeAttribute

Source 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.

C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.BehaviorNodeKindTokens

Source 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.

C#
public const string Action = "action"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:193

The generic action node token.

C#
public const string AnyState = "any_state"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:163

The statechart-wide Any State node token.

C#
public const string Condition = "condition"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:196

The generic condition node token.

C#
public const string Conditional = "conditional"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:190

The conditional decorator node token.

C#
public const string Entry = "entry"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:154

The statechart entry node token.

C#
public const string Inverter = "inverter"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:181

The inverter decorator node token.

C#
public const string MemberCondition = "member_condition"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:217

The reusable member condition node token.

C#
public const string MemberEvent = "member_event"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:220

The reusable member event condition node token.

C#
public const string MemberField = "member_field"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:211

The reusable member field action node token.

C#
public const string MemberMessage = "member_message"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:214

The reusable member message action node token.

C#
public const string MemberMethod = "member_method"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:205

The reusable member method action node token .

C#
public const string MemberProperty = "member_property"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:208

The reusable member property action node token.

C#
public const string MoveTo = "move_to"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:202

The movement action node token.

C#
public const string Parallel = "parallel"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:178

The parallel composite node token.

C#
public const string ProbabilitySelector = "probability_selector"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:172

The probability-selector composite node token.

C#
public const string Repeat = "repeat"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:184

The repeat decorator node token.

C#
public const string Root = "root"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:151

The statechart root node token.

C#
public const string Selector = "selector"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:169

The selector composite node token.

C#
public const string Sequence = "sequence"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:175

The sequence composite node token.

C#
public const string State = "state"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:157

The state node token.

C#
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.

C#
public const string Subgraph = "subgraph"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:199

The subgraph-reference node token.

C#
public const string TimeLimit = "timelimit"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:187

The time-limit decorator node token.

C#
public const string Transition = "transition"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:160

The state transition node token.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.BehaviorNodeParameterAttribute

Source 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.

C#
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.

C#
public string DisplayLabel { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:438

Gets the lowercase editor label.

C#
public int InspectorOrder { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:444

Gets the deterministic inspector position.

C#
public string Key { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:435

Gets the stable source parameter key.

C#
public double Maximum { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:456

Gets or sets the inclusive numeric upper bound.

C#
public double Minimum { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:453

Gets or sets the inclusive numeric lower bound.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.BehaviorNodeParameterDescriptor

Source 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.

C#
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.

C#
public string DisplayLabel { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:845

Gets the lowercase editor label.

C#
public int InspectorOrder { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:851

Gets the deterministic inspector position.

C#
public string Key { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:842

Gets the stable source parameter key.

C#
public double Maximum { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:863

Gets the inclusive numeric upper bound.

C#
public double Minimum { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:860

Gets the inclusive numeric lower bound.

C#
public int PayloadSlot { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:857

Gets the payload slot, or NoPayloadSlot when unused.

C#
public bool Required { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:854

Gets whether a source value is required.

C#
public string RequiredWhenParameterKey { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:869

Gets the parameter key that activates the conditional requirement.

C#
public string RequiredWhenParameterValue { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:872

Gets the parameter value that activates the conditional requirement.

C#
public BitQuirky.Behavior.Nodes.BehaviorNodeParameterType Type { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:848

Gets the semantic value type.

C#
public const int MaximumPayloadSlot = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:714

The largest supported zero-based command payload slot.

C#
public const int NoPayloadSlot = -1

Source 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)”
C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.BehaviorNodeParameterTokens

Source 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.

C#
public const string AbortMode = "abort_mode"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:288

The condition interruption policy parameter token.

C#
public const string ActionExecution = "action_execution"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:321

The action-state list execution policy token.

C#
public const string ActionLifetime = "action_lifetime"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:324

The action-state list activation lifetime token.

C#
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.

C#
public const string ArrivalTolerance = "arrival_tolerance"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:309

The movement arrival-tolerance parameter token.

C#
public const string ConditionOperand = "condition_operand"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:315

The blackboard condition comparison operand.

C#
public const string ConditionOperator = "condition_operator"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:312

The blackboard condition comparison-operator token.

C#
public const string Count = "count"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:294

The bounded repeat-count parameter token.

C#
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.

C#
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.

C#
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.

C#
public const string Policy = "policy"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:291

The repeat policy parameter token.

C#
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.

C#
public const string Speed = "speed"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:306

The movement speed parameter token.

C#
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.

C#
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.

C#
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.

C#
public const string StateMachineCandidateOverridePrefix = "override_"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:360

Prefix for a candidate declared-value override parameter.

C#
public const string TargetX = "target_x"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:297

The target world X parameter token.

C#
public const string TargetY = "target_y"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:300

The target world Y parameter token.

C#
public const string TargetZ = "target_z"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:303

The target world Z parameter token.

C#
public const string TransitionEvaluate = "evaluate"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:342

When a state transition is evaluated.

C#
public const string TransitionKind = "kind"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:351

Whether a transition switches or pushes its destination.

C#
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.

C#
public const string TransitionReentry = "reentry"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:348

How a self-transition re-enters its state.

C#
public const string TransitionResult = "result"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:345

Which Active Update result permits a state transition.

C#
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.

C#
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.

Category: Node contracts

C#
enum BitQuirky.Behavior.Nodes.BehaviorNodeParameterType

Source 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.

C#
Bool = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:136

A Boolean value.

C#
EnumToken = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:133

A stable lowercase token selected from a declared set.

C#
Float32 = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:127

A 32-bit floating-point value.

C#
Int32 = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:130

A signed 32-bit integer value.

Category: Node contracts

C#
enum BitQuirky.Behavior.Nodes.BehaviorNodeStatus

Source 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.

C#
AuthorityMismatch = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:67

Authority gate refused the tick .

C#
Blocked = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:57

A guard predicate is false. Maps toblocked-condition failure reason in diagnostics.

C#
Failure = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:46

The node’s work finished and the node reports failure to its parent.

C#
Interrupted = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:51

Tick was preempted by a parent / sibling / authority handoff.

C#
Running = 0

Source 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).

C#
Success = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:43

The node’s work finished and the node reports success to its parent.

C#
Timeout = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:62

A decorator-imposed time limit elapsed.

Category: Node contracts

C#
enum BitQuirky.Behavior.Nodes.DeterminismClass

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:99-113

Underlying type: byte

Determinism class declared on a node, per section Required declarations.

C#
Deterministic = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:104

Same input -> same output across host and client. Default.

C#
HostOnlyNonDeterministic = 1

Source 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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.DeterminismClassAttribute

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:626-642

Inherits: Attribute

Declares the node’s determinism class. Defaults to Deterministicif absent.

C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.NodeAuthoringDescriptor

Source 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.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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_]*.

C#
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.

C#
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.

C#
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.

C#
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.

C#
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)”
C#
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)”
C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.NodeAuthoringDescriptorReader

Source 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.

C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.NodeAuthoringRegistry

Source 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).

C#
public int Count { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:1235

Gets the number of registered node schemas.

C#
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)”
C#
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.

C#
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)”
C#
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)”
C#
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)”
C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.OnAuthorityHandoffAttribute

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:603-620

Inherits: Attribute

Declares the node’s behavior on host migration.

C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.PayloadFieldAttribute

Source 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.

C#
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.

C#
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)”
C#
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.

Category: Node contracts

C#
readonly struct BitQuirky.Behavior.Nodes.PayloadFieldDescriptor

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:678-695

One explicit service-command payload mapping extracted from a PayloadFieldAttribute.

C#
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.

C#
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)”
C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.ReadFieldAttribute

Source 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.

C#
public string FieldId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Nodes/NodeAuthoringAttributes.cs:508

Gets the stable blackboard field id the tick reads.

C#
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.

Category: Node contracts

C#
class BitQuirky.Behavior.Nodes.WriteFieldAttribute

Source 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.

C#
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)”
C#
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

Full-size image