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

BitQuirky.Behavior.Authoring

Public behavior trees and state machines: runtime symbols in BitQuirky.Behavior.Authoring.

Source snapshot ad0983d00d77.

On this page

Assembly: BitQuirky.Behavior.Runtime

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.ActionStateMachineValidationRule

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:22-929

Implements: IBehaviorValidationExtension

Package-owned validation profile for immediate-action state machines.

Responsibilities:

  • Identify the exact action-state-machine profile selected by source assets.
  • Append profile-specific structural and binding diagnostics.
  • Separate an active state-hosted Behavior Tree subtree from the state’s direct Entry, Update, and Exit action-list validation.

Does NOT:

  • Repair authored source or substitute fallback actions and conditions.

C#
public string ProfileToken { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:58

Gets the stable profile token selected by source.

C#
public const string ActionBindingCode = "action-state-binding"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:37

Diagnostic code for an action without one declared service binding.

C#
public const string ActionPhaseCode = "action-state-phase"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:43

Diagnostic code for an invalid or mixed action lifecycle-phase declaration.

C#
public const string ActionSettingScopeCode = "action-state-setting-scope"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:46

Diagnostic code for legacy and phase-specific settings on one state.

C#
public const string AwaitedActionCode = "action-state-awaited-action"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:40

Compatibility diagnostic code retained for legacy awaited-action reports.

C#
public const string EntryCountCode = "action-state-entry-count"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:34

Diagnostic code for an invalid entry-state count.

C#
public const string RootShapeCode = "action-state-root-shape"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:31

Diagnostic code for an invalid root count or containment edge.

C#
public const string StateActionCountCode = "action-state-count"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:28

Diagnostic code for a state without an ordered direct action list.

C#
public const string Token = "action_state_machine"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:25

Stable source header token for this validation profile.

C#
public const string TransitionConditionCode = "action-state-transition-condition"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:52

Diagnostic code for an invalid transition condition binding.

C#
public const string TransitionShapeCode = "action-state-transition-shape"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:49

Diagnostic code for an incomplete transition source or destination.

C#
public const string UnsupportedNodeCode = "action-state-unsupported-node"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:55

Diagnostic code for a node kind outside the flat action-state profile.

Validate(BehaviorValidationContext context, BehaviorValidationResult result)

Section titled “Validate(BehaviorValidationContext context, BehaviorValidationResult result)”
C#
public void Validate(BitQuirky.Behavior.Authoring.BehaviorValidationContext context, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:61-143

Appends action-state-machine diagnostics for one source operation.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.ActionStatePhaseConversion

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStatePhaseConversion.cs:25-354

Deterministic first-save conversion from a legacy single-list action state into explicit source-format 1.5 phased source.

Responsibilities:

  • Classify one state’s stored lifecycle representation as legacy, phased, or the mixed shape forbids.
  • Rewrite a legacy state into explicit Active Update rows plus explicit Active Update execution and lifetime equal to its effective legacy values, removing the superseded legacy setting keys.

Does NOT:

  • Write files, raise undo entries, change unrelated states, rewrite an already phased state, or invent settings for a state that stores no legacy action list.

IsLegacyActionState(BehaviorSourceAst ast, string stateId)

Section titled “IsLegacyActionState(BehaviorSourceAst ast, string stateId)”
C#
public static bool IsLegacyActionState(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, string stateId)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStatePhaseConversion.cs:34-43

Gets whether one state still stores the legacy single-list representation: no direct action carriesActionPhase, the state carries no phase-specific setting key, and it owns something worth preserving, meaning at least one direct action or at least one legacy action-list setting. This is the exact preconditionTryConvertStateToPhasedconverts, so the two stay inverses.

IsMixedPhaseActionState(BehaviorSourceAst ast, string stateId)

Section titled “IsMixedPhaseActionState(BehaviorSourceAst ast, string stateId)”
C#
public static bool IsMixedPhaseActionState(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, string stateId)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStatePhaseConversion.cs:62-66

Gets whether one state combines the legacy and phased representations in a way forbids: some direct actions carry a lifecycle phase while others omit it, or legacy action-list settings coexist with phase-specific settings.

IsPhasedActionState(BehaviorSourceAst ast, string stateId)

Section titled “IsPhasedActionState(BehaviorSourceAst ast, string stateId)”
C#
public static bool IsPhasedActionState(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, string stateId)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStatePhaseConversion.cs:51-55

Gets whether one state authors the explicit source-format 1.5 lifecycle representation. Returns false for a mixed state, because makes that shape invalid rather than phased, and a projection that reported it as phased would read absent phase settings and print effective values the source does not contain.

TryConvertStateToPhased(BehaviorSourceDocument document, string stateId, out string failureReason)

Section titled “TryConvertStateToPhased(BehaviorSourceDocument document, string stateId, out string failureReason)”
C#
public static bool TryConvertStateToPhased(BitQuirky.Behavior.Authoring.BehaviorSourceDocument document, string stateId, out string failureReason)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStatePhaseConversion.cs:75-186

Stages explicit phased source for one legacy action state in the supplied document. Every mapped action receivesaction_phase: update, the state receives the effective legacy execution and lifetime as explicit Active Update settings, and the superseded legacy keys are removed. A state that owns no direct action converts only when it still carries a legacy setting key worth preserving.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorAbortMode

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:14-24

Underlying type: byte

Controls whether a condition is observed while a lower-priority selector branch runs.

Responsibilities:

  • Provide stable additive authoring and bake values for condition interruption policy.

Does NOT:

  • Define self-abort, combined abort modes, callbacks, or presentation cues.

C#
LowerPriority = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:20

Preempt a running lower-priority selector branch when the condition succeeds.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:17

Use legacy condition evaluation without reactive observation.

C#
Self = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:23

Cancel the guarded branch synchronously when its own condition fails.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorAbortModeTokens

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:35-45

Canonical source tokens forBehaviorAbortMode.

Responsibilities:

  • Centralize the stable format 1.1 values accepted by the condition schema.

Does NOT:

  • Parse source or mutate authored parameter values.

C#
public const string LowerPriority = "lower_priority"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:41

The source token for LowerPriority.

C#
public const string None = "none"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:38

The source token for None.

C#
public const string Self = "self"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:44

The source token for Self.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorBakeOptions

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:46-90

Optional inputs to the bake step. All fields are optional; defaults are deterministic.

Responsibilities:

  • Carry allocator, timestamp, determinism, field-type, and validation inputs into a bake.

Does NOT:

  • Bake source, retain an artifact, or supply hidden runtime fallbacks.

C#
public Unity.Collections.Allocator Allocator { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:52

Allocator for the resultingBakedBehaviorArtifact’s native arrays. Defaults toPersistent.

C#
public System.Func<string, UnityEngine.Object> AssetResolver { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:89

Optional stable-GUID asset lookup used while materializing customer class values and dictionary keys that contain Unity object or interface fields. Runtime callers may leave this unset when their source contains no such authored payload.

C#
public long? BakedAtUnixSeconds { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:60

Bake timestamp stamped into the artifact for diagnostics. Defaults toUtcNow’s Unix seconds at bake time. Set explicitly to make the timestamp deterministic (e.g. golden-fixture tests).

C#
public System.Collections.Generic.IReadOnlyDictionary<string, BitQuirky.Behavior.Baked.BakedFieldTypeCode> FieldTypeCodes { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:75

Optional explicit blackboard-slot type-code map. Maps a field name to aBakedFieldTypeCode. Fields not in the map default toInt32.

C#
public BitQuirky.Behavior.Authoring.BehaviorValidationOptions ValidationOptions { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:82

Optional validation options forwarded to Validate. When unset, package-owned node schemas are applied without consumer validation extensions.

C#
public bool VerifyDeterminismDoubleBake { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:68

If true, the bake runs twice and asserts equality of the two outputs to defensively catch non-determinism. Defaults to true for editor / dev builds and is overridden to false on the hot path (behavior load).

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorBakeResult

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:105-138

Outcome of a bake. On success,Artifactis non-null and owns its native arrays. On failure,Artifactis null andDiagnosticscontains the bake-time validation failures per.

Responsibilities:

  • Return either an owned baked artifact or deterministic bake diagnostics.
  • Report success only when an artifact exists and no error diagnostic is present.

Does NOT:

  • Dispose the artifact automatically or conceal bake failures.

C#
public BitQuirky.Behavior.Baked.BakedBehaviorArtifact Artifact { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:108

Gets the owned artifact produced by a successful bake.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> Diagnostics { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:111

Gets the ordered diagnostics produced during validation and baking.

C#
public bool HasErrors { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:124-137

Gets whether any diagnostic has error severity.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnostic> MemberDiagnostics { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:117-118

Gets the structured member-binding diagnostics. Each entry also projects one error intoDiagnosticscarrying the same stable code.

C#
public bool Success { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:121

Gets whether baking produced an artifact without error diagnostics.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorBaker

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:170-6581

Bakes a parsedBehaviorSourceAstinto a deterministic Burst-friendlyBakedBehaviorArtifact.

Responsibilities:

  • Run bake-time validation per §Bake-time validation.
  • Intern node ids, field names, service names, and subgraph addresses; flatten per-node read/write/waits sets into dense integer-id arrays.
  • Compute a deterministic source-content hash over the semantic slice of the AST (layout / passthrough comments excluded).
  • Build the POD node table, transition table, blackboard layout, authority table, and subgraph reference table.
  • Stamp the source-content hash + behavior-version + baked-at timestamp into the artifact only, never back into the .bqbehavior (R-9 / FR-012g).
  • Optionally double-bake and assert byte-for-byte equality to defensively detect non-determinism.

Does NOT:

  • Mutate the canonical .bqbehavior file.
  • Resolve subgraph references (the loader handles that; this baker only validates that referenced addresses are present and unique).
  • Allocate managed garbage on the runtime hot path: the bake runs at editor time (preprocess + postprocessor) and at behavior load, never inside a tick.

Bake(BehaviorSourceAst ast, BehaviorBakeOptions options)

Section titled “Bake(BehaviorSourceAst ast, BehaviorBakeOptions options)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorBakeResult Bake(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorBakeOptions options = null)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:187-303

Bake the AST. Always returns a result; check Successbefore consuming the artifact. On failure, the artifact is null and the caller does not need to dispose anything.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorCanonicalValueCodec

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:30-1584

The one canonical reader and writer of the declared-value grammar: one record per variable, written as the ordered name, type, key, shape and value lines, with one entry or element per line so an added entry is one added line in a diff.

Responsibilities:

  • Write and parse the ordered keys of every variable record, including outermost-first recursive shape levels and one recursively shaped key at every dictionary level.
  • Write and parse every readable value form with deterministic invariant spelling: numbers as authored, quoted text and char, enum members and bracketed flag sets, structs as fields by name, list block sequences, short inline arrays, dictionary entries one per line with the key first, assets as a GUID beside their name, the explicitnonereference token, and the reserved bracketed key markers.
  • Preserve author order and produce byte-identical output for identical input, so a save with no edits produces no diff.

Does NOT:

  • Resolve a type, adopt a same-named type, coerce a value, supply a default, or discard an invalid authored payload. Type-directed interpretation belongs to the resolver.

C#
public const string ConcreteTypeFieldKey = "#type"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:51

The reserved field key naming a polymorphic value’s concrete type.

C#
public const string EmptySequenceToken = "[]"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:48

The canonical empty-sequence token, distinct from NoneToken.

C#
public const string EntryKeyFieldKey = "key"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:54

The canonical dictionary entry key naming the entry’s key half.

C#
public const string EntryValueFieldKey = "value"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:57

The canonical dictionary entry key naming the entry’s value half.

C#
public const string NoneToken = "none"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:45

The explicit token of a reference holding no object.

C#
public const string NullKeyMarker = "<none>"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:42

The reserved marker of a saved null key the editor never writes.

C#
public const string UnsetKeyMarker = "<unset>"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:39

The reserved marker of a key the author has never committed.

C#
public const string VariablesBlockHeader = "variables:"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:36

The canonical header line body that opens the declared-value block.

FormatAssetReference(string guid, string assetName)

Section titled “FormatAssetReference(string guid, string assetName)”
C#
public static string FormatAssetReference(string guid, string assetName)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:570-574

Writes an asset reference as its stable GUID beside the asset’s name.

C#
public static string FormatBool(bool value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:536-539

Writes the canonical spelling of a boolean value.

C#
public static string FormatChar(char value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:501-508

Writes one character in single quotes with deterministic escaping.

C#
public static string FormatDouble(double value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:562-567

Writes an invariant round-trip double-precision number.

FormatEntryPayload(BehaviorSourceDictionaryEntry entry)

Section titled “FormatEntryPayload(BehaviorSourceDictionaryEntry entry)”
C#
public static string FormatEntryPayload(BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry entry)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:427-439

Writes one ordered dictionary entry with its key first. This is the one spelling of an entry, shared by the block writer and every surface that renders a single entry.

FormatFieldBlock(IReadOnlyList<KeyValuePair<string, string>> fields)

Section titled “FormatFieldBlock(IReadOnlyList<KeyValuePair<string, string>> fields)”
C#
public static string FormatFieldBlock(System.Collections.Generic.IReadOnlyList<System.Collections.Generic.KeyValuePair<string, string>> fields)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:615-634

Writes an ordered field block with the canonical spacing.

C#
public static string FormatFloat(float value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:554-559

Writes an invariant round-trip single-precision number.

FormatInlineSequence(IReadOnlyList<string> items)

Section titled “FormatInlineSequence(IReadOnlyList<string> items)”
C#
public static string FormatInlineSequence(System.Collections.Generic.IReadOnlyList<string> items)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:676-694

Writes an inline sequence with the canonical spacing.

FormatKeyMarker(BehaviorSourceDictionaryKeyState state, string committedPayload)

Section titled “FormatKeyMarker(BehaviorSourceDictionaryKeyState state, string committedPayload)”
C#
public static string FormatKeyMarker(BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryKeyState state, string committedPayload)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:412-421

Writes the exact key spelling of one entry state: a committed key writes its own saved payload, and each reserved state writes its own bracketed marker.

FormatShapeToken(BehaviorDeclaredValueShape shape)

Section titled “FormatShapeToken(BehaviorDeclaredValueShape shape)”
C#
public static string FormatShapeToken(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape shape)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:185-195

Writes the canonical shape token.

C#
public static string FormatSignedInteger(long value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:542-545

Writes an invariant whole number.

C#
public static string FormatText(string value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:466-480

Writes text with deterministic escaping, preserving empty separately from null.

FormatTypeToken(BehaviorSourceTypeIdentity identity)

Section titled “FormatTypeToken(BehaviorSourceTypeIdentity identity)”
C#
public static string FormatTypeToken(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity identity)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:95-104

Writes one exact type identity. The six built-in scalars are written as their C# keyword with no assembly; everything else carries its assembly simple name.

C#
public static string FormatUnsignedInteger(ulong value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:548-551

Writes an invariant unsigned whole number.

GetComponentNames(BehaviorDeclaredValueKind kind)

Section titled “GetComponentNames(BehaviorDeclaredValueKind kind)”
C#
public static System.Collections.Generic.IReadOnlyList<string> GetComponentNames(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:167-182

Gets the one fixed ordered component schema of a UnityEngine value struct kind, shared by every writer and reader so a component name is spelled in exactly one place. The returned list is read-only, so callers cannot mutate the shared schema.

IndexOfTopLevel(string payload, char separator)

Section titled “IndexOfTopLevel(string payload, char separator)”
C#
public static int IndexOfTopLevel(string payload, char separator)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:774-813

Finds the first top-level occurrence of a separator, or -1.

C#
public static bool IsMarker(string payload)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:442-447

Returns whether the payload is a reserved bracketed marker.

C#
public static bool IsNone(string payload)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:459-463

Returns whether the payload is the explicit no-object token.

C#
public static bool IsQuotedText(string payload)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:450-456

Returns whether the payload is quoted text rather than a bare word.

ReadVariables(IReadOnlyList<string> lines, int headerIndex, ICollection<BehaviorSourceDeclaredValue> sink, ICollection<BehaviorSourceDiagnostic> diagnostics)

Section titled “ReadVariables(IReadOnlyList<string> lines, int headerIndex, ICollection<BehaviorSourceDeclaredValue> sink, ICollection<BehaviorSourceDiagnostic> diagnostics)”
C#
public static int ReadVariables(System.Collections.Generic.IReadOnlyList<string> lines, int headerIndex, System.Collections.Generic.ICollection<BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue> sink, System.Collections.Generic.ICollection<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> diagnostics)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:279-402

Reads the declared-value block that starts atheaderIndexand returns the index of the first line after it. Every record retains its author order and its exact saved payload, including a payload that is not valid for its type.

SplitTopLevel(string payload, char separator)

Section titled “SplitTopLevel(string payload, char separator)”
C#
public static System.Collections.Generic.IReadOnlyList<string> SplitTopLevel(string payload, char separator)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:728-771

Splits a payload on top-level separators, ignoring separators inside quotes, braces, brackets, and parentheses.

TryParseAssetReference(string payload, out string guid, out string assetName, out string error)

Section titled “TryParseAssetReference(string payload, out string guid, out string assetName, out string error)”
C#
public static bool TryParseAssetReference(string payload, out string guid, out string assetName, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:580-612

Parses an asset reference. The GUID is the exact stable identity; the name beside it is readable detail and never participates in resolution.

TryParseChar(string payload, out char value, out string error)

Section titled “TryParseChar(string payload, out char value, out string error)”
C#
public static bool TryParseChar(string payload, out char value, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:511-533

Parses one single-quoted character back to its exact value.

TryParseFieldBlock(string payload, out IReadOnlyList<KeyValuePair<string, string>> fields, out string error)

Section titled “TryParseFieldBlock(string payload, out IReadOnlyList<KeyValuePair<string, string>> fields, out string error)”
C#
public static bool TryParseFieldBlock(string payload, out System.Collections.Generic.IReadOnlyList<System.Collections.Generic.KeyValuePair<string, string>> fields, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:637-673

Parses an ordered field block into its exact key and payload pairs.

TryParseInlineSequence(string payload, out IReadOnlyList<string> items, out string error)

Section titled “TryParseInlineSequence(string payload, out IReadOnlyList<string> items, out string error)”
C#
public static bool TryParseInlineSequence(string payload, out System.Collections.Generic.IReadOnlyList<string> items, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:697-722

Parses an inline sequence into its ordered element payloads.

TryParseShapeToken(string token, out BehaviorDeclaredValueShape shape)

Section titled “TryParseShapeToken(string token, out BehaviorDeclaredValueShape shape)”
C#
public static bool TryParseShapeToken(string token, out BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape shape)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:198-208

Parses the canonical shape token.

TryParseText(string payload, out string value, out string error)

Section titled “TryParseText(string payload, out string value, out string error)”
C#
public static bool TryParseText(string payload, out string value, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:483-498

Parses quoted text, or the explicit none token, back to its exact value.

TryParseTypeToken(string token, out BehaviorSourceTypeIdentity identity, out bool recordsAssembly, out string error)

Section titled “TryParseTypeToken(string token, out BehaviorSourceTypeIdentity identity, out bool recordsAssembly, out string error)”
C#
public static bool TryParseTypeToken(string token, out BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity identity, out bool recordsAssembly, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:110-160

Parses one exact type identity. A record written without an assembly is legal input and reportsrecordsAssemblyfalse so the author can confirm it.

WriteVariableRecord(StringBuilder builder, BehaviorSourceDeclaredValue value)

Section titled “WriteVariableRecord(StringBuilder builder, BehaviorSourceDeclaredValue value)”
C#
public static void WriteVariableRecord(System.Text.StringBuilder builder, BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:234-268

Writes one variable record with its four or five ordered keys.

WriteVariables(StringBuilder builder, IReadOnlyList<BehaviorSourceDeclaredValue> values)

Section titled “WriteVariables(StringBuilder builder, IReadOnlyList<BehaviorSourceDeclaredValue> values)”
C#
public static void WriteVariables(System.Text.StringBuilder builder, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue> values)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:218-231

Writes the complete declared-value block in author order. Each line carries the %%comment prefix the rest of the Mermaid format uses.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredComparisonSupport

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:462-472

Underlying type: byte

Which comparisons one declared value supports as a transition-predicate operand.

Responsibilities:

  • State the one comparison rule the validator, the baker, the shared evaluation core, and the authoring surface all read, so no consumer invents its own operator table.

Does NOT:

  • Decide storage, carriage, or which agent surface can run the predicate.

C#
EqualityOnly = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:468

Only == and != decide this declaration.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:465

The declaration cannot be compared at all, so no operator is legal.

C#
OrderingAndEquality = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:471

Ordering and equality both decide this declaration.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredTypeResolution

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:546-562

Underlying type: byte

The three, and only three, outcomes of resolving one saved type record: it resolves, it cannot be found, or it is ambiguous. None of them guesses or discards the record.

Responsibilities:

  • Distinguish a clean resolution from the two faults, so the editor never adopts a same-named survivor and never guesses.

Does NOT:

  • Perform the resolution or offer candidates; the resolver returns those beside it.

C#
CannotResolveToOne = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:561

No assembly is recorded and more than one type matches, or the recorded assembly is gone and more than one other assembly declares that full name.

C#
NotFound = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:555

The recorded assembly is present but no longer declares the type, or is gone and exactly one other assembly declares that full name.

C#
Resolves = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:549

The recorded assembly is present and declares the type.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDefaults

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1971-2126

The exact default value of one declared type, written in canonical form.

Responsibilities:

  • Write the declared type’s own default, so choosing a type, raising an array’s length, or adding a dictionary entry seeds that default rather than an invented value.
  • Keep none and a type default distinct: a reference defaults to none, and a value type defaults to its own zero state.

Does NOT:

  • Invent a value for a type that has no writable default, and never substitutes another type’s default.

FormatDefaultOrEmpty(BehaviorDeclaredValueKind kind, Type type)

Section titled “FormatDefaultOrEmpty(BehaviorDeclaredValueKind kind, Type type)”
C#
public static string FormatDefaultOrEmpty(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type type)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:2044-2047

Writes the exact canonical default payload, or the empty string when the declared type has no writable default. An empty payload is an unfinished value, never a substitute.

TryFormatDefault(BehaviorDeclaredValueKind kind, Type type, out string payload)

Section titled “TryFormatDefault(BehaviorDeclaredValueKind kind, Type type, out string payload)”
C#
public static bool TryFormatDefault(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type type, out string payload)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1976-2038

Writes the exact canonical default payload of one declared type.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptor

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:336-425

The shared resolved contract authoring, validation, bake, and member compatibility read.

Responsibilities:

  • Pair the authored declaration with its resolved exact types, representation kind, derived storage and serialization classes, native footprint, and refusal reason.

Does NOT:

  • Substitute a same-named type, supply a default, or let a rejected declaration bake.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity> Candidates { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:385-386

Gets or sets the surviving same-name candidates offered, never adopted, when a record is not found or cannot resolve to one type.

C#
public System.Type ConstructedType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:354

Gets or sets the exact recursively constructed declared value type.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue Declaration { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:339

Gets or sets the authored declaration this descriptor resolved.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity DeclaredIdentity { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:342

Gets or sets the exact authored element type identity.

C#
public int ElementStride { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:393

Gets or sets the native byte size of one carried element.

C#
public bool IsPureEntityCompatible { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:423-424

Gets whether the entity path carries this declaration, derived from the storage class and never authored.

C#
public bool IsValid { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:417

Gets whether the declaration resolved without a refusal.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity> KeyCandidates { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:389-390

Gets or sets the same-name candidates offered for the key type record.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity KeyIdentity { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:345

Gets or sets the exact authored key type identity of a dictionary.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind KeyKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:364

Gets or sets the key representation kind of a dictionary.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredTypeResolution KeyTypeResolution { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:379

Gets or sets the resolution outcome of the key type record.

C#
public int NativeSize { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:396

Gets or sets the native byte size of the whole carried value.

C#
public int RejectedDictionaryEntryIndex { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:411

Gets or sets the outer dictionary entry that owns the rejection, or -1.

C#
public bool RejectedDictionaryKey { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:414

Gets or sets whether a rejected dictionary entry points at its key half.

C#
public int RejectedElementIndex { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:408

Gets or sets the outer collection element that owns the rejected payload, or -1. Nested coordinates remain relative to this author-visible outer element.

C#
public string RejectionDetail { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:402

Gets or sets the exact actionable refusal detail.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueRejectionReason RejectionReason { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:399

Gets or sets the stable refusal reason, or none when the declaration is valid.

C#
public System.Type ResolvedKeyType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:351

Gets or sets the exactly-once-resolved key type of a dictionary.

C#
public System.Type ResolvedType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:348

Gets or sets the exactly-once-resolved element type.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueSerializationClass SerializationClass { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:370

Gets or sets the derived serialization class.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape Shape { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:373

Gets or sets the declared shape.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeLevel> ShapeLevels { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:357-358

Gets the resolved recursive levels from the authored declaration.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueStorageClass StorageClass { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:367

Gets or sets the derived storage class.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredTypeResolution TypeResolution { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:376

Gets or sets the resolution outcome of the element type record.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind ValueKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:361

Gets or sets the element representation kind.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:362-450

Underlying type: byte

The append-only representation vocabulary of a declared blackboard value.

Responsibilities:

  • Identify every supported declared-value representation with a stable append-only code used by the canonical codec, the baker, and the generated companion.

Does NOT:

  • ReplaceBehaviorMemberValueKind, which keeps its existing member-binding semantics unchanged, or decide compatibility by itself.

C#
Bool = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:368

One bool value.

C#
Bounds = 23

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:434

UnityEngine Bounds.

C#
Byte = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:374

One byte value.

C#
Char = 10

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:395

One char value.

C#
Color = 21

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:428

UnityEngine Color.

C#
ComponentReference = 28

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:449

A runtime-populated Unity Component reference.

C#
Enum = 13

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:404

An enum, including a flags enum, with an integral underlying type.

C#
Float32 = 11

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:398

One float value.

C#
Float64 = 12

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:401

One double value.

C#
Int16 = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:377

One short value.

C#
Int32 = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:383

One int value.

C#
Int64 = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:389

One long value.

C#
InterfaceReference = 27

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:446

An interface or abstract base valued as none or one satisfying asset.

C#
ProjectClass = 25

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:440

A project-defined serializable class, valued as none or one instance.

C#
ProjectStruct = 24

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:437

A project-defined struct whose fields are all unmanaged.

C#
Quaternion = 20

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:425

UnityEngine Quaternion.

C#
Rect = 22

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:431

UnityEngine Rect.

C#
SByte = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:371

One sbyte value.

C#
String = 14

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:407

Text, which distinguishes none from empty.

C#
UInt16 = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:380

One ushort value.

C#
UInt32 = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:386

One uint value.

C#
UInt64 = 9

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:392

One ulong value.

C#
UnityObjectReference = 26

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:443

A UnityEngine.Object asset reference, valued as none or one asset.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:365

No supported representation.

C#
Vector2 = 15

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:410

UnityEngine Vector2.

C#
Vector2Int = 18

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:419

UnityEngine Vector2Int.

C#
Vector3 = 16

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:413

UnityEngine Vector3.

C#
Vector3Int = 19

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:422

UnityEngine Vector3Int.

C#
Vector4 = 17

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:416

UnityEngine Vector4.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueRejectionReason

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:484-533

Underlying type: byte

The stable reason one declared value cannot be used.

Responsibilities:

  • Name every refusal the declared-value contract can report, so diagnostics stay exact and nothing is substituted, truncated, coerced, or omitted.

Does NOT:

  • Carry presentation text; the diagnostic record supplies the message.

C#
CannotResolveToOneType = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:499

More than one type matches and no recorded assembly settles it.

C#
DuplicateDictionaryKey = 12

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:523

A dictionary entry carries a key that is duplicated at commit.

C#
IncompatibleMemberRole = 10

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:517

The value is not compatible with the member role it is bound to.

C#
InvalidAssetAssignment = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:511

The assigned object is a scene object or does not satisfy the slot.

C#
InvalidCanonicalPayload = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:505

The canonical payload does not parse against the declared type.

C#
InvalidDeclaredName = 15

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:532

The declared name is not a valid identifier or is already declared.

C#
NestedCollection = 11

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:520

A collection is nested inside a collection shape.

C#
NoEntityPathStorage = 9

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:514

The entity path has no storage for this declared value.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:487

The declaration is valid.

C#
NullDictionaryKey = 14

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:529

A dictionary entry carries the reserved null-key marker.

C#
OpenGeneric = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:493

The declared type is an open generic definition.

C#
RequiredDictionaryKey = 13

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:526

A dictionary entry carries a key that has never been committed.

C#
TypeNotFound = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:496

The recorded assembly no longer declares the recorded type.

C#
UnserializableType = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:502

Unity cannot retain a value of the declared type.

C#
UnsupportedType = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:490

The declared type is not an authorable value type.

C#
ValueOutOfRange = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:508

The parsed value falls outside the declared type’s range.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueResolutionResult

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:27-50

The complete resolved declared-value contract of one graph.

Responsibilities:

  • Carry every descriptor in author order beside the structured diagnostics resolution produced, so bake can refuse without re-resolving.

Does NOT:

  • Own native memory or decide bake ordering.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptor> Descriptors { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:30

Gets the resolved descriptors in author order.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> Diagnostics { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:33

Gets the structured diagnostics produced while resolving.

C#
public bool HasErrors { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:36-49

Gets whether any declaration was refused.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueResolver

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:71-2743

Resolves every saved declared value to exactly one type per half, derives its storage from the one rule, and reports every refusal with complete source-local coordinates.

Responsibilities:

  • Apply the three, and only three, type-resolution outcomes a saved type record can have (it resolves, it cannot be found, or it is ambiguous) to a value type and, for a dictionary, independently to its key type.
  • Derive storage from the one rule: unmanaged data is carried on the entity path, and a managed reference or a managed lookup is not.
  • Enforce serialization eligibility, encode canonical payloads into exact native default bytes, and retain every invalid authored payload and dictionary entry verbatim.

Does NOT:

  • Adopt a same-named survivor, change a collection element type, truncate, coerce, supply a default, or omit a variable. Resolution runs at import and bake, never during a tick.

C#
public static int BufferHeaderSize { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:601

Gets the byte size of the element-count header a carried buffer writes first.

C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind ClassifyKind(System.Type type)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:373-412

Classifies one resolved type into its declared-value representation kind.

ClassifyStorage(BehaviorDeclaredValueKind kind, BehaviorDeclaredValueShape shape, Type resolvedType)

Section titled “ClassifyStorage(BehaviorDeclaredValueKind kind, BehaviorDeclaredValueShape shape, Type resolvedType)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredValueStorageClass ClassifyStorage(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape shape, System.Type resolvedType)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:418-436

Derives storage from the one rule. Unmanaged data is carried on both surfaces; a managed reference or a managed lookup is a GameObject-path value.

ComparisonSupport(BehaviorDeclaredValueKind kind, BehaviorDeclaredValueShape shape, Type resolvedType)

Section titled “ComparisonSupport(BehaviorDeclaredValueKind kind, BehaviorDeclaredValueShape shape, Type resolvedType)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredComparisonSupport ComparisonSupport(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape shape, System.Type resolvedType)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:445-492

Derives the one comparison rule a declared value offers a transition predicate. Ordering and equality decide numbers,char, and a numeric-backed enum, because each is a single ordered scalar. Equality alone decidesbool, text, a flags enum, a reference, and a value struct, because none of them has a meaningful order. A collection, a lookup, and an unusable declaration offer no comparison at all.

ComputeNativeSize(BehaviorDeclaredValueDescriptor descriptor, BehaviorSourceDeclaredValue value)

Section titled “ComputeNativeSize(BehaviorDeclaredValueDescriptor descriptor, BehaviorSourceDeclaredValue value)”
C#
public static int ComputeNativeSize(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptor descriptor, BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:584-598

Gets the exact native footprint of one declared value: one element for a single value, or a four-byte element count followed by the authored elements for a buffer.

C#
public static System.Collections.Generic.IReadOnlyList<System.Reflection.FieldInfo> GetSerializedFields(System.Type type)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:902-931

Gets the Unity-serializable fields of a type in deterministic declaration order.

IsCarriedKind(BehaviorDeclaredValueKind kind, Type resolvedType)

Section titled “IsCarriedKind(BehaviorDeclaredValueKind kind, Type resolvedType)”
C#
public static bool IsCarriedKind(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type resolvedType)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:503-538

Returns whether the entity path carries one element kind as unmanaged data.

C#
public static bool IsFlagsEnum(System.Type resolvedType)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:495-500

Returns whether one resolved enum type is a flag set rather than one member.

NativeSize(BehaviorDeclaredValueKind kind, Type resolvedType)

Section titled “NativeSize(BehaviorDeclaredValueKind kind, Type resolvedType)”
C#
public static int NativeSize(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type resolvedType)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:541-578

Gets the exact native byte size of one carried element.

ProjectOverride(BehaviorSourceDeclaredValue declaration, string rawValue, int sourceLine, ICollection<BehaviorSourceDiagnostic> diagnostics)

Section titled “ProjectOverride(BehaviorSourceDeclaredValue declaration, string rawValue, int sourceLine, ICollection<BehaviorSourceDiagnostic> diagnostics)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue ProjectOverride(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue declaration, string rawValue, int sourceLine, System.Collections.Generic.ICollection<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> diagnostics)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:151-213

Projects one candidate-authored override through the declaration’s saved shape without resolving its type or materializing project assets. The returned declaration is a derived snapshot; the supplied module declaration is never mutated.

C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredValueResolutionResult Resolve(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:120-123

Resolves every declared value in one graph, in author order.

Resolve(BehaviorSourceAst ast, Func<string, Object> assetResolver)

Section titled “Resolve(BehaviorSourceAst ast, Func<string, Object> assetResolver)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredValueResolutionResult Resolve(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, System.Func<string, UnityEngine.Object> assetResolver)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:129-144

Resolves every declared value in author order, using the supplied project-asset lookup when a customer class contains an asset or interface field.

ResolveOne(BehaviorSourceDeclaredValue value, ICollection<BehaviorSourceDiagnostic> diagnostics)

Section titled “ResolveOne(BehaviorSourceDeclaredValue value, ICollection<BehaviorSourceDiagnostic> diagnostics)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptor ResolveOne(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, System.Collections.Generic.ICollection<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> diagnostics)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:241-246

Resolves one declared value. A refused declaration keeps its exact authored identity and payload, so nothing the author typed is discarded to clear the fault.

ResolveOne(BehaviorSourceDeclaredValue value, ICollection<BehaviorSourceDiagnostic> diagnostics, Func<string, Object> assetResolver)

Section titled “ResolveOne(BehaviorSourceDeclaredValue value, ICollection<BehaviorSourceDiagnostic> diagnostics, Func<string, Object> assetResolver)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptor ResolveOne(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, System.Collections.Generic.ICollection<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> diagnostics, System.Func<string, UnityEngine.Object> assetResolver)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:252-331

Resolves one declared value with project-asset lookup available to exact dictionary key materialization.

ResolveOverride(BehaviorSourceDeclaredValue declaration, string rawValue, int sourceLine, ICollection<BehaviorSourceDiagnostic> diagnostics, Func<string, Object> assetResolver)

Section titled “ResolveOverride(BehaviorSourceDeclaredValue declaration, string rawValue, int sourceLine, ICollection<BehaviorSourceDiagnostic> diagnostics, Func<string, Object> assetResolver)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptor ResolveOverride(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue declaration, string rawValue, int sourceLine, System.Collections.Generic.ICollection<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> diagnostics, System.Func<string, UnityEngine.Object> assetResolver = null)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:220-235

Projects one candidate-authored override and then resolves the derived declaration against its exact type contract. Type and asset validation remain at the caller’s existing resolution boundary.

ResolveTypeRecord(BehaviorSourceTypeIdentity identity, out Type resolved, out IReadOnlyList<BehaviorSourceTypeIdentity> candidates)

Section titled “ResolveTypeRecord(BehaviorSourceTypeIdentity identity, out Type resolved, out IReadOnlyList<BehaviorSourceTypeIdentity> candidates)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredTypeResolution ResolveTypeRecord(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity identity, out System.Type resolved, out System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity> candidates)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:337-370

Applies the three, and only three, resolution outcomes to one saved type record. Any surviving same-named type is offered as a candidate and never adopted.

TryBuildStructValue(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, out object value, out string error)

Section titled “TryBuildStructValue(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, out object value, out string error)”
C#
public static bool TryBuildStructValue(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type resolvedType, string payload, out object value, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:755-764

Builds one boxed value of a fixed Unity value struct or project-defined unmanaged struct from its canonical field block. Boxing happens at import and bake only.

TryEncodeElement(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, byte[] destination, int offset, out string error)

Section titled “TryEncodeElement(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, byte[] destination, int offset, out string error)”
C#
public static bool TryEncodeElement(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type resolvedType, string payload, byte[] destination, int offset, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:660-749

Encodes one canonical element payload into exact native bytes. Invalid payloads are refused with their reason rather than truncated, coerced, or defaulted.

TryEncodeNativeDefault(BehaviorDeclaredValueDescriptor descriptor, byte[] destination, int offset, out string error)

Section titled “TryEncodeNativeDefault(BehaviorDeclaredValueDescriptor descriptor, byte[] destination, int offset, out string error)”
C#
public static bool TryEncodeNativeDefault(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptor descriptor, byte[] destination, int offset, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:607-654

Encodes the declared value’s authored payload into the exact native default bytes at the supplied offset. Returns false with an exact reason instead of coercing.

TryMaterializeValue(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, Func<string, Object> assetResolver, out object value, out string error)

Section titled “TryMaterializeValue(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, Func<string, Object> assetResolver, out object value, out string error)”
C#
public static bool TryMaterializeValue(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type resolvedType, string payload, System.Func<string, UnityEngine.Object> assetResolver, out object value, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:785-795

Materializes one canonical payload as its exact declared type, including nested asset and interface fields resolved by stable project-asset identity.

TryMaterializeValue(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, out object value, out string error)

Section titled “TryMaterializeValue(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, out object value, out string error)”
C#
public static bool TryMaterializeValue(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type resolvedType, string payload, out object value, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:771-779

Materializes one canonical payload as its exact declared type, without asset lookup. This is the one type-directed interpretation of a payload; the dictionary key contract and the editor both read keys and values through it rather than reimplementing it.

TryValidatePayload(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, out string error)

Section titled “TryValidatePayload(BehaviorDeclaredValueKind kind, Type resolvedType, string payload, out string error)”
C#
public static bool TryValidatePayload(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type resolvedType, string payload, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:892-899

Validates one canonical payload against one resolved type, reporting the exact reason it does not fit rather than coercing it. The editor’s fault presenter reports one element, entry or field at a time, so it needs the same per-payload verdict the bake uses rather than the first rejection of a whole declaration.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueSerializationClass

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:315-349

Underlying type: byte

How Unity retains one declared value.

Responsibilities:

  • Select the exact serialized backing representation a generated companion field uses.

Does NOT:

C#
BuiltIn = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:321

A built-in scalar written as its C# keyword.

C#
Component = 10

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:348

A runtime-populated Component reference whose authored seed is none.

C#
Enum = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:324

An enum with a supported integral underlying type.

C#
InterfaceReference = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:339

An interface or abstract base a project asset satisfies.

C#
ManagedCollection = 9

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:345

A product-backed recursive collection Unity cannot serialize directly.

C#
ProjectClass = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:333

A project-defined serializable class carried by managed reference.

C#
ProjectStruct = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:330

A project-defined struct whose fields are all unmanaged.

C#
Text = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:342

Text, which distinguishes none from empty.

C#
UnityObject = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:336

A UnityEngine.Object asset reference.

C#
UnityValueStruct = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:327

A fixed UnityEngine value struct.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:318

No supported serialized representation.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:94-107

Underlying type: byte

The declared shape of one blackboard variable: single, list, array or dictionary, each with the type or types that shape needs.

Responsibilities:

  • Carry which of the four authorable shapes a declaration uses. Single, list and array carry one value type; dictionary carries a key type and a value type.

Does NOT:

  • Encode a generic or array spelling; the type identity always names the element type.

C#
Array = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:103

An ordered collection whose length is a field.

C#
Dictionary = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:106

An ordered set of entries with one key identity and one value identity.

C#
List = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:100

An ordered collection whose length the author edits by adding rows.

C#
Single = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:97

One value: a value type always holds one, a reference may hold none.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeChangeEffect

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:437-456

Underlying type: byte

What one shape change did to the declaration’s value.

Responsibilities:

  • Name the exact rebuild the shape-change rule applied, so the editor reports it in the same edit that made it.

Does NOT:

  • Carry presentation text; the report supplies the readable summary.

C#
FirstValueKept = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:446

The first value became the one value the single shape holds.

C#
Unchanged = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:440

The declaration already had the requested shape.

C#
ValuePromoted = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:455

The one value of a single shape became the one element of a sequence.

C#
ValueSeeded = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:449

There was no value to keep, so the type default seeded the single shape.

C#
ValuesDropped = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:452

Entering dictionary started at zero entries, so the values were dropped.

C#
ValuesKept = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:443

Every value moved across in authored order.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeChangeReport

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:467-492

What one shape change kept, seeded and dropped.

Responsibilities:

  • Report the exact counts the editor shows after a retype, so nothing is dropped silently.

Does NOT:

  • Undo the change; the edit command owns the undo step.

C#
public int DroppedKeyCount { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:485

Gets how many dictionary keys the change dropped.

C#
public int DroppedValueCount { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:482

Gets how many authored values the change dropped.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeChangeEffect Effect { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:476

Gets the exact rebuild the shape-change rule applied.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape FromShape { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:470

Gets the shape the declaration had.

C#
public int KeptValueCount { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:479

Gets how many authored values survived the change.

C#
public bool SeededTypeDefault { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:488

Gets whether the change seeded the declared type’s default.

C#
public string Summary { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:491

Gets the readable one-line summary of the change.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape ToShape { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:473

Gets the shape the declaration now has.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeLevel

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:156-170

One collection level in a recursively declared value shape.

Responsibilities:

  • Preserve an outermost-first list, array, or dictionary level.
  • Carry the exact recursively shaped key beside its own dictionary level.

Does NOT:

  • Repeat the value leaf type or flatten a collection key into a generic spelling.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueTypeShape Key { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:162

Gets or sets this dictionary level’s key shape, or null otherwise.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape Shape { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:159

Gets or sets this collection level’s shape.

C#
public string BuildCanonicalIdentity()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:165-169

Builds this level’s stable recursive identity.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeModel

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:513-1058

The shape half of a declaration: which of the four shapes it uses, the type or types that shape needs, and the rebuild every shape change applies (``).

Responsibilities:

  • Commit a dictionary’s key and value identities together, and retype either half without touching the other or discarding an entry.
  • Apply the shape-change rules: entering dictionary starts at zero entries because no key may be invented, leaving dictionary keeps values in authored order and drops keys, and single retains the first value or seeds the declared type’s default.
  • Own an array’s length as a field, where raising appends type defaults and lowering drops trailing elements, and keep every dictionary entry operation in authored order.

Does NOT:

  • Resolve a type, validate a payload, or create an undo step. The edit command wraps these operations, and the resolver reports what no longer fits.

AddInnermostLevel(BehaviorSourceDeclaredValue value, BehaviorDeclaredValueShape shape, BehaviorDeclaredValueTypeShape key)

Section titled “AddInnermostLevel(BehaviorSourceDeclaredValue value, BehaviorDeclaredValueShape shape, BehaviorDeclaredValueTypeShape key)”
C#
public static void AddInnermostLevel(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape shape, BitQuirky.Behavior.Authoring.BehaviorDeclaredValueTypeShape key = null)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:686-749

Adds one innermost collection level and wraps every authored child in a one-element collection, retaining authored order and invalid payload text verbatim.

AppendEntry(BehaviorSourceDeclaredValue value, BehaviorSourceDictionaryEntry entry)

Section titled “AppendEntry(BehaviorSourceDeclaredValue value, BehaviorSourceDictionaryEntry entry)”
C#
public static void AppendEntry(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry entry)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:850-858

Appends one dictionary entry after every authored entry.

ChangeShape(BehaviorSourceDeclaredValue value, BehaviorDeclaredValueShape newShape, BehaviorSourceTypeIdentity keyType, string typeDefaultPayload)

Section titled “ChangeShape(BehaviorSourceDeclaredValue value, BehaviorDeclaredValueShape newShape, BehaviorSourceTypeIdentity keyType, string typeDefaultPayload)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeChangeReport ChangeShape(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape newShape, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity keyType, string typeDefaultPayload)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:594-676

Applies the shape change. The value type is always kept; the value is rebuilt by the rule that belongs to the pair of shapes, and the report names what was kept, seeded and dropped.

DeclareDictionary(BehaviorSourceDeclaredValue value, BehaviorSourceTypeIdentity keyType, BehaviorSourceTypeIdentity valueType)

Section titled “DeclareDictionary(BehaviorSourceDeclaredValue value, BehaviorSourceTypeIdentity keyType, BehaviorSourceTypeIdentity valueType)”
C#
public static void DeclareDictionary(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity keyType, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity valueType)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:537-552

Commits a dictionary declaration: the key identity and the value identity are chosen key first and value second, and are written together in one commit.

InsertEntry(BehaviorSourceDeclaredValue value, int index, BehaviorSourceDictionaryEntry entry)

Section titled “InsertEntry(BehaviorSourceDeclaredValue value, int index, BehaviorSourceDictionaryEntry entry)”
C#
public static void InsertEntry(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, int index, BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry entry)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:861-873

Inserts one dictionary entry at an exact authored position.

IsCollection(BehaviorDeclaredValueShape shape)

Section titled “IsCollection(BehaviorDeclaredValueShape shape)”
C#
public static bool IsCollection(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape shape)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:524-527

Returns whether the shape holds more than one value.

RemoveEntryAt(BehaviorSourceDeclaredValue value, int index)

Section titled “RemoveEntryAt(BehaviorSourceDeclaredValue value, int index)”
C#
public static void RemoveEntryAt(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, int index)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:876-885

Removes one dictionary entry, keeping the order of the rest.

RemoveInnermostLevel(BehaviorSourceDeclaredValue value)

Section titled “RemoveInnermostLevel(BehaviorSourceDeclaredValue value)”
C#
public static void RemoveInnermostLevel(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:755-812

Removes the innermost collection level and concatenates its children in authored order. A malformed child remains as one retained payload instead of being discarded.

ReplaceEntry(BehaviorSourceDeclaredValue value, int index, BehaviorSourceDictionaryEntry entry)

Section titled “ReplaceEntry(BehaviorSourceDeclaredValue value, int index, BehaviorSourceDictionaryEntry entry)”
C#
public static void ReplaceEntry(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, int index, BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry entry)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:888-899

Replaces one dictionary entry in place, keeping its authored position.

RequiresKeyType(BehaviorDeclaredValueShape shape)

Section titled “RequiresKeyType(BehaviorDeclaredValueShape shape)”
C#
public static bool RequiresKeyType(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape shape)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:518-521

Returns whether the shape carries a key type identity beside its value type.

RetypeKey(BehaviorSourceDeclaredValue value, BehaviorSourceTypeIdentity keyType)

Section titled “RetypeKey(BehaviorSourceDeclaredValue value, BehaviorSourceTypeIdentity keyType)”
C#
public static void RetypeKey(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity keyType)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:558-571

Retypes the key half of a dictionary. The value half and every authored entry are kept exactly; the resolver reports the keys that no longer fit.

RetypeValue(BehaviorSourceDeclaredValue value, BehaviorSourceTypeIdentity valueType)

Section titled “RetypeValue(BehaviorSourceDeclaredValue value, BehaviorSourceTypeIdentity valueType)”
C#
public static void RetypeValue(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity valueType)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:577-583

Retypes the value half. The key half of a dictionary and every authored payload are kept exactly; the resolver reports the values that no longer fit.

SetArrayLength(BehaviorSourceDeclaredValue value, int length, string typeDefaultPayload)

Section titled “SetArrayLength(BehaviorSourceDeclaredValue value, int length, string typeDefaultPayload)”
C#
public static void SetArrayLength(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value, int length, string typeDefaultPayload)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:822-847

Sets an authored collection’s length. Raising appends the declared type’s default, and lowering drops trailing elements.

SetEmpty(BehaviorSourceDeclaredValue value)

Section titled “SetEmpty(BehaviorSourceDeclaredValue value)”
C#
public static void SetEmpty(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:920-931

Sets a collection to zero elements or zero entries, which is not the none state.

SetNone(BehaviorSourceDeclaredValue value)

Section titled “SetNone(BehaviorSourceDeclaredValue value)”
C#
public static void SetNone(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:905-917

Sets a collection to the explicit none state, which stays distinct from a collection that holds zero elements or zero entries.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueStorageClass

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:293-303

Underlying type: byte

Where the runtime keeps a declared value, derived from the one rule: unmanaged data is carried on either path, and a managed reference or lookup is GameObject-path only.

Responsibilities:

  • Say whether the shared native blackboard carries the value, a native buffer carries its elements, or the GameObject-path managed companion holds it.

Does NOT:

  • Get authored. Storage classification is derived from the declared type and shape.

C#
ManagedCompanion = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:302

A managed reference or managed lookup, carried on the GameObject path only.

C#
Native = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:296

Unmanaged data carried in one native blackboard slot on both surfaces.

C#
NativeBuffer = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:299

A list or array of unmanaged elements carried as a native buffer.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueTypeShape

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:119-144

One exact recursively shaped type used by a dictionary key.

Responsibilities:

  • Carry the innermost leaf identity and every outer collection level in reading order.
  • Keep one independently shaped key type at every dictionary level.

Does NOT:

  • Resolve a CLR type, carry a value, or impose a nesting-depth limit.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity DeclaredType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:122

Gets or sets the exact innermost leaf type.

C#
public bool IsCollection { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:131

Gets whether this type is itself a collection.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeLevel> Levels { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:128

Gets the collection levels from outermost to innermost.

C#
public bool RecordsAssembly { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:125

Gets whether the saved leaf token recorded its assembly.

C#
public string BuildCanonicalIdentity()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:134-143

Builds the stable recursive identity used by deterministic hashes.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueTypeShapeFactory

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:182-280

Converts between exact CLR collection types and the source format’s leaf-plus-level model.

Responsibilities:

  • Decompose arrays, lists, and dictionaries at any depth into outermost-first levels.
  • Reconstruct the exact closed CLR type without customer wrapper types.

Does NOT:

  • Resolve saved identities, validate authorability, or interpret values.

Construct(Type leaf, IReadOnlyList<BehaviorDeclaredValueShapeLevel> levels, Func<BehaviorDeclaredValueTypeShape, Type> resolveKey)

Section titled “Construct(Type leaf, IReadOnlyList<BehaviorDeclaredValueShapeLevel> levels, Func<BehaviorDeclaredValueTypeShape, Type> resolveKey)”
C#
public static System.Type Construct(System.Type leaf, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeLevel> levels, System.Func<BitQuirky.Behavior.Authoring.BehaviorDeclaredValueTypeShape, System.Type> resolveKey)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:199-232

Reconstructs an exact CLR type from an already resolved leaf and key leaves.

C#
public static BitQuirky.Behavior.Authoring.BehaviorDeclaredValueTypeShape FromType(System.Type type)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:185-196

Decomposes one exact CLR type into its leaf identity and collection levels.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDictionaryKeyContract

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1074-1321

The one dictionary key contract: what makes two authored keys the same key (``).

Responsibilities:

  • Materialize one saved key payload as its exact declared key type, and compare two keys under that type’s runtime equality, so aliased enum members and reordered flags sets are one key while differing text, case and value are not.
  • Refuse a null key while keeping empty text a legal string key.
  • Answer whether a candidate key collides with an authored entry, so the editor and the importer reach the same verdict from the same rule.

Does NOT:

  • Repair, rewrite, or reorder a key. Every entry keeps the author’s saved text verbatim.

AreEqual(BehaviorDeclaredValueKind kind, Type keyType, string leftPayload, string rightPayload, Func<string, Object> assetResolver, out string error)

Section titled “AreEqual(BehaviorDeclaredValueKind kind, Type keyType, string leftPayload, string rightPayload, Func<string, Object> assetResolver, out string error)”
C#
public static bool AreEqual(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, string leftPayload, string rightPayload, System.Func<string, UnityEngine.Object> assetResolver, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1190-1211

Returns whether two saved payloads are one key, resolving nested project assets before invoking the customer’s exact equality contract.

AreEqual(BehaviorDeclaredValueKind kind, Type keyType, string leftPayload, string rightPayload, out string error)

Section titled “AreEqual(BehaviorDeclaredValueKind kind, Type keyType, string leftPayload, string rightPayload, out string error)”
C#
public static bool AreEqual(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, string leftPayload, string rightPayload, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1176-1184

Returns whether two saved key payloads are one key under the declared key type’s runtime equality.

AreMaterializedKeysEqual(BehaviorDeclaredValueKind kind, Type keyType, object left, object right)

Section titled “AreMaterializedKeysEqual(BehaviorDeclaredValueKind kind, Type keyType, object left, object right)”
C#
public static bool AreMaterializedKeysEqual(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, object left, object right)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1216-1235

Compares two already-materialized keys under the declared key type’s runtime equality.

IndexOfEqualKey(IReadOnlyList<BehaviorSourceDictionaryEntry> entries, BehaviorDeclaredValueKind kind, Type keyType, string payload)

Section titled “IndexOfEqualKey(IReadOnlyList<BehaviorSourceDictionaryEntry> entries, BehaviorDeclaredValueKind kind, Type keyType, string payload)”
C#
public static int IndexOfEqualKey(System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry> entries, BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, string payload)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1242-1249

Finds the authored entry whose committed key is the same key as the candidate payload, or -1. A required or saved-null key is local to its own entry and collides with nothing, and an unusable candidate collides with nothing either.

IndexOfEqualKey(IReadOnlyList<BehaviorSourceDictionaryEntry> entries, BehaviorDeclaredValueKind kind, Type keyType, string payload, Func<string, Object> assetResolver)

Section titled “IndexOfEqualKey(IReadOnlyList<BehaviorSourceDictionaryEntry> entries, BehaviorDeclaredValueKind kind, Type keyType, string payload, Func<string, Object> assetResolver)”
C#
public static int IndexOfEqualKey(System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry> entries, BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, string payload, System.Func<string, UnityEngine.Object> assetResolver)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1255-1296

Finds the authored entry equal to a candidate, resolving nested project assets before comparing customer-class keys.

IsAcceptableKeyPayload(BehaviorDeclaredValueKind kind, Type keyType, string payload, Func<string, Object> assetResolver, out string error)

Section titled “IsAcceptableKeyPayload(BehaviorDeclaredValueKind kind, Type keyType, string payload, Func<string, Object> assetResolver, out string error)”
C#
public static bool IsAcceptableKeyPayload(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, string payload, System.Func<string, UnityEngine.Object> assetResolver, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1152-1170

Returns whether a saved key can be committed, resolving nested project assets before applying the declared key type’s null and equality rules.

IsAcceptableKeyPayload(BehaviorDeclaredValueKind kind, Type keyType, string payload, out string error)

Section titled “IsAcceptableKeyPayload(BehaviorDeclaredValueKind kind, Type keyType, string payload, out string error)”
C#
public static bool IsAcceptableKeyPayload(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, string payload, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1141-1146

Returns whether a saved key payload can be a key at all. A dictionary holds no null key; empty text remains a legal string key.

TryMaterialize(BehaviorDeclaredValueKind kind, Type keyType, string payload, Func<string, Object> assetResolver, out object key, out string error)

Section titled “TryMaterialize(BehaviorDeclaredValueKind kind, Type keyType, string payload, Func<string, Object> assetResolver, out object key, out string error)”
C#
public static bool TryMaterialize(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, string payload, System.Func<string, UnityEngine.Object> assetResolver, out object key, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1104-1135

Materializes one saved key with project-asset lookup available to inline customer classes that contain asset or interface fields.

TryMaterialize(BehaviorDeclaredValueKind kind, Type keyType, string payload, out object key, out string error)

Section titled “TryMaterialize(BehaviorDeclaredValueKind kind, Type keyType, string payload, out object key, out string error)”
C#
public static bool TryMaterialize(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, string payload, out object key, out string error)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1090-1098

Materializes one saved key payload as its exact declared key type. An asset or interface key materializes as its stable asset identity, because asset identity is what that key compares by.

Category: Source authoring

C#
readonly struct BitQuirky.Behavior.Authoring.BehaviorDictionaryKeySeed

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1334-1360

The seed one Add entry will use, stated before the action (``).

Responsibilities:

  • Carry the exact key payload the next entry will hold, or say why no unique key can be computed, distinguishing a key space with no computable successor from one that holds no unused value at all.

Does NOT:

  • Add the entry; the edit command owns that undo step.

C#
public string Description { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1359

Gets the readable statement of the seed, shown before the action.

C#
public bool HasSeed { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1347

Gets whether a unique key was computed.

C#
public string KeyPayload { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1350

Gets the exact canonical key payload the next entry will hold.

C#
public bool SpaceExhausted { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1356

Gets whether the declared key type’s space holds no unused value. Add entry is unavailable only in this state.

BehaviorDictionaryKeySeed(bool hasSeed, string keyPayload, bool spaceExhausted, string description)

Section titled “BehaviorDictionaryKeySeed(bool hasSeed, string keyPayload, bool spaceExhausted, string description)”
C#
public BehaviorDictionaryKeySeed(bool hasSeed, string keyPayload, bool spaceExhausted, string description)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1337-1344

Creates one computed seed verdict.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorDictionaryKeySeeder

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1375-1956

Computes the deterministic key one Add entry will seed (``).

Responsibilities:

  • Walk the declared key type’s own value space in one fixed order, fill every unused value before reporting exhaustion, and state the seed before the action.
  • Report a key type with no computable successor separately from an exhausted key space, so Add entry still creates one real entry with a required key and a default value.

Does NOT:

  • Invent a key that already exists, reorder authored entries, or make Add entry unavailable for any reason other than an exhausted key space.

BuildSeededEntry(BehaviorDictionaryKeySeed seed, string valueDefaultPayload, int sourceLine)

Section titled “BuildSeededEntry(BehaviorDictionaryKeySeed seed, string valueDefaultPayload, int sourceLine)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry BuildSeededEntry(BitQuirky.Behavior.Authoring.BehaviorDictionaryKeySeed seed, string valueDefaultPayload, int sourceLine)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1448-1467

Builds the one real entry Add entry creates: the computed key when there is one, and otherwise a required key the author completes, always beside a default value.

ComputeNextKey(BehaviorDeclaredValueKind kind, Type keyType, IReadOnlyList<BehaviorSourceDictionaryEntry> entries)

Section titled “ComputeNextKey(BehaviorDeclaredValueKind kind, Type keyType, IReadOnlyList<BehaviorSourceDictionaryEntry> entries)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDictionaryKeySeed ComputeNextKey(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry> entries)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1390-1396

Computes the next unique key for one dictionary’s declared key type, given its authored entries. Entries whose keys are uncommitted, null or unreadable take part in nothing: they neither reserve a value nor block the seed.

ComputeNextKey(BehaviorDeclaredValueKind kind, Type keyType, IReadOnlyList<BehaviorSourceDictionaryEntry> entries, string variableName)

Section titled “ComputeNextKey(BehaviorDeclaredValueKind kind, Type keyType, IReadOnlyList<BehaviorSourceDictionaryEntry> entries, string variableName)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorDictionaryKeySeed ComputeNextKey(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKind kind, System.Type keyType, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry> entries, string variableName)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1404-1442

Computes the next unique key with the declaring variable’s own name available to the text seed: a dictionary with no committed string key yet seeds the variable’s own naming run (pace_by_sector seeds sector_1), and entries whose keys carry no common run fall back to the key_1, key_2 run.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorLoadResult

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:76-132

Outcome of a behavior load. On success,Artifactis non-null and the caller owns its native memory. On failure, the artifact is null andDiagnosticscontains parse or bake errors.

C#
public string AddressableKey { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:93

Source key the load was issued for. The property keeps its original name for public API compatibility.

C#
public BitQuirky.Behavior.Baked.BakedBehaviorArtifact Artifact { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:79

The baked artifact this load produced, or null when the load failed; the caller owns its native memory and must dispose it.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> Diagnostics { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:87

Parse diagnostics followed by bake diagnostics, each group in the order it was produced.

C#
public bool HasErrors { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:118-131

Whether any retained diagnostic has error severity, meaning the load produced no usable artifact.

C#
public string SourceContentHash { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:101

SHA-256 hex of the Mermaid source text used for this bake. Empty when the load failed before hashing or when constructed via failure helpers. Callers that cache artifacts can store this and pass it to BakeFromTextIfFresh.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Baked.BakedBehaviorArtifact> SubgraphArtifacts { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:85

Legacy compatibility view. Resolved subgraphs are now inlined into Artifact, so this collection is always empty.

C#
public bool Success { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:112

Whether an artifact was produced and no retained diagnostic has error severity.

C#
public bool UsedDefaultBakeOptions { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:109

True when the artifact was baked without caller-supplied BehaviorBakeOptions. Only these bakes are reusable by BakeFromTextIfFreshbecause explicit options can change artifact contents independently of source text.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorMemberBlackboardNaming

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1850-2041

Deterministic automatic blackboard naming for member bindings.

Responsibilities:

  • Derive each projected entry’s canonical unqualified name, apply valid author overrides, prefix every member of a colliding group with the target identifier, and report residual collisions for rejection.

Does NOT:

  • Append numeric suffixes, truncate names, or build blackboard layout.

DeriveNames(IReadOnlyList<BehaviorSourceMemberBinding> bindings, IReadOnlyCollection<string> declaredVariableNames, out List<string> residualCollisionBindingIds)

Section titled “DeriveNames(IReadOnlyList<BehaviorSourceMemberBinding> bindings, IReadOnlyCollection<string> declaredVariableNames, out List<string> residualCollisionBindingIds)”
C#
public static System.Collections.Generic.IReadOnlyDictionary<string, string> DeriveNames(System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding> bindings, System.Collections.Generic.IReadOnlyCollection<string> declaredVariableNames, out System.Collections.Generic.List<string> residualCollisionBindingIds)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1903-1991

Computes the canonical projected names against the graph’s declared variable names as well. A declared name is never moved by the convention, so a surfaced entry whose unqualified name a variable already declares takes its target prefix instead, exactly as two colliding surfaced entries do.

DeriveNames(IReadOnlyList<BehaviorSourceMemberBinding> bindings, out List<string> residualCollisionBindingIds)

Section titled “DeriveNames(IReadOnlyList<BehaviorSourceMemberBinding> bindings, out List<string> residualCollisionBindingIds)”
C#
public static System.Collections.Generic.IReadOnlyDictionary<string, string> DeriveNames(System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding> bindings, out System.Collections.Generic.List<string> residualCollisionBindingIds)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1890-1895

Computes the canonical projected name for every projecting binding in order. Names follow the fixed algorithm: exact member identifier for property and field bindings, lower-camel method identifier for method results, valid author override wins, every member of a group that shares an unqualified name gains the <targetLowerCamelIdentifier>.prefix, and residual collisions are returned for rejection instead of being suffixed.

Projects(BehaviorSourceMemberBinding binding)

Section titled “Projects(BehaviorSourceMemberBinding binding)”
C#
public static bool Projects(BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding binding)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1858-1880

Returns whether the binding projects a blackboard entry: every property and field binding, and every method binding with a blackboard result.

C#
public static string ToLowerCamel(string identifier)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1994-2017

Converts an exact C# identifier to its lower-camel spelling.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorRandomSelectorDirectFailureSource

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorRandomSelectorDirectFailureSource.cs:22-86

The one reading of a Random Selector’s optional Direct failure weight shared by source validation, bake, editor authoring, and every editor surface.

Responsibilities:

  • Report whether the outcome is present on a node at all, which is what separates an absent outcome from a present zero.
  • Decide whether the saved text is a usable finite weight of zero or greater, and hand back the parsed value without ever coercing, clearing, or defaulting the text.

Does NOT:

  • Mutate a node, format a readout, or decide how an unusable weight is presented.

ResolveDrawWeight(BehaviorSourceNode node)

Section titled “ResolveDrawWeight(BehaviorSourceNode node)”
C#
public static float ResolveDrawWeight(BitQuirky.Behavior.Authoring.BehaviorSourceNode node)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorRandomSelectorDirectFailureSource.cs:79-85

Returns the Direct failure weight this node contributes to a draw: zero when the outcome is absent, zero when its saved text is unusable, and the authored value otherwise. Only a value greater than zero can ever be drawn.

TryParseUsableWeight(string savedText, out float weight)

Section titled “TryParseUsableWeight(string savedText, out float weight)”
C#
public static bool TryParseUsableWeight(string savedText, out float weight)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorRandomSelectorDirectFailureSource.cs:56-72

Returns whether saved text is a usable Direct failure weight: a finite number zero or greater. Empty, nonnumeric, negative, and non-finite text are all unusable and keep their exact saved form for the author to repair.

TryReadSavedText(BehaviorSourceNode node, out string savedText)

Section titled “TryReadSavedText(BehaviorSourceNode node, out string savedText)”
C#
public static bool TryReadSavedText(BitQuirky.Behavior.Authoring.BehaviorSourceNode node, out string savedText)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorRandomSelectorDirectFailureSource.cs:29-49

Reads the node’s saved Direct failure weight text. Returns false when the outcome is absent; an emptysavedTextwith a true result is a present outcome whose weight the author cleared.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceActiveUpdateSource

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:177-187

Underlying type: byte

Explicit source selected for a state’s Active Update lifecycle.

C#
Actions = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:183

The state’s Active Update action list is active.

C#
BehaviorTree = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:186

The state’s non-action hosted behavior-tree root is active.

C#
Unspecified = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:180

No explicit source was authored, so legacy topology decides.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceAsset

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:46-280

Inherits: ScriptableObject

Implements: ISerializationCallbackReceiver

Imported representation of a canonical Bit Quirky behavior source.

Responsibilities:

  • Carry the exact source text imported from a.bqbehaviorfile.
  • Be the main Unity asset type for behavior sources so inspectors can show behavior tooling instead of the raw text asset inspector.
  • Retain structured diagnostics and the deterministic serialized bake cache.
  • Materialize fresh native runtime artifacts without parsing or baking source.
  • Invalidate derived diagnostics when Unity reloads the serialized import data.

Does NOT:

  • Parse, validate, bake, or mutate the canonical source file.
  • Store user editor preferences or treat derived data as source authority.

C#
public ulong BindingSetFingerprint { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:143-145

Gets the generated member-provider and managed-companion contract fingerprint, or zero when the source has no executable cache or no generated binding contract.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> Diagnostics { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:153-173

Gets the structured diagnostics recorded by the importer.

C#
public ulong ExecutableContentHash { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:135-137

Gets the complete executable-content hash of the derived cache, or zero when absent.

C#
public ulong ExecutableSemanticHash { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:148-150

Compatibility alias for ExecutableContentHash.

C#
public bool HasBakedCache { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:116

Compatibility alias for the imported baked-cache contract.

C#
public bool HasExecutableCache { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:113

Gets whether validation produced a derived executable cache.

C#
public BitQuirky.Behavior.Blackboard.BehaviorManagedBlackboardTemplate ManagedBlackboardTemplate { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:129-130

Gets the imported typed companion template derived from canonical source, or null when every declared value is carried by the native blackboard.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberReference> MemberReferences { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:122-123

Gets the explicit-reference assignments owned by this graph asset. Scene-object assignments remain on theBehaviorAgentthat owns them.

C#
public string SourceContentHash { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:110

Gets the SHA-256 identity of the exact imported source text.

C#
public string SourceFormat { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:107

Gets the imported additive source-format identifier.

C#
public string Text { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:104

Gets the exact canonical text imported from the source file.

C#
public BitQuirky.Behavior.Baked.BakedBehaviorArtifact CreateArtifact(Unity.Collections.Allocator allocator = Persistent)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:269-277

Materializes a fresh native artifact owned by the caller.

SetImportedData(string text, string sourceFormat, string sourceContentHash, IReadOnlyList<BehaviorSourceDiagnostic> diagnostics, BakedBehaviorArtifact artifact)

Section titled “SetImportedData(string text, string sourceFormat, string sourceContentHash, IReadOnlyList<BehaviorSourceDiagnostic> diagnostics, BakedBehaviorArtifact artifact)”
C#
public void SetImportedData(string text, string sourceFormat, string sourceContentHash, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> diagnostics, BitQuirky.Behavior.Baked.BakedBehaviorArtifact artifact)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:238-266

Replaces all importer-owned exact text, identity, diagnostic, and derived cache data.

SetImportedManagedBlackboardTemplate(BehaviorManagedBlackboardTemplate template)

Section titled “SetImportedManagedBlackboardTemplate(BehaviorManagedBlackboardTemplate template)”
C#
public void SetImportedManagedBlackboardTemplate(BitQuirky.Behavior.Blackboard.BehaviorManagedBlackboardTemplate template)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:196-200

Stores the importer-owned managed companion template derived from canonical source. Import and tests call this while composing the derived graph cache; runtime agents read the resulting reference and never discover or create a template themselves.

SetImportedMemberReferences(IReadOnlyList<BehaviorMemberReference> references)

Section titled “SetImportedMemberReferences(IReadOnlyList<BehaviorMemberReference> references)”
C#
public void SetImportedMemberReferences(System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberReference> references)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:203-212

Stores importer-owned graph asset reference assignments.

C#
public void SetText(string text)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:176-189

Replaces the in-memory exact source text and clears derived data.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceAst

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1143-1206

Semantic AST extracted from the document. The bake step consumes this.

C#
public string BehaviorVersion { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1146

The author-controlled graph version from the %% behavior-version: header, independent of SourceFormat.

C#
public System.Collections.Generic.List<string> DeclaredFieldOrder { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1168

The declared field names in first-declaration order with repeats dropped. The baker starts the baked field table from this list in this order, so a declared field’s position here is its index in that table; variable-record values follow it.

C#
public System.Collections.Generic.Dictionary<string, BitQuirky.Behavior.Authoring.BehaviorSourceFieldType> DeclaredFieldTypes { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1172-1173

Declared non-default field types by field name; a declared field absent from this map bakes as Int32 unless a member binding supplies its type.

C#
public System.Collections.Generic.HashSet<string> DeclaredFields { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1164

Every declared blackboard field name, for ordinal membership tests; DeclaredFieldOrder holds the same names in authored order.

C#
public System.Collections.Generic.List<string> DeclaredServiceOrder { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1170

The declared external service ids in first-declaration order with repeats dropped. The baker starts the baked service table from this list in this order, so a declared service’s position here is its index in that table.

C#
public System.Collections.Generic.HashSet<string> DeclaredServices { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1166

Every declared external service id, for ordinal membership tests; DeclaredServiceOrder holds the same ids in authored order.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue> DeclaredValues { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1180

Gets every declared blackboard value in author order: authoritative format 1.3 variable records followed by the in-memory projection of legacy format 1.0 through 1.2 field declarations.

C#
public System.Collections.Generic.Dictionary<string, BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue> DeclaredValuesByName { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1183-1184

Gets the declared values addressed by their exact declared name.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceEdge> Edges { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1196

Every authored edge in source order.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding> GraphMemberBindings { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1205

Gets the graph-level blackboard-authored member bindings.

C#
public string Layer { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1148

The layer token from the %% layer: header; a behavior source declares behavior.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding> MemberBindings { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1202

Gets every member binding in the source: node-owned bindings in node order followed by graph-level blackboard-authored bindings sorted by stable binding id.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceNode> Nodes { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1194

Every authored node in source order. This is authoring order only: the baker assigns its own baked node indices and keeps a separate source-to-baked mapping.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceRuntimePath RuntimePath { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1161-1162

Gets or sets the object model this graph bakes for. GameObject is the default, so a source that never declares a Runtime path is a GameObject-path graph and its bytes are unchanged.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceFormatVersion SourceFormat { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1150-1151

Gets or sets the source format projected from the document header.

C#
public string ValidationProfile { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1154

Gets or sets the explicit consumer validation-profile token.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceAuthority

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:37-50

Underlying type: int

Authority context declared on a behavior source node. MirrorsAuthorityKindconceptually but lives at authoring layer where has not yet been defined; values are kept in lock-step intentionally.

C#
ClientPresentation = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:46

The node may run on a client instance for presentation only.

C#
EditorTestOnly = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:49

The node may run only in editor tests, never in a shipped session.

C#
HostAuthoritative = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:43

The node may run only on the authoritative host instance.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:40

No authority was authored on the node; the bake refuses it.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceBlackboardMemberBinding

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1342-1364

The graph-level blackboard projection of one member binding.

Responsibilities:

  • Carry the canonical projected name, value kind, direction, synchronization, exact notification identity, and origin consumed by the blackboard panel and runtime synchronization.

Does NOT:

  • Act as a separate manual variable declaration; it is projected deterministically from the member binding before blackboard layout is built.

C#
public string BindingId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1345

Gets or sets the stable identifier of the owning member binding.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberDirection Direction { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1354

Gets or sets the synchronization direction.

C#
public string Name { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1348

Gets or sets the canonical unique blackboard name.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberNotification NotificationIdentity { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1360

Gets or sets the exact notification event identity, when authored.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberBindingOrigin Origin { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1363

Gets or sets whether the binding was authored on a node or the blackboard.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberSynchronization Synchronization { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1357

Gets or sets the synchronization mode flags.

C#
public BitQuirky.Behavior.Member.BehaviorMemberValueKind ValueKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1351

Gets or sets the projected value kind.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceBlankLineBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1049-1051

Inherits: BehaviorSourceDocumentBlock

One blank line in the authored document, recorded so the writer can reproduce the author’s vertical spacing. Spacing is normalized rather than copied verbatim: the writer drops blank lines that precede the first emitted line and collapses a run of them into a single blank line.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceComparisonOperator

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:192-214

Underlying type: int

Authored comparison operator for a typed transition predicate.

C#
Equal = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:204

Holds when both operands compare equal. Source token ==.

C#
GreaterThan = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:213

Holds when the left field is strictly above the right operand. Source token >.

C#
GreaterThanOrEqual = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:210

Holds when the left field is at or above the right operand. Source token >=.

C#
LessThan = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:198

Holds when the left field is strictly below the right operand. Source token <.

C#
LessThanOrEqual = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:201

Holds when the left field is at or below the right operand. Source token <=.

C#
NotEqual = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:207

Holds when the operands do not compare equal. Source token !=.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:195

No operator was authored; the predicate is rejected by validation.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceCompositionResult

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:44-68

Managed source composition shared by baking and typed provider generation.

Responsibilities:

  • Retain the resolved, mutable source AST and its composition diagnostics.
  • Report whether composition produced an AST without error diagnostics.

Does NOT:

  • Own native allocations or require disposal.
  • Bake or execute the AST, or persist caller changes to source assets.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceAst Ast { get; internal set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:47

The resolved source AST retained by this result; null when no AST was produced.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> Diagnostics { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:49

Composition diagnostics retained by this result in discovery order.

C#
public bool HasErrors { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:54-67

Whether any retained diagnostic has error severity.

C#
public bool Success { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:51

Whether an AST is present and no retained diagnostic has error severity.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredElement

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:64-78

One ordered element of a declared list or array value.

Responsibilities:

  • Carry the exact canonical payload text of one element in authored order.

Does NOT:

  • Interpret the payload; the codec parses it against the declared element type.

C#
public string Payload { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:74

Gets the exact canonical payload text of the element.

C#
public int SourceLine { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:77

Gets the one-based source line the element was written on.

BehaviorSourceDeclaredElement(string payload, int sourceLine)

Section titled “BehaviorSourceDeclaredElement(string payload, int sourceLine)”
C#
public BehaviorSourceDeclaredElement(string payload, int sourceLine)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:67-71

Creates one ordered element carrying its exact canonical payload.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:134-324

One graph-scoped authored blackboard variable, as saved in canonical format 1.3 text.

Responsibilities:

  • Own the declared name, the exact element type identity, the key type identity of a dictionary, the declared shape, and the exact canonical payload in authored order.
  • Retain an invalid authored payload verbatim so a fault never discards what the author typed.

Does NOT:

C#
public string CanonicalValue { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:219

Gets or sets the exact canonical payload of a single-shape value, including the explicitnonetoken for a reference with no object. Collection shapes carry their payload inElements or Entries.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity ConcreteValueType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:155

Gets or sets the exact concrete type identity of a polymorphic managed value, when the saved value’s concrete type differs from the declared type.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity DeclaredType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:143

Gets or sets the exact element type identity. For a dictionary this is its value type; for every shape it is the element type, never a constructed generic or array spelling.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredElement> Elements { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:228

Gets the ordered elements of a list or array value.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry> Entries { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:231

Gets the ordered entries of a dictionary value.

C#
public bool HasKeyType { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:250

Gets whether the declared shape carries a key type identity.

C#
public bool HasRecursiveShape { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:167-186

Gets whether this declaration uses recursive shape metadata.

C#
public bool IsCollection { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:253

Gets whether the declared shape holds more than one value.

C#
public bool IsNoneCollection { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:225

Gets whether a collection shape saved the explicitnonetoken rather than a sequence. A dictionary with none and a dictionary with zero entries stay distinct.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity KeyType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:149

Gets or sets the exact key type identity. Present only when Shape is Dictionary.

C#
public string Name { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:137

Gets or sets the stable declared name nodes reference.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValueOrigin Origin { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:237-238

Gets or sets which declaration form this value came from.

C#
public bool RecordsKeyTypeAssembly { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:247

Gets whether a dictionary record wrote its own key-type assembly.

C#
public bool RecordsTypeAssembly { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:244

Gets whether the record wrote its own type assembly. A record without one is legal input and is the one case that may need confirmation on open.

C#
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape Shape { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:158

Gets or sets the declared shape.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeLevel> ShapeLevels { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:164

Gets the collection levels from outermost to innermost. An empty list preserves the legacy one-level projection carried byShape and KeyType.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:234

Gets or sets the one-based source line of the variable record.

C#
public string BuildCanonicalIdentity()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:260-323

Builds the deterministic canonical identity string hashed into the declared value’s semantic hash. Name, ordering, complete type identities, concrete value type, shape, and the exact payload in authored order all participate.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeLevel> GetEffectiveShapeLevels()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:192-212

Gets the authored collection levels. Legacy single-level records project their root shape and key without mutating the source model.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValueBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1125-1129

Inherits: BehaviorSourceDocumentBlock

Document block owning the authoritative format 1.3 declared-value records.

Responsibilities:

  • Anchor the canonical position where the writer emits the variable block, preserving author order exactly as it was read.

Does NOT:

  • Own legacy field declarations, which keep their own blocks and project in memory only.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue> Values { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1128

Gets the declared variables emitted at this position, in author order.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValueOrigin

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:23-30

Underlying type: byte

Which legacy declaration a projected declared value came from.

Responsibilities:

  • Mark a value the reader projected from a format 1.0 through 1.2 field declaration, so the writer never emits a duplicate record for it.

Does NOT:

  • Appear on a record authored as format 1.3.

C#
LegacyFieldDeclaration = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:29

Projected from a legacy %% fields: declaration.

C#
VariableRecord = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:26

Authored as a format 1.3 variable record.

Category: Source authoring

C#
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:435-469

One diagnostic emitted by the parser. Line numbers are 1-based.

C#
public string Code { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:458

Stable machine-readable code such as unknown-field. Tools should match on this rather than on Message.

C#
public int Line { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:456

One-based source line the report points at; zero when it concerns the document as a whole rather than one line.

C#
public string Message { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:460

Human-readable explanation of the problem, written for the author of the source.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceDiagnosticSeverity Severity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:454

Severity of this report; a single Error means the parse or bake yields no artifact.

BehaviorSourceDiagnostic(BehaviorSourceDiagnosticSeverity severity, int line, string code, string message)

Section titled “BehaviorSourceDiagnostic(BehaviorSourceDiagnosticSeverity severity, int line, string code, string message)”
C#
public BehaviorSourceDiagnostic(BitQuirky.Behavior.Authoring.BehaviorSourceDiagnosticSeverity severity, int line, string code, string message)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:441-451

Records one report against the source at a one-based line, or line zero for a report about the document as a whole. A null code or message is stored as an empty string.

C#
public override string ToString()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:465-468

Formats the diagnostic for logs asSeverity (Code) line Line: Message.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceDiagnosticSeverity

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:268-278

Underlying type: int

Severity of a parser-emitted diagnostic.

C#
Error = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:277

A rejected source construct. One of these means the parse or the bake yields no usable artifact.

C#
Info = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:271

Advisory only; the parse and the bake both still produce their result.

C#
Warning = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:274

A questionable source construct. The parse and the bake still produce their result.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceDiagramDeclBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1037-1041

Inherits: BehaviorSourceDocumentBlock

The Mermaid diagram declaration line, such asflowchart TD. The line is optional: Mermaid renderers want it and the bake ignores it. The writer emits RawLineback unchanged, so a read followed by a write preserves the author’s exact text apart from the trailing whitespace the reader already removed.

C#
public string RawLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1040

The declaration line exactly as authored, indent included, with trailing whitespace already removed.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntry

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:90-119

One ordered dictionary entry: its key state, exact key payload, and exact value payload.

Responsibilities:

  • Preserve the author’s saved key and value verbatim in authored order, including the two reserved marker key states, so nothing is sorted, merged, or repaired on open.

Does NOT:

  • Decide key equality or uniqueness; the resolver applies the declared key type’s rules.

C#
public string KeyPayload { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:112

Gets the exact saved key payload of a committed key, or the empty string for a reserved marker state, whose spelling the writer reproduces from the state.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryKeyState KeyState { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:106

Gets the saved key state.

C#
public int SourceLine { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:118

Gets the one-based source line the entry was written on.

C#
public string ValuePayload { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:115

Gets the exact saved value payload.

BehaviorSourceDictionaryEntry(BehaviorSourceDictionaryKeyState keyState, string keyPayload, string valuePayload, int sourceLine)

Section titled “BehaviorSourceDictionaryEntry(BehaviorSourceDictionaryKeyState keyState, string keyPayload, string valuePayload, int sourceLine)”
C#
public BehaviorSourceDictionaryEntry(BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryKeyState keyState, string keyPayload, string valuePayload, int sourceLine)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:93-103

Creates one ordered dictionary entry.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryKeyState

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:43-53

Underlying type: byte

The state of one saved dictionary key: an ordinary committed key, an uncommitted key that is still required, or a saved null key that is invalid.

Responsibilities:

  • Keep the two reserved marker states distinct from a committed key and from a key whose saved spelling is not valid for the declared key type.

Does NOT:

  • Repair a key. Every state retains the author’s saved text verbatim.

C#
Committed = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:46

A key the author committed, written as a value of the declared key type.

C#
Null = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:52

The reserved <none> marker: invalid, red, never written by the editor.

C#
Unset = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:49

The reserved <unset> marker: required, amber, nothing wrong yet.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceDocument

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1134-1138

Round-trip-preserving document model.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDocumentBlock> Blocks { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1137

Every block of the document in source order; the writer walks this list to produce the output text.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceDocumentBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:924-928

One block in the authored document: a header line, the diagram-decl line, a node block (metadata + layout + node-line), an edge line, a blank line, or a passthrough comment. The writer iterates blocks in order to produce normalized output.

C#
public int LineNumber { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:927

One-based line this block occupied in the source it was read from; zero for a block built in memory. The writer emits blocks in list order and ignores this value.

BehaviorSourceDormantTransitionConditionCodec

Section titled “BehaviorSourceDormantTransitionConditionCodec”

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceDormantTransitionConditionCodec

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:751-916

Deterministic source codec for a predicate group made dormant by an Event trigger.

Responsibilities:

  • Preserve group mode, predicate list order, fields, operators, literals, right operand kind, right field identity, and source order.
  • Reject malformed payloads without returning a partial group.
  • Stay byte-for-byte compatible: a group whose every right operand is a constant encodes in the original four-column layout, and both layouts decode.

Does NOT:

  • Decide whether a predicate group is active or validate its referenced fields.

Encode(BehaviorSourceTransitionConditionGroup group)

Section titled “Encode(BehaviorSourceTransitionConditionGroup group)”
C#
public static string Encode(BitQuirky.Behavior.Authoring.BehaviorSourceTransitionConditionGroup group)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:759-803

Encodes one complete condition group as a parameter-safe token.

TryDecode(string encoded, out BehaviorSourceTransitionConditionGroup group)

Section titled “TryDecode(string encoded, out BehaviorSourceTransitionConditionGroup group)”
C#
public static bool TryDecode(string encoded, out BitQuirky.Behavior.Authoring.BehaviorSourceTransitionConditionGroup group)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:806-896

Decodes one complete condition group, or returns false for malformed text.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceEdge

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:624-654

Semantic view of one authored edge between nodes.

C#
public bool BranchDisabled { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:646

Gets or sets whether this Random Selector branch is switched off. A switched-off branch keeps its authored weight but leaves the candidate set, the first-pick denominator, and the no-pick rule. Absent from source means enabled.

C#
public string HostedResultEventId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:639

Gets or sets the optional hosted result event consumed by this edge.

C#
public string Label { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:631

The trimmed text between the edge’s | bars exactly as authored; the branch weight, condition group and hosted result event are all parsed out of it.

C#
public string SourceId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:627

Authored id of the node the edge leaves; it names a node id, not a position in Nodes.

C#
public int SourceLineNumber { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:633

One-based source line of the edge line.

C#
public string TargetId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:629

Authored id of the node the edge enters; it names a node id, not a position in Nodes.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTransitionConditionGroup TransitionConditionGroup { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:637

The all: or any: predicate group guarding this transition; null when the label authors no condition group.

C#
public string UnusableWeightText { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:653

Gets or sets the authored weight text kept verbatim when it cannot be used. Empty, nonnumeric, negative, and non-finite text is preserved here rather than coerced or cleared, so the author’s intent survives save and reopen.

C#
public float? Weight { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:635

The usable Random Selector branch weight; null when the label authored none, or when it authored text the runtime cannot use, which is kept verbatim in UnusableWeightText instead.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceEdgeBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1089-1097

Inherits: BehaviorSourceDocumentBlock

One authored edge line. The writer rebuilds the line fromEdgerather than copying source text, reusingIndent and ArrowTokenso the author’s indentation and arrow spelling survive a read/write round trip while the label is re-emitted in canonical form.

C#
public string ArrowToken { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1096

The arrow spelling as authored, --> or ->; the writer substitutes --> when it is empty.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceEdge Edge { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1092

The semantic view of this edge; the same instance is listed in Edges.

C#
public string Indent { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1094

The leading whitespace of the edge line, emitted ahead of the rebuilt line.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceFieldDeclarationBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1005-1009

Inherits: BehaviorSourceDocumentBlock

Document block declaring blackboard/context field ids that nodes may reference from read and write metadata.

C#
public System.Collections.Generic.IReadOnlyList<string> FieldIds { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1008

The field ids listed on this one %% fields: line, in authored order. A source may carry several such lines; DeclaredFieldOrder is their de-duplicated union.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceFieldType

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:135-145

Underlying type: int

Canonical scalar field types supported by behavior source declarations.

C#
Bool = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:144

A boolean field. Source type token bool.

C#
Float32 = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:141

An IEEE 754 single-precision field. Source type token float32.

C#
Int32 = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:138

A signed 32-bit integer field. Source type token int32.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceFieldTypeDeclarationBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1014-1019

Inherits: BehaviorSourceDocumentBlock

Document block declaring non-default blackboard field types.

C#
public System.Collections.Generic.IReadOnlyList<System.Collections.Generic.KeyValuePair<string, BitQuirky.Behavior.Authoring.BehaviorSourceFieldType>> FieldTypes { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1017-1018

The field=type pairs on this one %% field-types: line, in authored order; malformed, unknown and duplicate entries are reported and left out. A declared field with no entry bakes as Int32.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceFormatBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:964-968

Inherits: BehaviorSourceDocumentBlock

Additive source-format header block.

Responsibilities:

  • Preserve the parsed canonical source-format version in document order.

Does NOT:

  • Replace the independent author-controlled behavior version.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceFormatVersion Version { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:967

Gets or sets the parsed additive source-format version.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceFormatTokens

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:357-397

Canonical header tokens for every additive behavior-source format version.

Responsibilities:

  • Own the one spelling of each %% source-format: token used by the reader, the writer, the importer, and diagnostics.

Does NOT:

  • Decide which version a document requires or validate its records.

C#
public const string Format10 = "bitquirky.behavior/1.0"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:360

Header token written as %% source-format: bitquirky.behavior/1.0, selecting Format10.

C#
public const string Format11 = "bitquirky.behavior/1.1"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:362

Header token written as %% source-format: bitquirky.behavior/1.1, selecting Format11.

C#
public const string Format12 = "bitquirky.behavior/1.2"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:364

Header token written as %% source-format: bitquirky.behavior/1.2, selecting Format12.

C#
public const string Format13 = "bitquirky.behavior/1.3"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:366

Header token written as %% source-format: bitquirky.behavior/1.3, selecting Format13.

C#
public const string Format14 = "bitquirky.behavior/1.4"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:368

Header token written as %% source-format: bitquirky.behavior/1.4, selecting Format14.

C#
public const string Format15 = "bitquirky.behavior/1.5"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:370

Header token written as %% source-format: bitquirky.behavior/1.5, selecting Format15.

C#
public const string Format16 = "bitquirky.behavior/1.6"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:372

Header token written as %% source-format: bitquirky.behavior/1.6, selecting Format16.

C#
public const string Format17 = "bitquirky.behavior/1.7"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:374

Header token written as %% source-format: bitquirky.behavior/1.7, selecting Format17.

C#
public const string Format18 = "bitquirky.behavior/1.8"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:376

Header token written as %% source-format: bitquirky.behavior/1.8, selecting Format18.

C#
public const string Format19 = "bitquirky.behavior/1.9"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:378

Header token written as %% source-format: bitquirky.behavior/1.9, selecting Format19.

Token(BehaviorSourceFormatVersion version)

Section titled “Token(BehaviorSourceFormatVersion version)”
C#
public static string Token(BitQuirky.Behavior.Authoring.BehaviorSourceFormatVersion version)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:381-396

Resolves the canonical header token for one format version.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceFormatVersion

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:289-345

Underlying type: byte

Additive canonical behavior-source format version.

Responsibilities:

  • Distinguish legacy sources from sources carrying semantic parameters.

Does NOT:

  • Replace the author-controlled behavior version.

C#
Format10 = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:292

Legacy source without semantic node parameter blocks.

C#
Format11 = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:295

Additive source with typed semantic node parameter blocks.

C#
Format12 = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:298

Additive source with dedicated member-binding records .

C#
Format13 = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:305

Additive source with blackboard-variable member targets and the authoritative declared-value variable records of . Accepts every valid 1.2 member record unchanged.

C#
Format14 = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:311

Additive source with exact open generic method definitions and arity-aligned optional concrete choices . Accepts every valid earlier source unchanged.

C#
Format15 = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:317

Additive source with explicit action-state lifecycle phases and phase-specific group settings . Accepts every valid earlier source unchanged.

C#
Format16 = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:323

Additive source with exact method parameter names and the explicit Declared default parameter source . Accepts every valid earlier source unchanged.

C#
Format17 = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:330

Additive source with explicit named output-only parameter arguments and their declared blackboard destinations . Accepts every valid earlier source unchanged.

C#
Format18 = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:337

Additive source with expanded individual params element values, their ordered call positions, and the active params input form . Accepts every valid earlier source unchanged.

C#
Format19 = 9

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:344

Additive source with argument-level member-binding references: a member-argument row whose source is a sibling binding on the same node. Accepts every valid earlier source unchanged.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceGraphMemberBindingsBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1109-1113

Inherits: BehaviorSourceDocumentBlock

Document block owning the graph-level blackboard-authored member bindings.

Responsibilities:

  • Anchor the canonical position where the writer emits graph-level member records, sorted by stable binding id.

Does NOT:

  • Own node-attached member bindings; those live on their node blocks.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding> Bindings { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1112

Gets the graph-level member bindings emitted at this position.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceHeaderLayerBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:949-953

Inherits: BehaviorSourceDocumentBlock

The%% layer:header line, which declares what kind of source the file is. The writer re-emits the line fromLayerin canonical form, so the authored token survives a read/write round trip while its surrounding spacing is normalized. This is also the line after which the writer inserts a missing source-format or runtime-path header when the document now needs one.

C#
public string Layer { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:952

The layer token exactly as authored; a Layer 2 behavior source declares behavior, and any other token is reported as a wrong-layer error.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceHeaderVersionBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:936-940

Inherits: BehaviorSourceDocumentBlock

The%% behavior-version:header line, which carries the author-controlled version of the graph itself. The writer re-emits the line fromVersionin canonical form, so the authored token survives a read/write round trip while its surrounding spacing is normalized.

C#
public string Version { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:939

The version token exactly as authored, such as 1.0.0; the writer trims it before emitting the header.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceHostedBehaviorConfiguration

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:533-550

Additive lifecycle and terminal-result event settings for one state-hosted tree.

Responsibilities:

  • Preserve the normalized lifetime and optional Success and Failure event ids.
  • Record whether lifetime was explicit so legacy omission remains observable to tools.

Does NOT:

  • Resolve the hosted root or execute the hosted tree.

C#
public string FailureEventId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:546

Gets or sets the optional Failure result event id.

C#
public bool HasExplicitLifetime { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:540

Gets or sets whether the source explicitly declared the lifetime.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceHostedBehaviorLifetime Lifetime { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:536-537

Gets or sets the hosted lifetime. Omission defaults to Repeat.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:549

Gets or sets the one-based source line of the host parameter block.

C#
public string SuccessEventId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:543

Gets or sets the optional Success result event id.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceHostedBehaviorLifetime

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:165-172

Underlying type: byte

Authored lifetime for a behavior tree hosted by a state.

C#
Once = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:171

The hosted tree runs to completion once and then stays finished for the rest of the activation.

C#
Repeat = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:168

The hosted tree restarts from its root every time it completes while the state stays active.

Category: Source authoring

C#
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceLayoutEntry

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:476-492

One key/value pair inside a%% layout: { … }block. Authoring round-trip preserves keys verbatim; the writer normalizes the order alphabetically by key name.

C#
public string Key { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:489

The entry key exactly as authored, such as x or y, with surrounding whitespace removed.

C#
public string Value { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:491

The entry value as authored text with surrounding whitespace removed; the reader never parses it into a number.

BehaviorSourceLayoutEntry(string key, string value)

Section titled “BehaviorSourceLayoutEntry(string key, string value)”
C#
public BehaviorSourceLayoutEntry(string key, string value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:482-486

Captures one layout key and its authored value verbatim; a null argument is stored as an empty string. Neither argument is parsed or normalized.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceLoader

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:160-1273

Parses Mermaid behavior source text, runsBehaviorBaker, and returns the deterministicBakedBehaviorArtifact.

Responsibilities:

  • Parse the loaded source via Parse.
  • Bake viaBakeand return the artifact.
  • Surface parse + bake diagnostics in a single BehaviorLoadResult; refuse to return a partially baked artifact (FR-012g: runtime never silently uses stale derived data).
  • Resolve and inline nested subgraph sources through an explicit caller-provided text resolver before the single parent bake.
  • StampSourceContentHashfrom the Mermaid text for optional caller-side caches.

Does NOT:

  • Run inside a Burst job (it allocates managed memory; tick jobs MUST NOT parse Mermaid, per FR-012f).
  • Mutate the canonical .bqbehavior file (R-9).
  • Require Addressables. Optional Addressables loading lives in the separate BitQuirky.Behavior.Addressables assembly.

BakeFromText(string sourceText, string addressableKey, BehaviorBakeOptions options)

Section titled “BakeFromText(string sourceText, string addressableKey, BehaviorBakeOptions options)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorLoadResult BakeFromText(string sourceText, string addressableKey = "", BitQuirky.Behavior.Authoring.BehaviorBakeOptions options = null)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:282-293

Bake from in-memory Mermaid source text. Always re-bakes (behavior-tree policy: never reuse a prior artifact without an explicit cache handshake). Useful for tests, the toy graph sample, and the editor preview path.

BakeFromTextIfFresh(string sourceText, BehaviorLoadResult cachedResult, string addressableKey, BehaviorBakeOptions options)

Section titled “BakeFromTextIfFresh(string sourceText, BehaviorLoadResult cachedResult, string addressableKey, BehaviorBakeOptions options)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorLoadResult BakeFromTextIfFresh(string sourceText, BitQuirky.Behavior.Authoring.BehaviorLoadResult cachedResult, string addressableKey = "", BitQuirky.Behavior.Authoring.BehaviorBakeOptions options = null)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:304-330

WhencachedResultis a successful prior bake whose SourceContentHashand AddressableKeymatch the current Mermaid text and requested key, and both bakes use default options, returns that cache without re-baking or re-disposing it. Otherwise bakes fresh (same as BakeFromText). Caller remains responsible for disposing artifacts they no longer need.

BakeFromTextWithSubgraphs(string sourceText, string sourceKey, Func<string, string> sourceTextResolver, BehaviorBakeOptions options)

Section titled “BakeFromTextWithSubgraphs(string sourceText, string sourceKey, Func<string, string> sourceTextResolver, BehaviorBakeOptions options)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorLoadResult BakeFromTextWithSubgraphs(string sourceText, string sourceKey, System.Func<string, string> sourceTextResolver, BitQuirky.Behavior.Authoring.BehaviorBakeOptions options = null)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:211-230

Bake from in-memory source text and synchronously resolve every subgraph into the executable parent artifact.

BakeFromTextWithSubgraphsAsync(string sourceText, string addressableKey, Func<string, Task<string>> sourceTextResolver, BehaviorBakeOptions options)

Section titled “BakeFromTextWithSubgraphsAsync(string sourceText, string addressableKey, Func<string, Task<string>> sourceTextResolver, BehaviorBakeOptions options)”
C#
public static System.Threading.Tasks.Task<BitQuirky.Behavior.Authoring.BehaviorLoadResult> BakeFromTextWithSubgraphsAsync(string sourceText, string addressableKey, System.Func<string, System.Threading.Tasks.Task<string>> sourceTextResolver, BitQuirky.Behavior.Authoring.BehaviorBakeOptions options = null)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:237-275

Bake from in-memory source text and resolve any subgraph references throughsourceTextResolver. Always re-bakes (no cross-call cache).

ComposeFromText(string sourceText, string sourceKey, Func<string, string> sourceTextResolver)

Section titled “ComposeFromText(string sourceText, string sourceKey, Func<string, string> sourceTextResolver)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorSourceCompositionResult ComposeFromText(string sourceText, string sourceKey, System.Func<string, string> sourceTextResolver)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:165-177

Resolves the same source graph used by bake without allocating a native artifact.

ComposeFromTextAsync(string sourceText, string sourceKey, Func<string, Task<string>> sourceTextResolver)

Section titled “ComposeFromTextAsync(string sourceText, string sourceKey, Func<string, Task<string>> sourceTextResolver)”
C#
public static System.Threading.Tasks.Task<BitQuirky.Behavior.Authoring.BehaviorSourceCompositionResult> ComposeFromTextAsync(string sourceText, string sourceKey, System.Func<string, System.Threading.Tasks.Task<string>> sourceTextResolver)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:180-205

Resolves nested declarations, member bindings, and machine ownership once.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberAccess

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:236-256

Underlying type: byte

Access requirements an operation places on its exact member.

C#
Add = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:252

The event must accept a handler subscription. Canonical access token add.

C#
Invoke = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:243

The member must be callable. Canonical access token invoke.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:240

The operation requires no access at all.

C#
Read = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:246

The member’s value must be gettable. Canonical access token read.

C#
Remove = 16

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:255

The event must accept a handler removal. Canonical access token remove.

C#
Write = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:249

The member’s value must be settable. Canonical access token write.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberAgentResolve

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:191-207

Underlying type: byte

The exact agent-relative resolution shape for an agent-relative target.

C#
ChildPath = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:206

The descendant named by the target’s child path. Canonical textmode: child pluspath.

C#
Parent = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:200

The agent’s immediate parent GameObject. Canonical text mode: parent.

C#
Self = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:197

The agent GameObject running this graph. Canonical text mode: self.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:194

No agent-relative shape was authored; the target resolves to nothing.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgument

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:834-881

One ordered by-value argument of a method or message binding.

Responsibilities:

  • Pair one exact parameter type with its authored constant or blackboard source.

Does NOT:

  • Convert values; the baker validates and canonicalizes conversions.

C#
public string BindingRef { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:860

Gets or sets the sibling binding id feeding aBindingargument. The referenced binding lives on the same node and publishes the surfaced blackboard value this parameter reads.

C#
public string BlackboardName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:852

Gets or sets the blackboard field name for a blackboard argument.

C#
public string ConstantValue { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:849

Gets or sets the canonical constant literal for a constant argument.

C#
public BitQuirky.Behavior.Member.BehaviorMemberValueKind ConstantValueKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:846

Gets or sets the constant value kind for a constant argument.

C#
public int Ordinal { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:837

Gets or sets the zero-based contiguous parameter ordinal.

C#
public string OutputBlackboardName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:866

Gets or sets the blackboard destination written after a ref or out parameter returns.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity ParameterType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:840

Gets or sets the exact parameter type identity.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgumentSource SourceKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:843

Gets or sets the argument value source.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:880

Gets the one-based source line of the argument record.

C#
public bool WriteDestinationSeparated { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:877

Gets or sets whether a ref parameter’s Write to destination is an explicit override rather than the conventional link to its own Blackboard Read source. Stored explicitly rather than inferred fromOutputBlackboardNameemptiness, so an override stays where the author put it when the Read source later changes; IsLinkedToReadSourcedecides what the legs currently share. Meaningless for an out parameter, which has no Read source to link to.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgumentSource

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:261-305

Underlying type: byte

Where a member argument value comes from.

C#
Binding = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:304

The argument is fed by another member binding on the same node: the referenced sibling evaluates first and publishes its surfaced blackboard value, which this parameter then reads. Appended afterOutput; existing numeric values never move. Introduced by source format 1.9 for argument-level member bindings.

C#
Blackboard = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:276

The named blackboard entry, read at call time. Canonical text source: blackboard plus field.

C#
Constant = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:270

The authored literal itself. Canonical textsource: constantplus value-kind and value.

C#
DeclaredDefault = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:287

The parameter’s own current concrete compile-time declaration. Appended after RuntimeCancellation; existing numeric values never move. The choice carries no authored payload: canonical source stores the intent on the arity-aligned parameter record and never copies the live literal.

C#
Output = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:296

The parameter is output only: the member writes it and the graph stores it in one declared blackboard destination. Appended afterDeclaredDefault; existing numeric values never move. The row carries no input field, constant, or default payload, so it never materializes an input frame. Introduced by source format 1.7 forout parameters; refkeeps its existing read/write row.

C#
RuntimeCancellation = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:279

The runtime-owned cancellation token for the current deferred invocation.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:264

No source was authored; the argument record is rejected.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberBackendSelection

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1566-1610

Backend selection over one binding set.

Responsibilities:

  • Report whether one binding set mixes entity and GameObject target modes, naming both.

Does NOT:

  • Pick a winner, order candidates, or fall back to the first.

Classify(IReadOnlyList<BehaviorSourceMemberBinding> bindings)

Section titled “Classify(IReadOnlyList<BehaviorSourceMemberBinding> bindings)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorSourceMemberBackendVerdict Classify(System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding> bindings)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1571-1607

Classifies one binding set’s backend usage.

Category: Source authoring

C#
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceMemberBackendVerdict

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1376-1407

The verdict of backend selection over one binding set.

Responsibilities:

  • State whether one binding set mixes entity and GameObject target modes, and name both offending modes with the exact bindings that carry them.

Does NOT:

  • Choose a backend, discard a binding, or reinterpret a mode.

C#
public string EntityBindingId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1400

Gets the binding id carrying the first entity mode found.

C#
public string EntityModeToken { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1397

Gets the canonical token of the first entity mode found.

C#
public string GameObjectBindingId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1406

Gets the binding id carrying the first GameObject mode found.

C#
public string GameObjectModeToken { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1403

Gets the canonical token of the first GameObject mode found.

C#
public bool IsMixed { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1394

Gets whether the binding set mixes both backends.

BehaviorSourceMemberBackendVerdict(bool isMixed, string entityModeToken, string entityBindingId, string gameObjectModeToken, string gameObjectBindingId)

Section titled “BehaviorSourceMemberBackendVerdict(bool isMixed, string entityModeToken, string entityBindingId, string gameObjectModeToken, string gameObjectBindingId)”
C#
public BehaviorSourceMemberBackendVerdict(bool isMixed, string entityModeToken, string entityBindingId, string gameObjectModeToken, string gameObjectBindingId)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1379-1391

Creates one backend-selection verdict.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1026-1328

One authored member binding attached to a reusable member node or created directly from the blackboard.

Responsibilities:

  • Own the exact target, identity, arguments, result, direction, comparison, event outcome, notification, and surfaced-name records of one binding.

Does NOT:

  • Infer a target, overload, access direction, return destination, event, or conversion from a same-named alternative.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgument> Arguments { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1052

Gets the ordered by-value arguments, one per selected parameter.

C#
public string BindingId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1029

Gets or sets the stable source binding identifier, unique in the graph.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberComparison Comparison { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1089

Gets or sets the comparison required by a member condition.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberDirection Direction { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1086

Gets or sets the direction of a property or field binding. Direction is the authored flow of one value; the operations a declaration actually permits live in Access, so a read-only or literal field carries read access only and can never be written.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityContainer EntityContainer { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1101

Gets or sets the exact entity container. Null for a component target and for every GameObject-path binding.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityEvent EntityEvent { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1107

Gets or sets the backend-local entity event source. Null for every binding that is not an entity-path Event Condition.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberConditionResult EventOutcome { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1092

Gets or sets the behavior result of a fired event condition.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberIdentity Identity { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1049

Gets or sets the exact member identity.

C#
public string NodeId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1034

Gets or sets the owning node identifier; empty for blackboard-authored bindings.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberNotification Notification { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1095

Gets or sets the optional exact notification event identity.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberOperationKind OperationKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1043

Gets or sets the member operation family.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberBindingOrigin Origin { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1123-1126

Gets whether the binding was authored on a node or from the blackboard.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgument ParamsArrayValue { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1075

Gets or sets the one explicit array or list value used when ParamsInputForm is Array. Null until authored. Retained verbatim whileParamsInputFormis Expanded.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgument> ParamsExpandedValues { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1067

Gets the ordered individual element values used whenParamsInputFormis Expanded. Each entry’s ParameterTypeis the params parameter’s element type, never its declared array type. Retained verbatim while ParamsInputForm is Array.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberParamsInputForm ParamsInputForm { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1058

Gets or sets which payload supplies the binding’s final params parameter. Expanded is the default so a binding authored before this form existed reads unchanged.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberResult Result { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1078

Gets or sets the optional result contract.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1120

Gets the one-based source line of the binding’s first record.

C#
public string SurfacedNameOverride { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1110

Gets or sets the author override applied after automatic name derivation.

C#
public int SurfacedNameSourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1117

Gets or sets the one-based source line of the record that stores SurfacedNameOverride. Zero when no override is authored, because a derived surfaced name is computed rather than stored and so has no source coordinate.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberTarget Target { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1046

Gets or sets the exactly-one explicit target contract.

C#
public string BuildCanonicalContractIdentity()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1141-1226

Builds the canonical exact identity string hashed into the 64-bit member contract hash. The explicit-reference slot key is part of exact target identity, so two same-type assigned objects remain distinct.

A field participates on exactly the same terms as every other member kind: its declaring assembly and type, member kind, exact case-sensitive name, static state, and the read and write access its mutability allows. The declaration’s C# access level and the access path a generated provider later selects for it are derived facts, never part of this identity, so opting a declaration in, widening it to public, or moving it between direct and prepared access leaves the identity and the graph’s meaning unchanged.

C#
public string BuildCanonicalOperationIdentity()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1244-1279

Builds the identity of the generated operation accessor for this binding: the exact CLR contract identity plus every authored choice the emitted call body depends on. Two bindings may name the same member while embedding different code, one leaving a parameter on its declaration while the other supplies it, so the argument source kinds, the body-discriminating constant and blackboard names, the result shape, the comparison shape, and, when the declaration carries a params final parameter, the authored input form and its expanded values or array value are part of this identity while never touching the CLR contract identity or its hash. Two bindings of the same params method authored with different individual values, a different value count, or a different explicit-array choice must therefore never share a generated accessor: each embeds its own packed invocation array or array-value read, so sharing one would silently run the wrong authored call for one of them. Dense frame payloads still carry live values at evaluation time; this identity only captures what the generated method text itself embeds.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberBindingOrigin

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:435-445

Underlying type: byte

Whether a member binding was authored on a node or directly from the blackboard.

C#
Blackboard = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:444

The binding was authored directly from the blackboard and projects a member onto an entry.

C#
Node = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:441

The binding was authored on a member node and lives with that node.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:438

No origin was recorded; a binding read before normalization assigned one.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberComparison

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:953-988

The authored comparison contract of a member condition.

Responsibilities:

  • Pair one bounded operator with a constant or blackboard right operand and the authored true and false behavior results.
  • Name, for a void method that declares ref parameters, which ref parameter’s post-call value the condition tests. That choice is authored, never inferred from declaration order.

Does NOT:

  • Permit operators outside the value kind’s supported set.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberConditionResult FalseResult { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:983-984

Gets or sets the behavior result when the comparison does not hold.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceComparisonOperator Operator { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:956

Gets or sets the comparison operator, limited by value kind.

C#
public string RightBlackboardName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:976

Gets or sets the blackboard field name for a blackboard right operand.

C#
public string RightConstantValue { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:973

Gets or sets the canonical constant literal for a constant right operand.

C#
public BitQuirky.Behavior.Member.BehaviorMemberValueKind RightConstantValueKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:970

Gets or sets the constant value kind for a constant right operand.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgumentSource RightSourceKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:967

Gets or sets the right operand source.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:987

Gets the one-based source line of the comparison record.

C#
public int TestedParameterOrdinal { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:964

Gets or sets the zero-based ordinal of the ref parameter whose post-call value the condition tests, or -1 when the condition tests the member’s own return or value. Required on a void method that declares at least one ref parameter; a void method has no return to test, and the product never picks a parameter on the author’s behalf.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberConditionResult TrueResult { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:979-980

Gets or sets the behavior result when the comparison holds.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberConditionResult

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:386-411

Underlying type: byte

Behavior result returned by a satisfied or failed member condition outcome.

C#
AuthorityMismatch = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:410

The node refused to run because the executing role lacks the required authority. Canonical text authority-mismatch.

C#
Blocked = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:404

The node could not proceed because a required resource was unavailable. Canonical text blocked.

C#
Failed = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:395

The node fails. Canonical text failed; the default false result, so canonical text omits it.

C#
Interrupted = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:401

The node was cut short before it settled. Canonical text interrupted.

C#
Running = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:398

The node stays running and is evaluated again next tick. Canonical text running.

C#
Succeeded = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:392

The node succeeds. Canonical text succeeded; the default true result, so canonical text omits it.

C#
Timeout = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:407

The node gave up after its authored time budget elapsed. Canonical text timeout.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:389

No result was authored; the outcome leaves the node status untouched.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberDirection

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:368-381

Underlying type: byte

Authored synchronization direction of a property or field binding.

C#
ToBlackboard = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:374

The member’s value is copied into the blackboard. Canonical text to-blackboard.

C#
ToMember = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:377

The blackboard value is copied into the member. Canonical text to-member.

C#
TwoWay = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:380

Both copies happen, member read first. Canonical text two-way.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:371

No direction was authored; the binding moves no value. Canonical text omits the direction record.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityContainer

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:584-649

The exact container of one entity member binding, present only when the target container is a buffer.

Responsibilities:

  • Carry the exact unmanaged buffer element type and the exact entry address: a non-negative constant index, or an identity field paired with its constant or blackboard operand.

Does NOT:

  • Search for an entry, or add, remove, resize, or reorder a buffer. Its internal inline capacity is a storage-placement choice and is not part of binding validity.

C#
public string BufferElementAssemblyName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:590

Gets or sets the exact assembly simple name of the buffer element type.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity BufferElementType { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:621-622

Gets the exact buffer element type identity pair.

C#
public string BufferElementTypeName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:593

Gets or sets the exact full CLR name of the buffer element type.

C#
public int ConstantIndex { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:599

Gets or sets the authored non-negative entry index.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityContainerKind ContainerKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:587

Gets or sets the container kind. Component is the default and is omitted.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityEntrySelector EntrySelector { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:596

Gets or sets how the one exact entry is addressed.

C#
public string IdentityBlackboardName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:615

Gets or sets the blackboard field name of the identity operand.

C#
public string IdentityConstantValue { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:612

Gets or sets the canonical constant literal of the identity operand.

C#
public BitQuirky.Behavior.Member.BehaviorMemberValueKind IdentityConstantValueKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:609

Gets or sets the constant value kind of the identity operand.

C#
public string IdentityFieldName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:602

Gets or sets the exact identity field declared by the buffer element.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgumentSource IdentityValueSource { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:605-606

Gets or sets whether the identity operand is a constant or a blackboard slot.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:618

Gets the one-based source line of the container record.

C#
public string BuildCanonicalIdentity()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:625-648

Builds the canonical exact container identity text.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityContainerKind

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:124-131

Underlying type: byte

Whether an entity member binding addresses a component or one exact buffer entry.

C#
BufferElement = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:130

One exact entry of an unmanaged dynamic buffer.

C#
Component = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:127

The default; canonical text omits the container record entirely.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityEntrySelector

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:137-144

Underlying type: byte

How one exact buffer entry is addressed. First, last, any, and value-search selection are deliberately absent: which entry the node acts on is part of the authored owner.

C#
ConstantIndex = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:140

A non-negative authored constant index.

C#
IdentityField = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:143

An exact identity field declared by the buffer element.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityEvent

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:662-695

The backend-local runtime source of one entity Event Condition.

Responsibilities:

  • Name the observed enableable component and its authored polarity, or state that the source is the retained buffer entry the Target card already addresses.

Does NOT:

  • Offer a second address control, a C# event, a UnityEvent, a coroutine, or any managed subscription. The portable event choice identity stays on the shared event record.

C#
public string AssemblyName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:668

Gets or sets the exact assembly simple name of an enableable source.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityPolarity Polarity { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:674

Gets or sets the authored enablement state that counts as one occurrence.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityEventSourceKind SourceKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:665

Gets or sets the observed source kind.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:677

Gets the one-based source line of the entity event record.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity TypeIdentity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:680

Gets the exact enableable type identity pair.

C#
public string TypeName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:671

Gets or sets the exact full CLR name of an enableable source.

C#
public string BuildCanonicalIdentity()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:683-694

Builds the canonical exact entity event source identity text.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityEventSourceKind

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:164-174

Underlying type: byte

The backend-local runtime source an entity Event Condition observes.

C#
EnableableComponent = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:170

An enableable component’s observed state.

C#
EventBufferEntry = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:173

One exact retained entity event buffer entry.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:167

No event source was authored; validation rejects the entity event record.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityHopKind

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:149-159

Underlying type: byte

The one hop a Handle target takes from its fixed base.

C#
BlackboardEntry = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:155

A surfaced blackboard entry of the entity type.

C#
ComponentField = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:158

One entity-typed field on a component of the running entity.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:152

No hop; every mode other than Handle.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityPolarity

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:179-186

Underlying type: byte

The authored enablement state that counts as one occurrence.

C#
Disabled = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:185

The component becoming disabled is the occurrence. Canonical text polarity: disabled.

C#
Enabled = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:182

The component becoming enabled is the occurrence. Canonical text polarity: enabled.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberIdentity

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:715-823

The exact identity of one bound member.

Responsibilities:

  • Carry the declaring type identity, member kind and identifier, static flag, ordered exact parameter types, an optional exact open generic definition with arity-aligned choices, exact return or value type, and required access flags. For an indexer (Propertywith one or more entries in ParameterTypes), the ordered parameter fields carry the exact index- parameter shape (declaration ordinal, modifier, and type) on exactly the same terms a method identity already uses; a get, set, and member-condition operation against the same indexer share this one identity .

Does NOT:

  • Substitute a same-named member with a different signature. Does not distinguish an indexer from an ordinary scalar property by any field other than a non-empty ParameterTypes; both remain Property.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberAccess Access { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:819

Gets or sets the access flags the operation requires.

C#
public string DeclaringAssemblyName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:718

Gets or sets the exact assembly simple name of the declaring type.

C#
public string DeclaringTypeName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:721

Gets or sets the exact full non-generic declaring CLR type name.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity> GenericArguments { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:785-786

Gets or sets the exact type arguments that close a generic method. Format 1.4 keeps this list arity-aligned and uses an empty identity for an unchosen slot; legacy source retains its existing dense completed list.

C#
public int GenericArity { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:766

Gets or sets the positive declared generic arity of a format 1.4 identity. Zero means this is either non-generic or a completed legacy dense generic identity.

C#
public string GenericDefinitionSignature { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:772

Gets or sets the exact portable open ordinary-parameter and return pattern that identifies the selected generic method definition before substitution.

C#
public System.Collections.Generic.IReadOnlyList<string> GenericParameterNames { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:778

Gets or sets every declared method generic parameter name in ordinal order. Format 1.4 carries exactlyGenericArityentries.

C#
public bool HasCompleteGenericArguments { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:794-813

Gets whether every format 1.4 generic slot has a concrete identity.

C#
public bool HasGenericDefinitionIdentity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:789-791

Gets whether this identity carries the format 1.4 open definition contract.

C#
public bool HasParameterNames { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:760

Gets whether this identity persists exact parameter names.

C#
public bool IsStatic { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:730

Gets or sets whether the member is static; must agree with the target mode.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberKind MemberKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:724

Gets or sets the CLR member category.

C#
public string MemberName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:727

Gets or sets the exact C# member identifier.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceMemberParameterModifier> ParameterModifiers { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:749-750

Gets or sets the ordered parameter modifiers:Value, In, or Paramsfor an admitted index parameter (C# Language Specification section 15.9.1;this, ref, and outare grammatically impossible on an indexer), or the full method-parameter vocabulary for a Methodidentity.

C#
public System.Collections.Generic.IReadOnlyList<string> ParameterNames { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:757

Gets or sets the ordered exact CLR parameter names persisted by format 1.6. A named identity carries one non-empty name per parameter; a legacy identity carries none. A partially named identity is invalid and the reader rejects it.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity> ParameterTypes { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:739-740

Gets or sets the ordered exact parameter type identities. For a Methodidentity these are the method’s parameters; for aPropertyidentity with one or more entries, these are an indexer’s ordered index-parameter types instead of the empty list an ordinary scalar property carries.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity ReturnOrValueType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:816

Gets or sets the exact return, property, field, or event delegate type.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:822

Gets the one-based source line of the identity record.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberKind

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:212-231

Underlying type: byte

The CLR member category of an exact bound member.

C#
Event = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:227

A CLR event. Canonical identity text kind: event.

C#
Field = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:224

A CLR field. Canonical identity text kind: field.

C#
Method = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:218

A CLR method. Canonical identity text kind: method.

C#
Property = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:221

A CLR property. Canonical identity text kind: property.

C#
State = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:230

A synthetic state exposed by the selected backend rather than a CLR member.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:215

No member category was authored; the identity record is rejected.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberNotification

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:999-1012

The exact event identity used for authored member-to-blackboard notification.

Responsibilities:

  • Name the exact event on the target used to observe member changes.

Does NOT:

  • Subscribe or infer an event from a similar name.

C#
public string AssemblyName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1002

Gets or sets the exact assembly simple name of the declaring type.

C#
public string EventName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1008

Gets or sets the exact event member identifier.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1011

Gets the one-based source line of the notification record.

C#
public string TypeName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1005

Gets or sets the exact full CLR name of the declaring type.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberOperationKind

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:16-46

Underlying type: byte

The six reusable member operation families.

C#
EventCondition = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:45

Report whether the bound event occurred. Authored on amember_eventnode.

C#
Field = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:28

Read or write the bound field. Authored on a member_field node.

C#
MemberCondition = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:40

Compare the bound member’s value and report a condition result. Authored on a member_conditionnode.

C#
Message = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:34

Call a public void method fire-and-forget. Authored on amember_messagenode; a result, direction, comparison, event, or notification record is refused.

C#
Method = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:22

Invoke the bound method once. Authored on a member_method node.

C#
Property = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:25

Read or write the bound property. Authored on a member_property node.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:19

No operation family was authored; the binding is rejected by validation.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberParameterModifier

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:308-324

Underlying type: byte

The exact C# modifier of one authored method parameter.

C#
In = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:314

An in parameter. Canonical text modifier: in.

C#
Out = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:320

An out parameter. Canonical text modifier: out.

C#
Params = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:323

A params array parameter. Canonical text modifier: params.

C#
Ref = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:317

A ref parameter. Canonical text modifier: ref.

C#
Value = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:311

A plain by-value parameter; canonical text omits the modifier.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberParamsInputForm

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:329-336

Underlying type: byte

How the final params parameter of a member binding supplies its array argument.

C#
Array = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:335

One existing array or list value supplies the whole parameter.

C#
Expanded = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:332

Zero or more individual element values in authored call order. The default.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberPortableIdentity

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1622-1837

The split between the portable member binding identity and the backend-local identity.

Responsibilities:

  • Name the portable and backend-local field sets, and build each half’s canonical text so two bindings differing only by backend prove identical portable identity.

Does NOT:

  • Replace the complete contract identity, which is what the 64-bit contract hash covers.

C#
public static System.Collections.Generic.IReadOnlyList<string> BackendLocalFieldNames { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1655-1661

The authored fields that differ by backend and never enter portable equality.

C#
public static System.Collections.Generic.IReadOnlyList<string> PortableFieldNames { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1639-1652

The authored fields that must match across object models.

C#
public static System.Collections.Generic.IReadOnlyList<string> ProductNodeTokens { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1628-1636

The six reusable product member node tokens, shared by both backends.

BuildBackendLocalIdentity(BehaviorSourceMemberBinding binding)

Section titled “BuildBackendLocalIdentity(BehaviorSourceMemberBinding binding)”
C#
public static string BuildBackendLocalIdentity(BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding binding)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1821-1834

Builds the canonical backend-local identity text of one binding: the target mode and resolution data, the entity container, and the entity event source.

BuildPortableIdentity(BehaviorSourceMemberBinding binding)

Section titled “BuildPortableIdentity(BehaviorSourceMemberBinding binding)”
C#
public static string BuildPortableIdentity(BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding binding)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1667-1778

Builds the canonical portable identity text of one binding. Two bindings that differ only by backend produce the same text.

BuildTargetIdentity(BehaviorSourceMemberBinding binding)

Section titled “BuildTargetIdentity(BehaviorSourceMemberBinding binding)”
C#
public static string BuildTargetIdentity(BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding binding)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1786-1815

Builds the canonical backend-local target identity text of one binding: the target mode and resolution data plus the entity container, with no event observation. Two bindings that share one exact target share one identity, however their observations differ.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberRefBinding

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberRefBinding.cs:29-141

The one shared derivation of a ref parameter’s Write to destination and link state. Bake, source validation, the binding rail, the canvas projection, and generated source all resolve a ref slot’s effective destination through this single authority, so the convention default can never drift between what the author sees, what validates, what bakes, and what the generated call actually writes.

Responsibilities:

  • Decide whether a ref parameter’s Write to destination is linked to its Blackboard Read source: the Read source is itself a Blackboard variable, and either no explicit override is authored or the override names that same variable. A Constant Read source never supplies a fallback destination, so it is never linked; an explicit override naming any other variable is a separated destination.
  • Resolve the one effective Write to destination name: the explicit override when authored, otherwise the Read source’s own Blackboard variable while linked, otherwise empty (required).

Does NOT:

  • Validate compatibility, resolve blackboard slots or live declarations, or apply to an out parameter, which has no Read source to fall back to.

ConditionOperandParameterOrdinal(BehaviorSourceMemberBinding binding)

Section titled “ConditionOperandParameterOrdinal(BehaviorSourceMemberBinding binding)”
C#
public static int ConditionOperandParameterOrdinal(BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding binding)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberRefBinding.cs:105-115

Gets the zero-based ordinal of the ref parameter whose post-call value the member conditionbindingtests, or -1 when the binding is not a member condition, the declaration returns a value (its own return is tested), or the authoredTestedParameterOrdinaldoes not name one of the declaration’s ref parameters. Never falls back to declaration order: an unauthored choice is reported by validation, not made here.

EffectiveDestination(BehaviorSourceMemberArgument argument)

Section titled “EffectiveDestination(BehaviorSourceMemberArgument argument)”
C#
public static string EffectiveDestination(BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgument argument)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberRefBinding.cs:57-69

Gets the effective Write to destination of a ref slot: the explicit override when one is authored, the linked Read source variable while defaulted, or empty while the destination is required.

IsLinkedToReadSource(BehaviorSourceMemberArgument argument)

Section titled “IsLinkedToReadSource(BehaviorSourceMemberArgument argument)”
C#
public static bool IsLinkedToReadSource(BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgument argument)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberRefBinding.cs:38-50

Gets whetherargumentis a ref slot whose Write to destination is linked to its Blackboard Read source: both legs name one variable, so the author sees one identity and validation reports it once. An explicit override that names the Read source’s own variable is that same state; the override stays stored, so a later Read change leaves it where the author put it and only then separates the legs.

IsTestedParameterCandidate(BehaviorSourceMemberIdentity identity, int ordinal)

Section titled “IsTestedParameterCandidate(BehaviorSourceMemberIdentity identity, int ordinal)”
C#
public static bool IsTestedParameterCandidate(BitQuirky.Behavior.Authoring.BehaviorSourceMemberIdentity identity, int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberRefBinding.cs:86-95

Gets whetherordinalnames a ref parameter a member condition on identitymay test: the declaration is a void method and the ordinal is one of its declared ref parameters.

RequiresTestedParameter(BehaviorSourceMemberIdentity identity)

Section titled “RequiresTestedParameter(BehaviorSourceMemberIdentity identity)”
C#
public static bool RequiresTestedParameter(BitQuirky.Behavior.Authoring.BehaviorSourceMemberIdentity identity)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberRefBinding.cs:76-79

Gets whether a member condition onidentitymust name which ref parameter it tests: the declaration is a void method, so it has no return to test, and it declares at least one ref parameter whose post-call value can be tested.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberResult

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:893-938

The authored result contract of a method binding.

Responsibilities:

  • Declare what the operation does with its return value and, for a blackboard result, the exact destination name and value type.

Does NOT:

  • Apply to messages, which are always void with no result destination.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberConditionResult CompletionResult { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:911-912

Gets or sets the fixed behavior result reported after a non-tested invocation or deferred operation completes normally.

C#
public string DestinationName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:899

Gets or sets the blackboard destination name for a blackboard result.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberConditionResult FaultResult { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:919-920

Gets or sets the behavior result reported when the bound member throws. The deferred forms author it on the binding rail; the runtime honors it wherever a member throws, and its default of failure keeps synchronous behavior unchanged.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberResultForm Form { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:896

Gets or sets the result form.

C#
public bool GiveUpArmed { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:927

Gets or sets whether an authored give-up time bounds this deferred operation. When armed, the baker wraps the operation in the product’s existing time-limit decorator rather than introducing a second timing mechanism.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberConditionResult GiveUpResult { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:933-934

Gets or sets the behavior result reported when the give-up budget elapses.

C#
public float GiveUpSeconds { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:930

Gets or sets the authored give-up budget in seconds; meaningful when armed.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:937

Gets the one-based source line of the result record.

C#
public string SurfacedNameOverride { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:905

Gets or sets the author rename of the automatically surfaced destination.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity ValueType { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:902

Gets or sets the exact value type identity of a blackboard result.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberResultForm

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:341-363

Underlying type: byte

What a method operation does with its return value.

C#
Awaitable = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:362

The method returns an awaitable the runtime completes off-tick. Canonical text form: awaitable.

C#
BehaviorStatus = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:353

The return value is already a node status. Canonical text form: status.

C#
Blackboard = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:350

The return value is stored into a blackboard entry. Canonical text form: blackboard.

C#
Coroutine = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:356

The method returns a coroutine the runtime drives to completion. Canonical text form: coroutine.

C#
Outcome = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:359

The return value is an outcome mapped through the binding’s outcome rows. Canonical text form: outcome.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:344

No result form was authored; the return value is not consumed.

C#
Void = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:347

The method returns nothing. Canonical text form: void.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberSynchronization

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:416-430

Underlying type: byte

How a projected member blackboard entry synchronizes with its member.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:420

The entry never synchronizes; the binding is neither a property nor a field read or write.

C#
Notification = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:423

The entry is refreshed from the authored change notification event instead of by polling.

C#
PollEachSelectedTick = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:426

The entry is refreshed on every tick the binding is selected.

C#
PushOnWrite = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:429

Writing the entry pushes the new value straight to the member.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberTarget

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:458-569

The exact explicit target contract of one member binding.

Responsibilities:

  • Carry the target mode, agent-relative resolution, explicit-reference slot key, and exact declaring type identity, plus the identifier used for blackboard-name disambiguation.

Does NOT:

  • Resolve an instance, search a scene, or substitute a same-type object.

C#
public string AssemblyName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:517

Gets or sets the exact assembly simple name of the target type.

C#
public string BlackboardVariableName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:482

Gets or sets the canonical name of the existing projected managed-reference blackboard variable this target reads. Required and non-empty only for BlackboardVariable, and forbidden on every other mode. Freeform object variables are out of scope .

C#
public string ChildPath { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:467

Gets or sets the exact child path for child resolution; empty otherwise.

C#
public string HopBlackboardName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:495

Gets or sets the exact surfaced blackboard entry the hop reads. Required and non-empty only forBlackboardEntry.

C#
public string HopFieldName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:501

Gets or sets the exact entity-typed field the hop reads. Required and non-empty only forComponentField.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityHopKind HopKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:489

Gets or sets the one hop an entity Handle target takes from its fixed base. Noneon every other mode. A second hop and Handle-to-Handle chaining are not representable, so they cannot be authored.

C#
public string HopSourceAssemblyName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:508

Gets or sets the exact assembly simple name of the component declaring HopFieldName. Exact identity is always the (assembly, type) pair, so the hop source records both halves.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity HopSourceTypeIdentity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:530-531

Gets the exact hop source type identity pair.

C#
public string HopSourceTypeName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:514

Gets or sets the exact full CLR name of the component declaring HopFieldName.

C#
public bool IsEntityMode { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:534

Gets whether this target resolves on the pure-entity backend.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetMode Mode { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:461

Gets or sets the target resolution mode.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceMemberAgentResolve Resolve { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:464

Gets or sets the agent-relative resolution shape; Unknown otherwise.

C#
public string SlotKey { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:474

Gets or sets the stable serialized slot key of an explicit-reference target. The slot key names a serialized assignment point, is unique in the graph, and is part of exact target identity.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:523

Gets the one-based source line of the target record.

C#
public string TargetIdentifier { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:542-568

Gets the identifier used for automatic blackboard collision disambiguation: the explicit slot key for a reference target, the named variable for a blackboard target, otherwise the declaring type’s simple name, normalized to lower camel case only when a blackboard name is derived from it.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity TypeIdentity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:526-527

Gets the exact target type identity pair.

C#
public string TypeName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:520

Gets or sets the exact full CLR name of the target type.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetMode

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:65-119

Underlying type: byte

How a member binding resolves its target instance.

C#
AgentRelative = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:75

A GameObject reached from the agent itself, its parent, or a child path; the exact shape is the binding’sBehaviorSourceMemberAgentResolve. Canonical text mode: self, mode: parent, or mode: child plus path.

C#
BlackboardVariable = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:93

The target is the Unity object currently held in one named projected managed-reference blackboard variable, resolved before every affected evaluation. Appended afterStatic; existing numeric values never move.

C#
EntityHandle = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:106

An exact entity reached by exactly one hop from a fixed base: a surfaced blackboard entry of the entity type, or one entity-typed field on a component of the entity this graph instance runs on.

C#
EntitySelf = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:99

The entity this graph instance runs on. Backend-local, appended; an entity has no children and no parent to walk, so this mode carries no scope.

C#
EntitySingleton = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:112

The one entity in the graph world carrying the authored component type, taken from the world’s own singleton lookup. Zero and multiple are both live readings.

C#
EntityStatic = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:118

A static declaring type with no entity instance. Its canonical spelling is shared with Static; the graph’s Runtime path decides which backend reads it.

C#
ExplicitReference = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:81

The object held in the named explicit-reference slot. Canonical text mode: reference plus slot.

C#
Static = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:86

A static declaring type with no instance at all. Canonical textmode: static.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:68

No target mode was authored. Canonical text mode: unknown.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetModes

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1420-1555

The closed target-mode vocabulary and its backend classification.

Responsibilities:

  • Map every target mode to its canonical token and to exactly one backend.

Does NOT:

  • Decide which backend a graph uses; that is the graph’s Runtime path.

GetToken(BehaviorSourceMemberTarget target)

Section titled “GetToken(BehaviorSourceMemberTarget target)”
C#
public static string GetToken(BitQuirky.Behavior.Authoring.BehaviorSourceMemberTarget target)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1475-1491

Gets the canonical source token of one exact authored target.

GetToken(BehaviorSourceMemberTargetMode mode)

Section titled “GetToken(BehaviorSourceMemberTargetMode mode)”
C#
public static string GetToken(BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetMode mode)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1458-1472

Gets the canonical source token of a mode. The agent-relative modes need their scope, so the overload taking a target is the one canonical text uses.

IsEntityMode(BehaviorSourceMemberTargetMode mode)

Section titled “IsEntityMode(BehaviorSourceMemberTargetMode mode)”
C#
public static bool IsEntityMode(BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetMode mode)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1425-1437

Returns whether the mode resolves on the pure-entity backend.

IsGameObjectMode(BehaviorSourceMemberTargetMode mode)

Section titled “IsGameObjectMode(BehaviorSourceMemberTargetMode mode)”
C#
public static bool IsGameObjectMode(BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetMode mode)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1440-1452

Returns whether the mode resolves on the GameObject backend.

TryParseToken(string token, BehaviorSourceRuntimePath path, out BehaviorSourceMemberTargetMode mode, out BehaviorSourceMemberAgentResolve resolve)

Section titled “TryParseToken(string token, BehaviorSourceRuntimePath path, out BehaviorSourceMemberTargetMode mode, out BehaviorSourceMemberAgentResolve resolve)”
C#
public static bool TryParseToken(string token, BitQuirky.Behavior.Authoring.BehaviorSourceRuntimePath path, out BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetMode mode, out BitQuirky.Behavior.Authoring.BehaviorSourceMemberAgentResolve resolve)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1497-1552

Maps one canonical token to its exact mode under the graph’s Runtime path. Returns false for a token the path does not offer, so a mode is never reinterpreted.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceNode

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:556-619

Semantic view of one authored node. Keeps graph-owned metadata exactly as authored while allowing import, validation, and baking to resolve descriptor-owned facts separately.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceActiveUpdateSource ActiveUpdateSource { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:584-585

Gets or sets the parsed Active Update source selection.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceAuthority Authority { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:567

Which side owns this node’s effects, taken from its %% authority= metadata line; Unknown when the source omits that line.

C#
public bool HasExplicitActiveUpdateSource { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:587

Gets or sets whether the source explicitly selected Active Update content.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceHostedBehaviorConfiguration HostedBehavior { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:589

Gets or sets additive hosted-tree settings, or null when omitted.

C#
public string Id { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:559

The node’s authored stable id: the lowercase identifier that opens its source line and that edges name as their endpoints.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceNodeKind Kind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:561

The node kind mapped from NodeKindToken; an unrecognized token maps to Action while the token itself is kept.

C#
public string Label { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:565

The text inside the node’s shape brackets with the brackets and any wrapping quotes removed; empty when the line carries no shape segment. A subgraph reference authors @addr:<address> here.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceLayoutEntry> Layout { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:604

Editor placement hints read from the node’s %% layout: comment, such as x and y; they are authoring-only and never reach the baked artifact. Empty when the comment is absent.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding> MemberBindings { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:618

Gets the member bindings owned by this node ( member nodes).

C#
public int MetadataSourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:615

Gets or sets the one-based source line of the metadata block. Zero means either that the source omitted the block or that a programmatically created node has not yet been assigned source coordinates;HasAuthoredMetadatadistinguishes them.

C#
public string NodeKindToken { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:563

The exact ::: class token that closes the authored node line, such as state or member_method.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceParameter> Parameters { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:581-582

Gets or sets ordered semantic parameters attached to this node.

C#
public System.Collections.Generic.IReadOnlyList<string> ReadSet { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:569

Declared blackboard field names this node reads, in authored order; empty when the metadata line is absent. Each name must be declared by the graph.

C#
public int SourceLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:608

One-based line of the node’s own declaration line, not of the comment lines above it.

C#
public string SubgraphAddress { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:606

For a subgraph reference, the source address taken from its @addr: label and used to resolve the nested source; empty for every other node kind.

C#
public System.Collections.Generic.IReadOnlyList<string> Waits { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:573

Declared external service ids this node waits on for completion, in authored order.

C#
public System.Collections.Generic.IReadOnlyList<string> WriteSet { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:571

Declared blackboard field names or external service ids this node writes, in authored order; each name must resolve to exactly one of the two, never both.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceNodeBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1073-1081

Inherits: BehaviorSourceDocumentBlock

One authored node: its declaration line together with the%%metadata, parameter, member-record and layout comment lines that precede it. The writer regenerates those comment lines fromNodein canonical key-sorted form and then emits NodeLineRawback unchanged, so the node’s own line survives a read/write round trip exactly as authored.

C#
public string Indent { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1080

The leading whitespace of the node line, reused as the indent of the comment lines the writer emits above it.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceNode Node { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1076

The semantic view of this node; the same instance is listed in Nodes.

C#
public string NodeLineRaw { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1078

The node declaration line exactly as authored, indent included and with trailing whitespace already removed; the writer emits it unchanged.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceNodeKind

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:57-130

Underlying type: int

Behavior-tree / statechart node taxonomy as carried in the Mermaid source. Each node line carries one node-type token (the Mermaid:::class suffix) which the parser maps into this enum.

C#
Action = 11

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:93

A leaf performing work and reporting a status. Source token action.

C#
AnyState = 22

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:126

Statechart-wide transition source with deterministic global precedence.

C#
Condition = 12

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:96

A leaf testing a predicate and reporting success or failure. Source token condition.

C#
Conditional = 15

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:105

Decorator gating its child on a predicate each tick. Source token conditional.

C#
EntryState = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:66

The state the statechart activates first. Source token entry.

C#
Inverter = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:84

Decorator swapping its child’s success and failure. Source token inverter.

C#
MemberCondition = 20

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:120

Reusable product condition comparing an exact member value.

C#
MemberEvent = 21

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:123

Reusable product condition waiting for one firing of an exact event.

C#
MemberField = 18

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:114

Reusable product node reading, writing, or binding an exact field.

C#
MemberMessage = 19

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:117

Reusable product node firing an exact public void method.

C#
MemberMethod = 16

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:108

Reusable product node invoking an exact method .

C#
MemberProperty = 17

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:111

Reusable product node reading, writing, or binding an exact property.

C#
Parallel = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:81

Ticks every child on the same tick and combines their statuses. Source token parallel.

C#
ProbabilitySelector = 14

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:102

Picks one child by its authored branch weight. Source token probability_selector.

C#
Repeat = 9

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:87

Decorator re-running its child for the authored repeat count. Source token repeat.

C#
Selector = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:75

Ticks children in order and returns the first non-failure. Source token selector.

C#
Sequence = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:78

Ticks children in order and returns the first non-success. Source token sequence.

C#
State = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:69

One statechart state with its own actions and outgoing transitions. Source token state.

C#
StateMachineReference = 23

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:129

Reusable referenced state machine with ordered candidate child assets.

C#
StatechartRoot = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:63

The single owner of a statechart graph. Source token root.

C#
SubgraphReference = 13

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:99

A leaf running another authored graph in place. Source token subgraph.

C#
TimeLimit = 10

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:90

Decorator failing its child once the authored time budget elapses. Source token timelimit.

C#
Transition = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:72

One edge between two states, taken when its condition group is satisfied. Source token transition.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:60

No node kind has been resolved for the node; validation rejects it as missing metadata.

Category: Source authoring

C#
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceParameter

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:503-521

One ordered semantic parameter attached to a source node.

Responsibilities:

  • Preserve a stable key, its raw canonical value, and source location.

Does NOT:

  • Interpret the value without a node parameter descriptor.

C#
public string Key { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:514

Gets the stable lowercase parameter key.

C#
public string RawValue { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:517

Gets the raw canonical value text.

C#
public int SourceLine { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:520

Gets the one-based source line containing the parameter.

BehaviorSourceParameter(string key, string rawValue, int sourceLine)

Section titled “BehaviorSourceParameter(string key, string rawValue, int sourceLine)”
C#
public BehaviorSourceParameter(string key, string rawValue, int sourceLine)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:506-511

Creates one ordered, uninterpreted semantic source parameter.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceParseResult

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1212-1238

Result of a parse: the document (round-trip view), the AST (semantic view), and the diagnostics list.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceAst Ast { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1217

The semantic view the validator and the baker consume. It is always present; after an error-severity diagnostic it is incomplete rather than null.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> Diagnostics { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1219

Every diagnostic this parse produced, in emission order.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceDocument Document { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1215

The round-trip view of the parsed text: one ordered block per source line, ready to hand back to the writer.

C#
public bool HasErrors { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1224-1237

Whether any diagnostic has error severity, meaning the parse produced no usable AST.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourcePassthroughCommentBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1060-1064

Inherits: BehaviorSourceDocumentBlock

A%%comment line the reader does not interpret: anything that is not a header, a declaration, a node metadata, parameter or layout block, a member record, or a declared value block. The writer emitsRawLineback unchanged, so an unrecognized comment survives a read/write round trip apart from the trailing whitespace the reader already removed.

C#
public string RawLine { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1063

The comment line exactly as authored, indent included, with trailing whitespace already removed.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceRuntimePath

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:53-60

Underlying type: byte

The runtime a graph bakes for. The path is a property of the graph, set in the graph’s inspector home on the Runtime path row, and it decides how the shared canonical target-mode tokens read.

C#
Entity = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:59

The pure-entity object model.

C#
GameObject = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:56

The GameObject object model. The default, so canonical text omits it.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceRuntimePathBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:980-984

Inherits: BehaviorSourceDocumentBlock

The graph’s Runtime path header block.

Responsibilities:

  • Preserve the parsed Runtime path in document order so the shared canonical target-mode tokens read against the object model the graph bakes for.

Does NOT:

  • Reinterpret, discard, or rewrite a binding the new path cannot carry.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceRuntimePath Path { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:983

Gets or sets the parsed Runtime path.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceServiceDeclarationBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1025-1029

Inherits: BehaviorSourceDocumentBlock

Document block declaring external service ids that nodes may reference from waits metadata and service-queue writes.

C#
public System.Collections.Generic.IReadOnlyList<string> ServiceIds { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1028

The service ids listed on this one %% services: line, in authored order. A source may carry several such lines; DeclaredServiceOrder is their de-duplicated union.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceStateParameterTokens

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:408-430

Canonical semantic parameter tokens for state-hosted Behavior Tree authoring.

Responsibilities:

  • Own the shared parameter and value spellings used by Runtime and Editor source handling.

Does NOT:

  • Infer a legacy source choice or validate whether the selected source has valid content.

C#
public const string ActionsUpdateSource = "actions"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:414

The Active Update source value selecting direct Update actions.

C#
public const string ActiveUpdateSource = "active_update_source"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:411

The parameter selecting the state’s Active Update source.

C#
public const string BehaviorTreeUpdateSource = "behavior_tree"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:417

The Active Update source value selecting a hosted Behavior Tree.

C#
public const string HostAssetName = "host_asset_name"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:429

The last authored display name of a hosted project asset.

C#
public const string HostFailureEvent = "host_failure_event"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:425

The parameter exposing a hosted tree’s Failure result event.

C#
public const string HostLifetime = "host_lifetime"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:419

The parameter selecting a hosted tree’s activation lifetime.

C#
public const string HostSuccessEvent = "host_success_event"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:422

The parameter exposing a hosted tree’s Success result event.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceTransitionConditionGroup

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:710-716

Ordered predicates and their authored all or any combination mode.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTransitionConditionGroupMode Mode { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:713

Whether every predicate must hold (all:) or any one of them (any:); None means the edge authors no condition group.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceTransitionPredicate> Predicates { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:715

The group’s predicates in authored order.

BehaviorSourceTransitionConditionGroupMode

Section titled “BehaviorSourceTransitionConditionGroupMode”

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceTransitionConditionGroupMode

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:150-160

Underlying type: int

Authored transition predicate combination mode.

C#
All = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:156

Every authored predicate must hold for the transition to fire.

C#
Any = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:159

At least one authored predicate must hold for the transition to fire.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:153

The transition authored no predicates and fires whenever it is evaluated.

Category: Source authoring

C#
enum BitQuirky.Behavior.Authoring.BehaviorSourceTransitionOperandKind

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:228-235

Underlying type: byte

Which authored value a typed transition predicate compares its left field against.

Responsibilities:

  • Separate the existing typed constant from a same-type authored graph value, so an operand that names a field is never mistaken for a literal and a literal is never mistaken for a field (, FSM-006).

Does NOT:

  • Decide whether the named field exists, is readable, or has a comparable type. The validator owns every one of those verdicts.

C#
Constant = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:231

The existing typed constant literal. Every earlier source is this kind.

C#
GraphValue = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:234

A declared graph value named in canonical source as $<field>.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceTransitionOperandTokens

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:247-263

Canonical source tokens that mark a transition predicate’s right operand.

Responsibilities:

  • Own the one marker character that distinguishes a graph-value right operand from every constant literal, so the reader, the writer, and the editor never spell it separately.

Does NOT:

  • Validate the name the marker introduces.

C#
public const char GraphValueMarker = '$'

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:250

The character that introduces a graph-value right operand.

C#
public const string RequiredConstant = "<value>"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:255

Canonical visible placeholder for a required constant the author has not written. The reader projects it back to an empty literal so validation blocks bake.

C#
public static string FormatGraphValue(string fieldId)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:259-262

Renders one graph-value right operand in canonical source.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceTransitionPredicate

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:665-705

One parsed typed predicate in an authored transition condition group.

The right operand is either the authored constant inRawLiteralor the declared graph value named byRightFieldId, and RightOperandKindis the only thing that says which. Every predicate authored before reads back asConstant, so its meaning, its canonical text, and its baked row are unchanged.

C#
public string FieldId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:668

Name of the declared graph value used as the left operand; it names a declared value, not a blackboard slot index.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceComparisonOperator Operator { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:670

The comparison applied between the left operand and the right operand.

C#
public string RawLiteral { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:672

The right-hand constant in canonical authored value text. Empty when the right operand is a graph value, and empty when the author left the <value> placeholder, which validation then rejects.

C#
public string RightFieldId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:686

Gets or sets the exact authored graph-value name, without its $ marker. It is active whenRightOperandKindis GraphValueand remains dormant when Constant is active, so source switching and save/reopen never discard authored intent. An unusable name is preserved for explicit repair rather than coerced or discarded.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTransitionOperandKind RightOperandKind { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:677

Gets or sets which value the right operand currently evaluates.

C#
public int SourceOrder { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:674

Zero-based position of this predicate within its authored group; the baked predicate rows are ordered by this value, so authored order survives the bake.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTransitionPredicate Clone()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:693-704

Copies every authored column of this predicate. Every edit command and every document mutation clones through here, so a column added to the predicate can never be silently dropped by one copy site.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceTransitionTriggerTokens

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:727-736

Canonical semantic parameter tokens used to retain an inactive transition trigger.

Responsibilities:

  • Name the source parameter that carries a dormant predicate group while Event is active.

Does NOT:

  • Choose the active trigger or evaluate transition predicates.

C#
public const string DormantConditionGroup = "dormant_transition_conditions"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:730

The encoded predicate group retained while Event is active.

C#
public const string DormantOperandState = "dormant_transition_operands"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:734

Encoded active predicate group including each row’s dormant alternate operand.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceTypeForwarding

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeForwarding.cs:23-91

Exact type identity resolved through assembly type forwarders.

Responsibilities:

  • Resolve one recorded (assembly simple name, full CLR type name) pair to its exact type, accepting a forwarding assembly name as well as the defining one.
  • Normalize a recorded identity to the defining assembly after forwarding, so a binding authored against an assembly whose types later moved keeps one stable identity.

Does NOT:

  • Substitute a same-named type from another assembly, search by simple name, or load an assembly that is not already in the domain.

Normalize(BehaviorSourceTypeIdentity identity)

Section titled “Normalize(BehaviorSourceTypeIdentity identity)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity Normalize(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity identity)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeForwarding.cs:67-72

Returns the identity carried by the assembly that defines the type after forwarding, or the recorded identity unchanged when it does not resolve. Resolution failure is not a licence to guess: the caller reports the exact saved identity verbatim.

TryResolve(BehaviorSourceTypeIdentity identity, out Type type, out BehaviorSourceTypeIdentity definingIdentity)

Section titled “TryResolve(BehaviorSourceTypeIdentity identity, out Type type, out BehaviorSourceTypeIdentity definingIdentity)”
C#
public static bool TryResolve(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity identity, out System.Type type, out BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity definingIdentity)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeForwarding.cs:32-60

Resolves one recorded identity to its exact type and to the identity of the assembly that actually defines it. Returns false when no loaded assembly declares or forwards the exact full type name.

Category: Source authoring

C#
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:22-81

Implements: IEquatable<BehaviorSourceTypeIdentity>

One exact type identity: the pair of assembly simple name and full CLR type name.

Responsibilities:

  • Identify a type exactly without version, culture, or public-key metadata.
  • Name theelementtype of a declared value; the declared shape is carried beside it, so no generic or array spelling is ever written or parsed.

Does NOT:

  • Resolve the type, accept generic declaring shapes, or guess a same-named type; validation rejects those.

C#
public string AssemblyName { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:32

Gets the exact assembly simple name, without version.

C#
public string DefinitionName { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:41

Gets the exact full CLR type definition name. Alias ofTypeNamekept for the declared-value contract, which names definitions rather than constructed spellings.

C#
public bool HasAssembly { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:48

Gets whether the identity records an assembly simple name.

C#
public bool IsEmpty { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:44-45

Gets whether both identity components are empty.

C#
public string TypeName { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:35

Gets the exact full CLR type name.

BehaviorSourceTypeIdentity(string assemblyName, string typeName)

Section titled “BehaviorSourceTypeIdentity(string assemblyName, string typeName)”
C#
public BehaviorSourceTypeIdentity(string assemblyName, string typeName)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:25-29

Creates one exact type identity.

C#
public bool Equals(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity other)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:57-61

Compares both identity components by ordinal, case-sensitive string equality.

C#
public override bool Equals(object obj)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:64-67

Returns whether the boxed object is a type identity with the same two components.

C#
public override int GetHashCode()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:70-74

Combines the hashes of both identity components, consistent with Equals.

C#
public override string ToString()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:77-80

Formats the identity for display as TypeName, AssemblyName; no version, culture or public key is emitted.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity WithAssembly(string assemblyName)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:51-54

Returns the same type name carried with the supplied assembly simple name.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceTypeKeywords

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:578-663

The six built-in scalars canonical source writes as C# keywords with no assembly.

Responsibilities:

  • Map between the canonical keyword token and the exact full CLR type name for bool, char, int, float, double and string, because a keyword names exactly one runtime type.

Does NOT:

  • Accept any other keyword spelling, resolve a type, or omit an assembly for a type that is not one of the six.

C#
public static string KeywordAssemblyName { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:615

Gets the assembly simple name recorded for a keyword scalar identity. Canonical text omits it, and the resolver never needs it, because the keyword names one runtime type.

C#
public static BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity Identity(string keyword)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:652-660

Builds the exact identity of one canonical keyword scalar.

C#
public static bool IsKeyword(string token)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:618-621

Returns whether the token is one of the six canonical keyword scalars.

IsKeywordIdentity(BehaviorSourceTypeIdentity identity)

Section titled “IsKeywordIdentity(BehaviorSourceTypeIdentity identity)”
C#
public static bool IsKeywordIdentity(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity identity)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:646-649

Returns whether the identity is written as a keyword with no assembly.

TryGetKeyword(string fullTypeName, out string keyword)

Section titled “TryGetKeyword(string fullTypeName, out string keyword)”
C#
public static bool TryGetKeyword(string fullTypeName, out string keyword)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:635-643

Maps an exact full CLR type name to its canonical keyword token.

TryGetTypeName(string keyword, out string fullTypeName)

Section titled “TryGetTypeName(string keyword, out string fullTypeName)”
C#
public static bool TryGetTypeName(string keyword, out string fullTypeName)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:624-632

Maps a canonical keyword token to its exact full CLR type name.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorSourceValidationProfileBlock

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:995-999

Inherits: BehaviorSourceDocumentBlock

Explicit consumer validation-profile header block.

Responsibilities:

  • Preserve the stable profile token selected by canonical source.

Does NOT:

  • Discover, instantiate, or execute a validation extension.

C#
public string ProfileToken { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:998

Gets or sets the stable validation-profile token.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorValidationContext

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidationExtension.cs:18-40

Immutable input supplied to an explicitly composed validation extension.

Responsibilities:

  • Expose the source AST and the operation-local node authoring registry.
  • Fail immediately when either required validation dependency is missing.

Does NOT:

  • Discover extensions, mutate source, or retain global validation state.

C#
public BitQuirky.Behavior.Authoring.BehaviorSourceAst Ast { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidationExtension.cs:34

Source being validated for the current operation.

C#
public BitQuirky.Behavior.Nodes.NodeAuthoringRegistry Registry { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidationExtension.cs:39

Node schemas composed for the current operation.

BehaviorValidationContext(BehaviorSourceAst ast, NodeAuthoringRegistry registry)

Section titled “BehaviorValidationContext(BehaviorSourceAst ast, NodeAuthoringRegistry registry)”
C#
public BehaviorValidationContext(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Nodes.NodeAuthoringRegistry registry)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidationExtension.cs:23-29

Creates an extension context from the source and registry selected for one operation.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorValidationOptions

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:84-109

Explicit inputs to one validator operation.

Responsibilities:

  • Supply the operation-local node registry and selected consumer validation extensions.

Does NOT:

  • Discover dependencies or hold global mutable registration state.

C#
public BitQuirky.Behavior.Member.IBehaviorEntityPropertyAccessorProofProvider EntityPropertyAccessorProofs { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:107-108

Optional build-time property-accessor proofs for runtimes, such as IL2CPP, that do not expose managed method bodies. Generated validation players supply their compiled proof; ordinary Editor validation proves the accessor directly and leaves this null.

C#
public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.IBehaviorValidationExtension> Extensions { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:99-100

Consumer validation extensions selected explicitly for this operation. The caller resolves source profile tokens and passes only the matching extensions.

C#
public BitQuirky.Behavior.Nodes.NodeAuthoringRegistry Registry { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:93

When provided, the validator cross-references each node’s :::<token>against the registry’s authoring descriptors and runs the determinism x authority compatibility check (section Required declarations).

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorValidationResult

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:46-73

Validation result for one source operation.

Responsibilities:

  • Own the structured diagnostics appended by package and extension validation rules.
  • Report whether any diagnostic has error severity.

Does NOT:

  • Mutate source or retain diagnostics between validation operations.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Authoring.BehaviorSourceDiagnostic> Diagnostics { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:49

Gets the operation-owned structured diagnostics.

C#
public bool HasErrors { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:59-72

Gets whether at least one diagnostic has error severity.

C#
public System.Collections.Generic.List<BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnostic> MemberDiagnostics { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:55-56

Gets the structured member-binding diagnostics. Each entry also projects one error intoDiagnosticscarrying the same stable code.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.BehaviorValidator

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:787-4265

Bake-time validation hooks for the node-author contract per section Bake-time validation. The single source of truth for these checks;BehaviorBaker delegates here so the codes / messages stay consistent across the editor preprocess, the build preprocess, and the runtime load.

Responsibilities:

  • Header well-formedness (presence of%% behavior-version, %% layer: behavior).
  • Resolve omitted descriptor-owned node facts and typed-transition reads into a detached semantic view, while rejecting explicit descriptor contradictions.
  • Validate graph-owned read / write / waits membership against the source’s %% fields: and %% services:declarations. -ClientPresentationmay not write to slots co-owned byHostAuthoritative writers.
  • Either a single top-level behavior-tree root, or a single Statechart Root + exactly one entry state.
  • Subgraph references carry a source address; per-source self-cycle detection.
  • Deterministic +ClientPresentationis the only host+client tickable combination (HostOnlyNonDeterministicnodes MUST be host-authoritative). Activated when an authoring registry is supplied.

Does NOT:

  • Mutate the AST.
  • Resolve subgraphs across files - that’s the loader’s job.
  • Resolve parent / child or transition edges - that’s a structural resolution step done by the baker once validation passes.

Validate(BehaviorSourceAst ast, BehaviorValidationOptions options)

Section titled “Validate(BehaviorSourceAst ast, BehaviorValidationOptions options)”
C#
public static BitQuirky.Behavior.Authoring.BehaviorValidationResult Validate(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationOptions options = null)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:796-838

Run every validation pass overast. Always runs all passes (collects every diagnostic) - does not bail on the first error.

ValidateAuthority(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateAuthority(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateAuthority(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2507-2546

ClientPresentationmay not write to a slot anyHostAuthoritativenode also writes (the slot would be host-authoritative and the client-presentation write would race the host).

ValidateBlackboardConditionComparisons(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateBlackboardConditionComparisons(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateBlackboardConditionComparisons(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2574-2634

Validates the built-in blackboard condition comparison against the selected field type. The compare-to value may be a literal or a same-typed blackboard field.

ValidateConditionalDecorators(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateConditionalDecorators(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateConditionalDecorators(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2408-2431

Validates that every conditional decorator owns exactly one guarded child.

ValidateDeclaredReferences(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateDeclaredReferences(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateDeclaredReferences(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:1040-1110

Read / write / waits set membership.

ValidateDeclaredValueNames(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateDeclaredValueNames(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateDeclaredValueNames(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:846-870

Declared blackboard variable names are references, so each is validated as one: a valid identifier, unique among declared variables, and never the name of a declared external service. An invalid name is reported with the rule stated and the authored name kept, never silently rewritten.

ValidateExtensions(BehaviorSourceAst ast, BehaviorValidationOptions options, BehaviorValidationResult result)

Section titled “ValidateExtensions(BehaviorSourceAst ast, BehaviorValidationOptions options, BehaviorValidationResult result)”
C#
public static void ValidateExtensions(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationOptions options, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2851-2932

Runs only the consumer validation extensions supplied for this operation.

ValidateGraphConnectivity(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateGraphConnectivity(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateGraphConnectivity(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2305-2367

Every semantic node must be reachable from the single top-level graph root by following authored Mermaid edges.

ValidateHeader(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateHeader(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateHeader(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:987-999

Header well-formedness.

ValidateHostedBehaviorConfiguration(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateHostedBehaviorConfiguration(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateHostedBehaviorConfiguration(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:1708-1848

Hosted lifecycle settings belong only to states with one unambiguous immediate tree root, and result-event transition edges consume an event configured by their source state.

ValidateMemberBindings(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateMemberBindings(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateMemberBindings(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2941-2981

Source-local structural member-binding validation: binding cardinality, unique binding ids, operation-appropriate records, access-flag agreement, static-target agreement, explicit-reference slot-key consistency, and deterministic blackboard projection collisions. Runs without loaded types; exact member resolution lives in ValidateMemberResolution.

ValidateMemberResolution(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateMemberResolution(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateMemberResolution(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:3115-3120

Exact member resolution over loaded types: target and declaring type resolution, exact member and overload selection, signature-shape and public-access rules, supported value kinds, argument, result, comparison, and notification conversions, and 64-bit contract-hash collision rejection. Emits one structured BehaviorMemberBindingDiagnosticper independent failure in source order and projects each into a plain error diagnostic.

ValidateNodeMetadata(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateNodeMetadata(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateNodeMetadata(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:1004-1035

Per-node metadata well-formedness.

ValidateProbabilitySelectors(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateProbabilitySelectors(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateProbabilitySelectors(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:1117-1227

Probability-selector edges must declare a bounded, usable weight set. The optional Direct failure outcome joins that set, so a positive Direct failure weight is enough on its own to make the composite pickable, including with no children at all.

ValidateReactiveConditions(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateReactiveConditions(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateReactiveConditions(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2374-2403

Validates that every Lower Priority condition belongs to a selector branch with a lower-priority sibling that can be interrupted, and that every Self conditional decorator is nested within a selector branch that owns its fallback order.

ValidateRegistryDescriptors(BehaviorSourceAst ast, NodeAuthoringRegistry registry, BehaviorValidationResult result)

Section titled “ValidateRegistryDescriptors(BehaviorSourceAst ast, NodeAuthoringRegistry registry, BehaviorValidationResult result)”
C#
public static void ValidateRegistryDescriptors(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Nodes.NodeAuthoringRegistry registry, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2768-2778

Cross-check source metadata against registered C# node-author descriptors, then enforce determinism x authority compatibility.

ValidateSelfSubgraphCycle(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateSelfSubgraphCycle(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateSelfSubgraphCycle(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2757-2762

Convenience - runsValidateSelfSubgraphCycle with no address (a no-op) so the standard pipeline can still list the call without special-casing.

ValidateSelfSubgraphCycle(BehaviorSourceAst ast, string ownAddress, BehaviorValidationResult result)

Section titled “ValidateSelfSubgraphCycle(BehaviorSourceAst ast, string ownAddress, BehaviorValidationResult result)”
C#
public static void ValidateSelfSubgraphCycle(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, string ownAddress, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2728-2750

Detect a single-source cycle: a behavior source that contains a subgraph reference back to its own source address. The caller passes the source’s own address via ownAddress; when null/empty (e.g. a unit test usingBakeFromText), this check is skipped.

ValidateStateCompletionSemantics(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateStateCompletionSemantics(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateStateCompletionSemantics(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:1958-2123

Validates cadence, self-reentry, and Any State topology before those authored choices can reach the baked runtime contract.

ValidateSubgraphReferenceShape(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateSubgraphReferenceShape(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateSubgraphReferenceShape(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2553-2568

Per-source check that every subgraph reference has a non-empty source address. Cross-source cycle detection is the loader’s job (it’s stream-driven over async resolution).

ValidateTopLevelStructure(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateTopLevelStructure(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateTopLevelStructure(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:2251-2299

Single behavior-tree root, or a single Statechart Root + one entry state.

ValidateTransitionConditionGroups(BehaviorSourceAst ast, BehaviorValidationResult result)

Section titled “ValidateTransitionConditionGroups(BehaviorSourceAst ast, BehaviorValidationResult result)”
C#
public static void ValidateTransitionConditionGroups(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidator.cs:1234-1340

Explicit transition groups must target a transition node and compare fields in that node’s read set against either a type-compatible literal or a same-type graph value that is itself declared and in that read set ( through ).

Category: Source authoring

C#
interface BitQuirky.Behavior.Authoring.IBehaviorStateMachineConditionProvider

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorStateMachineConditionProvider.cs:17-23

Consumer-owned source of condition fields available to State Machine authoring.

Responsibilities:

  • Advertise exact Int32 field identifiers that the consuming project can bind at runtime.
  • Filter suggestions against the State Machine source being edited when necessary.

Does NOT:

  • Mutate source, declare fields, provide runtime values, or select a condition automatically.

GetConditionFieldIds(BehaviorSourceAst ast)

Section titled “GetConditionFieldIds(BehaviorSourceAst ast)”
C#
System.Collections.Generic.IReadOnlyList<string> GetConditionFieldIds(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorStateMachineConditionProvider.cs:22

Returns the Int32 field identifiers available to the supplied source.

Category: Source authoring

C#
interface BitQuirky.Behavior.Authoring.IBehaviorValidationExtension

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidationExtension.cs:52-65

Game-neutral hook for validation rules supplied by an explicitly composed consumer.

Responsibilities:

  • Identify the source validation profile it implements with a stable token.
  • Append structured diagnostics for consumer-owned rules.

Does NOT:

  • Register itself globally, replace package validation, or substitute authored values.

C#
string ProfileToken { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidationExtension.cs:57

Stable lowercase profile token used by source format 1.1 selection.

Validate(BehaviorValidationContext context, BehaviorValidationResult result)

Section titled “Validate(BehaviorValidationContext context, BehaviorValidationResult result)”
C#
void Validate(BitQuirky.Behavior.Authoring.BehaviorValidationContext context, BitQuirky.Behavior.Authoring.BehaviorValidationResult result)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorValidationExtension.cs:62-64

Appends extension diagnostics toresultwithout mutating the AST.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.MermaidBehaviorSourceReader

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1263-6232

Parser for the Mermaid behavior-source format defined in

and the consuming project’s behavior-authoring guide.

Responsibilities:

  • Tokenize a Mermaid.bqbehaviorinto a round-trip-preserving BehaviorSourceDocumentand a semantic BehaviorSourceAst.
  • Recognize optional per-node metadata blocks, layout blocks, node lines, and edge lines.
  • Preserve metadata omission for descriptor resolution and emit diagnostics for malformed structure and duplicate or malformed node ids. Custom operation tokens remain exact for registry validation.

Does NOT:

  • Validate cross-node semantic rules (subgraph cycles, statechart root cardinality, authority violations). Those live in BehaviorBaker / BehaviorValidator.
  • Resolve subgraph references. That is the loader’s job.
  • Mutate the source text. The parser is read-only.

C#
public static bool IsStableEventId(string eventId)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1452-1455

Gets whether text is a valid stable event id: lowercase ASCII letters, digits, and underscores, beginning with a lowercase letter or underscore.

C#
public static BitQuirky.Behavior.Authoring.BehaviorSourceParseResult Parse(string sourceText)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1478-1506

Parse a Mermaid behavior source. Always returns a result; check HasErrorsbefore use.

TryReadHostedResultEventLabel(string label, out string eventId)

Section titled “TryReadHostedResultEventLabel(string label, out string eventId)”
C#
public static bool TryReadHostedResultEventLabel(string label, out string eventId)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1462-1472

Reads the authored identity text from an explicit lowercaseevent:edge label. Returns true for malformed and empty identities so editor validation can keep them visible and repairable.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.MermaidBehaviorSourceWriter

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceWriter.cs:46-1905

Writer for the Mermaid behavior-source format defined in

and the consuming project’s behavior-authoring guide.

Responsibilities:

  • Serialize aBehaviorSourceDocumentback to normalized source, preserving whether each node omitted its descriptor-owned metadata block.
  • Normalize explicit metadata in authority / read / write / waits order, sort layout keys, collapse blank lines, remove trailing whitespace, and emit one trailing LF.
  • Preserve source order, node ids and casing, and passthrough comments verbatim.

Does NOT:

  • Re-allocate node ids or re-shape the graph.
  • Resolve subgraph references or run any bake-time validation.
  • Stamp the source-content hash into the canonical .bqbehavior (R-9: bake/build MUST NOT dirty .bqbehavior files).

C#
public static string Write(BitQuirky.Behavior.Authoring.BehaviorSourceDocument document)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceWriter.cs:56-272

Serialize the document to a normalized Mermaid behavior source. Open → no semantic edits → save → byte-for-byte identical, modulo the documented normalization rules in the consuming project’s behavior-authoring guide.

WriteToString(BehaviorSourceDocument document)

Section titled “WriteToString(BehaviorSourceDocument document)”
C#
public static string WriteToString(BitQuirky.Behavior.Authoring.BehaviorSourceDocument document)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceWriter.cs:279

Write the document to a text representation. Convenience overload that throws when given a null document, otherwise identical to Write.

Category: Source authoring

C#
class BitQuirky.Behavior.Authoring.SerializedBakedBehavior

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:291-688

Unity-serializable mirror of a derived baked behavior artifact.

Responsibilities:

  • Persist importer-derived POD tables and materialize fresh native ownership.

Does NOT:

  • Replace canonical behavior source or share native allocations between agents.

C#
public ulong BindingSetFingerprint { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:408

Gets the generated binding-set fingerprint captured from the artifact.

C#
public ulong ExecutableContentHash { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:406

Gets the complete executable-content hash captured from the artifact.

C#
public ulong SourceContentHash { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:403

Gets the semantic hash captured from the baked artifact.

C#
public static BitQuirky.Behavior.Authoring.SerializedBakedBehavior Capture(BitQuirky.Behavior.Baked.BakedBehaviorArtifact artifact)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:412-507

Captures managed copies of every executable table in an artifact.

C#
public BitQuirky.Behavior.Baked.BakedBehaviorArtifact CreateArtifact(Unity.Collections.Allocator allocator)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:510-671

Materializes fresh native tables owned by the returned artifact.

Source fingerprint: sha256:ad0983d00d773d882bc61865e18d8c5559e009d181e5891575cd7f262515b23e

Full-size image