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
ActionStateMachineValidationRule
Section titled “ActionStateMachineValidationRule”Category: Source authoring
class BitQuirky.Behavior.Authoring.ActionStateMachineValidationRuleSource 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.
Members
Section titled “Members”ProfileToken
Section titled “ProfileToken”public string ProfileToken { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/ActionStateMachineValidationRule.cs:58
Gets the stable profile token selected by source.
ActionBindingCode
Section titled “ActionBindingCode”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.
ActionPhaseCode
Section titled “ActionPhaseCode”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.
ActionSettingScopeCode
Section titled “ActionSettingScopeCode”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.
AwaitedActionCode
Section titled “AwaitedActionCode”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.
EntryCountCode
Section titled “EntryCountCode”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.
RootShapeCode
Section titled “RootShapeCode”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.
StateActionCountCode
Section titled “StateActionCountCode”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.
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.
TransitionConditionCode
Section titled “TransitionConditionCode”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.
TransitionShapeCode
Section titled “TransitionShapeCode”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.
UnsupportedNodeCode
Section titled “UnsupportedNodeCode”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)”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.
ActionStatePhaseConversion
Section titled “ActionStatePhaseConversion”Category: Source authoring
class BitQuirky.Behavior.Authoring.ActionStatePhaseConversionSource 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.
Members
Section titled “Members”IsLegacyActionState(BehaviorSourceAst ast, string stateId)
Section titled “IsLegacyActionState(BehaviorSourceAst ast, string stateId)”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)”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)”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)”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.
BehaviorAbortMode
Section titled “BehaviorAbortMode”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorAbortModeSource 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.
Members
Section titled “Members”LowerPriority
Section titled “LowerPriority”LowerPriority = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:20
Preempt a running lower-priority selector branch when the condition succeeds.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:17
Use legacy condition evaluation without reactive observation.
Self = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:23
Cancel the guarded branch synchronously when its own condition fails.
BehaviorAbortModeTokens
Section titled “BehaviorAbortModeTokens”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorAbortModeTokensSource 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.
Members
Section titled “Members”LowerPriority
Section titled “LowerPriority”public const string LowerPriority = "lower_priority"Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:41
The source token for LowerPriority.
public const string None = "none"Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:38
The source token for None.
public const string Self = "self"Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorAbortMode.cs:44
The source token for Self.
BehaviorBakeOptions
Section titled “BehaviorBakeOptions”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorBakeOptionsSource 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.
Members
Section titled “Members”Allocator
Section titled “Allocator”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.
AssetResolver
Section titled “AssetResolver”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.
BakedAtUnixSeconds
Section titled “BakedAtUnixSeconds”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).
FieldTypeCodes
Section titled “FieldTypeCodes”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.
ValidationOptions
Section titled “ValidationOptions”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.
VerifyDeterminismDoubleBake
Section titled “VerifyDeterminismDoubleBake”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).
BehaviorBakeResult
Section titled “BehaviorBakeResult”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorBakeResultSource 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.
Members
Section titled “Members”Artifact
Section titled “Artifact”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.
Diagnostics
Section titled “Diagnostics”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.
HasErrors
Section titled “HasErrors”public bool HasErrors { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:124-137
Gets whether any diagnostic has error severity.
MemberDiagnostics
Section titled “MemberDiagnostics”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.
Success
Section titled “Success”public bool Success { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorBaker.cs:121
Gets whether baking produced an artifact without error diagnostics.
BehaviorBaker
Section titled “BehaviorBaker”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorBakerSource 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.
Members
Section titled “Members”Bake(BehaviorSourceAst ast, BehaviorBakeOptions options)
Section titled “Bake(BehaviorSourceAst ast, BehaviorBakeOptions options)”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.
BehaviorCanonicalValueCodec
Section titled “BehaviorCanonicalValueCodec”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorCanonicalValueCodecSource 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
explicit
nonereference 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.
Members
Section titled “Members”ConcreteTypeFieldKey
Section titled “ConcreteTypeFieldKey”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.
EmptySequenceToken
Section titled “EmptySequenceToken”public const string EmptySequenceToken = "[]"Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:48
The canonical empty-sequence token, distinct from NoneToken.
EntryKeyFieldKey
Section titled “EntryKeyFieldKey”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.
EntryValueFieldKey
Section titled “EntryValueFieldKey”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.
NoneToken
Section titled “NoneToken”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.
NullKeyMarker
Section titled “NullKeyMarker”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.
UnsetKeyMarker
Section titled “UnsetKeyMarker”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.
VariablesBlockHeader
Section titled “VariablesBlockHeader”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)”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.
FormatBool(bool value)
Section titled “FormatBool(bool value)”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.
FormatChar(char value)
Section titled “FormatChar(char value)”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.
FormatDouble(double value)
Section titled “FormatDouble(double value)”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)”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)”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.
FormatFloat(float value)
Section titled “FormatFloat(float value)”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)”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)”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)”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.
FormatSignedInteger(long value)
Section titled “FormatSignedInteger(long value)”public static string FormatSignedInteger(long value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorCanonicalValueCodec.cs:542-545
Writes an invariant whole number.
FormatText(string value)
Section titled “FormatText(string value)”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)”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.
FormatUnsignedInteger(ulong value)
Section titled “FormatUnsignedInteger(ulong value)”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)”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)”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.
IsMarker(string payload)
Section titled “IsMarker(string payload)”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.
IsNone(string payload)
Section titled “IsNone(string payload)”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.
IsQuotedText(string payload)
Section titled “IsQuotedText(string payload)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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.
BehaviorDeclaredComparisonSupport
Section titled “BehaviorDeclaredComparisonSupport”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredComparisonSupportSource 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.
Members
Section titled “Members”EqualityOnly
Section titled “EqualityOnly”EqualityOnly = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:468
Only == and != decide this declaration.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:465
The declaration cannot be compared at all, so no operator is legal.
OrderingAndEquality
Section titled “OrderingAndEquality”OrderingAndEquality = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:471
Ordering and equality both decide this declaration.
BehaviorDeclaredTypeResolution
Section titled “BehaviorDeclaredTypeResolution”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredTypeResolutionSource 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.
Members
Section titled “Members”CannotResolveToOne
Section titled “CannotResolveToOne”CannotResolveToOne = 2Source 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.
NotFound
Section titled “NotFound”NotFound = 1Source 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.
Resolves
Section titled “Resolves”Resolves = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:549
The recorded assembly is present and declares the type.
BehaviorDeclaredValueDefaults
Section titled “BehaviorDeclaredValueDefaults”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDefaultsSource 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.
Members
Section titled “Members”FormatDefaultOrEmpty(BehaviorDeclaredValueKind kind, Type type)
Section titled “FormatDefaultOrEmpty(BehaviorDeclaredValueKind kind, Type type)”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)”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.
BehaviorDeclaredValueDescriptor
Section titled “BehaviorDeclaredValueDescriptor”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptorSource 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.
Members
Section titled “Members”Candidates
Section titled “Candidates”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.
ConstructedType
Section titled “ConstructedType”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.
Declaration
Section titled “Declaration”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.
DeclaredIdentity
Section titled “DeclaredIdentity”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.
ElementStride
Section titled “ElementStride”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.
IsPureEntityCompatible
Section titled “IsPureEntityCompatible”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.
IsValid
Section titled “IsValid”public bool IsValid { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:417
Gets whether the declaration resolved without a refusal.
KeyCandidates
Section titled “KeyCandidates”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.
KeyIdentity
Section titled “KeyIdentity”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.
KeyKind
Section titled “KeyKind”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.
KeyTypeResolution
Section titled “KeyTypeResolution”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.
NativeSize
Section titled “NativeSize”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.
RejectedDictionaryEntryIndex
Section titled “RejectedDictionaryEntryIndex”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.
RejectedDictionaryKey
Section titled “RejectedDictionaryKey”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.
RejectedElementIndex
Section titled “RejectedElementIndex”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.
RejectionDetail
Section titled “RejectionDetail”public string RejectionDetail { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:402
Gets or sets the exact actionable refusal detail.
RejectionReason
Section titled “RejectionReason”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.
ResolvedKeyType
Section titled “ResolvedKeyType”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.
ResolvedType
Section titled “ResolvedType”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.
SerializationClass
Section titled “SerializationClass”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.
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.
ShapeLevels
Section titled “ShapeLevels”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.
StorageClass
Section titled “StorageClass”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.
TypeResolution
Section titled “TypeResolution”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.
ValueKind
Section titled “ValueKind”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.
BehaviorDeclaredValueKind
Section titled “BehaviorDeclaredValueKind”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueKindSource 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.
Members
Section titled “Members”Bool = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:368
One bool value.
Bounds
Section titled “Bounds”Bounds = 23Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:434
UnityEngine Bounds.
Byte = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:374
One byte value.
Char = 10Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:395
One char value.
Color = 21Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:428
UnityEngine Color.
ComponentReference
Section titled “ComponentReference”ComponentReference = 28Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:449
A runtime-populated Unity Component reference.
Enum = 13Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:404
An enum, including a flags enum, with an integral underlying type.
Float32
Section titled “Float32”Float32 = 11Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:398
One float value.
Float64
Section titled “Float64”Float64 = 12Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:401
One double value.
Int16 = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:377
One short value.
Int32 = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:383
One int value.
Int64 = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:389
One long value.
InterfaceReference
Section titled “InterfaceReference”InterfaceReference = 27Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:446
An interface or abstract base valued as none or one satisfying asset.
ProjectClass
Section titled “ProjectClass”ProjectClass = 25Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:440
A project-defined serializable class, valued as none or one instance.
ProjectStruct
Section titled “ProjectStruct”ProjectStruct = 24Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:437
A project-defined struct whose fields are all unmanaged.
Quaternion
Section titled “Quaternion”Quaternion = 20Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:425
UnityEngine Quaternion.
Rect = 22Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:431
UnityEngine Rect.
SByte = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:371
One sbyte value.
String
Section titled “String”String = 14Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:407
Text, which distinguishes none from empty.
UInt16
Section titled “UInt16”UInt16 = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:380
One ushort value.
UInt32
Section titled “UInt32”UInt32 = 7Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:386
One uint value.
UInt64
Section titled “UInt64”UInt64 = 9Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:392
One ulong value.
UnityObjectReference
Section titled “UnityObjectReference”UnityObjectReference = 26Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:443
A UnityEngine.Object asset reference, valued as none or one asset.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:365
No supported representation.
Vector2
Section titled “Vector2”Vector2 = 15Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:410
UnityEngine Vector2.
Vector2Int
Section titled “Vector2Int”Vector2Int = 18Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:419
UnityEngine Vector2Int.
Vector3
Section titled “Vector3”Vector3 = 16Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:413
UnityEngine Vector3.
Vector3Int
Section titled “Vector3Int”Vector3Int = 19Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:422
UnityEngine Vector3Int.
Vector4
Section titled “Vector4”Vector4 = 17Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:416
UnityEngine Vector4.
BehaviorDeclaredValueRejectionReason
Section titled “BehaviorDeclaredValueRejectionReason”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueRejectionReasonSource 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.
Members
Section titled “Members”CannotResolveToOneType
Section titled “CannotResolveToOneType”CannotResolveToOneType = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:499
More than one type matches and no recorded assembly settles it.
DuplicateDictionaryKey
Section titled “DuplicateDictionaryKey”DuplicateDictionaryKey = 12Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:523
A dictionary entry carries a key that is duplicated at commit.
IncompatibleMemberRole
Section titled “IncompatibleMemberRole”IncompatibleMemberRole = 10Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:517
The value is not compatible with the member role it is bound to.
InvalidAssetAssignment
Section titled “InvalidAssetAssignment”InvalidAssetAssignment = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:511
The assigned object is a scene object or does not satisfy the slot.
InvalidCanonicalPayload
Section titled “InvalidCanonicalPayload”InvalidCanonicalPayload = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:505
The canonical payload does not parse against the declared type.
InvalidDeclaredName
Section titled “InvalidDeclaredName”InvalidDeclaredName = 15Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:532
The declared name is not a valid identifier or is already declared.
NestedCollection
Section titled “NestedCollection”NestedCollection = 11Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:520
A collection is nested inside a collection shape.
NoEntityPathStorage
Section titled “NoEntityPathStorage”NoEntityPathStorage = 9Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:514
The entity path has no storage for this declared value.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:487
The declaration is valid.
NullDictionaryKey
Section titled “NullDictionaryKey”NullDictionaryKey = 14Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:529
A dictionary entry carries the reserved null-key marker.
OpenGeneric
Section titled “OpenGeneric”OpenGeneric = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:493
The declared type is an open generic definition.
RequiredDictionaryKey
Section titled “RequiredDictionaryKey”RequiredDictionaryKey = 13Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:526
A dictionary entry carries a key that has never been committed.
TypeNotFound
Section titled “TypeNotFound”TypeNotFound = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:496
The recorded assembly no longer declares the recorded type.
UnserializableType
Section titled “UnserializableType”UnserializableType = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:502
Unity cannot retain a value of the declared type.
UnsupportedType
Section titled “UnsupportedType”UnsupportedType = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:490
The declared type is not an authorable value type.
ValueOutOfRange
Section titled “ValueOutOfRange”ValueOutOfRange = 7Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:508
The parsed value falls outside the declared type’s range.
BehaviorDeclaredValueResolutionResult
Section titled “BehaviorDeclaredValueResolutionResult”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueResolutionResultSource 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.
Members
Section titled “Members”Descriptors
Section titled “Descriptors”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.
Diagnostics
Section titled “Diagnostics”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.
HasErrors
Section titled “HasErrors”public bool HasErrors { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorDeclaredValueResolver.cs:36-49
Gets whether any declaration was refused.
BehaviorDeclaredValueResolver
Section titled “BehaviorDeclaredValueResolver”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueResolverSource 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.
Members
Section titled “Members”BufferHeaderSize
Section titled “BufferHeaderSize”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.
ClassifyKind(Type type)
Section titled “ClassifyKind(Type type)”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)”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)”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)”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.
GetSerializedFields(Type type)
Section titled “GetSerializedFields(Type type)”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)”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.
IsFlagsEnum(Type resolvedType)
Section titled “IsFlagsEnum(Type resolvedType)”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)”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)”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.
Resolve(BehaviorSourceAst ast)
Section titled “Resolve(BehaviorSourceAst ast)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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.
BehaviorDeclaredValueSerializationClass
Section titled “BehaviorDeclaredValueSerializationClass”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueSerializationClassSource 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:
- Decide entity-path carriage; that is BehaviorDeclaredValueStorageClass.
Members
Section titled “Members”BuiltIn
Section titled “BuiltIn”BuiltIn = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:321
A built-in scalar written as its C# keyword.
Component
Section titled “Component”Component = 10Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:348
A runtime-populated Component reference whose authored seed is none.
Enum = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:324
An enum with a supported integral underlying type.
InterfaceReference
Section titled “InterfaceReference”InterfaceReference = 7Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:339
An interface or abstract base a project asset satisfies.
ManagedCollection
Section titled “ManagedCollection”ManagedCollection = 9Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:345
A product-backed recursive collection Unity cannot serialize directly.
ProjectClass
Section titled “ProjectClass”ProjectClass = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:333
A project-defined serializable class carried by managed reference.
ProjectStruct
Section titled “ProjectStruct”ProjectStruct = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:330
A project-defined struct whose fields are all unmanaged.
Text = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:342
Text, which distinguishes none from empty.
UnityObject
Section titled “UnityObject”UnityObject = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:336
A UnityEngine.Object asset reference.
UnityValueStruct
Section titled “UnityValueStruct”UnityValueStruct = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:327
A fixed UnityEngine value struct.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:318
No supported serialized representation.
BehaviorDeclaredValueShape
Section titled “BehaviorDeclaredValueShape”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeSource 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.
Members
Section titled “Members”Array = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:103
An ordered collection whose length is a field.
Dictionary
Section titled “Dictionary”Dictionary = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:106
An ordered set of entries with one key identity and one value identity.
List = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:100
An ordered collection whose length the author edits by adding rows.
Single
Section titled “Single”Single = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:97
One value: a value type always holds one, a reference may hold none.
BehaviorDeclaredValueShapeChangeEffect
Section titled “BehaviorDeclaredValueShapeChangeEffect”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeChangeEffectSource 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.
Members
Section titled “Members”FirstValueKept
Section titled “FirstValueKept”FirstValueKept = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:446
The first value became the one value the single shape holds.
Unchanged
Section titled “Unchanged”Unchanged = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:440
The declaration already had the requested shape.
ValuePromoted
Section titled “ValuePromoted”ValuePromoted = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:455
The one value of a single shape became the one element of a sequence.
ValueSeeded
Section titled “ValueSeeded”ValueSeeded = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:449
There was no value to keep, so the type default seeded the single shape.
ValuesDropped
Section titled “ValuesDropped”ValuesDropped = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:452
Entering dictionary started at zero entries, so the values were dropped.
ValuesKept
Section titled “ValuesKept”ValuesKept = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:443
Every value moved across in authored order.
BehaviorDeclaredValueShapeChangeReport
Section titled “BehaviorDeclaredValueShapeChangeReport”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeChangeReportSource 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.
Members
Section titled “Members”DroppedKeyCount
Section titled “DroppedKeyCount”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.
DroppedValueCount
Section titled “DroppedValueCount”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.
Effect
Section titled “Effect”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.
FromShape
Section titled “FromShape”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.
KeptValueCount
Section titled “KeptValueCount”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.
SeededTypeDefault
Section titled “SeededTypeDefault”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.
Summary
Section titled “Summary”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.
ToShape
Section titled “ToShape”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.
BehaviorDeclaredValueShapeLevel
Section titled “BehaviorDeclaredValueShapeLevel”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeLevelSource 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.
Members
Section titled “Members”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.
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.
BuildCanonicalIdentity()
Section titled “BuildCanonicalIdentity()”public string BuildCanonicalIdentity()Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:165-169
Builds this level’s stable recursive identity.
BehaviorDeclaredValueShapeModel
Section titled “BehaviorDeclaredValueShapeModel”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShapeModelSource 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.
Members
Section titled “Members”AddInnermostLevel(BehaviorSourceDeclaredValue value, BehaviorDeclaredValueShape shape, BehaviorDeclaredValueTypeShape key)
Section titled “AddInnermostLevel(BehaviorSourceDeclaredValue value, BehaviorDeclaredValueShape shape, BehaviorDeclaredValueTypeShape key)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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.
BehaviorDeclaredValueStorageClass
Section titled “BehaviorDeclaredValueStorageClass”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorDeclaredValueStorageClassSource 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.
Members
Section titled “Members”ManagedCompanion
Section titled “ManagedCompanion”ManagedCompanion = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:302
A managed reference or managed lookup, carried on the GameObject path only.
Native
Section titled “Native”Native = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:296
Unmanaged data carried in one native blackboard slot on both surfaces.
NativeBuffer
Section titled “NativeBuffer”NativeBuffer = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:299
A list or array of unmanaged elements carried as a native buffer.
BehaviorDeclaredValueTypeShape
Section titled “BehaviorDeclaredValueTypeShape”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueTypeShapeSource 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.
Members
Section titled “Members”DeclaredType
Section titled “DeclaredType”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.
IsCollection
Section titled “IsCollection”public bool IsCollection { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:131
Gets whether this type is itself a collection.
Levels
Section titled “Levels”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.
RecordsAssembly
Section titled “RecordsAssembly”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.
BuildCanonicalIdentity()
Section titled “BuildCanonicalIdentity()”public string BuildCanonicalIdentity()Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:134-143
Builds the stable recursive identity used by deterministic hashes.
BehaviorDeclaredValueTypeShapeFactory
Section titled “BehaviorDeclaredValueTypeShapeFactory”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDeclaredValueTypeShapeFactorySource 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.
Members
Section titled “Members”Construct(Type leaf, IReadOnlyList<BehaviorDeclaredValueShapeLevel> levels, Func<BehaviorDeclaredValueTypeShape, Type> resolveKey)
Section titled “Construct(Type leaf, IReadOnlyList<BehaviorDeclaredValueShapeLevel> levels, Func<BehaviorDeclaredValueTypeShape, Type> resolveKey)”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.
FromType(Type type)
Section titled “FromType(Type type)”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.
BehaviorDictionaryKeyContract
Section titled “BehaviorDictionaryKeyContract”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDictionaryKeyContractSource 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.
Members
Section titled “Members”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)”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)”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)”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)”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)”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)”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)”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)”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)”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.
BehaviorDictionaryKeySeed
Section titled “BehaviorDictionaryKeySeed”Category: Source authoring
readonly struct BitQuirky.Behavior.Authoring.BehaviorDictionaryKeySeedSource 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.
Members
Section titled “Members”Description
Section titled “Description”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.
HasSeed
Section titled “HasSeed”public bool HasSeed { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:1347
Gets whether a unique key was computed.
KeyPayload
Section titled “KeyPayload”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.
SpaceExhausted
Section titled “SpaceExhausted”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)”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.
BehaviorDictionaryKeySeeder
Section titled “BehaviorDictionaryKeySeeder”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorDictionaryKeySeederSource 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.
Members
Section titled “Members”BuildSeededEntry(BehaviorDictionaryKeySeed seed, string valueDefaultPayload, int sourceLine)
Section titled “BuildSeededEntry(BehaviorDictionaryKeySeed seed, string valueDefaultPayload, int sourceLine)”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)”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)”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.
BehaviorLoadResult
Section titled “BehaviorLoadResult”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorLoadResultSource 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.
Members
Section titled “Members”AddressableKey
Section titled “AddressableKey”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.
Artifact
Section titled “Artifact”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.
Diagnostics
Section titled “Diagnostics”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.
HasErrors
Section titled “HasErrors”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.
SourceContentHash
Section titled “SourceContentHash”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.
SubgraphArtifacts
Section titled “SubgraphArtifacts”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.
Success
Section titled “Success”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.
UsedDefaultBakeOptions
Section titled “UsedDefaultBakeOptions”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.
BehaviorMemberBlackboardNaming
Section titled “BehaviorMemberBlackboardNaming”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorMemberBlackboardNamingSource 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.
Members
Section titled “Members”DeriveNames(IReadOnlyList<BehaviorSourceMemberBinding> bindings, IReadOnlyCollection<string> declaredVariableNames, out List<string> residualCollisionBindingIds)
Section titled “DeriveNames(IReadOnlyList<BehaviorSourceMemberBinding> bindings, IReadOnlyCollection<string> declaredVariableNames, out List<string> residualCollisionBindingIds)”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)”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)”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.
ToLowerCamel(string identifier)
Section titled “ToLowerCamel(string identifier)”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.
BehaviorRandomSelectorDirectFailureSource
Section titled “BehaviorRandomSelectorDirectFailureSource”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorRandomSelectorDirectFailureSourceSource 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.
Members
Section titled “Members”ResolveDrawWeight(BehaviorSourceNode node)
Section titled “ResolveDrawWeight(BehaviorSourceNode node)”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)”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)”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.
BehaviorSourceActiveUpdateSource
Section titled “BehaviorSourceActiveUpdateSource”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceActiveUpdateSourceSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:177-187
Underlying type: byte
Explicit source selected for a state’s Active Update lifecycle.
Members
Section titled “Members”Actions
Section titled “Actions”Actions = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:183
The state’s Active Update action list is active.
BehaviorTree
Section titled “BehaviorTree”BehaviorTree = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:186
The state’s non-action hosted behavior-tree root is active.
Unspecified
Section titled “Unspecified”Unspecified = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:180
No explicit source was authored, so legacy topology decides.
BehaviorSourceAsset
Section titled “BehaviorSourceAsset”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceAssetSource 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.
Members
Section titled “Members”BindingSetFingerprint
Section titled “BindingSetFingerprint”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.
Diagnostics
Section titled “Diagnostics”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.
ExecutableContentHash
Section titled “ExecutableContentHash”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.
ExecutableSemanticHash
Section titled “ExecutableSemanticHash”public ulong ExecutableSemanticHash { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:148-150
Compatibility alias for ExecutableContentHash.
HasBakedCache
Section titled “HasBakedCache”public bool HasBakedCache { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:116
Compatibility alias for the imported baked-cache contract.
HasExecutableCache
Section titled “HasExecutableCache”public bool HasExecutableCache { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:113
Gets whether validation produced a derived executable cache.
ManagedBlackboardTemplate
Section titled “ManagedBlackboardTemplate”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.
MemberReferences
Section titled “MemberReferences”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.
SourceContentHash
Section titled “SourceContentHash”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.
SourceFormat
Section titled “SourceFormat”public string SourceFormat { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:107
Gets the imported additive source-format identifier.
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.
CreateArtifact(Allocator allocator)
Section titled “CreateArtifact(Allocator allocator)”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)”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)”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)”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.
SetText(string text)
Section titled “SetText(string text)”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.
BehaviorSourceAst
Section titled “BehaviorSourceAst”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceAstSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1143-1206
Semantic AST extracted from the document. The bake step consumes this.
Members
Section titled “Members”BehaviorVersion
Section titled “BehaviorVersion”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.
DeclaredFieldOrder
Section titled “DeclaredFieldOrder”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.
DeclaredFieldTypes
Section titled “DeclaredFieldTypes”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.
DeclaredFields
Section titled “DeclaredFields”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.
DeclaredServiceOrder
Section titled “DeclaredServiceOrder”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.
DeclaredServices
Section titled “DeclaredServices”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.
DeclaredValues
Section titled “DeclaredValues”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.
DeclaredValuesByName
Section titled “DeclaredValuesByName”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.
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.
GraphMemberBindings
Section titled “GraphMemberBindings”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.
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.
MemberBindings
Section titled “MemberBindings”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.
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.
RuntimePath
Section titled “RuntimePath”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.
SourceFormat
Section titled “SourceFormat”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.
ValidationProfile
Section titled “ValidationProfile”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.
BehaviorSourceAuthority
Section titled “BehaviorSourceAuthority”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceAuthoritySource 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.
Members
Section titled “Members”ClientPresentation
Section titled “ClientPresentation”ClientPresentation = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:46
The node may run on a client instance for presentation only.
EditorTestOnly
Section titled “EditorTestOnly”EditorTestOnly = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:49
The node may run only in editor tests, never in a shipped session.
HostAuthoritative
Section titled “HostAuthoritative”HostAuthoritative = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:43
The node may run only on the authoritative host instance.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:40
No authority was authored on the node; the bake refuses it.
BehaviorSourceBlackboardMemberBinding
Section titled “BehaviorSourceBlackboardMemberBinding”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceBlackboardMemberBindingSource 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.
Members
Section titled “Members”BindingId
Section titled “BindingId”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.
Direction
Section titled “Direction”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.
public string Name { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1348
Gets or sets the canonical unique blackboard name.
NotificationIdentity
Section titled “NotificationIdentity”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.
Origin
Section titled “Origin”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.
Synchronization
Section titled “Synchronization”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.
ValueKind
Section titled “ValueKind”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.
BehaviorSourceBlankLineBlock
Section titled “BehaviorSourceBlankLineBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceBlankLineBlockSource 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.
BehaviorSourceComparisonOperator
Section titled “BehaviorSourceComparisonOperator”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceComparisonOperatorSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:192-214
Underlying type: int
Authored comparison operator for a typed transition predicate.
Members
Section titled “Members”Equal = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:204
Holds when both operands compare equal. Source token ==.
GreaterThan
Section titled “GreaterThan”GreaterThan = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:213
Holds when the left field is strictly above the right operand. Source token >.
GreaterThanOrEqual
Section titled “GreaterThanOrEqual”GreaterThanOrEqual = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:210
Holds when the left field is at or above the right operand. Source token >=.
LessThan
Section titled “LessThan”LessThan = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:198
Holds when the left field is strictly below the right operand. Source token <.
LessThanOrEqual
Section titled “LessThanOrEqual”LessThanOrEqual = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:201
Holds when the left field is at or below the right operand. Source token <=.
NotEqual
Section titled “NotEqual”NotEqual = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:207
Holds when the operands do not compare equal. Source token !=.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:195
No operator was authored; the predicate is rejected by validation.
BehaviorSourceCompositionResult
Section titled “BehaviorSourceCompositionResult”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceCompositionResultSource 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.
Members
Section titled “Members”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.
Diagnostics
Section titled “Diagnostics”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.
HasErrors
Section titled “HasErrors”public bool HasErrors { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceLoader.cs:54-67
Whether any retained diagnostic has error severity.
Success
Section titled “Success”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.
BehaviorSourceDeclaredElement
Section titled “BehaviorSourceDeclaredElement”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredElementSource 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.
Members
Section titled “Members”Payload
Section titled “Payload”public string Payload { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:74
Gets the exact canonical payload text of the element.
SourceLine
Section titled “SourceLine”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)”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.
BehaviorSourceDeclaredValue
Section titled “BehaviorSourceDeclaredValue”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValueSource 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:
- Resolve a type, derive storage classification, or infer a type from its value. Those belong toBehaviorDeclaredValueDescriptorand the resolver.
Members
Section titled “Members”CanonicalValue
Section titled “CanonicalValue”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.
ConcreteValueType
Section titled “ConcreteValueType”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.
DeclaredType
Section titled “DeclaredType”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.
Elements
Section titled “Elements”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.
Entries
Section titled “Entries”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.
HasKeyType
Section titled “HasKeyType”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.
HasRecursiveShape
Section titled “HasRecursiveShape”public bool HasRecursiveShape { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:167-186
Gets whether this declaration uses recursive shape metadata.
IsCollection
Section titled “IsCollection”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.
IsNoneCollection
Section titled “IsNoneCollection”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.
KeyType
Section titled “KeyType”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.
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.
Origin
Section titled “Origin”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.
RecordsKeyTypeAssembly
Section titled “RecordsKeyTypeAssembly”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.
RecordsTypeAssembly
Section titled “RecordsTypeAssembly”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.
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.
ShapeLevels
Section titled “ShapeLevels”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.
SourceLine
Section titled “SourceLine”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.
BuildCanonicalIdentity()
Section titled “BuildCanonicalIdentity()”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.
GetEffectiveShapeLevels()
Section titled “GetEffectiveShapeLevels()”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.
BehaviorSourceDeclaredValueBlock
Section titled “BehaviorSourceDeclaredValueBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValueBlockSource 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.
Members
Section titled “Members”Values
Section titled “Values”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.
BehaviorSourceDeclaredValueOrigin
Section titled “BehaviorSourceDeclaredValueOrigin”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValueOriginSource 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.
Members
Section titled “Members”LegacyFieldDeclaration
Section titled “LegacyFieldDeclaration”LegacyFieldDeclaration = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:29
Projected from a legacy %% fields: declaration.
VariableRecord
Section titled “VariableRecord”VariableRecord = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:26
Authored as a format 1.3 variable record.
BehaviorSourceDiagnostic
Section titled “BehaviorSourceDiagnostic”Category: Source authoring
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceDiagnosticSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:435-469
One diagnostic emitted by the parser. Line numbers are 1-based.
Members
Section titled “Members”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.
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.
Message
Section titled “Message”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.
Severity
Section titled “Severity”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)”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.
ToString()
Section titled “ToString()”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.
BehaviorSourceDiagnosticSeverity
Section titled “BehaviorSourceDiagnosticSeverity”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceDiagnosticSeveritySource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:268-278
Underlying type: int
Severity of a parser-emitted diagnostic.
Members
Section titled “Members”Error = 2Source 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.
Info = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:271
Advisory only; the parse and the bake both still produce their result.
Warning
Section titled “Warning”Warning = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:274
A questionable source construct. The parse and the bake still produce their result.
BehaviorSourceDiagramDeclBlock
Section titled “BehaviorSourceDiagramDeclBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceDiagramDeclBlockSource 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.
Members
Section titled “Members”RawLine
Section titled “RawLine”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.
BehaviorSourceDictionaryEntry
Section titled “BehaviorSourceDictionaryEntry”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryEntrySource 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.
Members
Section titled “Members”KeyPayload
Section titled “KeyPayload”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.
KeyState
Section titled “KeyState”public BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryKeyState KeyState { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:106
Gets the saved key state.
SourceLine
Section titled “SourceLine”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.
ValuePayload
Section titled “ValuePayload”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)”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.
BehaviorSourceDictionaryKeyState
Section titled “BehaviorSourceDictionaryKeyState”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceDictionaryKeyStateSource 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.
Members
Section titled “Members”Committed
Section titled “Committed”Committed = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:46
A key the author committed, written as a value of the declared key type.
Null = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:52
The reserved <none> marker: invalid, red, never written by the editor.
Unset = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceDeclaredValue.cs:49
The reserved <unset> marker: required, amber, nothing wrong yet.
BehaviorSourceDocument
Section titled “BehaviorSourceDocument”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceDocumentSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1134-1138
Round-trip-preserving document model.
Members
Section titled “Members”Blocks
Section titled “Blocks”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.
BehaviorSourceDocumentBlock
Section titled “BehaviorSourceDocumentBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceDocumentBlockSource 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.
Members
Section titled “Members”LineNumber
Section titled “LineNumber”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
class BitQuirky.Behavior.Authoring.BehaviorSourceDormantTransitionConditionCodecSource 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.
Members
Section titled “Members”Encode(BehaviorSourceTransitionConditionGroup group)
Section titled “Encode(BehaviorSourceTransitionConditionGroup group)”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)”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.
BehaviorSourceEdge
Section titled “BehaviorSourceEdge”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceEdgeSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:624-654
Semantic view of one authored edge between nodes.
Members
Section titled “Members”BranchDisabled
Section titled “BranchDisabled”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.
HostedResultEventId
Section titled “HostedResultEventId”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.
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.
SourceId
Section titled “SourceId”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.
SourceLineNumber
Section titled “SourceLineNumber”public int SourceLineNumber { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:633
One-based source line of the edge line.
TargetId
Section titled “TargetId”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.
TransitionConditionGroup
Section titled “TransitionConditionGroup”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.
UnusableWeightText
Section titled “UnusableWeightText”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.
Weight
Section titled “Weight”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.
BehaviorSourceEdgeBlock
Section titled “BehaviorSourceEdgeBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceEdgeBlockSource 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.
Members
Section titled “Members”ArrowToken
Section titled “ArrowToken”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.
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.
Indent
Section titled “Indent”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.
BehaviorSourceFieldDeclarationBlock
Section titled “BehaviorSourceFieldDeclarationBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceFieldDeclarationBlockSource 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.
Members
Section titled “Members”FieldIds
Section titled “FieldIds”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.
BehaviorSourceFieldType
Section titled “BehaviorSourceFieldType”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceFieldTypeSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:135-145
Underlying type: int
Canonical scalar field types supported by behavior source declarations.
Members
Section titled “Members”Bool = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:144
A boolean field. Source type token bool.
Float32
Section titled “Float32”Float32 = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:141
An IEEE 754 single-precision field. Source type token float32.
Int32 = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:138
A signed 32-bit integer field. Source type token int32.
BehaviorSourceFieldTypeDeclarationBlock
Section titled “BehaviorSourceFieldTypeDeclarationBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceFieldTypeDeclarationBlockSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:1014-1019
Inherits: BehaviorSourceDocumentBlock
Document block declaring non-default blackboard field types.
Members
Section titled “Members”FieldTypes
Section titled “FieldTypes”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.
BehaviorSourceFormatBlock
Section titled “BehaviorSourceFormatBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceFormatBlockSource 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.
Members
Section titled “Members”Version
Section titled “Version”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.
BehaviorSourceFormatTokens
Section titled “BehaviorSourceFormatTokens”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceFormatTokensSource 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.
Members
Section titled “Members”Format10
Section titled “Format10”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.
Format11
Section titled “Format11”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.
Format12
Section titled “Format12”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.
Format13
Section titled “Format13”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.
Format14
Section titled “Format14”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.
Format15
Section titled “Format15”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.
Format16
Section titled “Format16”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.
Format17
Section titled “Format17”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.
Format18
Section titled “Format18”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.
Format19
Section titled “Format19”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)”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.
BehaviorSourceFormatVersion
Section titled “BehaviorSourceFormatVersion”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceFormatVersionSource 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.
Members
Section titled “Members”Format10
Section titled “Format10”Format10 = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:292
Legacy source without semantic node parameter blocks.
Format11
Section titled “Format11”Format11 = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:295
Additive source with typed semantic node parameter blocks.
Format12
Section titled “Format12”Format12 = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:298
Additive source with dedicated member-binding records .
Format13
Section titled “Format13”Format13 = 3Source 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.
Format14
Section titled “Format14”Format14 = 4Source 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.
Format15
Section titled “Format15”Format15 = 5Source 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.
Format16
Section titled “Format16”Format16 = 6Source 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.
Format17
Section titled “Format17”Format17 = 7Source 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.
Format18
Section titled “Format18”Format18 = 8Source 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.
Format19
Section titled “Format19”Format19 = 9Source 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.
BehaviorSourceGraphMemberBindingsBlock
Section titled “BehaviorSourceGraphMemberBindingsBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceGraphMemberBindingsBlockSource 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.
Members
Section titled “Members”Bindings
Section titled “Bindings”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.
BehaviorSourceHeaderLayerBlock
Section titled “BehaviorSourceHeaderLayerBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceHeaderLayerBlockSource 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.
Members
Section titled “Members”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.
BehaviorSourceHeaderVersionBlock
Section titled “BehaviorSourceHeaderVersionBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceHeaderVersionBlockSource 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.
Members
Section titled “Members”Version
Section titled “Version”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.
BehaviorSourceHostedBehaviorConfiguration
Section titled “BehaviorSourceHostedBehaviorConfiguration”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceHostedBehaviorConfigurationSource 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.
Members
Section titled “Members”FailureEventId
Section titled “FailureEventId”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.
HasExplicitLifetime
Section titled “HasExplicitLifetime”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.
Lifetime
Section titled “Lifetime”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.
SourceLine
Section titled “SourceLine”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.
SuccessEventId
Section titled “SuccessEventId”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.
BehaviorSourceHostedBehaviorLifetime
Section titled “BehaviorSourceHostedBehaviorLifetime”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceHostedBehaviorLifetimeSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:165-172
Underlying type: byte
Authored lifetime for a behavior tree hosted by a state.
Members
Section titled “Members”Once = 1Source 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.
Repeat
Section titled “Repeat”Repeat = 0Source 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.
BehaviorSourceLayoutEntry
Section titled “BehaviorSourceLayoutEntry”Category: Source authoring
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceLayoutEntrySource 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.
Members
Section titled “Members”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.
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)”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.
BehaviorSourceLoader
Section titled “BehaviorSourceLoader”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceLoaderSource 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.
Members
Section titled “Members”BakeFromText(string sourceText, string addressableKey, BehaviorBakeOptions options)
Section titled “BakeFromText(string sourceText, string addressableKey, BehaviorBakeOptions options)”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)”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)”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)”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)”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)”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.
BehaviorSourceMemberAccess
Section titled “BehaviorSourceMemberAccess”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberAccessSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:236-256
Underlying type: byte
Access requirements an operation places on its exact member.
Members
Section titled “Members”Add = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:252
The event must accept a handler subscription. Canonical access token add.
Invoke
Section titled “Invoke”Invoke = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:243
The member must be callable. Canonical access token invoke.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:240
The operation requires no access at all.
Read = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:246
The member’s value must be gettable. Canonical access token read.
Remove
Section titled “Remove”Remove = 16Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:255
The event must accept a handler removal. Canonical access token remove.
Write = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:249
The member’s value must be settable. Canonical access token write.
BehaviorSourceMemberAgentResolve
Section titled “BehaviorSourceMemberAgentResolve”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberAgentResolveSource 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.
Members
Section titled “Members”ChildPath
Section titled “ChildPath”ChildPath = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:206
The descendant named by the target’s child path. Canonical textmode: child
pluspath.
Parent
Section titled “Parent”Parent = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:200
The agent’s immediate parent GameObject. Canonical text mode: parent.
Self = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:197
The agent GameObject running this graph. Canonical text mode: self.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:194
No agent-relative shape was authored; the target resolves to nothing.
BehaviorSourceMemberArgument
Section titled “BehaviorSourceMemberArgument”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgumentSource 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.
Members
Section titled “Members”BindingRef
Section titled “BindingRef”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.
BlackboardName
Section titled “BlackboardName”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.
ConstantValue
Section titled “ConstantValue”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.
ConstantValueKind
Section titled “ConstantValueKind”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.
Ordinal
Section titled “Ordinal”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.
OutputBlackboardName
Section titled “OutputBlackboardName”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.
ParameterType
Section titled “ParameterType”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.
SourceKind
Section titled “SourceKind”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.
SourceLine
Section titled “SourceLine”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.
WriteDestinationSeparated
Section titled “WriteDestinationSeparated”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.
BehaviorSourceMemberArgumentSource
Section titled “BehaviorSourceMemberArgumentSource”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberArgumentSourceSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:261-305
Underlying type: byte
Where a member argument value comes from.
Members
Section titled “Members”Binding
Section titled “Binding”Binding = 6Source 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.
Blackboard
Section titled “Blackboard”Blackboard = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:276
The named blackboard entry, read at call time. Canonical text
source: blackboard plus field.
Constant
Section titled “Constant”Constant = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:270
The authored literal itself. Canonical textsource: constantplus
value-kind and value.
DeclaredDefault
Section titled “DeclaredDefault”DeclaredDefault = 4Source 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.
Output
Section titled “Output”Output = 5Source 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.
RuntimeCancellation
Section titled “RuntimeCancellation”RuntimeCancellation = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:279
The runtime-owned cancellation token for the current deferred invocation.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:264
No source was authored; the argument record is rejected.
BehaviorSourceMemberBackendSelection
Section titled “BehaviorSourceMemberBackendSelection”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberBackendSelectionSource 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.
Members
Section titled “Members”Classify(IReadOnlyList<BehaviorSourceMemberBinding> bindings)
Section titled “Classify(IReadOnlyList<BehaviorSourceMemberBinding> bindings)”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.
BehaviorSourceMemberBackendVerdict
Section titled “BehaviorSourceMemberBackendVerdict”Category: Source authoring
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceMemberBackendVerdictSource 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.
Members
Section titled “Members”EntityBindingId
Section titled “EntityBindingId”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.
EntityModeToken
Section titled “EntityModeToken”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.
GameObjectBindingId
Section titled “GameObjectBindingId”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.
GameObjectModeToken
Section titled “GameObjectModeToken”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.
IsMixed
Section titled “IsMixed”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)”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.
BehaviorSourceMemberBinding
Section titled “BehaviorSourceMemberBinding”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberBindingSource 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.
Members
Section titled “Members”Arguments
Section titled “Arguments”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.
BindingId
Section titled “BindingId”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.
Comparison
Section titled “Comparison”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.
Direction
Section titled “Direction”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.
EntityContainer
Section titled “EntityContainer”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.
EntityEvent
Section titled “EntityEvent”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.
EventOutcome
Section titled “EventOutcome”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.
Identity
Section titled “Identity”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.
NodeId
Section titled “NodeId”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.
Notification
Section titled “Notification”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.
OperationKind
Section titled “OperationKind”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.
Origin
Section titled “Origin”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.
ParamsArrayValue
Section titled “ParamsArrayValue”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.
ParamsExpandedValues
Section titled “ParamsExpandedValues”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.
ParamsInputForm
Section titled “ParamsInputForm”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.
Result
Section titled “Result”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.
SourceLine
Section titled “SourceLine”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.
SurfacedNameOverride
Section titled “SurfacedNameOverride”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.
SurfacedNameSourceLine
Section titled “SurfacedNameSourceLine”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.
Target
Section titled “Target”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.
BuildCanonicalContractIdentity()
Section titled “BuildCanonicalContractIdentity()”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.
BuildCanonicalOperationIdentity()
Section titled “BuildCanonicalOperationIdentity()”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.
BehaviorSourceMemberBindingOrigin
Section titled “BehaviorSourceMemberBindingOrigin”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberBindingOriginSource 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.
Members
Section titled “Members”Blackboard
Section titled “Blackboard”Blackboard = 2Source 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.
Node = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:441
The binding was authored on a member node and lives with that node.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:438
No origin was recorded; a binding read before normalization assigned one.
BehaviorSourceMemberComparison
Section titled “BehaviorSourceMemberComparison”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberComparisonSource 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.
Members
Section titled “Members”FalseResult
Section titled “FalseResult”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.
Operator
Section titled “Operator”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.
RightBlackboardName
Section titled “RightBlackboardName”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.
RightConstantValue
Section titled “RightConstantValue”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.
RightConstantValueKind
Section titled “RightConstantValueKind”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.
RightSourceKind
Section titled “RightSourceKind”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.
SourceLine
Section titled “SourceLine”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.
TestedParameterOrdinal
Section titled “TestedParameterOrdinal”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.
TrueResult
Section titled “TrueResult”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.
BehaviorSourceMemberConditionResult
Section titled “BehaviorSourceMemberConditionResult”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberConditionResultSource 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.
Members
Section titled “Members”AuthorityMismatch
Section titled “AuthorityMismatch”AuthorityMismatch = 7Source 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.
Blocked
Section titled “Blocked”Blocked = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:404
The node could not proceed because a required resource was unavailable. Canonical text blocked.
Failed
Section titled “Failed”Failed = 2Source 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.
Interrupted
Section titled “Interrupted”Interrupted = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:401
The node was cut short before it settled. Canonical text interrupted.
Running
Section titled “Running”Running = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:398
The node stays running and is evaluated again next tick. Canonical text running.
Succeeded
Section titled “Succeeded”Succeeded = 1Source 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.
Timeout
Section titled “Timeout”Timeout = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:407
The node gave up after its authored time budget elapsed. Canonical text timeout.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:389
No result was authored; the outcome leaves the node status untouched.
BehaviorSourceMemberDirection
Section titled “BehaviorSourceMemberDirection”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberDirectionSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:368-381
Underlying type: byte
Authored synchronization direction of a property or field binding.
Members
Section titled “Members”ToBlackboard
Section titled “ToBlackboard”ToBlackboard = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:374
The member’s value is copied into the blackboard. Canonical text to-blackboard.
ToMember
Section titled “ToMember”ToMember = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:377
The blackboard value is copied into the member. Canonical text to-member.
TwoWay
Section titled “TwoWay”TwoWay = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:380
Both copies happen, member read first. Canonical text two-way.
Unknown
Section titled “Unknown”Unknown = 0Source 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.
BehaviorSourceMemberEntityContainer
Section titled “BehaviorSourceMemberEntityContainer”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityContainerSource 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.
Members
Section titled “Members”BufferElementAssemblyName
Section titled “BufferElementAssemblyName”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.
BufferElementType
Section titled “BufferElementType”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.
BufferElementTypeName
Section titled “BufferElementTypeName”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.
ConstantIndex
Section titled “ConstantIndex”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.
ContainerKind
Section titled “ContainerKind”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.
EntrySelector
Section titled “EntrySelector”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.
IdentityBlackboardName
Section titled “IdentityBlackboardName”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.
IdentityConstantValue
Section titled “IdentityConstantValue”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.
IdentityConstantValueKind
Section titled “IdentityConstantValueKind”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.
IdentityFieldName
Section titled “IdentityFieldName”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.
IdentityValueSource
Section titled “IdentityValueSource”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.
SourceLine
Section titled “SourceLine”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.
BuildCanonicalIdentity()
Section titled “BuildCanonicalIdentity()”public string BuildCanonicalIdentity()Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:625-648
Builds the canonical exact container identity text.
BehaviorSourceMemberEntityContainerKind
Section titled “BehaviorSourceMemberEntityContainerKind”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityContainerKindSource 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.
Members
Section titled “Members”BufferElement
Section titled “BufferElement”BufferElement = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:130
One exact entry of an unmanaged dynamic buffer.
Component
Section titled “Component”Component = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:127
The default; canonical text omits the container record entirely.
BehaviorSourceMemberEntityEntrySelector
Section titled “BehaviorSourceMemberEntityEntrySelector”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityEntrySelectorSource 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.
Members
Section titled “Members”ConstantIndex
Section titled “ConstantIndex”ConstantIndex = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:140
A non-negative authored constant index.
IdentityField
Section titled “IdentityField”IdentityField = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:143
An exact identity field declared by the buffer element.
BehaviorSourceMemberEntityEvent
Section titled “BehaviorSourceMemberEntityEvent”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityEventSource 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.
Members
Section titled “Members”AssemblyName
Section titled “AssemblyName”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.
Polarity
Section titled “Polarity”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.
SourceKind
Section titled “SourceKind”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.
SourceLine
Section titled “SourceLine”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.
TypeIdentity
Section titled “TypeIdentity”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.
TypeName
Section titled “TypeName”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.
BuildCanonicalIdentity()
Section titled “BuildCanonicalIdentity()”public string BuildCanonicalIdentity()Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:683-694
Builds the canonical exact entity event source identity text.
BehaviorSourceMemberEntityEventSourceKind
Section titled “BehaviorSourceMemberEntityEventSourceKind”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityEventSourceKindSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:164-174
Underlying type: byte
The backend-local runtime source an entity Event Condition observes.
Members
Section titled “Members”EnableableComponent
Section titled “EnableableComponent”EnableableComponent = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:170
An enableable component’s observed state.
EventBufferEntry
Section titled “EventBufferEntry”EventBufferEntry = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:173
One exact retained entity event buffer entry.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:167
No event source was authored; validation rejects the entity event record.
BehaviorSourceMemberEntityHopKind
Section titled “BehaviorSourceMemberEntityHopKind”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityHopKindSource 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.
Members
Section titled “Members”BlackboardEntry
Section titled “BlackboardEntry”BlackboardEntry = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:155
A surfaced blackboard entry of the entity type.
ComponentField
Section titled “ComponentField”ComponentField = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:158
One entity-typed field on a component of the running entity.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:152
No hop; every mode other than Handle.
BehaviorSourceMemberEntityPolarity
Section titled “BehaviorSourceMemberEntityPolarity”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityPolaritySource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:179-186
Underlying type: byte
The authored enablement state that counts as one occurrence.
Members
Section titled “Members”Disabled
Section titled “Disabled”Disabled = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:185
The component becoming disabled is the occurrence. Canonical text polarity: disabled.
Enabled
Section titled “Enabled”Enabled = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:182
The component becoming enabled is the occurrence. Canonical text polarity: enabled.
BehaviorSourceMemberIdentity
Section titled “BehaviorSourceMemberIdentity”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberIdentitySource 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.
Members
Section titled “Members”Access
Section titled “Access”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.
DeclaringAssemblyName
Section titled “DeclaringAssemblyName”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.
DeclaringTypeName
Section titled “DeclaringTypeName”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.
GenericArguments
Section titled “GenericArguments”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.
GenericArity
Section titled “GenericArity”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.
GenericDefinitionSignature
Section titled “GenericDefinitionSignature”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.
GenericParameterNames
Section titled “GenericParameterNames”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.
HasCompleteGenericArguments
Section titled “HasCompleteGenericArguments”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.
HasGenericDefinitionIdentity
Section titled “HasGenericDefinitionIdentity”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.
HasParameterNames
Section titled “HasParameterNames”public bool HasParameterNames { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:760
Gets whether this identity persists exact parameter names.
IsStatic
Section titled “IsStatic”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.
MemberKind
Section titled “MemberKind”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.
MemberName
Section titled “MemberName”public string MemberName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:727
Gets or sets the exact C# member identifier.
ParameterModifiers
Section titled “ParameterModifiers”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.
ParameterNames
Section titled “ParameterNames”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.
ParameterTypes
Section titled “ParameterTypes”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.
ReturnOrValueType
Section titled “ReturnOrValueType”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.
SourceLine
Section titled “SourceLine”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.
BehaviorSourceMemberKind
Section titled “BehaviorSourceMemberKind”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberKindSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:212-231
Underlying type: byte
The CLR member category of an exact bound member.
Members
Section titled “Members”Event = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:227
A CLR event. Canonical identity text kind: event.
Field = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:224
A CLR field. Canonical identity text kind: field.
Method
Section titled “Method”Method = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:218
A CLR method. Canonical identity text kind: method.
Property
Section titled “Property”Property = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:221
A CLR property. Canonical identity text kind: property.
State = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:230
A synthetic state exposed by the selected backend rather than a CLR member.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:215
No member category was authored; the identity record is rejected.
BehaviorSourceMemberNotification
Section titled “BehaviorSourceMemberNotification”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberNotificationSource 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.
Members
Section titled “Members”AssemblyName
Section titled “AssemblyName”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.
EventName
Section titled “EventName”public string EventName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:1008
Gets or sets the exact event member identifier.
SourceLine
Section titled “SourceLine”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.
TypeName
Section titled “TypeName”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.
BehaviorSourceMemberOperationKind
Section titled “BehaviorSourceMemberOperationKind”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberOperationKindSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:16-46
Underlying type: byte
The six reusable member operation families.
Members
Section titled “Members”EventCondition
Section titled “EventCondition”EventCondition = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:45
Report whether the bound event occurred. Authored on amember_eventnode.
Field = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:28
Read or write the bound field. Authored on a member_field node.
MemberCondition
Section titled “MemberCondition”MemberCondition = 5Source 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.
Message
Section titled “Message”Message = 4Source 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.
Method
Section titled “Method”Method = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:22
Invoke the bound method once. Authored on a member_method node.
Property
Section titled “Property”Property = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:25
Read or write the bound property. Authored on a member_property node.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:19
No operation family was authored; the binding is rejected by validation.
BehaviorSourceMemberParameterModifier
Section titled “BehaviorSourceMemberParameterModifier”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberParameterModifierSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:308-324
Underlying type: byte
The exact C# modifier of one authored method parameter.
Members
Section titled “Members”In = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:314
An in parameter. Canonical text modifier: in.
Out = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:320
An out parameter. Canonical text modifier: out.
Params
Section titled “Params”Params = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:323
A params array parameter. Canonical text modifier: params.
Ref = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:317
A ref parameter. Canonical text modifier: ref.
Value = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:311
A plain by-value parameter; canonical text omits the modifier.
BehaviorSourceMemberParamsInputForm
Section titled “BehaviorSourceMemberParamsInputForm”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberParamsInputFormSource 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.
Members
Section titled “Members”Array = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:335
One existing array or list value supplies the whole parameter.
Expanded
Section titled “Expanded”Expanded = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:332
Zero or more individual element values in authored call order. The default.
BehaviorSourceMemberPortableIdentity
Section titled “BehaviorSourceMemberPortableIdentity”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberPortableIdentitySource 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.
Members
Section titled “Members”BackendLocalFieldNames
Section titled “BackendLocalFieldNames”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.
PortableFieldNames
Section titled “PortableFieldNames”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.
ProductNodeTokens
Section titled “ProductNodeTokens”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)”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)”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)”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.
BehaviorSourceMemberRefBinding
Section titled “BehaviorSourceMemberRefBinding”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberRefBindingSource 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.
Members
Section titled “Members”ConditionOperandParameterOrdinal(BehaviorSourceMemberBinding binding)
Section titled “ConditionOperandParameterOrdinal(BehaviorSourceMemberBinding binding)”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)”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)”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)”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)”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.
BehaviorSourceMemberResult
Section titled “BehaviorSourceMemberResult”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberResultSource 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.
Members
Section titled “Members”CompletionResult
Section titled “CompletionResult”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.
DestinationName
Section titled “DestinationName”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.
FaultResult
Section titled “FaultResult”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.
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.
GiveUpArmed
Section titled “GiveUpArmed”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.
GiveUpResult
Section titled “GiveUpResult”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.
GiveUpSeconds
Section titled “GiveUpSeconds”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.
SourceLine
Section titled “SourceLine”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.
SurfacedNameOverride
Section titled “SurfacedNameOverride”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.
ValueType
Section titled “ValueType”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.
BehaviorSourceMemberResultForm
Section titled “BehaviorSourceMemberResultForm”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberResultFormSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:341-363
Underlying type: byte
What a method operation does with its return value.
Members
Section titled “Members”Awaitable
Section titled “Awaitable”Awaitable = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:362
The method returns an awaitable the runtime completes off-tick. Canonical text form: awaitable.
BehaviorStatus
Section titled “BehaviorStatus”BehaviorStatus = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:353
The return value is already a node status. Canonical text form: status.
Blackboard
Section titled “Blackboard”Blackboard = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:350
The return value is stored into a blackboard entry. Canonical text form: blackboard.
Coroutine
Section titled “Coroutine”Coroutine = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:356
The method returns a coroutine the runtime drives to completion. Canonical text form: coroutine.
Outcome
Section titled “Outcome”Outcome = 5Source 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.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:344
No result form was authored; the return value is not consumed.
Void = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:347
The method returns nothing. Canonical text form: void.
BehaviorSourceMemberSynchronization
Section titled “BehaviorSourceMemberSynchronization”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberSynchronizationSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:416-430
Underlying type: byte
How a projected member blackboard entry synchronizes with its member.
Members
Section titled “Members”None = 0Source 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.
Notification
Section titled “Notification”Notification = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:423
The entry is refreshed from the authored change notification event instead of by polling.
PollEachSelectedTick
Section titled “PollEachSelectedTick”PollEachSelectedTick = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:426
The entry is refreshed on every tick the binding is selected.
PushOnWrite
Section titled “PushOnWrite”PushOnWrite = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:429
Writing the entry pushes the new value straight to the member.
BehaviorSourceMemberTarget
Section titled “BehaviorSourceMemberTarget”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetSource 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.
Members
Section titled “Members”AssemblyName
Section titled “AssemblyName”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.
BlackboardVariableName
Section titled “BlackboardVariableName”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 .
ChildPath
Section titled “ChildPath”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.
HopBlackboardName
Section titled “HopBlackboardName”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.
HopFieldName
Section titled “HopFieldName”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.
HopKind
Section titled “HopKind”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.
HopSourceAssemblyName
Section titled “HopSourceAssemblyName”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.
HopSourceTypeIdentity
Section titled “HopSourceTypeIdentity”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.
HopSourceTypeName
Section titled “HopSourceTypeName”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.
IsEntityMode
Section titled “IsEntityMode”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.
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.
Resolve
Section titled “Resolve”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.
SlotKey
Section titled “SlotKey”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.
SourceLine
Section titled “SourceLine”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.
TargetIdentifier
Section titled “TargetIdentifier”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.
TypeIdentity
Section titled “TypeIdentity”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.
TypeName
Section titled “TypeName”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.
BehaviorSourceMemberTargetMode
Section titled “BehaviorSourceMemberTargetMode”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetModeSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:65-119
Underlying type: byte
How a member binding resolves its target instance.
Members
Section titled “Members”AgentRelative
Section titled “AgentRelative”AgentRelative = 1Source 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.
BlackboardVariable
Section titled “BlackboardVariable”BlackboardVariable = 4Source 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.
EntityHandle
Section titled “EntityHandle”EntityHandle = 6Source 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.
EntitySelf
Section titled “EntitySelf”EntitySelf = 5Source 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.
EntitySingleton
Section titled “EntitySingleton”EntitySingleton = 7Source 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.
EntityStatic
Section titled “EntityStatic”EntityStatic = 8Source 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.
ExplicitReference
Section titled “ExplicitReference”ExplicitReference = 2Source 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.
Static
Section titled “Static”Static = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:86
A static declaring type with no instance at all. Canonical textmode: static.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:68
No target mode was authored. Canonical text mode: unknown.
BehaviorSourceMemberTargetModes
Section titled “BehaviorSourceMemberTargetModes”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetModesSource 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.
Members
Section titled “Members”GetToken(BehaviorSourceMemberTarget target)
Section titled “GetToken(BehaviorSourceMemberTarget target)”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)”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)”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)”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)”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.
BehaviorSourceNode
Section titled “BehaviorSourceNode”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceNodeSource 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.
Members
Section titled “Members”ActiveUpdateSource
Section titled “ActiveUpdateSource”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.
Authority
Section titled “Authority”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.
HasExplicitActiveUpdateSource
Section titled “HasExplicitActiveUpdateSource”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.
HostedBehavior
Section titled “HostedBehavior”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.
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.
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.
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.
Layout
Section titled “Layout”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.
MemberBindings
Section titled “MemberBindings”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).
MetadataSourceLine
Section titled “MetadataSourceLine”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.
NodeKindToken
Section titled “NodeKindToken”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.
Parameters
Section titled “Parameters”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.
ReadSet
Section titled “ReadSet”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.
SourceLine
Section titled “SourceLine”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.
SubgraphAddress
Section titled “SubgraphAddress”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.
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.
WriteSet
Section titled “WriteSet”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.
BehaviorSourceNodeBlock
Section titled “BehaviorSourceNodeBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceNodeBlockSource 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.
Members
Section titled “Members”Indent
Section titled “Indent”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.
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.
NodeLineRaw
Section titled “NodeLineRaw”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.
BehaviorSourceNodeKind
Section titled “BehaviorSourceNodeKind”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceNodeKindSource 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.
Members
Section titled “Members”Action
Section titled “Action”Action = 11Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:93
A leaf performing work and reporting a status. Source token action.
AnyState
Section titled “AnyState”AnyState = 22Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:126
Statechart-wide transition source with deterministic global precedence.
Condition
Section titled “Condition”Condition = 12Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:96
A leaf testing a predicate and reporting success or failure. Source token condition.
Conditional
Section titled “Conditional”Conditional = 15Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:105
Decorator gating its child on a predicate each tick. Source token conditional.
EntryState
Section titled “EntryState”EntryState = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:66
The state the statechart activates first. Source token entry.
Inverter
Section titled “Inverter”Inverter = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:84
Decorator swapping its child’s success and failure. Source token inverter.
MemberCondition
Section titled “MemberCondition”MemberCondition = 20Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:120
Reusable product condition comparing an exact member value.
MemberEvent
Section titled “MemberEvent”MemberEvent = 21Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:123
Reusable product condition waiting for one firing of an exact event.
MemberField
Section titled “MemberField”MemberField = 18Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:114
Reusable product node reading, writing, or binding an exact field.
MemberMessage
Section titled “MemberMessage”MemberMessage = 19Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:117
Reusable product node firing an exact public void method.
MemberMethod
Section titled “MemberMethod”MemberMethod = 16Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:108
Reusable product node invoking an exact method .
MemberProperty
Section titled “MemberProperty”MemberProperty = 17Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:111
Reusable product node reading, writing, or binding an exact property.
Parallel
Section titled “Parallel”Parallel = 7Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:81
Ticks every child on the same tick and combines their statuses. Source token parallel.
ProbabilitySelector
Section titled “ProbabilitySelector”ProbabilitySelector = 14Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:102
Picks one child by its authored branch weight. Source token probability_selector.
Repeat
Section titled “Repeat”Repeat = 9Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:87
Decorator re-running its child for the authored repeat count. Source token repeat.
Selector
Section titled “Selector”Selector = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:75
Ticks children in order and returns the first non-failure. Source token selector.
Sequence
Section titled “Sequence”Sequence = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:78
Ticks children in order and returns the first non-success. Source token sequence.
State = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:69
One statechart state with its own actions and outgoing transitions. Source token state.
StateMachineReference
Section titled “StateMachineReference”StateMachineReference = 23Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:129
Reusable referenced state machine with ordered candidate child assets.
StatechartRoot
Section titled “StatechartRoot”StatechartRoot = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:63
The single owner of a statechart graph. Source token root.
SubgraphReference
Section titled “SubgraphReference”SubgraphReference = 13Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:99
A leaf running another authored graph in place. Source token subgraph.
TimeLimit
Section titled “TimeLimit”TimeLimit = 10Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:90
Decorator failing its child once the authored time budget elapses. Source token timelimit.
Transition
Section titled “Transition”Transition = 4Source 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.
Unknown
Section titled “Unknown”Unknown = 0Source 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.
BehaviorSourceParameter
Section titled “BehaviorSourceParameter”Category: Source authoring
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceParameterSource 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.
Members
Section titled “Members”public string Key { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:514
Gets the stable lowercase parameter key.
RawValue
Section titled “RawValue”public string RawValue { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:517
Gets the raw canonical value text.
SourceLine
Section titled “SourceLine”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)”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.
BehaviorSourceParseResult
Section titled “BehaviorSourceParseResult”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceParseResultSource 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.
Members
Section titled “Members”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.
Diagnostics
Section titled “Diagnostics”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.
Document
Section titled “Document”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.
HasErrors
Section titled “HasErrors”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.
BehaviorSourcePassthroughCommentBlock
Section titled “BehaviorSourcePassthroughCommentBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourcePassthroughCommentBlockSource 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.
Members
Section titled “Members”RawLine
Section titled “RawLine”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.
BehaviorSourceRuntimePath
Section titled “BehaviorSourceRuntimePath”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceRuntimePathSource 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.
Members
Section titled “Members”Entity
Section titled “Entity”Entity = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:59
The pure-entity object model.
GameObject
Section titled “GameObject”GameObject = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceMemberBinding.cs:56
The GameObject object model. The default, so canonical text omits it.
BehaviorSourceRuntimePathBlock
Section titled “BehaviorSourceRuntimePathBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceRuntimePathBlockSource 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.
Members
Section titled “Members”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.
BehaviorSourceServiceDeclarationBlock
Section titled “BehaviorSourceServiceDeclarationBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceServiceDeclarationBlockSource 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.
Members
Section titled “Members”ServiceIds
Section titled “ServiceIds”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.
BehaviorSourceStateParameterTokens
Section titled “BehaviorSourceStateParameterTokens”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceStateParameterTokensSource 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.
Members
Section titled “Members”ActionsUpdateSource
Section titled “ActionsUpdateSource”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.
ActiveUpdateSource
Section titled “ActiveUpdateSource”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.
BehaviorTreeUpdateSource
Section titled “BehaviorTreeUpdateSource”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.
HostAssetName
Section titled “HostAssetName”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.
HostFailureEvent
Section titled “HostFailureEvent”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.
HostLifetime
Section titled “HostLifetime”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.
HostSuccessEvent
Section titled “HostSuccessEvent”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.
BehaviorSourceTransitionConditionGroup
Section titled “BehaviorSourceTransitionConditionGroup”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceTransitionConditionGroupSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:710-716
Ordered predicates and their authored all or any combination mode.
Members
Section titled “Members”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.
Predicates
Section titled “Predicates”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
enum BitQuirky.Behavior.Authoring.BehaviorSourceTransitionConditionGroupModeSource declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:150-160
Underlying type: int
Authored transition predicate combination mode.
Members
Section titled “Members”All = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:156
Every authored predicate must hold for the transition to fire.
Any = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:159
At least one authored predicate must hold for the transition to fire.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:153
The transition authored no predicates and fires whenever it is evaluated.
BehaviorSourceTransitionOperandKind
Section titled “BehaviorSourceTransitionOperandKind”Category: Source authoring
enum BitQuirky.Behavior.Authoring.BehaviorSourceTransitionOperandKindSource 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.
Members
Section titled “Members”Constant
Section titled “Constant”Constant = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:231
The existing typed constant literal. Every earlier source is this kind.
GraphValue
Section titled “GraphValue”GraphValue = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:234
A declared graph value named in canonical source as $<field>.
BehaviorSourceTransitionOperandTokens
Section titled “BehaviorSourceTransitionOperandTokens”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceTransitionOperandTokensSource 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.
Members
Section titled “Members”GraphValueMarker
Section titled “GraphValueMarker”public const char GraphValueMarker = '$'Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:250
The character that introduces a graph-value right operand.
RequiredConstant
Section titled “RequiredConstant”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.
FormatGraphValue(string fieldId)
Section titled “FormatGraphValue(string fieldId)”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.
BehaviorSourceTransitionPredicate
Section titled “BehaviorSourceTransitionPredicate”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceTransitionPredicateSource 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.
Members
Section titled “Members”FieldId
Section titled “FieldId”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.
Operator
Section titled “Operator”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.
RawLiteral
Section titled “RawLiteral”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.
RightFieldId
Section titled “RightFieldId”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.
RightOperandKind
Section titled “RightOperandKind”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.
SourceOrder
Section titled “SourceOrder”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.
Clone()
Section titled “Clone()”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.
BehaviorSourceTransitionTriggerTokens
Section titled “BehaviorSourceTransitionTriggerTokens”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceTransitionTriggerTokensSource 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.
Members
Section titled “Members”DormantConditionGroup
Section titled “DormantConditionGroup”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.
DormantOperandState
Section titled “DormantOperandState”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.
BehaviorSourceTypeForwarding
Section titled “BehaviorSourceTypeForwarding”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceTypeForwardingSource 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.
Members
Section titled “Members”Normalize(BehaviorSourceTypeIdentity identity)
Section titled “Normalize(BehaviorSourceTypeIdentity identity)”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)”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.
BehaviorSourceTypeIdentity
Section titled “BehaviorSourceTypeIdentity”Category: Source authoring
readonly struct BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentitySource 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.
Members
Section titled “Members”AssemblyName
Section titled “AssemblyName”public string AssemblyName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:32
Gets the exact assembly simple name, without version.
DefinitionName
Section titled “DefinitionName”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.
HasAssembly
Section titled “HasAssembly”public bool HasAssembly { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:48
Gets whether the identity records an assembly simple name.
IsEmpty
Section titled “IsEmpty”public bool IsEmpty { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:44-45
Gets whether both identity components are empty.
TypeName
Section titled “TypeName”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)”public BehaviorSourceTypeIdentity(string assemblyName, string typeName)Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceTypeIdentity.cs:25-29
Creates one exact type identity.
Equals(BehaviorSourceTypeIdentity other)
Section titled “Equals(BehaviorSourceTypeIdentity other)”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.
Equals(object obj)
Section titled “Equals(object obj)”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.
GetHashCode()
Section titled “GetHashCode()”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.
ToString()
Section titled “ToString()”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.
WithAssembly(string assemblyName)
Section titled “WithAssembly(string assemblyName)”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.
BehaviorSourceTypeKeywords
Section titled “BehaviorSourceTypeKeywords”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceTypeKeywordsSource 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,doubleandstring, 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.
Members
Section titled “Members”KeywordAssemblyName
Section titled “KeywordAssemblyName”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.
Identity(string keyword)
Section titled “Identity(string keyword)”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.
IsKeyword(string token)
Section titled “IsKeyword(string token)”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)”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)”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)”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.
BehaviorSourceValidationProfileBlock
Section titled “BehaviorSourceValidationProfileBlock”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorSourceValidationProfileBlockSource 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.
Members
Section titled “Members”ProfileToken
Section titled “ProfileToken”public string ProfileToken { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/MermaidBehaviorSourceReader.cs:998
Gets or sets the stable validation-profile token.
BehaviorValidationContext
Section titled “BehaviorValidationContext”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorValidationContextSource 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.
Members
Section titled “Members”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.
Registry
Section titled “Registry”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)”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.
BehaviorValidationOptions
Section titled “BehaviorValidationOptions”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorValidationOptionsSource 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.
Members
Section titled “Members”EntityPropertyAccessorProofs
Section titled “EntityPropertyAccessorProofs”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.
Extensions
Section titled “Extensions”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.
Registry
Section titled “Registry”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).
BehaviorValidationResult
Section titled “BehaviorValidationResult”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorValidationResultSource 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.
Members
Section titled “Members”Diagnostics
Section titled “Diagnostics”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.
HasErrors
Section titled “HasErrors”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.
MemberDiagnostics
Section titled “MemberDiagnostics”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.
BehaviorValidator
Section titled “BehaviorValidator”Category: Source authoring
class BitQuirky.Behavior.Authoring.BehaviorValidatorSource 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.
Members
Section titled “Members”Validate(BehaviorSourceAst ast, BehaviorValidationOptions options)
Section titled “Validate(BehaviorSourceAst ast, BehaviorValidationOptions options)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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)”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 ).
IBehaviorStateMachineConditionProvider
Section titled “IBehaviorStateMachineConditionProvider”Category: Source authoring
interface BitQuirky.Behavior.Authoring.IBehaviorStateMachineConditionProviderSource 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.
Members
Section titled “Members”GetConditionFieldIds(BehaviorSourceAst ast)
Section titled “GetConditionFieldIds(BehaviorSourceAst ast)”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.
IBehaviorValidationExtension
Section titled “IBehaviorValidationExtension”Category: Source authoring
interface BitQuirky.Behavior.Authoring.IBehaviorValidationExtensionSource 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.
Members
Section titled “Members”ProfileToken
Section titled “ProfileToken”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)”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.
MermaidBehaviorSourceReader
Section titled “MermaidBehaviorSourceReader”Category: Source authoring
class BitQuirky.Behavior.Authoring.MermaidBehaviorSourceReaderSource 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.
Members
Section titled “Members”IsStableEventId(string eventId)
Section titled “IsStableEventId(string eventId)”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.
Parse(string sourceText)
Section titled “Parse(string sourceText)”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)”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.
MermaidBehaviorSourceWriter
Section titled “MermaidBehaviorSourceWriter”Category: Source authoring
class BitQuirky.Behavior.Authoring.MermaidBehaviorSourceWriterSource 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).
Members
Section titled “Members”Write(BehaviorSourceDocument document)
Section titled “Write(BehaviorSourceDocument document)”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)”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.
SerializedBakedBehavior
Section titled “SerializedBakedBehavior”Category: Source authoring
class BitQuirky.Behavior.Authoring.SerializedBakedBehaviorSource 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.
Members
Section titled “Members”BindingSetFingerprint
Section titled “BindingSetFingerprint”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.
ExecutableContentHash
Section titled “ExecutableContentHash”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.
SourceContentHash
Section titled “SourceContentHash”public ulong SourceContentHash { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Authoring/BehaviorSourceAsset.cs:403
Gets the semantic hash captured from the baked artifact.
Capture(BakedBehaviorArtifact artifact)
Section titled “Capture(BakedBehaviorArtifact artifact)”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.
CreateArtifact(Allocator allocator)
Section titled “CreateArtifact(Allocator allocator)”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