BitQuirky.Behavior.Member
Public behavior trees and state machines: runtime symbols in BitQuirky.Behavior.Member.
Source snapshot ad0983d00d77.
On this page
Assembly: BitQuirky.Behavior.Runtime
BehaviorAgentSurface
Section titled “BehaviorAgentSurface”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorAgentSurfaceSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:18-25
Underlying type: byte
Which agent surface a compatibility verdict was reached for.
Responsibilities:
- Name the exact target path a graph was assigned or baked for.
Does NOT:
- Describe one running agent; the verdict is about the graph.
Members
Section titled “Members”GameObject
Section titled “GameObject”GameObject = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:21
A GameObject-bound agent, which carries every declared type.
PureEntity
Section titled “PureEntity”PureEntity = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:24
A pure entity, whose blackboard is unmanaged data only.
BehaviorArtifactCompatibilityDiagnostic
Section titled “BehaviorArtifactCompatibilityDiagnostic”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityDiagnosticSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:96-160
One exact, source-local verdict that a graph cannot run on the target agent surface.
Responsibilities:
- Carry the graph identity, the declared variable, its complete declared type identity (and, for a dictionary, which half is being reported), the source line, the target path, the stable reason, the recoveries, and one actionable message.
Does NOT:
- Substitute a type, supply a default, omit the variable, fall back to the GameObject path, or block authoring. The variable and its value stay editable.
Members
Section titled “Members”DeclaredKeyType
Section titled “DeclaredKeyType”public string DeclaredKeyType { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:131
Gets the complete declared key type identity of a dictionary, or empty.
DeclaredType
Section titled “DeclaredType”public string DeclaredType { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:128
Gets the complete declared type identity, never shortened.
GraphIdentity
Section titled “GraphIdentity”public string GraphIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:122
Gets the exact graph or source identity.
Message
Section titled “Message”public string Message { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:146
Gets the actionable quiet presentation message.
Reason
Section titled “Reason”public BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityReason Reason { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:140
Gets the stable refusal reason.
Recoveries
Section titled “Recoveries”public BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityRecovery Recoveries { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:143
Gets the recoveries this refusal offers.
SourceLine
Section titled “SourceLine”public int SourceLine { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:134
Gets the one-based source line of the variable record.
Surface
Section titled “Surface”public BitQuirky.Behavior.Member.BehaviorAgentSurface Surface { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:137
Gets the target agent surface the verdict was reached for.
VariableName
Section titled “VariableName”public string VariableName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:125
Gets the exact declared variable name.
BehaviorArtifactCompatibilityDiagnostic(string graphIdentity, string variableName, string declaredType, string declaredKeyType, int sourceLine, BehaviorAgentSurface surface, BehaviorArtifactCompatibilityReason reason, BehaviorArtifactCompatibilityRecovery recoveries, string message)
Section titled “BehaviorArtifactCompatibilityDiagnostic(string graphIdentity, string variableName, string declaredType, string declaredKeyType, int sourceLine, BehaviorAgentSurface surface, BehaviorArtifactCompatibilityReason reason, BehaviorArtifactCompatibilityRecovery recoveries, string message)”public BehaviorArtifactCompatibilityDiagnostic(string graphIdentity, string variableName, string declaredType, string declaredKeyType, int sourceLine, BitQuirky.Behavior.Member.BehaviorAgentSurface surface, BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityReason reason, BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityRecovery recoveries, string message)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:99-119
Creates one complete compatibility verdict.
ToString()
Section titled “ToString()”public override string ToString()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:149-159
Renders the complete verdict, including every diagnostic coordinate.
BehaviorArtifactCompatibilityReason
Section titled “BehaviorArtifactCompatibilityReason”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityReasonSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:36-55
Underlying type: byte
The stable reason one artifact is incompatible with the target surface.
Responsibilities:
- Name each refusal with an append-only code so presentation never parses a message.
Does NOT:
- Carry a repair; the recovery is decided by the authoring surface.
Members
Section titled “Members”ArtifactMissingDeclaredValueTables
Section titled “ArtifactMissingDeclaredValueTables”ArtifactMissingDeclaredValueTables = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:48
The artifact predates declared-value tables and cannot state its storage.
CollectionHasNoEntityStorage
Section titled “CollectionHasNoEntityStorage”CollectionHasNoEntityStorage = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:54
The declared list or array has no entity storage: its element type is itself a collection, or is an element kind the entity path does not carry.
ManagedValueIncompatibleWithPureEntity
Section titled “ManagedValueIncompatibleWithPureEntity”ManagedValueIncompatibleWithPureEntity = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:45
The declared value is a managed reference or a managed lookup, which the entity path has no storage for.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:39
The artifact is compatible with the target surface.
BehaviorArtifactCompatibilityRecovery
Section titled “BehaviorArtifactCompatibilityRecovery”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityRecoverySource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:66-80
Underlying type: byte
The recovery a designer can take in one interaction and one undo step.
Responsibilities:
- Name the exact recoveries a refusal offers, so the surface never invents one.
Does NOT:
- Apply the recovery.
Members
Section titled “Members”BakeForTheGameObjectPath
Section titled “BakeForTheGameObjectPath”BakeForTheGameObjectPath = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:79
Bake the graph for the GameObject path.
ChangeTheShape
Section titled “ChangeTheShape”ChangeTheShape = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:76
Change the shape, which keeps values in authored order and drops keys.
ChangeTheType
Section titled “ChangeTheType”ChangeTheType = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:73
Change the declared type to one the path carries.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:70
No recovery applies.
BehaviorEntityContainerClass
Section titled “BehaviorEntityContainerClass”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorEntityContainerClassSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:34-50
Underlying type: byte
What kind of entity storage an exact authored target type is.
Members
Section titled “Members”BufferElement
Section titled “BufferElement”BufferElement = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:43
An unmanaged IBufferElementData addressed one exact entry at a time.
Component
Section titled “Component”Component = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:40
An unmanaged IComponentData whose stored data is representable.
ManagedComponent
Section titled “ManagedComponent”ManagedComponent = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:49
A component-shaped type whose storage holds managed references.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:37
The type is not a container the entity backend can address.
StaticType
Section titled “StaticType”StaticType = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:46
A declaring type reached with no entity instance at all.
BehaviorEntityMemberAvailability
Section titled “BehaviorEntityMemberAvailability”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorEntityMemberAvailabilitySource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:74-610
The entity backend’s member-availability contract: which containers exist, which member kinds each container offers, and when a property accessor is a provable direct read or write of a stored field.
Responsibilities:
- Classify one exact authored target type as a component, a buffer element, a static declaring type, or storage the entity path cannot carry.
- Decide, once, which member kinds each container offers, and name the exact reason a member kind is unavailable so bake and the picker state the same fact.
- Prove from the compiled accessor body whether a property reads or writes one stored field directly, with no call and no allocation, and name the exact disqualifying fact when it does not.
- Decide, once, which generic method shapes have a direct entity call site, so bake and the picker admit exactly the fully closed static definitions whose chosen type arguments Burst can specialize.
Does NOT:
- Resolve an entity, rewrite a property into a field, offer a substitute member, or judge whether a value kind is carried;BehaviorEntityMemberValueContractowns the value matrix.
Members
Section titled “Members”SyntheticEnabledMemberName
Section titled “SyntheticEnabledMemberName”public const string SyntheticEnabledMemberName = "enabled"Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:83
The one spelling of the synthetic member that reads and writes an enableable component’s enablement. It is defined here once so the picker, the canonical source, bake, and the accessor generator all name the same member.
Classify(Type targetType, BehaviorSourceMemberTargetMode mode, BehaviorSourceMemberEntityContainerKind containerKind)
Section titled “Classify(Type targetType, BehaviorSourceMemberTargetMode mode, BehaviorSourceMemberEntityContainerKind containerKind)”public static BitQuirky.Behavior.Member.BehaviorEntityContainerClass Classify(System.Type targetType, BitQuirky.Behavior.Authoring.BehaviorSourceMemberTargetMode mode, BitQuirky.Behavior.Authoring.BehaviorSourceMemberEntityContainerKind containerKind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:90-120
Classifies one exact resolved target type for the given authored target mode. The Static mode reaches a declaring type with no instance, so any type qualifies there; every other mode addresses stored entity data.
HasAnyQualifyingProperty(Type targetType)
Section titled “HasAnyQualifyingProperty(Type targetType)”public static bool HasAnyQualifyingProperty(System.Type targetType)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:313-342
Returns whether any property of the type qualifies. A type on which none qualifies offers no Properties tab at all rather than an empty one.
HasOnlyUnmanagedStorage(Type type)
Section titled “HasOnlyUnmanagedStorage(Type type)”public static bool HasOnlyUnmanagedStorage(System.Type type)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:349-352
Returns whether every stored field of the type, transitively, has a direct unmanaged
representation. A managed reference anywhere in the storage makes the type a
no entity storagefault rather than something to carry beside the tick path.
IsEnableable(Type targetType)
Section titled “IsEnableable(Type targetType)”public static bool IsEnableable(System.Type targetType)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:242-246
Returns whether the target type is an enableable component, whose enablement the
entity path reads and writes as the syntheticenabled : boolmember and
observes as a one-shot occurrence source.
IsGenericCallShapeAvailable(MethodInfo method, out BehaviorMemberBindingDiagnosticReason reason, out Type unrepresentableArgument)
Section titled “IsGenericCallShapeAvailable(MethodInfo method, out BehaviorMemberBindingDiagnosticReason reason, out Type unrepresentableArgument)”public static bool IsGenericCallShapeAvailable(System.Reflection.MethodInfo method, out BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason reason, out System.Type unrepresentableArgument)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:197-235
Returns whether one resolved method has a direct entity call site as far as its generic shape is concerned, and names the exact reason when it does not. A non-generic method is unaffected. A fully closed generic static method is admitted, because the generated accessor spells its chosen types at the call site and Burst specializes exactly that call. An open definition has nothing to spell, an instance method has no entity call site to spell it in, and a chosen type argument that carries a managed reference cannot be Burst-specialized even when the ordinary signature is representable.
IsMemberKindAvailable(BehaviorEntityContainerClass container, BehaviorSourceMemberKind memberKind, out BehaviorMemberBindingDiagnosticReason reason)
Section titled “IsMemberKindAvailable(BehaviorEntityContainerClass container, BehaviorSourceMemberKind memberKind, out BehaviorMemberBindingDiagnosticReason reason)”public static bool IsMemberKindAvailable(BitQuirky.Behavior.Member.BehaviorEntityContainerClass container, BitQuirky.Behavior.Authoring.BehaviorSourceMemberKind memberKind, out BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason reason)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:130-186
Returns whether the container offers the authored member kind, and names the exact reason when it does not. A component offers its stored fields, its qualifying properties, and its enabled state; a buffer entry offers its stored fields; a static declaring type offers its methods and fields. A component’s instance methods and events are unavailable rather than listed inert, so the picker omits the tab that would hold them and bake reports the same fact for a directly authored binding.
TryProveDirectStoredFieldAccess(PropertyInfo property, bool requireRead, bool requireWrite, out BehaviorMemberBindingDiagnosticReason reason, IBehaviorEntityPropertyAccessorProofProvider proofProvider)
Section titled “TryProveDirectStoredFieldAccess(PropertyInfo property, bool requireRead, bool requireWrite, out BehaviorMemberBindingDiagnosticReason reason, IBehaviorEntityPropertyAccessorProofProvider proofProvider)”public static bool TryProveDirectStoredFieldAccess(System.Reflection.PropertyInfo property, bool requireRead, bool requireWrite, out BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason reason, BitQuirky.Behavior.Member.IBehaviorEntityPropertyAccessorProofProvider proofProvider = null)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:256-307
Proves whether the property’s requested accessors are direct reads or writes of one stored field. A qualifying property binds exactly as that field binds and keeps its property identity; it is never rewritten into a field record. A property that fails the proof names its exact disqualifying fact: an accessor returning a managed reference, a non-public accessor, or an accessor whose body computes rather than stores.
BehaviorEntityMemberReading
Section titled “BehaviorEntityMemberReading”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorEntityMemberReadingSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1140-1256
One live reading of an entity member target, as of the last evaluation of that node.
Responsibilities:
- Carry the world, graph, node, authored target, exact addressed entity when one exists, member, reason, observed cardinality, and repeated-evaluation count.
- Format the one durable console record for the occurrence.
Does NOT:
- Report a bake verdict, persist into the graph, log itself, or exist outside a run. A binding whose target is momentarily unreachable is still valid, and a live reading never turns into an author-time fault.
Members
Section titled “Members”BindingId
Section titled “BindingId”public string BindingId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1185
Gets the exact member binding id.
public string Code { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1214
Gets the stable diagnostic code of the reason.
ConsecutiveTickCount
Section titled “ConsecutiveTickCount”public int ConsecutiveTickCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1209
Gets how many evaluations have produced this same unresolved occurrence. Skipped graph ticks neither close the occurrence nor advance this count.
GraphIdentity
Section titled “GraphIdentity”public string GraphIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1179
Gets the canonical graph identity.
HasTargetEntity
Section titled “HasTargetEntity”public bool HasTargetEntity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1194
Gets whether this evaluation named one exact target entity.
MemberIdentity
Section titled “MemberIdentity”public string MemberIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1191
Gets the exact authored member identity.
NodeId
Section titled “NodeId”public string NodeId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1182
Gets the affected node id.
ObservedCount
Section titled “ObservedCount”public int ObservedCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1203
Gets the cardinality the evaluation observed.
Reason
Section titled “Reason”public BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason Reason { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1173
Gets the exact named reason the evaluation could not act.
TargetEntityIndex
Section titled “TargetEntityIndex”public int TargetEntityIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1197
Gets the addressed target entity’s index, when one was available.
TargetEntityVersion
Section titled “TargetEntityVersion”public int TargetEntityVersion { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1200
Gets the addressed target entity’s version, when one was available.
TargetLabel
Section titled “TargetLabel”public string TargetLabel { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1188
Gets the authored target label.
WorldIdentity
Section titled “WorldIdentity”public string WorldIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1176
Gets the exact World instance that evaluated the graph.
DescribeConsoleRecord()
Section titled “DescribeConsoleRecord()”public string DescribeConsoleRecord()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1220-1255
Formats the one durable console record for this occurrence, carrying world, graph, node, exact target when available, member, and reason.
BehaviorEntityMemberReadingRecord
Section titled “BehaviorEntityMemberReadingRecord”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorEntityMemberReadingRecordSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1044-1125
One entity-target evaluation transition, exactly as the batched tick observed it.
Responsibilities:
- Carry the agent, baked operation, exact target entity when one was addressed, named reason, and observed cardinality as plain unmanaged data a Burst job can publish.
- Explicitly mark the evaluation that resolves a previously open reading, so a member node that was not evaluated does not masquerade as a recovered target.
Does NOT:
- Log itself, format a string, count repeats, or decide a node result. The occurrence accounting belongs toBehaviorEntityMemberReadingStoreon the main thread.
Members
Section titled “Members”EntityIndex
Section titled “EntityIndex”public int EntityIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1100
Gets the affected agent entity’s index.
EntityVersion
Section titled “EntityVersion”public int EntityVersion { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1103
Gets the affected agent entity’s version.
HasTargetEntity
Section titled “HasTargetEntity”public bool HasTargetEntity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1112
Gets whether this evaluation named one exact target entity.
IsResolution
Section titled “IsResolution”public bool IsResolution { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1124
Gets whether this record closes an earlier unresolved occurrence.
ObservedCount
Section titled “ObservedCount”public int ObservedCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1121
Gets the cardinality the evaluation actually observed.
OperationIndex
Section titled “OperationIndex”public int OperationIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1115
Gets the baked member operation row this transition belongs to.
Reason
Section titled “Reason”public BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason Reason { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1118
Gets the exact named live-reading reason.
TargetEntityIndex
Section titled “TargetEntityIndex”public int TargetEntityIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1106
Gets the addressed target entity’s index, when one was available.
TargetEntityVersion
Section titled “TargetEntityVersion”public int TargetEntityVersion { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1109
Gets the addressed target entity’s version, when one was available.
BehaviorEntityMemberReadingRecord(int entityIndex, int entityVersion, int targetEntityIndex, int targetEntityVersion, bool hasTargetEntity, int operationIndex, BehaviorMemberBindingDiagnosticReason reason, int observedCount)
Section titled “BehaviorEntityMemberReadingRecord(int entityIndex, int entityVersion, int targetEntityIndex, int targetEntityVersion, bool hasTargetEntity, int operationIndex, BehaviorMemberBindingDiagnosticReason reason, int observedCount)”public BehaviorEntityMemberReadingRecord(int entityIndex, int entityVersion, int targetEntityIndex, int targetEntityVersion, bool hasTargetEntity, int operationIndex, BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason reason, int observedCount)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1050-1069
Creates one published unresolved-evaluation record.
ForResolution(int entityIndex, int entityVersion, int operationIndex)
Section titled “ForResolution(int entityIndex, int entityVersion, int operationIndex)”public static BitQuirky.Behavior.Member.BehaviorEntityMemberReadingRecord ForResolution(int entityIndex, int entityVersion, int operationIndex)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1090-1097
Creates the explicit transition that closes a previously unresolved evaluation.
BehaviorEntityMemberReadingStore
Section titled “BehaviorEntityMemberReadingStore”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorEntityMemberReadingStoreSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1273-1523
The structured live-reading surface of one registered entity graph.
Responsibilities:
- Turn evaluation-transition records into occurrences: open on an unresolved evaluation, advance only when that operation is evaluated unresolved again, and close only on its explicit successful evaluation or when the affected agent no longer exists.
- Bind every occurrence to its exact world, graph, node, target, and member coordinates. Each live reading uses the same five coordinates as a bake fault.
Does NOT:
- Log per tick, emit a record for a repeat, allocate while every target resolves, change a bake verdict, or mutate any author-time validation state. An occurrence is amber and transient; nothing here can turn one into a red author-time fault.
Members
Section titled “Members”OpenOccurrenceCount
Section titled “OpenOccurrenceCount”public int OpenOccurrenceCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1336
Gets the number of occurrences currently open across every agent.
OpenedThisTick
Section titled “OpenedThisTick”public System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorEntityMemberReading> OpenedThisTick { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1344
Gets the occurrences that opened during the most recent drained tick. These, and only these, are the readings that owe the console one entry each.
BehaviorEntityMemberReadingStore(string worldIdentity, string graphIdentity, string[] nodeIds, string[] bindingIds, string[] targetLabels, string[] memberIdentities)
Section titled “BehaviorEntityMemberReadingStore(string worldIdentity, string graphIdentity, string[] nodeIds, string[] bindingIds, string[] targetLabels, string[] memberIdentities)”public BehaviorEntityMemberReadingStore(string worldIdentity, string graphIdentity, string[] nodeIds, string[] bindingIds, string[] targetLabels, string[] memberIdentities)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1299-1315
Preallocates the coordinate tables, one row per baked member operation. The four coordinate arrays are supplied in operation order and are never resolved by lookup during a tick.
BeginTick()
Section titled “BeginTick()”public void BeginTick()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1347-1351
Opens the tick a drain is about to publish into.
Clear()
Section titled “Clear()”public void Clear()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1443-1447
Drops every open occurrence, as a reset, graph replacement, or dispose does.
EndTick()
Section titled “EndTick()”public void EndTick()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1403-1421
Ends the drain without interpreting an unevaluated operation as recovery. When this store belongs to a live entity runtime, it also removes occurrences whose agent entity no longer exists.
Record(in BehaviorEntityMemberReadingRecord record)
Section titled “Record(in BehaviorEntityMemberReadingRecord record)”public void Record(in BitQuirky.Behavior.Member.BehaviorEntityMemberReadingRecord record)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1358-1396
Applies one evaluated transition. A resolution closes the occurrence. An unresolved transition opens one, or advances it when reason and exact target identity are unchanged. A graph tick with no transition for an operation leaves it untouched.
TryRead(int entityIndex, int entityVersion, int operationIndex, out BehaviorEntityMemberReading reading)
Section titled “TryRead(int entityIndex, int entityVersion, int operationIndex, out BehaviorEntityMemberReading reading)”public bool TryRead(int entityIndex, int entityVersion, int operationIndex, out BitQuirky.Behavior.Member.BehaviorEntityMemberReading reading)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1426-1440
Reads the occurrence currently open for one agent and operation, if there is one.
BehaviorEntityMemberValueContract
Section titled “BehaviorEntityMemberValueContract”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorEntityMemberValueContractSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberValueContract.cs:20-180
The entity backend’s slice of the portable member value and conversion contract.
Responsibilities:
- Decide which supported value kinds have a direct Burst-representable entity representation, which of them can address one retained occurrence by exact identity, and which single portable conversion applies to a pair on this backend.
Does NOT:
- Add a conversion the portable contract does not already allow, box, coerce, narrow, or substitute a companion managed store. Being unmanaged alone does not put a type in the authored entity conversion contract.
Members
Section titled “Members”IsSupportedIdentityKind(BehaviorMemberValueKind kind)
Section titled “IsSupportedIdentityKind(BehaviorMemberValueKind kind)”public static bool IsSupportedIdentityKind(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberValueContract.cs:66-70
Returns whether the kind can address one retained occurrence by exact identity: any carried kind with a fixed byte width, compared over its complete stored value. The occurrence state keeps that whole value, so no hash ever stands in for exact identity, and an identity wider than sixty-four bits is addressed like any other.
An enum identity field is addressed by the exact underlying scalar bake records for it, so the enum kind itself is never the recorded identity kind.
IsSupportedValueKind(BehaviorMemberValueKind kind)
Section titled “IsSupportedValueKind(BehaviorMemberValueKind kind)”public static bool IsSupportedValueKind(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberValueContract.cs:29-55
Returns whether the kind is carried natively by the entity backend. Managed references, Unity object references, and unlisted unmanaged developer structs are outside the matrix and are rejected rather than stored beside the tick path.
TryGetConversion(BehaviorMemberValueKind source, BehaviorMemberValueKind target, out BehaviorMemberConversion conversion)
Section titled “TryGetConversion(BehaviorMemberValueKind source, BehaviorMemberValueKind target, out BehaviorMemberConversion conversion)”public static bool TryGetConversion(BitQuirky.Behavior.Member.BehaviorMemberValueKind source, BitQuirky.Behavior.Member.BehaviorMemberValueKind target, out BitQuirky.Behavior.Member.BehaviorMemberConversion conversion)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberValueContract.cs:77-100
Decides the single allowed conversion for a pair on the entity backend: the portable conversion, restricted to carried kinds. Everything else is rejected at its exact binding edge rather than coerced.
TryGetConversion(Type source, Type target, out BehaviorMemberConversion conversion)
Section titled “TryGetConversion(Type source, Type target, out BehaviorMemberConversion conversion)”public static bool TryGetConversion(System.Type source, System.Type target, out BitQuirky.Behavior.Member.BehaviorMemberConversion conversion)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberValueContract.cs:107-127
Decides the single allowed conversion for two resolved CLR types. Resolved types are required for enum conversions because an enum kind alone does not identify its exact underlying scalar type.
TryGetIdentityStorageKind(Type type, out BehaviorMemberValueKind storageKind)
Section titled “TryGetIdentityStorageKind(Type type, out BehaviorMemberValueKind storageKind)”public static bool TryGetIdentityStorageKind(System.Type type, out BitQuirky.Behavior.Member.BehaviorMemberValueKind storageKind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberValueContract.cs:134-146
Resolves the exact stored identity kind of a CLR type. Enum identities use their underlying integral kind because occurrence state and baked constants store that exact scalar representation.
TryParseIdentityConstant(Type identityType, BehaviorMemberValueKind authoredKind, string literal, out BehaviorMemberValueKind storageKind, out long valueBits, out string canonical)
Section titled “TryParseIdentityConstant(Type identityType, BehaviorMemberValueKind authoredKind, string literal, out BehaviorMemberValueKind storageKind, out long valueBits, out string canonical)”public static bool TryParseIdentityConstant(System.Type identityType, BitQuirky.Behavior.Member.BehaviorMemberValueKind authoredKind, string literal, out BitQuirky.Behavior.Member.BehaviorMemberValueKind storageKind, out long valueBits, out string canonical)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberValueContract.cs:153-177
Parses one identity constant into the exact scalar storage used by baked constants. Wider identity types remain valid for blackboard operands, but are rejected as constants until baked constants can store their complete value.
BehaviorLiveAgentIdentity
Section titled “BehaviorLiveAgentIdentity”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorLiveAgentIdentitySource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:177-258
Implements: IEquatable<BehaviorLiveAgentIdentity>
Identifies the only runtime instance one Live document may observe or change.
Responsibilities:
- Carry the exact generation-aware identity of the agent’s own GameObject, the monotonic member-runtime generation, the canonical graph identity, the executable content fingerprint, the display label, and the attachment lifecycle of one live agent.
- Compare two identities by every pinning field, so a reused GameObject, reused graph, or reinitialized member runtime never revives an older request.
Does NOT:
- Carry a debugger follower key. A follower key is control-scoped, is assigned by the Live document rather than the member runtime, and is never sufficient to pin an edit.
- Search for a replacement instance, or treat the display label as a lookup coordinate.
Members
Section titled “Members”AgentEntityId
Section titled “AgentEntityId”public UnityEngine.EntityId AgentEntityId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:200
Gets the generation-aware Unity identity of the agent’s own GameObject, which is the same identity Unity selection reports for that object.
DisplayName
Section titled “DisplayName”public string DisplayName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:214
Gets the current selected-target label; presentation only, never a lookup key.
ExecutableFingerprint
Section titled “ExecutableFingerprint”public ulong ExecutableFingerprint { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:211
Gets the baked executable content fingerprint used to reject stale Live requests.
GraphIdentity
Section titled “GraphIdentity”public string GraphIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:206
Gets the canonical graph identity the member runtime was constructed with.
IsAttached
Section titled “IsAttached”public bool IsAttached { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:220
Gets whether this identity currently permits reads and edits.
Lifecycle
Section titled “Lifecycle”public BitQuirky.Behavior.Member.BehaviorLiveMemberLifecycle Lifecycle { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:217
Gets the attachment lifecycle; only Attached reads or edits.
RuntimeGeneration
Section titled “RuntimeGeneration”public uint RuntimeGeneration { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:203
Gets the monotonic generation of the agent’s initialized member runtime.
BehaviorLiveAgentIdentity(EntityId agentEntityId, uint runtimeGeneration, string graphIdentity, ulong executableFingerprint, string displayName, BehaviorLiveMemberLifecycle lifecycle)
Section titled “BehaviorLiveAgentIdentity(EntityId agentEntityId, uint runtimeGeneration, string graphIdentity, ulong executableFingerprint, string displayName, BehaviorLiveMemberLifecycle lifecycle)”public BehaviorLiveAgentIdentity(UnityEngine.EntityId agentEntityId, uint runtimeGeneration, string graphIdentity, ulong executableFingerprint, string displayName, BitQuirky.Behavior.Member.BehaviorLiveMemberLifecycle lifecycle)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:180-194
Creates one complete live agent identity.
Equals(BehaviorLiveAgentIdentity other)
Section titled “Equals(BehaviorLiveAgentIdentity other)”public bool Equals(BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity other)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:235-240
Equals(object obj)
Section titled “Equals(object obj)”public override bool Equals(object obj)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:243-246
GetHashCode()
Section titled “GetHashCode()”public override int GetHashCode()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:249-257
PinsSameInstance(in BehaviorLiveAgentIdentity other)
Section titled “PinsSameInstance(in BehaviorLiveAgentIdentity other)”public bool PinsSameInstance(in BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity other)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:226-232
Compares every pinning field except the presentation label and the lifecycle, which the runtime evaluates separately at the moment a request arrives.
BehaviorLiveMemberCoordinate
Section titled “BehaviorLiveMemberCoordinate”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinateSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:274-435
Implements: IEquatable<BehaviorLiveMemberCoordinate>
Addresses one exact surfaced property or field binding in one baked member runtime.
Responsibilities:
- Carry the dense binding index, stable binding id, surfaced name, operation, blackboard slot, target coordinates, authored target and member identities, authored direction and synchronization, and the exact value representation of one baked binding row.
- Compare two coordinates by every addressing field so a stale editor row cannot retarget another binding that merely shares a display name.
Does NOT:
- Carry a value, a mutable generation, or an editor control choice, and never resolves a member by its displayed name.
Members
Section titled “Members”Access
Section titled “Access”public BitQuirky.Behavior.Baked.BakedMemberAccess Access { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:357
Gets the authored member access flags.
BindingId
Section titled “BindingId”public string BindingId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:324
Gets the authored stable binding id of the owning operation.
BindingIndex
Section titled “BindingIndex”public int BindingIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:321
Gets the dense row of this binding in the baked member binding table.
BlackboardSlotIndex
Section titled “BlackboardSlotIndex”public int BlackboardSlotIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:336
Gets the graph-facing blackboard layout slot of the projection.
DeclaringAssemblyName
Section titled “DeclaringAssemblyName”public string DeclaringAssemblyName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:348
Gets the exact assembly simple name of the declaring type.
DeclaringTypeName
Section titled “DeclaringTypeName”public string DeclaringTypeName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:351
Gets the exact full CLR name of the declaring type.
Direction
Section titled “Direction”public BitQuirky.Behavior.Baked.BakedMemberDirection Direction { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:363
Gets the authored synchronization direction, which is the write authority.
MemberName
Section titled “MemberName”public string MemberName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:354
Gets the exact member identifier.
MemberShape
Section titled “MemberShape”public BitQuirky.Behavior.Baked.BakedMemberOperationKind MemberShape { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:360
Gets the baked operation family; only a property or field is Live editable.
NodeIndex
Section titled “NodeIndex”public int NodeIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:333
Gets the owning baked node, or -1 for a graph-level binding.
OperationIndex
Section titled “OperationIndex”public int OperationIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:330
Gets the exact baked member operation row.
ReadsMember
Section titled “ReadsMember”public bool ReadsMember { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:387-389
Gets whether the authored direction reads the member into the blackboard.
SurfaceName
Section titled “SurfaceName”public string SurfaceName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:327
Gets the authored Live and blackboard presentation name.
Synchronization
Section titled “Synchronization”public BitQuirky.Behavior.Baked.BakedMemberSynchronization Synchronization { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:366
Gets the authored synchronization mode flags.
TargetIndex
Section titled “TargetIndex”public int TargetIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:339
Gets the exact resolved target coordinate shared by the baked and provider tables.
TargetMode
Section titled “TargetMode”public BitQuirky.Behavior.Baked.BakedMemberTargetMode TargetMode { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:342
Gets the authored target resolution mode.
TargetSlotKey
Section titled “TargetSlotKey”public string TargetSlotKey { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:345
Gets the explicit reference slot key, or the empty string for other modes.
ValueKind
Section titled “ValueKind”public BitQuirky.Behavior.Member.BehaviorMemberValueKind ValueKind { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:373
Gets the exact baked value representation. Together with ValueTypeCode and ValueSizethis is the whole payload contract: the generated accessor is the only exact-type authority beyond it.
ValueSize
Section titled “ValueSize”public int ValueSize { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:379
Gets the baked native byte size of the projected slot.
ValueTypeCode
Section titled “ValueTypeCode”public BitQuirky.Behavior.Baked.BakedFieldTypeCode ValueTypeCode { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:376
Gets the baked blackboard type code of the projected slot.
WritesMember
Section titled “WritesMember”public bool WritesMember { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:382-384
Gets whether the authored direction permits a blackboard-to-member push.
BehaviorLiveMemberCoordinate(int bindingIndex, string bindingId, string surfaceName, int operationIndex, int nodeIndex, int blackboardSlotIndex, int targetIndex, BakedMemberTargetMode targetMode, string targetSlotKey, string declaringAssemblyName, string declaringTypeName, string memberName, BakedMemberAccess access, BakedMemberOperationKind memberShape, BakedMemberDirection direction, BakedMemberSynchronization synchronization, BehaviorMemberValueKind valueKind, BakedFieldTypeCode valueTypeCode, int valueSize)
Section titled “BehaviorLiveMemberCoordinate(int bindingIndex, string bindingId, string surfaceName, int operationIndex, int nodeIndex, int blackboardSlotIndex, int targetIndex, BakedMemberTargetMode targetMode, string targetSlotKey, string declaringAssemblyName, string declaringTypeName, string memberName, BakedMemberAccess access, BakedMemberOperationKind memberShape, BakedMemberDirection direction, BakedMemberSynchronization synchronization, BehaviorMemberValueKind valueKind, BakedFieldTypeCode valueTypeCode, int valueSize)”public BehaviorLiveMemberCoordinate(int bindingIndex, string bindingId, string surfaceName, int operationIndex, int nodeIndex, int blackboardSlotIndex, int targetIndex, BitQuirky.Behavior.Baked.BakedMemberTargetMode targetMode, string targetSlotKey, string declaringAssemblyName, string declaringTypeName, string memberName, BitQuirky.Behavior.Baked.BakedMemberAccess access, BitQuirky.Behavior.Baked.BakedMemberOperationKind memberShape, BitQuirky.Behavior.Baked.BakedMemberDirection direction, BitQuirky.Behavior.Baked.BakedMemberSynchronization synchronization, BitQuirky.Behavior.Member.BehaviorMemberValueKind valueKind, BitQuirky.Behavior.Baked.BakedFieldTypeCode valueTypeCode, int valueSize)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:278-318
Creates one complete live member binding coordinate.
Equals(BehaviorLiveMemberCoordinate other)
Section titled “Equals(BehaviorLiveMemberCoordinate other)”public bool Equals(BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate other)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:392-414
Equals(object obj)
Section titled “Equals(object obj)”public override bool Equals(object obj)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:417-420
GetHashCode()
Section titled “GetHashCode()”public override int GetHashCode()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:423-434
BehaviorLiveMemberEditDisposition
Section titled “BehaviorLiveMemberEditDisposition”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorLiveMemberEditDispositionSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:90-97
Underlying type: byte
Whether one submitted Live edit changed the running member.
Members
Section titled “Members”Accepted
Section titled “Accepted”Accepted = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:96
The generated setter accepted the exact payload and the transaction committed.
Refused
Section titled “Refused”Refused = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:93
The request was refused; see the structured refusal reason.
BehaviorLiveMemberEditRequest
Section titled “BehaviorLiveMemberEditRequest”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberEditRequestSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:840-885
One user-committed attempt to change one exact live member value.
Responsibilities:
- Echo the complete instance, artifact, binding, and generation coordinates observed by the edited row, and carry one exact typed payload plus the identity of the single commit event that produced it.
Does NOT:
- Carry a target name to be searched, a formatted string, or a conversion instruction. Refresh, focus change, and repaint never create a request.
Members
Section titled “Members”CommitEventId
Section titled “CommitEventId”public int CommitEventId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:884
Gets the identity of the one commit event, never a repaint or change echo.
Coordinate
Section titled “Coordinate”public BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate Coordinate { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:875
Gets the exact binding coordinate the edited row observed.
ExpectedGeneration
Section titled “ExpectedGeneration”public uint ExpectedGeneration { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:878
Gets the one-shot generation this request consumes exactly once.
Identity
Section titled “Identity”public BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity Identity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:872
Gets the identity observed when the editor accepted the commit action.
Payload
Section titled “Payload”public BitQuirky.Behavior.Member.BehaviorLiveMemberValue Payload { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:881
Gets the exact typed payload in the binding’s baked representation.
BehaviorLiveMemberEditRequest(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, uint expectedGeneration, in BehaviorLiveMemberValue payload, int commitEventId)
Section titled “BehaviorLiveMemberEditRequest(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, uint expectedGeneration, in BehaviorLiveMemberValue payload, int commitEventId)”public BehaviorLiveMemberEditRequest(in BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity identity, in BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate coordinate, uint expectedGeneration, in BitQuirky.Behavior.Member.BehaviorLiveMemberValue payload, int commitEventId)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:843-855
Creates one live member edit request from an observed snapshot.
FromSnapshot(in BehaviorLiveMemberSnapshot snapshot, in BehaviorLiveMemberValue payload, int commitEventId)
Section titled “FromSnapshot(in BehaviorLiveMemberSnapshot snapshot, in BehaviorLiveMemberValue payload, int commitEventId)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberEditRequest FromSnapshot(in BitQuirky.Behavior.Member.BehaviorLiveMemberSnapshot snapshot, in BitQuirky.Behavior.Member.BehaviorLiveMemberValue payload, int commitEventId)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:858-869
Creates one live member edit request directly from its snapshot.
BehaviorLiveMemberEditResult
Section titled “BehaviorLiveMemberEditResult”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberEditResultSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:901-1009
The synchronous result of one runtime-owned Live member transaction.
Responsibilities:
- Report one disposition, the exact confirmed member value, the next one-shot generation, the pending settlement state, and the structured refusal reason, together with the identity and binding that decided the outcome.
- Distinguish a preflight refusal, which mutated nothing, from a generated-setter failure, which invoked customer code exactly once and committed no package-owned state.
Does NOT:
- Retry, queue, or reverse anything, and never represents a side effect performed by customer code inside a throwing setter.
Members
Section titled “Members”ConfirmedValue
Section titled “ConfirmedValue”public BitQuirky.Behavior.Member.BehaviorLiveMemberValue ConfirmedValue { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:933
Gets the exact value the member holds after an accepted transaction.
Coordinate
Section titled “Coordinate”public BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate Coordinate { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:930
Gets the binding that accepted or refused the request.
Disposition
Section titled “Disposition”public BitQuirky.Behavior.Member.BehaviorLiveMemberEditDisposition Disposition { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:924
Gets whether the running member changed.
Identity
Section titled “Identity”public BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity Identity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:927
Gets the identity that accepted or refused the request.
IsAccepted
Section titled “IsAccepted”public bool IsAccepted { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:951
Gets whether the running member changed.
NextGeneration
Section titled “NextGeneration”public uint NextGeneration { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:936
Gets the one-shot generation that follows an accepted transaction.
PendingFeedback
Section titled “PendingFeedback”public BitQuirky.Behavior.Member.BehaviorLiveMemberPendingFeedback PendingFeedback { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:939
Gets what an accepted transaction is waiting for.
RefusalReason
Section titled “RefusalReason”public BitQuirky.Behavior.Member.BehaviorLiveMemberRefusalReason RefusalReason { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:942
Gets the structured reason a request was refused.
SetterInvoked
Section titled “SetterInvoked”public bool SetterInvoked { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:948
Gets whether the generated setter ran. This is false for every preflight refusal and true only for an accepted transaction or a setter that threw.
Accepted(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, in BehaviorLiveMemberValue confirmedValue, uint nextGeneration)
Section titled “Accepted(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, in BehaviorLiveMemberValue confirmedValue, uint nextGeneration)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberEditResult Accepted(in BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity identity, in BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate coordinate, in BitQuirky.Behavior.Member.BehaviorLiveMemberValue confirmedValue, uint nextGeneration)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:954-969
Builds one accepted result.
Refused(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, BehaviorLiveMemberRefusalReason reason, uint currentGeneration)
Section titled “Refused(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, BehaviorLiveMemberRefusalReason reason, uint currentGeneration)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberEditResult Refused(in BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity identity, in BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate coordinate, BitQuirky.Behavior.Member.BehaviorLiveMemberRefusalReason reason, uint currentGeneration)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:972-987
Builds one preflight refusal, which mutated nothing at all.
SetterFailed(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, uint currentGeneration)
Section titled “SetterFailed(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, uint currentGeneration)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberEditResult SetterFailed(in BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity identity, in BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate coordinate, uint currentGeneration)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:994-1008
Builds the one structured failure a throwing generated setter produces. No package-owned value, baseline, journal entry, pending state, or generation advanced, and the setter is not called again.
BehaviorLiveMemberHealth
Section titled “BehaviorLiveMemberHealth”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorLiveMemberHealthSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:29-45
Underlying type: byte
The binding-level verdict one Live inspection reports at the point of inspection or edit.
Members
Section titled “Members”Cleared
Section titled “Cleared”Cleared = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:32
No attached runtime instance; authored target and direction remain context.
HealthyWritable
Section titled “HealthyWritable”HealthyWritable = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:35
Exact target, member, and type are available and the authored direction pushes.
Incompatible
Section titled “Incompatible”Incompatible = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:44
The exact authored contract cannot be represented as an editable value.
ReadOnly
Section titled “ReadOnly”ReadOnly = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:38
Authored direction or member access permits no Live write.
Unavailable
Section titled “Unavailable”Unavailable = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:41
The selected runtime, target, or exact member cannot currently be reached.
BehaviorLiveMemberLifecycle
Section titled “BehaviorLiveMemberLifecycle”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorLiveMemberLifecycleSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:11-24
Underlying type: byte
Lifecycle of one Live member attachment to a running agent.
Members
Section titled “Members”Attached
Section titled “Attached”Attached = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:17
One initialized runtime instance is attached and accepts reads and edits.
Destroyed
Section titled “Destroyed”Destroyed = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:20
The attached instance was destroyed.
Detached
Section titled “Detached”Detached = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:14
No attached runtime instance.
PlayModeEnded
Section titled “PlayModeEnded”PlayModeEnded = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:23
Play Mode ended, so the attached instance no longer exists.
BehaviorLiveMemberPendingFeedback
Section titled “BehaviorLiveMemberPendingFeedback”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorLiveMemberPendingFeedbackSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:71-85
Underlying type: byte
What one accepted Live edit is still waiting for before gameplay observes it.
Members
Section titled “Members”None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:74
Nothing is pending; the last accepted value has settled.
WaitingForNextEvaluation
Section titled “WaitingForNextEvaluation”WaitingForNextEvaluation = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:77
The value is confirmed on the member and awaits the next selected evaluation.
WaitingForStep
Section titled “WaitingForStep”WaitingForStep = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:84
The follower is paused, so the awaited evaluation happens on one Step. The runtime never reports this state itself: pausing is a debug-control fact the Live document owns, and it narrowsWaitingForNextEvaluationto this value.
BehaviorLiveMemberRefusalReason
Section titled “BehaviorLiveMemberRefusalReason”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorLiveMemberRefusalReasonSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:102-139
Underlying type: byte
The closed reason vocabulary a Live inspection or refused edit reports.
Members
Section titled “Members”BindingCoordinateMismatch
Section titled “BindingCoordinateMismatch”BindingCoordinateMismatch = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:117
A binding, operation, slot, or target coordinate does not match the baked row.
DetachedInstance
Section titled “DetachedInstance”DetachedInstance = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:108
The request names an instance this runtime is not, or is no longer, attached to.
ExecutableFingerprintChanged
Section titled “ExecutableFingerprintChanged”ExecutableFingerprintChanged = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:111
The executable content fingerprint changed since the snapshot.
IncompatiblePayload
Section titled “IncompatiblePayload”IncompatiblePayload = 7Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:126
The payload is absent, of another kind, or not the binding’s exact representation.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:105
No refusal.
OneShotGenerationConsumed
Section titled “OneShotGenerationConsumed”OneShotGenerationConsumed = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:120
The one-shot generation the request echoes was already consumed.
ReadOnlyDirection
Section titled “ReadOnlyDirection”ReadOnlyDirection = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:123
The authored direction or member access permits no Live write.
RuntimeGenerationChanged
Section titled “RuntimeGenerationChanged”RuntimeGenerationChanged = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:114
The agent’s member runtime generation changed since the snapshot.
RuntimeUnavailable
Section titled “RuntimeUnavailable”RuntimeUnavailable = 9Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:132
The member runtime is uninitialized or disposed.
SetterThrew
Section titled “SetterThrew”SetterThrew = 11Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:138
The generated member setter threw after a successful preflight.
TargetUnavailable
Section titled “TargetUnavailable”TargetUnavailable = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:129
The exact target or member cannot currently be reached.
UnsupportedMemberShape
Section titled “UnsupportedMemberShape”UnsupportedMemberShape = 10Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:135
The baked row is not a surfaced property or field projection.
BehaviorLiveMemberSnapshot
Section titled “BehaviorLiveMemberSnapshot”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberSnapshotSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:685-826
One immutable editor-refresh view of one surfaced member binding.
Responsibilities:
- Present the complete five facts one Live inspection needs together: the graph-facing current value, the authored target and member, the authored direction, the observed source origin with the last readable member value, and the binding-level health.
- Carry the exact pinning coordinates and the one-shot generation an edit must echo.
Does NOT:
- Reference mutable editor state, dispatch an edit, invoke a member, or mutate any runtime state. Producing a snapshot is idempotent.
Members
Section titled “Members”Coordinate
Section titled “Coordinate”public BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate Coordinate { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:721
Gets the complete addressing coordinate of the observed binding.
CurrentValue
Section titled “CurrentValue”public BitQuirky.Behavior.Member.BehaviorLiveMemberValue CurrentValue { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:730
Gets the exact value currently available to graph nodes.
Editable
Section titled “Editable”public bool Editable { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:746
Gets whether the runtime would accept an exact typed edit now. The Live document narrows this further by requiring an existing exact-type value control; the runtime never decides an editor control.
EvaluationIndex
Section titled “EvaluationIndex”public int EvaluationIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:727
Gets the last selected evaluation this graph-facing state represents.
Health
Section titled “Health”public BitQuirky.Behavior.Member.BehaviorLiveMemberHealth Health { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:739
Gets the binding-level verdict at the moment of observation.
Identity
Section titled “Identity”public BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity Identity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:718
Gets the complete identity of the observed running instance.
LastConfirmedValue
Section titled “LastConfirmedValue”public BitQuirky.Behavior.Member.BehaviorLiveMemberValue LastConfirmedValue { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:755
Gets the member value confirmed by the most recent accepted edit or game write.
MemberSourceValue
Section titled “MemberSourceValue”public BitQuirky.Behavior.Member.BehaviorLiveMemberValue MemberSourceValue { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:733
Gets the exact member value last read through the authored read path.
ObservedValueKind
Section titled “ObservedValueKind”public BitQuirky.Behavior.Member.BehaviorMemberValueKind ObservedValueKind { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:764
Gets the value kind the running member actually reports, when the runtime can establish that it differs fromValueKind, orUnknownwhen no distinct observation is available. Only anIncompatiblesnapshot with a genuinely different observed kind names both identities in its refusal sentence.
OneShotGeneration
Section titled “OneShotGeneration”public uint OneShotGeneration { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:724
Gets the unconsumed one-shot generation an edit request must echo.
PendingFeedback
Section titled “PendingFeedback”public BitQuirky.Behavior.Member.BehaviorLiveMemberPendingFeedback PendingFeedback { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:752
Gets what an accepted edit is still waiting for.
RefusalReason
Section titled “RefusalReason”public BitQuirky.Behavior.Member.BehaviorLiveMemberRefusalReason RefusalReason { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:749
Gets the concrete reason this binding is not editable, or None.
SourceOrigin
Section titled “SourceOrigin”public BitQuirky.Behavior.Member.BehaviorLiveMemberSourceOrigin SourceOrigin { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:736
Gets what last moved the graph-facing value.
BehaviorLiveMemberSnapshot(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, uint oneShotGeneration, int evaluationIndex, in BehaviorLiveMemberValue currentValue, in BehaviorLiveMemberValue memberSourceValue, BehaviorLiveMemberSourceOrigin sourceOrigin, BehaviorLiveMemberHealth health, bool editable, BehaviorLiveMemberRefusalReason refusalReason, BehaviorLiveMemberPendingFeedback pendingFeedback, in BehaviorLiveMemberValue lastConfirmedValue)
Section titled “BehaviorLiveMemberSnapshot(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, uint oneShotGeneration, int evaluationIndex, in BehaviorLiveMemberValue currentValue, in BehaviorLiveMemberValue memberSourceValue, BehaviorLiveMemberSourceOrigin sourceOrigin, BehaviorLiveMemberHealth health, bool editable, BehaviorLiveMemberRefusalReason refusalReason, BehaviorLiveMemberPendingFeedback pendingFeedback, in BehaviorLiveMemberValue lastConfirmedValue)”public BehaviorLiveMemberSnapshot(in BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity identity, in BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate coordinate, uint oneShotGeneration, int evaluationIndex, in BitQuirky.Behavior.Member.BehaviorLiveMemberValue currentValue, in BitQuirky.Behavior.Member.BehaviorLiveMemberValue memberSourceValue, BitQuirky.Behavior.Member.BehaviorLiveMemberSourceOrigin sourceOrigin, BitQuirky.Behavior.Member.BehaviorLiveMemberHealth health, bool editable, BitQuirky.Behavior.Member.BehaviorLiveMemberRefusalReason refusalReason, BitQuirky.Behavior.Member.BehaviorLiveMemberPendingFeedback pendingFeedback, in BitQuirky.Behavior.Member.BehaviorLiveMemberValue lastConfirmedValue)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:688-715
Creates one complete live member snapshot.
BehaviorLiveMemberSnapshot(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, uint oneShotGeneration, int evaluationIndex, in BehaviorLiveMemberValue currentValue, in BehaviorLiveMemberValue memberSourceValue, BehaviorLiveMemberSourceOrigin sourceOrigin, BehaviorLiveMemberHealth health, bool editable, BehaviorLiveMemberRefusalReason refusalReason, BehaviorLiveMemberPendingFeedback pendingFeedback, in BehaviorLiveMemberValue lastConfirmedValue, BehaviorMemberValueKind observedValueKind)
Section titled “BehaviorLiveMemberSnapshot(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate, uint oneShotGeneration, int evaluationIndex, in BehaviorLiveMemberValue currentValue, in BehaviorLiveMemberValue memberSourceValue, BehaviorLiveMemberSourceOrigin sourceOrigin, BehaviorLiveMemberHealth health, bool editable, BehaviorLiveMemberRefusalReason refusalReason, BehaviorLiveMemberPendingFeedback pendingFeedback, in BehaviorLiveMemberValue lastConfirmedValue, BehaviorMemberValueKind observedValueKind)”public BehaviorLiveMemberSnapshot(in BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity identity, in BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate coordinate, uint oneShotGeneration, int evaluationIndex, in BitQuirky.Behavior.Member.BehaviorLiveMemberValue currentValue, in BitQuirky.Behavior.Member.BehaviorLiveMemberValue memberSourceValue, BitQuirky.Behavior.Member.BehaviorLiveMemberSourceOrigin sourceOrigin, BitQuirky.Behavior.Member.BehaviorLiveMemberHealth health, bool editable, BitQuirky.Behavior.Member.BehaviorLiveMemberRefusalReason refusalReason, BitQuirky.Behavior.Member.BehaviorLiveMemberPendingFeedback pendingFeedback, in BitQuirky.Behavior.Member.BehaviorLiveMemberValue lastConfirmedValue, BitQuirky.Behavior.Member.BehaviorMemberValueKind observedValueKind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:773-802
Creates one complete live member snapshot together with the observed running-member kind an Incompatible refusal names beside the authored contract. Additive overload: every existing call site keeps constructing through the twelve-parameter constructor unchanged, which leavesObservedValueKindat Unknown(no distinct observation).
Detached(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate)
Section titled “Detached(in BehaviorLiveAgentIdentity identity, in BehaviorLiveMemberCoordinate coordinate)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberSnapshot Detached(in BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity identity, in BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate coordinate)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:808-825
Builds the detached view of one binding: authored target and direction context are retained, and every observed value, health, editability, and pending state is cleared.
BehaviorLiveMemberSourceOrigin
Section titled “BehaviorLiveMemberSourceOrigin”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorLiveMemberSourceOriginSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:50-66
Underlying type: byte
What last moved the graph-facing value of one surfaced binding.
Members
Section titled “Members”GameWrite
Section titled “GameWrite”GameWrite = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:65
A write made by game code through the agent’s central blackboard writer.
MemberNotification
Section titled “MemberNotification”MemberNotification = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:59
An authored member notification callback.
MemberPoll
Section titled “MemberPoll”MemberPoll = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:56
An ordinary member-to-blackboard poll of the bound getter.
RuntimeEdit
Section titled “RuntimeEdit”RuntimeEdit = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:62
One accepted Live member edit transaction.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:53
Nothing has written the slot since the runtime initialized or reset.
BehaviorLiveMemberStorage
Section titled “BehaviorLiveMemberStorage”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorLiveMemberStorageSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:144-160
Underlying type: byte
How one supported member value kind is carried through the Live edit contracts.
Members
Section titled “Members”CompactBits
Section titled “CompactBits”CompactBits = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:150
Up to eight exact little-endian value bytes.
ManagedReference
Section titled “ManagedReference”ManagedReference = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:156
One managed object held in the agent’s managed reference sidecar.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:147
No representation exists, so the kind can be neither displayed nor edited.
UnmanagedBytes
Section titled “UnmanagedBytes”UnmanagedBytes = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:159
An exact unmanaged value stored at its baked native size.
WideBits
Section titled “WideBits”WideBits = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:153
Up to sixteen exact little-endian value bytes across two words.
BehaviorLiveMemberValue
Section titled “BehaviorLiveMemberValue”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberValueSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:449-670
Implements: IEquatable<BehaviorLiveMemberValue>
One exact typed Live member value, in the binding’s own baked representation.
Responsibilities:
- Carry one supported value kind together with the exact bytes, wide bytes, or managed reference that kind stores, and expose the storage class each kind uses.
- Compare two values by exact representation, never by formatted text.
Does NOT:
- Convert, widen, coerce, or format a value, and never substitutes a default for an absent one.
Members
Section titled “Members”public long Bits { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:478
Gets the lower eight exact little-endian value bytes.
ByteCount
Section titled “ByteCount”public int ByteCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:492
Gets the exact byte count of an unmanaged payload.
public System.ReadOnlySpan<byte> Bytes { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:487-489
Gets the exact unmanaged bytes of a value larger than sixteen bytes.
HasValue
Section titled “HasValue”public bool HasValue { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:516
Gets whether this value carries a supported representation.
public BitQuirky.Behavior.Member.BehaviorMemberValueKind Kind { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:475
Gets the exact supported representation of this value.
public static BitQuirky.Behavior.Member.BehaviorLiveMemberValue None { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:471-472
Gets the absent value, which no editor control and no payload may use.
Reference
Section titled “Reference”public object Reference { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:484
Gets the managed object of a reference-kind value.
Storage
Section titled “Storage”public BitQuirky.Behavior.Member.BehaviorLiveMemberStorage Storage { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:519
Gets the storage class this value’s kind uses.
UpperBits
Section titled “UpperBits”public long UpperBits { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:481
Gets bytes eight through fifteen of a wide value.
AsBoolean()
Section titled “AsBoolean()”public bool AsBoolean()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:585-589
Reads this value as the exact bool it carries.
AsInt32()
Section titled “AsInt32()”public int AsInt32()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:578-582
Reads this value as the exact int it carries.
AsSingle()
Section titled “AsSingle()”public float AsSingle()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:571-575
Reads this value as the exact float it carries.
Boolean(bool value)
Section titled “Boolean(bool value)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberValue Boolean(bool value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:565-568
Creates one exact bool payload.
CopyTo(byte[] destination, int destinationOffset)
Section titled “CopyTo(byte[] destination, int destinationOffset)”public void CopyTo(byte[] destination, int destinationOffset)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:498-513
Copies the exact unmanaged payload into caller-owned reusable storage, so a runtime transaction stages it without allocating.
Equals(BehaviorLiveMemberValue other)
Section titled “Equals(BehaviorLiveMemberValue other)”public bool Equals(BitQuirky.Behavior.Member.BehaviorLiveMemberValue other)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:632-647
Equals(object obj)
Section titled “Equals(object obj)”public override bool Equals(object obj)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:650-653
FromBits(BehaviorMemberValueKind kind, long bits, long upperBits)
Section titled “FromBits(BehaviorMemberValueKind kind, long bits, long upperBits)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberValue FromBits(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind, long bits, long upperBits = 0)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:522-526
Creates one compact or wide value from its exact little-endian bytes.
FromBytes(BehaviorMemberValueKind kind, byte[] bytes, int byteCount)
Section titled “FromBytes(BehaviorMemberValueKind kind, byte[] bytes, int byteCount)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberValue FromBytes(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind, byte[] bytes, int byteCount)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:536-548
Creates one unmanaged value from caller-owned exact bytes.
FromReference(BehaviorMemberValueKind kind, object reference)
Section titled “FromReference(BehaviorMemberValueKind kind, object reference)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberValue FromReference(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind, object reference)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:529-533
Creates one managed reference value of an exact reference kind.
GetHashCode()
Section titled “GetHashCode()”public override int GetHashCode()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:656-659
Int32(int value)
Section titled “Int32(int value)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberValue Int32(int value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:559-562
Creates one exact int payload.
Single(float value)
Section titled “Single(float value)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberValue Single(float value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:551-556
Creates one exact float payload.
StorageOf(BehaviorMemberValueKind kind)
Section titled “StorageOf(BehaviorMemberValueKind kind)”public static BitQuirky.Behavior.Member.BehaviorLiveMemberStorage StorageOf(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:596-629
Gets how one supported member value kind is carried. Every kind the append-only
vocabulary defines exceptUnknownhas exactly one storage class, so a newly
appended kind fails closed here until it is given one.
BehaviorManagedOperandProjector
Section titled “BehaviorManagedOperandProjector”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorManagedOperandProjectorSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:3776-3918
Maintains one native match ordinal per projected GameObject-path transition operand, as part of one agent’s pre-tick member synchronization.
Responsibilities:
- Ask this agent’s own generated companion clone which authored candidate each projected slot currently equals, using real ordinal text equality and reference identity, and write that one-based ordinal into the reserved native word the shared evaluation core reads.
- Recompute a projection only when its companion slot version advances, and clear every reserved word whenever the agent reinitializes or is disabled.
Does NOT:
- Read or hold a managed value, convert a value to a number, decide a predicate, or allocate once its candidate table is built.
Members
Section titled “Members”HasProjections
Section titled “HasProjections”public bool HasProjections { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:3845
Gets whether this graph projects any GameObject-path transition operand.
BehaviorManagedOperandProjector(BakedBehaviorArtifact artifact, NativeArray<byte> blackboard, BehaviorManagedBlackboardTemplate companion)
Section titled “BehaviorManagedOperandProjector(BakedBehaviorArtifact artifact, NativeArray<byte> blackboard, BehaviorManagedBlackboardTemplate companion)”public BehaviorManagedOperandProjector(BitQuirky.Behavior.Baked.BakedBehaviorArtifact artifact, Unity.Collections.NativeArray<byte> blackboard, BitQuirky.Behavior.Blackboard.BehaviorManagedBlackboardTemplate companion)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:3801-3842
Flattens the baked candidate table once, so every later projection compares against preallocated storage and the steady-state path allocates nothing.
Reset()
Section titled “Reset()”public void Reset()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:3891-3899
Clears every reserved match word and forgets every observed version, so a reinitialized or disabled agent starts from no match rather than from a previous run’s answer.
SampleBeforeTick()
Section titled “SampleBeforeTick()”public void SampleBeforeTick()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:3852-3878
Refreshes every projection whose companion slot version advanced and every projection not yet computed. Unity object-backed references are also recomputed every pass because destruction changes their managed null equality without invoking a generated setter.
BehaviorMemberArgumentView
Section titled “BehaviorMemberArgumentView”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberArgumentViewSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:216-418
Non-boxing typed view over the argument values one member accessor consumes.
Responsibilities:
- Expose the materialized constant and blackboard argument values of the current invocation as exact typed reads, plus the managed reference arguments.
Does NOT:
- Own storage, convert values, or read the blackboard; the binding runtime materializes the values before the invocation.
Members
Section titled “Members”public int Count { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:258
Gets the number of materialized arguments.
Boolean(int ordinal)
Section titled “Boolean(int ordinal)”public bool Boolean(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:261
Reads the exact bool argument at the ordinal.
Byte(int ordinal)
Section titled “Byte(int ordinal)”public byte Byte(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:267
Reads the exact byte argument at the ordinal.
Char(int ordinal)
Section titled “Char(int ordinal)”public char Char(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:288
Reads the exact char argument at the ordinal.
Double(int ordinal)
Section titled “Double(int ordinal)”public double Double(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:294
Reads the exact double argument at the ordinal.
EntityId(int ordinal)
Section titled “EntityId(int ordinal)”public Unity.Entities.Entity EntityId(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:329-337
Reads the exact Entities Entity argument at the ordinal.
Enum<TEnum>(int ordinal)
Section titled “Enum<TEnum>(int ordinal)”public TEnum Enum<TEnum>(int ordinal) where TEnum : unmanaged, System.EnumSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:343-354
Reads the exact enum argument at the ordinal from its underlying bits.
Float2(int ordinal)
Section titled “Float2(int ordinal)”public Unity.Mathematics.float2 Float2(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:297-303
Reads the exact float2 argument at the ordinal.
Float3(int ordinal)
Section titled “Float3(int ordinal)”public Unity.Mathematics.float3 Float3(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:306-314
Reads the exact float3 argument at the ordinal.
Float4(int ordinal)
Section titled “Float4(int ordinal)”public Unity.Mathematics.float4 Float4(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:317-326
Reads the exact float4 argument at the ordinal.
Int16(int ordinal)
Section titled “Int16(int ordinal)”public short Int16(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:270
Reads the exact short argument at the ordinal.
Int32(int ordinal)
Section titled “Int32(int ordinal)”public int Int32(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:276
Reads the exact int argument at the ordinal.
Int64(int ordinal)
Section titled “Int64(int ordinal)”public long Int64(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:282
Reads the exact long argument at the ordinal.
Reference<TReference>(int ordinal)
Section titled “Reference<TReference>(int ordinal)”public TReference Reference<TReference>(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:357-360
Reads the exact managed Unity-object reference argument at the ordinal.
RequestId(int ordinal)
Section titled “RequestId(int ordinal)”public int RequestId(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:340
Reads the exact request identifier argument at the ordinal.
SByte(int ordinal)
Section titled “SByte(int ordinal)”public sbyte SByte(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:264
Reads the exact sbyte argument at the ordinal.
Single(int ordinal)
Section titled “Single(int ordinal)”public float Single(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:291
Reads the exact float argument at the ordinal.
UInt16(int ordinal)
Section titled “UInt16(int ordinal)”public ushort UInt16(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:273
Reads the exact ushort argument at the ordinal.
UInt32(int ordinal)
Section titled “UInt32(int ordinal)”public uint UInt32(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:279
Reads the exact uint argument at the ordinal.
UInt64(int ordinal)
Section titled “UInt64(int ordinal)”public ulong UInt64(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:285
Reads the exact ulong argument at the ordinal.
Unmanaged<T>(int ordinal)
Section titled “Unmanaged<T>(int ordinal)”public T Unmanaged<T>(int ordinal) where T : unmanagedSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:363-399
Reads an unmanaged developer value from its allocation-free native transport.
BehaviorMemberAttribute
Section titled “BehaviorMemberAttribute”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberAttributeSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:45-50
Inherits: Attribute
Explicitly exposes one non-public member to Behavior Trees and State Machines authoring.
Place it on the exact method, property, field, or event a graph needs. The declaration keeps its C# accessibility: ordinary code gains no wrapper, no widened declaration, and no generated public facade, and only the prepared graph binding can reach it.
Opt-in changes visibility eligibility only. Signature, value type, accessor direction,
target mode, and operation rules stay in force, so an exposed member that breaks one of
them stays visible and ruled out for that ordinary reason. A mutable field allows read
and write; a readonly or literal field allows read only. The attribute is inherited, so
an override of an exposed declaration stays exposed, while anewhiding
declaration and a same-named overload each need their own attribute.
Steady-state cost, so a value-typed field can be predicted before it is exposed. A method, property, or event runs through a strongly typed delegate bound once before evaluation and allocates nothing. A field the generated provider can name in C#, which includes a public field and an internal field its assembly can see, compiles to ordinary field access and allocates nothing. Any other field, such as a private one, resolves one field handle once before evaluation and reuses it: a reference-typed field allocates nothing, and a value-typed field costs exactly one box per access. No path performs a member lookup on an evaluation tick.
Responsibilities:
- Record the developer’s intentional opt-in for one exact declaration.
Does NOT:
- Change CLR accessibility, admit another overload or backing member, or permit reflective member discovery during graph ticks.
BehaviorMemberBindingDiagnostic
Section titled “BehaviorMemberBindingDiagnostic”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:223-511
One structured invalid-member-binding diagnostic.
Responsibilities:
- Carry the graph, node, and binding coordinates; the target mode, slot or path, assembly, and type; the exact member identity and signature; the affected argument, result, access, event, or notification element; the stable reason code; an actionable message; and an optional editor quick-fix id.
Does NOT:
- Log itself; diagnostics are emitted only by explicit authoring, bake, build, or diagnostic requests.
Members
Section titled “Members”AffectedElement
Section titled “AffectedElement”public string AffectedElement { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:290
Gets or sets the affected argument, result, access, event, or notification element,
when one applies (for exampleargument 0).
BindingId
Section titled “BindingId”public string BindingId { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:248
Gets or sets the stable binding id.
public string Code { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:363
Gets the stable diagnostic code string of the reason.
CoordinateNames
Section titled “CoordinateNames”public static System.Collections.Generic.IReadOnlyList<string> CoordinateNames { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:353-360
The diagnostic identity shape, in order. One shape serves both object models: a backend never adds, removes, or renames a coordinate.
DeclaredTypeName
Section titled “DeclaredTypeName”public string DeclaredTypeName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:315
Gets or sets the exact declared type of that variable, including its shape. When the saved variable is gone, carries the exact member type a replacement must satisfy. Empty when no variable is involved.
DeclaringTypeName
Section titled “DeclaringTypeName”public string DeclaringTypeName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:272
Gets or sets the exact full declaring type name of the bound member, empty when the diagnostic names no member.
GenericChoiceAssemblyName
Section titled “GenericChoiceAssemblyName”public string GenericChoiceAssemblyName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:341
Gets or sets the exact saved chosen type assembly, empty when unchosen.
GenericChoiceTypeName
Section titled “GenericChoiceTypeName”public string GenericChoiceTypeName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:344
Gets or sets the exact saved chosen full type name, empty when unchosen.
GenericConstraint
Section titled “GenericConstraint”public string GenericConstraint { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:347
Gets or sets the concise violated CLR constraint declaration.
GenericParameterName
Section titled “GenericParameterName”public string GenericParameterName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:338
Gets or sets the exact affected declared generic parameter name.
GenericParameterOrdinal
Section titled “GenericParameterOrdinal”public int GenericParameterOrdinal { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:335
Gets or sets the affected declared generic parameter ordinal, or -1.
GraphIdentity
Section titled “GraphIdentity”public string GraphIdentity { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:242
Gets or sets the graph asset or source identity.
MemberDeclaration
Section titled “MemberDeclaration”public string MemberDeclaration { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:278
Gets or sets the exact declaration an author reads, for example
Open(float seconds). Empty unless the finding names one declaration.
MemberName
Section titled “MemberName”public string MemberName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:263
Gets or sets the exact member identifier.
MemberRole
Section titled “MemberRole”public BitQuirky.Behavior.Member.BehaviorMemberValueRole MemberRole { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:318
Gets or sets the member value role the variable was asked to serve.
MemberSignature
Section titled “MemberSignature”public string MemberSignature { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:266
Gets or sets the exact member signature text.
Message
Section titled “Message”public string Message { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:296
Gets or sets the actionable human-readable message.
NodeId
Section titled “NodeId”public string NodeId { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:245
Gets or sets the owning node id; empty for blackboard-authored bindings.
ParameterName
Section titled “ParameterName”public string ParameterName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:284
Gets or sets the exact declared parameter identifier the finding names, empty when the failure is not about one parameter.
QuickFixId
Section titled “QuickFixId”public string QuickFixId { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:299
Gets or sets the optional editor quick-fix id; empty when none exists.
Reason
Section titled “Reason”public BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason Reason { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:293
Gets or sets the stable reason code.
RepairIntent
Section titled “RepairIntent”public string RepairIntent { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:324
Gets or sets the exact repair the author performs, empty when the diagnostic offers no single-interaction repair.
SourceLine
Section titled “SourceLine”public int SourceLine { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:302
Gets or sets the one-based source line of the offending record.
TargetAssemblyName
Section titled “TargetAssemblyName”public string TargetAssemblyName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:257
Gets or sets the exact target assembly simple name.
TargetMode
Section titled “TargetMode”public string TargetMode { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:251
Gets or sets the canonical target-mode token.
TargetSlotOrPath
Section titled “TargetSlotOrPath”public string TargetSlotOrPath { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:254
Gets or sets the explicit-reference slot key or agent-relative path.
TargetTypeName
Section titled “TargetTypeName”public string TargetTypeName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:260
Gets or sets the exact full target type name.
VariableName
Section titled “VariableName”public string VariableName { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:308
Gets or sets the exact blackboard variable the failing member role names, empty when the failure is not about a declared or surfaced value.
RebindMemberRepair
Section titled “RebindMemberRepair”public const string RebindMemberRepair = "rebind member"Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:332
The exact repair a fault the member picker resolves offers. One declaration owns it so a finding raised in authoring and the label rendered in Validation cannot drift: a renamed member, a missing member, and a saved output-only parameter the current declaration no longer matches all route to the same control.
CodeFor(BehaviorMemberBindingDiagnosticReason reason)
Section titled “CodeFor(BehaviorMemberBindingDiagnosticReason reason)”public static string CodeFor(BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason reason)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:366-477
Maps a stable reason to its stable diagnostic code string.
IsLiveReading(BehaviorMemberBindingDiagnosticReason reason)
Section titled “IsLiveReading(BehaviorMemberBindingDiagnosticReason reason)”public static bool IsLiveReading(BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason reason)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:485-499
Gets whether the reason is a transient per-evaluation live reading rather than an author-time fault. A live reading reads amber, exists only while attached, and never changes a bake verdict; an author-time fault reads red and blocks the bake. The two tiers are never merged into one count, so this is the single place that separates them.
ToString()
Section titled “ToString()”public override string ToString()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:505-510
Renders the diagnostic as one log line: the stable code, the node and binding it came from, the authored source line, and the message.
BehaviorMemberBindingDiagnosticReason
Section titled “BehaviorMemberBindingDiagnosticReason”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReasonSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:13-208
Underlying type: byte
Stable reason codes for invalid member bindings. Numeric values are append-only and shared by authoring, bake, build, and runtime diagnostics.
Members
Section titled “Members”AmbiguousOverload
Section titled “AmbiguousOverload”AmbiguousOverload = 7Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:37
Several overloads match the authored parameter list, so the call is not exact.
AmbiguousTarget
Section titled “AmbiguousTarget”AmbiguousTarget = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:25
More than one candidate satisfies the authored target, so the choice is not exact.
CoroutineFaulted
Section titled “CoroutineFaulted”CoroutineFaulted = 20Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:76
An owned coroutine threw while the graph advanced it.
DeclaredDefaultUnavailable
Section titled “DeclaredDefaultUnavailable”DeclaredDefaultUnavailable = 49Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:182
A parameter that must run on its own declaration no longer provides a concrete compile-time default. The saved Declared default intent is preserved and the exact method and parameter are named, so the author can supply a constant, bind a blackboard value, or rebind the member.
EntityAccessSetInvalid
Section titled “EntityAccessSetInvalid”EntityAccessSetInvalid = 31Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:113
The declared ECS read and write access set is missing, stale, or too weak.
EntityAccessorMissing
Section titled “EntityAccessorMissing”EntityAccessorMissing = 42Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:154
A generated accessor id has no compiled entry in the supplied binding set, so the operation has nothing to call.
EntityBufferElementUnsupported
Section titled “EntityBufferElementUnsupported”EntityBufferElementUnsupported = 25Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:95
The authored buffer element type has no exact entity representation.
EntityBufferEntrySelectorImplicit
Section titled “EntityBufferEntrySelectorImplicit”EntityBufferEntrySelectorImplicit = 26Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:98
The authored entry selector does not name one exact existing entry.
EntityBufferIdentityCardinality
Section titled “EntityBufferIdentityCardinality”EntityBufferIdentityCardinality = 48Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:174
Live: an identity-addressed buffer selector matched zero or multiple entries.
EntityBufferIndexRange
Section titled “EntityBufferIndexRange”EntityBufferIndexRange = 28Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:104
Live: the addressed fixed buffer index is outside the current buffer.
EntityBufferLengthOperationUnsupported
Section titled “EntityBufferLengthOperationUnsupported”EntityBufferLengthOperationUnsupported = 27Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:101
The binding requests an operation that would change buffer length.
EntityBurstUnavailable
Section titled “EntityBurstUnavailable”EntityBurstUnavailable = 41Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:148
Burst compilation is unavailable, so the entity member path has no compiled accessor to call. Initialization reports this once and stops; falling back to a managed delegate would silently break the no-managed-dispatch guarantee, so no fallback exists.
EntityComponentMissing
Section titled “EntityComponentMissing”EntityComponentMissing = 22Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:86
Live: the entity is alive but its archetype no longer carries the component.
EntityComponentRequired
Section titled “EntityComponentRequired”EntityComponentRequired = 33Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:119
A target mode that names no component names no contract to resolve.
EntityEventOccurrenceStateInvalid
Section titled “EntityEventOccurrenceStateInvalid”EntityEventOccurrenceStateInvalid = 30Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:110
The bake-sized occurrence state cannot hold the authored selector.
EntityEventSourceUnsupported
Section titled “EntityEventSourceUnsupported”EntityEventSourceUnsupported = 29Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:107
The authored occurrence source has no entity observation.
EntityHandleInvalid
Section titled “EntityHandleInvalid”EntityHandleInvalid = 24Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:92
Live: a handle names a null, destroyed, stale, or locally absent entity.
EntityNoCallSite
Section titled “EntityNoCallSite”EntityNoCallSite = 37Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:131
The authored member has no direct call site on the entity path.
EntityNoStorage
Section titled “EntityNoStorage”EntityNoStorage = 36Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:128
The authored type or declared collection holds managed references.
EntityPropertyAccessorComputes
Section titled “EntityPropertyAccessorComputes”EntityPropertyAccessorComputes = 38Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:134
A property accessor computes rather than reading or writing a stored field.
EntityPropertyManagedReturn
Section titled “EntityPropertyManagedReturn”EntityPropertyManagedReturn = 39Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:137
A property accessor returns a managed reference.
EntitySignatureUnsupported
Section titled “EntitySignatureUnsupported”EntitySignatureUnsupported = 40Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:140
The authored signature shape has no direct entity call.
EntitySingletonCardinality
Section titled “EntitySingletonCardinality”EntitySingletonCardinality = 23Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:89
Live: the singleton component’s observed count is not exactly one.
EntitySourceNotAnEntity
Section titled “EntitySourceNotAnEntity”EntitySourceNotAnEntity = 34Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:122
A handle source entry resolves to a type that is not an entity.
EntityTargetModeUnsupported
Section titled “EntityTargetModeUnsupported”EntityTargetModeUnsupported = 21Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:83
An authored target mode the entity backend does not offer.
EntityTypeNotFound
Section titled “EntityTypeNotFound”EntityTypeNotFound = 35Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:125
The exact saved component type is absent from the project.
EntityValueUnsupported
Section titled “EntityValueUnsupported”EntityValueUnsupported = 32Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:116
The authored value has no direct Burst-representable entity storage.
GenericConstraintViolation
Section titled “GenericConstraintViolation”GenericConstraintViolation = 46Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:168
One chosen generic type violates a declared CLR constraint.
GenericDefinitionUnavailable
Section titled “GenericDefinitionUnavailable”GenericDefinitionUnavailable = 47Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:171
The exact stored open generic method definition is unavailable or stale.
InaccessibleMember
Section titled “InaccessibleMember”InaccessibleMember = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:34
The bound member exists but is not public enough for the graph to reach.
IndexArgumentRequired
Section titled “IndexArgumentRequired”IndexArgumentRequired = 51Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:199
An indexed property’s index argument has no authored Constant or Blackboard value yet. Distinct fromUnsupportedConversion(an authored value that does not exactly match) andMissingBlackboardField(a named source that no longer exists), so Required, Missing, and Incompatible read three independent findings instead of one generic mismatch (, C3).
InvalidAccess
Section titled “InvalidAccess”InvalidAccess = 9Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:43
The operation requires access the member does not offer, such as a write to a get-only property.
InvalidComparison
Section titled “InvalidComparison”InvalidComparison = 13Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:55
The authored comparison cannot be applied to the operand types it names.
MemberThrew
Section titled “MemberThrew”MemberThrew = 18Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:70
A bound member threw while the graph invoked it.
MissingBlackboardField
Section titled “MissingBlackboardField”MissingBlackboardField = 12Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:52
The binding names a blackboard field the graph does not declare.
MissingComponent
Section titled “MissingComponent”MissingComponent = 43Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:159
Live: a valid same-GameObject carrier does not currently have the required component.
MissingEventAccess
Section titled “MissingEventAccess”MissingEventAccess = 14Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:58
An event binding cannot subscribe or unsubscribe because the event lacks the needed accessor.
MissingExplicitReference
Section titled “MissingExplicitReference”MissingExplicitReference = 15Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:61
The binding’s explicit-reference slot is empty or names no known slot.
MissingGenericArgument
Section titled “MissingGenericArgument”MissingGenericArgument = 44Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:162
One declared generic method parameter has no concrete choice.
MissingGenericType
Section titled “MissingGenericType”MissingGenericType = 45Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:165
One exact saved generic type identity no longer resolves.
MissingMember
Section titled “MissingMember”MissingMember = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:28
The declaring type no longer declares a member with the authored name.
MissingTarget
Section titled “MissingTarget”MissingTarget = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:19
The binding’s authored target could not be resolved to any instance.
ParameterIdentityChanged
Section titled “ParameterIdentityChanged”ParameterIdentityChanged = 50Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:190
The member still exists with the saved arity and return type, but one parameter no longer carries the saved name, type, or modifier. The authored values are preserved, no parameter is matched by position, and the exact method and parameter are named so the author can rebind the member.
ParamsValueRequired
Section titled “ParamsValueRequired”ParamsValueRequired = 52Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:207
An active expanded params individual value sourced from a Constant literal has never been authored: the row exists (Add value appended it, or it was saved that way) but carries no value yet. Distinct fromUnsupportedConversion, which names an authored literal the declared element type cannot reach.
ProviderBindingSetMismatch
Section titled “ProviderBindingSetMismatch”ProviderBindingSetMismatch = 17Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:67
The generated provider’s binding set does not match the graph’s, so its target indices cannot be trusted.
RenamedMember
Section titled “RenamedMember”RenamedMember = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:31
The bound member was renamed; the binding still names its former identity.
StaleGeneratedProvider
Section titled “StaleGeneratedProvider”StaleGeneratedProvider = 16Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:64
The generated provider predates the current bindings and must be regenerated.
TargetLost
Section titled “TargetLost”TargetLost = 19Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:73
A resolved target was destroyed or became unavailable while the graph ran.
TargetTypeMismatch
Section titled “TargetTypeMismatch”TargetTypeMismatch = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:22
The resolved target is not of the declaring type the binding names.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:16
No reason was recorded; the diagnostic carries only its message.
UnsupportedConversion
Section titled “UnsupportedConversion”UnsupportedConversion = 11Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:49
No conversion exists between the member’s value type and the bound blackboard entry’s type.
UnsupportedSignature
Section titled “UnsupportedSignature”UnsupportedSignature = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:40
The bound member’s signature is a shape the member pipeline does not support.
UnsupportedValueType
Section titled “UnsupportedValueType”UnsupportedValueType = 10Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:46
The member’s value type has no blackboard representation.
BehaviorMemberBindingRuntime
Section titled “BehaviorMemberBindingRuntime”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberBindingRuntimeSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:53-3759
Implements: IBehaviorMemberCommandSink, IBehaviorLiveMemberCapability, IDisposable
The per-agent member binding runtime that drives one consumer-owned member provider around the shared behavior core.
Responsibilities:
- Resolve every explicit and agent-relative target exactly once, never substituting a same-type object, and initialize the injected provider with an explicit context carrying this agent’s own managed companion clone and exact typed declared-value access.
- Validate every declared Out/Ref parameter’s resolved output destination exactly once at construction, checking slot bounds, exact value-kind agreement, and, when the provider supplies it, unmanaged size against the generated provider’s compiled output type size so a stale or mismatched baked artifact fails closed before the provider is initialized rather than dropping or corrupting a write mid-tick.
- Sample member-to-blackboard notifications and polls before a selected tick, service the shared core’s immediate member requests through a bounded microstep, start and complete deferred coroutine and event operations through the pending-external path, and push changed blackboard fields to writable members after the tick.
- Own coroutine handles and event subscriptions with generation-tagged lifecycle, releasing them exactly once on completion, interruption, reset, target loss, and disposal, and rejecting stale-generation callbacks.
- Serve the optional Live member capability: one immutable snapshot per surfaced property or field binding, and one exact typed edit transaction per user commit that preflights completely, invokes the generated setter exactly once, and commits package-owned state only after that call returns.
Does NOT:
- Discover a member by name at runtime, perform reflective invocation during a tick, allocate on the steady-state path, schedule tree control flow, or reference a game assembly or Bit Quirky Core.
- Decide an editor control, retry a refused or failed Live transaction, or reverse a side effect customer code performed inside a throwing setter.
Members
Section titled “Members”ActiveDeferredCount
Section titled “ActiveDeferredCount”public int ActiveDeferredCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:672-686
Gets the number of deferred coroutine or event operations currently in flight.
BlackboardWriter
Section titled “BlackboardWriter”public BitQuirky.Behavior.Blackboard.BehaviorBlackboardChangeWriter BlackboardWriter { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:281
Gets the central writer for Unity-thread blackboard changes.
DeclaredValues
Section titled “DeclaredValues”public BitQuirky.Behavior.Member.BehaviorMemberDeclaredValues DeclaredValues { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:290
Gets exact typed access to the graph’s declared variables, or null when it declares none.
EvaluationIndex
Section titled “EvaluationIndex”public int EvaluationIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:392
Gets the index of the last selected evaluation this graph-facing state represents, or -1 before the first one.
FaultCount
Section titled “FaultCount”public int FaultCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:304
Gets the number of recorded runtime member failures held for reading.
FaultOverflowCount
Section titled “FaultOverflowCount”public int FaultOverflowCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:310
Gets the number of runtime member failures dropped after the preallocated record ring filled. A non-zero count means failures kept arriving faster than they were read.
FaultTrace
Section titled “FaultTrace”public BitQuirky.Behavior.Diagnostics.BehaviorMemberFaultTrace FaultTrace { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:315
Gets the managed structured-fault companion to the agent’s Burst-safe behavior trace.
HasTargetFailure
Section titled “HasTargetFailure”public bool HasTargetFailure { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:301
Gets whether an exact resolved target was destroyed after initialization.
LiveAgentIdentity
Section titled “LiveAgentIdentity”public BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity LiveAgentIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:395-403
Gets the complete identity of the attached running instance.
LiveMemberBindingCount
Section titled “LiveMemberBindingCount”public int LiveMemberBindingCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:406
Gets the number of baked member binding rows. Rows that are not surfaced property or field projections report no snapshot, so this is an addressing range rather than a count of Live editable rows.
LiveRuntimeGeneration
Section titled “LiveRuntimeGeneration”public uint LiveRuntimeGeneration { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:386
Gets the monotonic generation of this initialized member runtime. It advances on every Reset, so a Live request pinned to an earlier generation is refused instead of applied to a reinitialized runtime.
ManagedBlackboard
Section titled “ManagedBlackboard”public BitQuirky.Behavior.Blackboard.BehaviorManagedBlackboardTemplate ManagedBlackboard { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:287
Gets this agent’s independently mutable managed companion clone, or null when the graph declares no GameObject-path value.
NotificationBindingCount
Section titled “NotificationBindingCount”public int NotificationBindingCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:278
Gets the number of authored notification subscriptions held.
PollBindingCount
Section titled “PollBindingCount”public int PollBindingCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:272
Gets the number of member blackboard bindings polled each selected tick.
PushBindingCount
Section titled “PushBindingCount”public int PushBindingCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:275
Gets the number of member blackboard bindings pushed to their members.
RefEvaluationReadingCount
Section titled “RefEvaluationReadingCount”public int RefEvaluationReadingCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:352
Gets the number of preallocated live ref-parameter evaluation readings.
TargetReadingCount
Section titled “TargetReadingCount”public int TargetReadingCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:340
Gets the number of preallocated live target readings.
UnresolvedTargetCount
Section titled “UnresolvedTargetCount”public int UnresolvedTargetCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:337
Gets how many blackboard-variable targets did not resolve on their last evaluation. This is the live reading, never the bake verdict, and it clears as soon as every variable holds a usable object again.
BehaviorMemberBindingRuntime(BakedBehaviorArtifact artifact, NativeArray<byte> blackboard, IBehaviorMemberProvider provider, IReadOnlyList<BehaviorMemberReference> references, GameObject agentGameObject, ExternalServiceCompletionRing completionRing, EntityId entityId, string ownerName, Func<IEnumerator, Coroutine> startCoroutine, Action<Coroutine> stopCoroutine, string graphIdentity, BehaviorManagedBlackboardTemplate managedBlackboard)
Section titled “BehaviorMemberBindingRuntime(BakedBehaviorArtifact artifact, NativeArray<byte> blackboard, IBehaviorMemberProvider provider, IReadOnlyList<BehaviorMemberReference> references, GameObject agentGameObject, ExternalServiceCompletionRing completionRing, EntityId entityId, string ownerName, Func<IEnumerator, Coroutine> startCoroutine, Action<Coroutine> stopCoroutine, string graphIdentity, BehaviorManagedBlackboardTemplate managedBlackboard)”public BehaviorMemberBindingRuntime(BitQuirky.Behavior.Baked.BakedBehaviorArtifact artifact, Unity.Collections.NativeArray<byte> blackboard, BitQuirky.Behavior.Member.IBehaviorMemberProvider provider, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberReference> references, UnityEngine.GameObject agentGameObject, BitQuirky.Behavior.ExternalService.ExternalServiceCompletionRing completionRing, UnityEngine.EntityId entityId, string ownerName, System.Func<System.Collections.IEnumerator, UnityEngine.Coroutine> startCoroutine, System.Action<UnityEngine.Coroutine> stopCoroutine, string graphIdentity = null, BitQuirky.Behavior.Blackboard.BehaviorManagedBlackboardTemplate managedBlackboard = null)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:144-269
Resolves targets, initializes the provider, and subscribes authored notifications for one GameObject agent. Fails closed on any missing, ambiguous, or wrong-type target and on a provider binding-set fingerprint mismatch.
CancelAllDeferred()
Section titled “CancelAllDeferred()”public void CancelAllDeferred()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:840-849
Cancels every in-flight deferred operation for a runtime reset or hard cancel.
ClearFaults()
Section titled “ClearFaults()”public void ClearFaults()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:327-330
Clears the recorded runtime member failures after a diagnostic consumer has read them. A steady-state tick never calls this and never records.
Dispose()
Section titled “Dispose()”public void Dispose()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:870-881
Unsubscribes notifications, cancels deferred work, and disposes the provider.
FaultAt(int index)
Section titled “FaultAt(int index)”public BitQuirky.Behavior.Member.BehaviorMemberFault FaultAt(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:318-321
Reads one recorded runtime member failure by index.
HandleMemberCommand(in ExternalServiceCommand command, int frameNumber)
Section titled “HandleMemberCommand(in ExternalServiceCommand command, int frameNumber)”public void HandleMemberCommand(in BitQuirky.Behavior.ExternalService.ExternalServiceCommand command, int frameNumber)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:790-808
Handles one deferred member service command routed from the binding map.
ManagedSlotVersion(int companionSlotIndex)
Section titled “ManagedSlotVersion(int companionSlotIndex)”public int ManagedSlotVersion(int companionSlotIndex)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:293-298
Reads the preallocated monotonic version of one dense managed slot.
Pause(ref BehaviorRuntimeInstance instance)
Section titled “Pause(ref BehaviorRuntimeInstance instance)”public void Pause(ref BitQuirky.Behavior.Execution.BehaviorRuntimeInstance instance)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:814-828
Releases active member work and subscriptions while preserving deterministic graph state for a fresh activation after the agent is enabled again.
PushAfterTick(ref BehaviorRuntimeInstance instance, int frameNumber)
Section titled “PushAfterTick(ref BehaviorRuntimeInstance instance, int frameNumber)”public bool PushAfterTick(ref BitQuirky.Behavior.Execution.BehaviorRuntimeInstance instance, int frameNumber)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:773-787
Pushes changed blackboard fields to their writable members after the core tick.
ReadRefEvaluation(int index)
Section titled “ReadRefEvaluation(int index)”public BitQuirky.Behavior.Member.BehaviorMemberRefEvaluationReading ReadRefEvaluation(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:360-375
Reads one live ref-parameter evaluation reading for explicit tooling inspection: the pre-call read, post-call write, and completion outcome the last invocation of that ref-bearing operation observed. Formatting happens only here, never on the evaluation path.
ReadTargetReading(int index)
Section titled “ReadTargetReading(int index)”public BitQuirky.Behavior.Member.BehaviorMemberTargetReading ReadTargetReading(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:346-349
Reads one live blackboard-variable target reading for explicit tooling inspection. Formatting happens only here, never on the evaluation path.
RecordExternalMemberWrite(string surfaceName, BehaviorLiveMemberValue confirmedValue)
Section titled “RecordExternalMemberWrite(string surfaceName, BehaviorLiveMemberValue confirmedValue)”public void RecordExternalMemberWrite(string surfaceName, BitQuirky.Behavior.Member.BehaviorLiveMemberValue confirmedValue)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:620-634
Records one member-originated write for the surfaced binding named
surfaceNameas a confirmed governed game write: the same sticky
bookkeeping this method’s neighbor keeps for an accepted edit, and
RecordGameWriteConfirmationkeeps for a central-writer game write, so the
binding’s own next ordinary poll or notification is attributed as a game write once
it delivers this exact value, rather than relabeling to an ordinary member sample.
Writes no blackboard bytes and advances no evaluation: game code that changes a
two-way bound member directly, through its own customer/game path, calls this
immediately after the write, and the authored binding’s own getter/notification
synchronization alone still carries the value into the graph-facing slot, only at
its own next evaluation.
Reset()
Section titled “Reset()”public void Reset()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:852-867
Restores the synchronization bookkeeping and cancels deferred work on reset.
Resume()
Section titled “Resume()”public void Resume()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:831-837
Restores authored notification subscriptions after an agent is enabled.
SampleBeforeTick(ref BehaviorRuntimeInstance instance, NativeArray<BehaviorActionRuntimeState> actionStates, int frameNumber, float deltaTime)
Section titled “SampleBeforeTick(ref BehaviorRuntimeInstance instance, NativeArray<BehaviorActionRuntimeState> actionStates, int frameNumber, float deltaTime)”public bool SampleBeforeTick(ref BitQuirky.Behavior.Execution.BehaviorRuntimeInstance instance, Unity.Collections.NativeArray<BitQuirky.Behavior.Execution.BehaviorActionRuntimeState> actionStates, int frameNumber, float deltaTime)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:693-718
Runs the pre-tick member synchronization steps: reconcile cancelled deferred operations, drain fired events into completions, drain member notifications, and poll member-to-blackboard getters. Runs before the shared core tick.
ServiceImmediateRequest(ref BehaviorRuntimeInstance instance, int frameNumber)
Section titled “ServiceImmediateRequest(ref BehaviorRuntimeInstance instance, int frameNumber)”public void ServiceImmediateRequest(ref BitQuirky.Behavior.Execution.BehaviorRuntimeInstance instance, int frameNumber)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:724-745
Services one pending immediate member request from the shared core, writing the exact completion code onto the runtime instance member request channel.
SubmitLiveMemberEdit(in BehaviorLiveMemberEditRequest request)
Section titled “SubmitLiveMemberEdit(in BehaviorLiveMemberEditRequest request)”public BitQuirky.Behavior.Member.BehaviorLiveMemberEditResult SubmitLiveMemberEdit(in BitQuirky.Behavior.Member.BehaviorLiveMemberEditRequest request)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:460-605
Performs one exact typed edit transaction for one user commit, returning the accepted confirmation or the structured refusal.
TryReadLiveMemberSnapshot(int bindingIndex, out BehaviorLiveMemberSnapshot snapshot)
Section titled “TryReadLiveMemberSnapshot(int bindingIndex, out BehaviorLiveMemberSnapshot snapshot)”public bool TryReadLiveMemberSnapshot(int bindingIndex, out BitQuirky.Behavior.Member.BehaviorLiveMemberSnapshot snapshot)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:409-457
Reads one immutable snapshot of the baked binding row. Returns false when the row is out of range or is not a surfaced property or field projection.
WriteManagedReference(int blackboardSlotIndex, object value)
Section titled “WriteManagedReference(int blackboardSlotIndex, object value)”public void WriteManagedReference(int blackboardSlotIndex, object value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:644-658
Writes one managed reference through the central member-bound blackboard path and immediately pushes an external Unity-thread change to writable members.
WriteManagedReference(int blackboardSlotIndex, Object value)
Section titled “WriteManagedReference(int blackboardSlotIndex, Object value)”public void WriteManagedReference(int blackboardSlotIndex, UnityEngine.Object value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:664-669
Preserves the original Unity-object-specific public overload while routing it through the generalized managed-reference path.
BehaviorMemberContractHash
Section titled “BehaviorMemberContractHash”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberContractHashSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2966-3030
Deterministic 64-bit member contract hashing with explicit collision detection.
Responsibilities:
- Hash a canonical exact member identity into the stable 64-bit contract hash.
- Find any collision between distinct canonical identities so baking can reject it.
Does NOT:
- Build canonical identities or decide bake success.
Members
Section titled “Members”Compute(string canonicalIdentity)
Section titled “Compute(string canonicalIdentity)”public static ulong Compute(string canonicalIdentity)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2978-2988
Computes the stable FNV-1a 64-bit hash of a canonical identity string.
TryFindCollision(IReadOnlyList<ulong> hashes, IReadOnlyList<string> canonicalIdentities, out int firstIndex, out int secondIndex)
Section titled “TryFindCollision(IReadOnlyList<ulong> hashes, IReadOnlyList<string> canonicalIdentities, out int firstIndex, out int secondIndex)”public static bool TryFindCollision(System.Collections.Generic.IReadOnlyList<ulong> hashes, System.Collections.Generic.IReadOnlyList<string> canonicalIdentities, out int firstIndex, out int secondIndex)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2994-3027
Finds the first pair whose hashes are equal while their canonical identities differ. Returns false when every equal hash also has an identical canonical identity.
BehaviorMemberConversion
Section titled “BehaviorMemberConversion”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberConversionSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:104-130
Underlying type: byte
Bounded conversion vocabulary applied between a member value and its bound slot.
Responsibilities:
- Name every allowed conversion family with a stable append-only code.
Does NOT:
- Permit narrowing, user-defined operators,
Convertcoercion, or unlisted pairs.
Members
Section titled “Members”CollectionToArray
Section titled “CollectionToArray”CollectionToArray = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:129
A readable List read into the params parameter’s own declared array type at the invocation boundary, offered only when the requirement explicitly admits a matching collection.
EnumToUnderlying
Section titled “EnumToUnderlying”EnumToUnderlying = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:116
Enum to its exact underlying integral type.
Identity
Section titled “Identity”Identity = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:110
Exact supported type on both sides.
NumericWidening
Section titled “NumericWidening”NumericWidening = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:113
Supported numeric primitive with a C# implicit widening conversion.
ReferenceAssignable
Section titled “ReferenceAssignable”ReferenceAssignable = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:122
Reference type to an assignable base class or implemented interface.
UnderlyingToEnum
Section titled “UnderlyingToEnum”UnderlyingToEnum = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:119
Exact underlying integral type to enum.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:107
No allowed conversion exists for the pair.
BehaviorMemberCoroutineOutcome
Section titled “BehaviorMemberCoroutineOutcome”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberCoroutineOutcomeSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:174-199
Optional terminal marker yielded by a bound coroutine.
Responsibilities:
- Carry one exact terminal member outcome through Unity’s coroutine protocol.
Does NOT:
- Schedule, stop, or own the coroutine.
Members
Section titled “Members”Failed
Section titled “Failed”public static BitQuirky.Behavior.Member.BehaviorMemberCoroutineOutcome Failed { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:197-198
Shared marker a bound coroutine yields to finish as a failure. Immutable, so yielding it allocates nothing.
Status
Section titled “Status”public BitQuirky.Behavior.Member.BehaviorMemberInvocationStatus Status { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:184
Gets the exact terminal status.
Succeeded
Section titled “Succeeded”public static BitQuirky.Behavior.Member.BehaviorMemberCoroutineOutcome Succeeded { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:190-191
Shared marker a bound coroutine yields to finish as a success. Immutable, so yielding it allocates nothing.
BehaviorMemberCoroutineOutcome(BehaviorMemberInvocationStatus status)
Section titled “BehaviorMemberCoroutineOutcome(BehaviorMemberInvocationStatus status)”public BehaviorMemberCoroutineOutcome(BitQuirky.Behavior.Member.BehaviorMemberInvocationStatus status)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:178-181
Creates an exact terminal marker.
BehaviorMemberDeclaredDefault
Section titled “BehaviorMemberDeclaredDefault”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3124-3173
One derived description of a parameter’s current concrete compile-time default.
Responsibilities:
- Carry the exact parameter type, the bounded value classification, the reflected value, the canonical authored display spelling, the canonical generated C# payload, the culture-independent declaration digest, and the reachable override sources.
Does NOT:
- Enter authored source. It is derived from the live declaration on every use, so a changed declaration produces a new descriptor without touching the graph’s text.
Members
Section titled “Members”DeclarationHash
Section titled “DeclarationHash”public ulong DeclarationHash { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3166
Gets the culture-independent digest of the exact type and tagged value.
DisplayLiteral
Section titled “DisplayLiteral”public string DisplayLiteral { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3158
Gets the canonical authored spelling the editor controls show.
GeneratedLiteral
Section titled “GeneratedLiteral”public string GeneratedLiteral { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3163
Gets the canonical C# payload provider generation wraps in the exact parameter type.
IsConcrete
Section titled “IsConcrete”public bool IsConcrete { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3172
Gets whether this descriptor describes a concrete declared value.
OverrideCapability
Section titled “OverrideCapability”public BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultOverride OverrideCapability { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3169
Gets the override sources the existing authoring vocabulary can reach.
ParameterType
Section titled “ParameterType”public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity ParameterType { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3149
Gets the exact parameter type identity the value belongs to.
public object Value { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3155
Gets the reflected declared value; null for a null reference default.
ValueKind
Section titled “ValueKind”public BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultKind ValueKind { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3152
Gets the bounded classification of the declared value.
BehaviorMemberDeclaredDefault(BehaviorSourceTypeIdentity parameterType, BehaviorMemberDeclaredDefaultKind valueKind, object value, string displayLiteral, string generatedLiteral, ulong declarationHash, BehaviorMemberDeclaredDefaultOverride overrideCapability)
Section titled “BehaviorMemberDeclaredDefault(BehaviorSourceTypeIdentity parameterType, BehaviorMemberDeclaredDefaultKind valueKind, object value, string displayLiteral, string generatedLiteral, ulong declarationHash, BehaviorMemberDeclaredDefaultOverride overrideCapability)”public BehaviorMemberDeclaredDefault(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity parameterType, BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultKind valueKind, object value, string displayLiteral, string generatedLiteral, ulong declarationHash, BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultOverride overrideCapability)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3130-3146
Creates one declared-default descriptor.
BehaviorMemberDeclaredDefaultContract
Section titled “BehaviorMemberDeclaredDefaultContract”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultContractSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3189-3696
The one shared classifier of concrete compile-time parameter defaults.
Responsibilities:
- Decide whether one exact parameter carries a concrete declared value, and derive its canonical display spelling, generated C# payload, declaration digest, and reachable override sources from the live declaration alone.
Does NOT:
- Substitute
default(T)for an absent or unsupported value, read authored source, resolve an overload, or cache a declaration across a domain reload.
Members
Section titled “Members”HasConcreteDefault(ParameterInfo parameter)
Section titled “HasConcreteDefault(ParameterInfo parameter)”public static bool HasConcreteDefault(System.Reflection.ParameterInfo parameter)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3269-3270
Returns whether one exact parameter carries a concrete compile-time default.
TryDescribe(ParameterInfo parameter, out BehaviorMemberDeclaredDefault descriptor)
Section titled “TryDescribe(ParameterInfo parameter, out BehaviorMemberDeclaredDefault descriptor)”public static bool TryDescribe(System.Reflection.ParameterInfo parameter, out BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefault descriptor)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3223-3264
Describes the concrete compile-time default of one exact parameter. Returns false for a required parameter, a parameter array, any by-reference shape, optional metadata with no value, and a value with no deterministic exact representation.
TryDescribe(Type parameterType, object value, out BehaviorMemberDeclaredDefault descriptor)
Section titled “TryDescribe(Type parameterType, object value, out BehaviorMemberDeclaredDefault descriptor)”public static bool TryDescribe(System.Type parameterType, object value, out BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefault descriptor)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3276-3314
Describes one exact parameter type and reflected declaration value. Absence markers and values with no deterministic exact representation are refused.
BehaviorMemberDeclaredDefaultKind
Section titled “BehaviorMemberDeclaredDefaultKind”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultKindSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3038-3093
Underlying type: byte
The bounded classification of one concrete compile-time parameter default. Append-only: existing numeric values never move.
Members
Section titled “Members”Bool = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3047
A Boolean value.
Byte = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3053
An 8-bit unsigned integer value.
Char = 11Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3074
A UTF-16 character value.
DateTime
Section titled “DateTime”DateTime = 15Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3086
A date and time value.
Decimal
Section titled “Decimal”Decimal = 14Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3083
A decimal value.
Double
Section titled “Double”Double = 13Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3080
A double-precision floating-point value.
Enum = 16Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3089
An enum value carrying both its exact type and its underlying value.
Int16 = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3056
A 16-bit signed integer value.
Int32 = 7Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3062
A 32-bit signed integer value.
Int64 = 9Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3068
A 64-bit signed integer value.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3041
No concrete declared default exists.
Null = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3044
An absent reference, which is a concrete value.
SByte = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3050
An 8-bit signed integer value.
Single
Section titled “Single”Single = 12Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3077
A single-precision floating-point value.
Text = 17Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3092
A text value.
UInt16
Section titled “UInt16”UInt16 = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3059
A 16-bit unsigned integer value.
UInt32
Section titled “UInt32”UInt32 = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3065
A 32-bit unsigned integer value.
UInt64
Section titled “UInt64”UInt64 = 10Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3071
A 64-bit unsigned integer value.
BehaviorMemberDeclaredDefaultOverride
Section titled “BehaviorMemberDeclaredDefaultOverride”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultOverrideSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3099-3110
Underlying type: byte
The override sources a Declared default parameter can be changed to without inventing a new editor. Append-only.
Members
Section titled “Members”Blackboard
Section titled “Blackboard”Blackboard = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3109
The existing compatible-variable picker can supply the parameter.
Constant
Section titled “Constant”Constant = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3106
The existing typed constant editor can hold the exact declared value.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3103
Default only: no existing authored source can carry this value.
BehaviorMemberDeclaredValues
Section titled “BehaviorMemberDeclaredValues”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberDeclaredValuesSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:717-1005
Exact typed access to one agent’s declared blackboard variables.
Responsibilities:
- Resolve a declared variable to its baked row once, during initialization, so a generated accessor never looks a name up while the graph is running.
- Read and write every carried category in its own unmanaged type, including a project-defined struct whose fields are all unmanaged, and the elements and live length of a carried collection, through the central change writer.
Does NOT:
- Hold a managed value, box a carried value, or substitute a value for a variable whose storage does not match the requested access.
Members
Section titled “Members”public int Count { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:754
Gets the number of declared variables the graph authored, in author order.
BlackboardSlotIndex(int index)
Section titled “BlackboardSlotIndex(int index)”public int BlackboardSlotIndex(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:770
Gets the native blackboard slot of one variable, or -1 when it is managed.
DeclaredType(int index)
Section titled “DeclaredType(int index)”public string DeclaredType(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:760-761
Gets the complete canonical declared type identity of one variable.
ElementCapacity(int index)
Section titled “ElementCapacity(int index)”public int ElementCapacity(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:845
Gets the authored capacity of one carried collection.
ElementCount(int index)
Section titled “ElementCount(int index)”public int ElementCount(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:835
Gets the live element count of one carried collection.
ManagedSlotIndex(int index)
Section titled “ManagedSlotIndex(int index)”public int ManagedSlotIndex(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:767
Gets the dense companion ordinal of one variable, or -1 when it is carried.
Name(int index)
Section titled “Name(int index)”public string Name(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:757
Gets the exact declared name of one variable.
Read<T>(int index)
Section titled “Read<T>(int index)”public T Read<T>(int index) where T : unmanagedSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:808-814
Reads one carried variable in its exact unmanaged type. Reading a variable through a type the graph did not declare is refused rather than reinterpreted.
ReadElement<T>(int index, int elementIndex)
Section titled “ReadElement<T>(int index, int elementIndex)”public T ReadElement<T>(int index, int elementIndex) where T : unmanagedSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:848-852
Reads one element of a carried collection in its exact unmanaged type.
Require(string name)
Section titled “Require(string name)”public int Require(string name)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:794-802
Resolves one declared variable by its exact name, or fails closed. A generated provider calls this while it initializes, never while the graph is running.
SetElementCount(int index, int elementCount)
Section titled “SetElementCount(int index, int elementCount)”public void SetElementCount(int index, int elementCount)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:838-842
Sets the live element count of one carried collection.
SourceLine(int index)
Section titled “SourceLine(int index)”public int SourceLine(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:773
Gets the one-based source line the variable was declared on.
Storage(int index)
Section titled “Storage(int index)”public BitQuirky.Behavior.Baked.BakedDeclaredValueStorage Storage(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:764
Gets the derived storage of one variable.
TryFind(string name, out int index)
Section titled “TryFind(string name, out int index)”public bool TryFind(string name, out int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:776-788
Finds one declared variable by its exact name.
Write<T>(int index, T value)
Section titled “Write<T>(int index, T value)”public void Write<T>(int index, T value) where T : unmanagedSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:820-832
Writes one carried variable in its exact unmanaged type. Writing a variable through a type the graph did not declare is refused rather than reinterpreted.
WriteElement<T>(int index, int elementIndex, T value)
Section titled “WriteElement<T>(int index, int elementIndex, T value)”public void WriteElement<T>(int index, int elementIndex, T value) where T : unmanagedSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:855-863
Writes one element of a carried collection in its exact unmanaged type.
BehaviorMemberEventConditionSink
Section titled “BehaviorMemberEventConditionSink”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberEventConditionSinkSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:667-681
Handle a generated event condition subscribe accessor connects one event source to.
Responsibilities:
- Record that the event of one active event condition activation fired so the binding runtime completes the owning node with the authored outcome before the next tick.
Does NOT:
- Read the event arguments, allocate, or run the graph. A firing that arrives after the activation is cancelled or reset is ignored by activation generation.
Members
Section titled “Members”Fire()
Section titled “Fire()”public void Fire()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:680
Records that the event fired for this activation.
BehaviorMemberFault
Section titled “BehaviorMemberFault”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberFaultSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:22-112
Implements: IEquatable<BehaviorMemberFault>
One runtime member failure: an exception out of a bound member, a lost target, or a faulted coroutine. Recorded exactly once per occurrence so a failing binding is attributable instead of silently reporting its authored fault result.
Responsibilities:
- Name the graph owner, node, and member the failure belongs to.
- Carry the stable reason code, the exception type and message, and the frame observed.
Does NOT:
- Log itself, allocate on a steady-state tick, or change the result the node reports; the authored fault result decides that.
Members
Section titled “Members”public string Code { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:65
Gets the stable diagnostic code string of the reason.
ExceptionMessage
Section titled “ExceptionMessage”public string ExceptionMessage { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:59
Gets the exception message; empty when no exception was involved.
ExceptionType
Section titled “ExceptionType”public string ExceptionType { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:56
Gets the exception type name; empty when no exception was involved.
FrameNumber
Section titled “FrameNumber”public int FrameNumber { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:62
Gets the frame number the failure was observed on.
MemberName
Section titled “MemberName”public string MemberName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:53
Gets the exact member identifier that failed.
NodeId
Section titled “NodeId”public string NodeId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:50
Gets the owning node id; empty for a blackboard-authored binding.
OwnerName
Section titled “OwnerName”public string OwnerName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:47
Gets the graph owner identity that observed the failure.
Reason
Section titled “Reason”public BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason Reason { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:44
Gets the stable reason code of this failure.
BehaviorMemberFault(BehaviorMemberBindingDiagnosticReason reason, string ownerName, string nodeId, string memberName, string exceptionType, string exceptionMessage, int frameNumber)
Section titled “BehaviorMemberFault(BehaviorMemberBindingDiagnosticReason reason, string ownerName, string nodeId, string memberName, string exceptionType, string exceptionMessage, int frameNumber)”public BehaviorMemberFault(BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason reason, string ownerName, string nodeId, string memberName, string exceptionType, string exceptionMessage, int frameNumber)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:25-41
Creates one runtime member failure record.
Equals(BehaviorMemberFault other)
Section titled “Equals(BehaviorMemberFault other)”public bool Equals(BitQuirky.Behavior.Member.BehaviorMemberFault other)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:79-88
Compares every field of this failure record for value equality.
Equals(object obj)
Section titled “Equals(object obj)”public override bool Equals(object obj)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:91-92
Compares this failure record with another object for value equality.
GetHashCode()
Section titled “GetHashCode()”public override int GetHashCode()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:95-105
Hashes every field of this failure record.
ToString()
Section titled “ToString()”public override string ToString()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:68-76
Formats the failure as one actionable line naming graph, node, and member.
op_Equality(BehaviorMemberFault a, BehaviorMemberFault b)
Section titled “op_Equality(BehaviorMemberFault a, BehaviorMemberFault b)”public static bool operator ==(BitQuirky.Behavior.Member.BehaviorMemberFault a, BitQuirky.Behavior.Member.BehaviorMemberFault b)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:108
Returns whether two failure records carry identical fields.
op_Inequality(BehaviorMemberFault a, BehaviorMemberFault b)
Section titled “op_Inequality(BehaviorMemberFault a, BehaviorMemberFault b)”public static bool operator !=(BitQuirky.Behavior.Member.BehaviorMemberFault a, BitQuirky.Behavior.Member.BehaviorMemberFault b)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:111
Returns whether two failure records differ in any field.
BehaviorMemberInvocationResult
Section titled “BehaviorMemberInvocationResult”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberInvocationResultSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:98-163
The exact result of one generated member accessor invocation.
Responsibilities:
- Report the terminal behavior outcome (or running for a started coroutine) so the shared core can resume the owning node without boxing.
Does NOT:
- Carry the returned member value; a returned value is written through the result sink.
Members
Section titled “Members”Failed
Section titled “Failed”public static BitQuirky.Behavior.Member.BehaviorMemberInvocationResult Failed { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:114-115
One failed result.
Running
Section titled “Running”public static BitQuirky.Behavior.Member.BehaviorMemberInvocationResult Running { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:118-119
One running result for a coroutine that started this tick.
Status
Section titled “Status”public BitQuirky.Behavior.Member.BehaviorMemberInvocationStatus Status { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:107
Gets the terminal or running status of the invocation.
Succeeded
Section titled “Succeeded”public static BitQuirky.Behavior.Member.BehaviorMemberInvocationResult Succeeded { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:110-111
One succeeded result.
BehaviorMemberInvocationResult(BehaviorMemberInvocationStatus status)
Section titled “BehaviorMemberInvocationResult(BehaviorMemberInvocationStatus status)”public BehaviorMemberInvocationResult(BitQuirky.Behavior.Member.BehaviorMemberInvocationStatus status)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:101-104
Creates one invocation result carrying the exact status.
FromCondition(bool succeeded)
Section titled “FromCondition(bool succeeded)”public static BitQuirky.Behavior.Member.BehaviorMemberInvocationResult FromCondition(bool succeeded)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:150-153
Maps an authored condition outcome to a completed invocation status.
FromCondition(bool condition, BehaviorMemberInvocationStatus trueStatus, BehaviorMemberInvocationStatus falseStatus)
Section titled “FromCondition(bool condition, BehaviorMemberInvocationStatus trueStatus, BehaviorMemberInvocationStatus falseStatus)”public static BitQuirky.Behavior.Member.BehaviorMemberInvocationResult FromCondition(bool condition, BitQuirky.Behavior.Member.BehaviorMemberInvocationStatus trueStatus, BitQuirky.Behavior.Member.BehaviorMemberInvocationStatus falseStatus)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:156-162
Maps a boolean comparison to two exact authored outcomes.
FromStatus(BehaviorNodeStatus status)
Section titled “FromStatus(BehaviorNodeStatus status)”public static BitQuirky.Behavior.Member.BehaviorMemberInvocationResult FromStatus(BitQuirky.Behavior.Nodes.BehaviorNodeStatus status)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:122-147
Maps a shared node status to the exact invocation status.
BehaviorMemberInvocationStatus
Section titled “BehaviorMemberInvocationStatus”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberInvocationStatusSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:64-86
Underlying type: byte
Outcome kind of one generated member accessor invocation.
Responsibilities:
- Carry the exact terminal behavior outcome, including status forms beyond success and failure, or the running form of a started coroutine.
Does NOT:
- Reference the shared execution result enum; the runtime maps this to it.
Members
Section titled “Members”AuthorityMismatch
Section titled “AuthorityMismatch”AuthorityMismatch = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:85
The operation reported an authority mismatch.
Blocked
Section titled “Blocked”Blocked = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:76
The operation reported the blocked status.
Failed
Section titled “Failed”Failed = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:70
The operation completed and failed.
Interrupted
Section titled “Interrupted”Interrupted = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:82
The operation was interrupted.
Running
Section titled “Running”Running = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:73
A coroutine started and remains running until one later completion.
Succeeded
Section titled “Succeeded”Succeeded = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:67
The operation completed and succeeded.
Timeout
Section titled “Timeout”Timeout = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:79
The operation reported the timeout status.
BehaviorMemberNotificationSink
Section titled “BehaviorMemberNotificationSink”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberNotificationSinkSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:624-638
Handle a generated subscribe accessor connects one member notification source to.
Responsibilities:
- Record that one surfaced member-to-blackboard binding has a pending change so the binding runtime re-reads its value before the next selected tick.
Does NOT:
- Read the member, allocate, or run the graph; it only marks the binding pending.
Members
Section titled “Members”Notify()
Section titled “Notify()”public void Notify()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:637
Records a pending change for the bound member-to-blackboard binding.
BehaviorMemberProviderContext
Section titled “BehaviorMemberProviderContext”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberProviderContextSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1026-1174
The explicit per-agent execution context a generated member provider is initialized with.
Responsibilities:
- Present the exact resolved targets, materialized argument view, result sink, coroutine host, and notification sinks a generated accessor needs to make a direct, non-boxing call without discovering a member at runtime.
- Present this agent’s independently mutable managed companion clone and exact typed access to every declared blackboard variable, so a generated accessor reads and writes a declared value in its own type rather than through a general object store.
Does NOT:
- Schedule graph control flow, search for a target, store global state, or own gameplay algorithms.
Members
Section titled “Members”public BitQuirky.Behavior.Member.BehaviorMemberArgumentView Args { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1114-1123
Gets the materialized argument view for the current invocation.
CancellationToken
Section titled “CancellationToken”public System.Threading.CancellationToken CancellationToken { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1155
Gets the runtime-owned token for the deferred invocation currently being serviced. The runtime requests cancellation when that invocation is interrupted, reset, loses its target, or reaches its authored give-up budget.
ManagedBlackboard
Section titled “ManagedBlackboard”public BitQuirky.Behavior.Blackboard.BehaviorManagedBlackboardTemplate ManagedBlackboard { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1076
Gets this agent’s independently mutable managed companion clone, or null when the graph declares no GameObject-path value. A generated provider casts it to its exact generated type once, while it initializes, and never again.
ManagedSlotCount
Section titled “ManagedSlotCount”public int ManagedSlotCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1085-1086
Gets the dense managed slot count the bound companion clone declares.
Result
Section titled “Result”public BitQuirky.Behavior.Member.BehaviorMemberResultSink Result { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1126
Gets the result sink for the current invocation.
TargetCount
Section titled “TargetCount”public int TargetCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1097
Gets the number of resolved or dynamically populated member targets.
Values
Section titled “Values”public BitQuirky.Behavior.Member.BehaviorMemberDeclaredValues Values { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1082
Gets exact typed access to the graph’s declared blackboard variables, or null when the graph declares none.
BeginCoroutine(IEnumerator routine)
Section titled “BeginCoroutine(IEnumerator routine)”public void BeginCoroutine(System.Collections.IEnumerator routine)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1166-1173
Begins one owned coroutine for a coroutine member operation.
EventConditionSink(int activationGeneration)
Section titled “EventConditionSink(int activationGeneration)”public BitQuirky.Behavior.Member.BehaviorMemberEventConditionSink EventConditionSink(int activationGeneration)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1162-1163
Gets an event condition sink for the activation generation.
ManagedSlotVersion(int companionSlotIndex)
Section titled “ManagedSlotVersion(int companionSlotIndex)”public int ManagedSlotVersion(int companionSlotIndex)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1093-1094
Reads the preallocated monotonic version of one dense managed slot. A generated setter bumps it after writing its typed field, so a consumer can observe a managed change without allocating and without comparing values.
NotificationSink(int bindingIndex)
Section titled “NotificationSink(int bindingIndex)”public BitQuirky.Behavior.Member.BehaviorMemberNotificationSink NotificationSink(int bindingIndex)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1158-1159
Gets a notification sink for the surfaced binding index.
Output(int ordinal)
Section titled “Output(int ordinal)”public BitQuirky.Behavior.Member.BehaviorMemberResultSink Output(int ordinal)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1139-1148
Gets the prepared ref/out destination sink for a materialized argument ordinal. The destination’s exact slot, value kind, and size were validated once when the owning runtime was constructed, so this call performs no discovery, conversion, or fallback: it only routes the caller’s typed write to the fixed slot already proven correct for that ordinal.
ResultAt(int blackboardSlotIndex)
Section titled “ResultAt(int blackboardSlotIndex)”public BitQuirky.Behavior.Member.BehaviorMemberResultSink ResultAt(int blackboardSlotIndex)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1129-1130
Gets a result sink for an explicit baked blackboard slot.
Target(int targetIndex)
Section titled “Target(int targetIndex)”public UnityEngine.Object Target(int targetIndex)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1100-1103
Gets the exact resolved target at the provider target index, or null.
Target<TTarget>(int targetIndex)
Section titled “Target<TTarget>(int targetIndex)”public TTarget Target<TTarget>(int targetIndex) where TTarget : classSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1106-1111
Gets the exact resolved target cast to its assigned type, or null.
BehaviorMemberRefEvaluationReading
Section titled “BehaviorMemberRefEvaluationReading”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberRefEvaluationReadingSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:754-808
One transient live reading of a ref-parameter member operation’s evaluation, as of the evaluation just run.
Responsibilities:
- Carry the exact pre-call read, post-call write, and completion outcome the last invocation of one ref-bearing method or member-condition operation observed, addressed by owning node id and parameter ordinal.
Does NOT:
- Report a target-resolution reason, persist into the graph, or exist outside a run. The pure-entity backend never produces this reading: a ref parameter binds only on the GameObject path, because the pure-entity path’s documented by-value-only boundary admits no ref parameter shape.
Members
Section titled “Members”Completed
Section titled “Completed”public bool Completed { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:785
Gets whether the last invocation returned normally. False after a method call throws, in which casePostCallValuekeeps reporting the destination’s unchanged prior value, because no partial write is ever committed.
HasEvaluation
Section titled “HasEvaluation”public bool HasEvaluation { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:778
Gets whether this entry contains an evaluation result. False before the first evaluation and after reset, pause, or disposal clears the transient reading.
NodeId
Section titled “NodeId”public string NodeId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:794
Gets the affected node id.
ParameterOrdinal
Section titled “ParameterOrdinal”public int ParameterOrdinal { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:797
Gets the zero-based declaration ordinal of the observed ref parameter.
PostCallValue
Section titled “PostCallValue”public BitQuirky.Behavior.Member.BehaviorLiveMemberValue PostCallValue { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:807
Gets the exact value the ref slot’s Write to destination currently holds: the post-call adjusted value after a completed invocation, or the unchanged prior value after a fault.
PreCallValue
Section titled “PreCallValue”public BitQuirky.Behavior.Member.BehaviorLiveMemberValue PreCallValue { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:800
Gets the exact value the ref slot’s Read source held immediately before the call.
ReportedResult
Section titled “ReportedResult”public BitQuirky.Behavior.Execution.BehaviorResultCode ReportedResult { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:791
Gets the exact result this operation reported for the evaluation just run, the same value outcome mapping produces, never a second evaluator over it.
BehaviorMemberReference
Section titled “BehaviorMemberReference”Category: Member binding
struct BitQuirky.Behavior.Member.BehaviorMemberReferenceSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:21-148
One serialized per-agent explicit target slot that preserves the exact assigned object.
Responsibilities:
- Bind one stable slot key to the exact assigned
Objectand the expected target type name, so initialization can verify assignability without ever substituting another object that merely shares the type.
Does NOT:
- Resolve a type-based lookup, search a scene, or select a same-type fallback. The object may be a customer component, scene object, ScriptableObject asset, or any other compatible Unity object.
Members
Section titled “Members”ExpectedAssemblyName
Section titled “ExpectedAssemblyName”public string ExpectedAssemblyName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:46
Gets the exact assembly simple name of the expected target type.
ExpectedTypeName
Section titled “ExpectedTypeName”public string ExpectedTypeName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:49
Gets the exact full CLR name of the expected target type.
HasTarget
Section titled “HasTarget”public bool HasTarget { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:55
Gets whether this slot carries an assigned object.
SlotKey
Section titled “SlotKey”public string SlotKey { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:43
Gets the stable serialized slot key that names this assignment point.
Target
Section titled “Target”public UnityEngine.Object Target { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:52
Gets the exact assigned object, preserved across initialization and reload.
BehaviorMemberReference(string slotKey, string expectedAssemblyName, string expectedTypeName, Object target)
Section titled “BehaviorMemberReference(string slotKey, string expectedAssemblyName, string expectedTypeName, Object target)”public BehaviorMemberReference(string slotKey, string expectedAssemblyName, string expectedTypeName, UnityEngine.Object target)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:30-40
Creates one explicit target slot assignment.
CanDeclaredTypeProvideTarget(Type declared, Type required)
Section titled “CanDeclaredTypeProvideTarget(Type declared, Type required)”public static bool CanDeclaredTypeProvideTarget(System.Type declared, System.Type required)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:120-147
Gets whether a variable with one declared type can provide an exact target directly or through the bounded same-GameObject component carrier rule.
IsUsableTarget(Type expectedType, Object candidate)
Section titled “IsUsableTarget(Type expectedType, Object candidate)”public static bool IsUsableTarget(System.Type expectedType, UnityEngine.Object candidate)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:63-68
The one compatibility rule every exact member target shares, whether the object was assigned once in a serialized reference slot or read from a blackboard variable on this evaluation. A Unity-destroyed object is not usable, and no conversion, coercion, or same-type substitution is attempted.
ResolveVariableTarget(Type expectedType, Object held, out Object resolved)
Section titled “ResolveVariableTarget(Type expectedType, Object held, out Object resolved)”public static BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason ResolveVariableTarget(System.Type expectedType, UnityEngine.Object held, out UnityEngine.Object resolved)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:76-114
Resolves one live variable value to the exact object a member provider receives. Exact values win. A component requirement may then use only the held GameObject or a held component’s own GameObject as a carrier. No hierarchy, scene, name, or substitute object search is performed.
BehaviorMemberResultSink
Section titled “BehaviorMemberResultSink”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberResultSinkSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:434-539
Non-boxing typed sink one member accessor uses to write its returned value.
Responsibilities:
- Route the exact returned value of a method result or property/field read to the surfaced blackboard slot of the current operation.
Does NOT:
- Convert values; the generated accessor emits the exact cast to the destination kind.
Members
Section titled “Members”Boolean(bool value)
Section titled “Boolean(bool value)”public void Boolean(bool value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:446
Writes a bool result to the surfaced slot.
Byte(byte value)
Section titled “Byte(byte value)”public void Byte(byte value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:452
Writes a byte result to the surfaced slot.
Char(char value)
Section titled “Char(char value)”public void Char(char value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:473
Writes a char result to the surfaced slot.
Double(double value)
Section titled “Double(double value)”public void Double(double value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:479-480
Writes a double result to the surfaced slot.
EntityId(Entity value)
Section titled “EntityId(Entity value)”public void EntityId(Unity.Entities.Entity value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:509-513
Writes an Entities Entity result to the surfaced slot.
Enum<TEnum>(TEnum value)
Section titled “Enum<TEnum>(TEnum value)”public void Enum<TEnum>(TEnum value) where TEnum : unmanaged, System.EnumSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:519-529
Writes an enum result to the surfaced slot from its underlying bits.
Float2(float2 value)
Section titled “Float2(float2 value)”public void Float2(Unity.Mathematics.float2 value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:483-488
Writes a float2 result to the surfaced slot.
Float3(float3 value)
Section titled “Float3(float3 value)”public void Float3(Unity.Mathematics.float3 value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:491-496
Writes a float3 result to the surfaced slot.
Float4(float4 value)
Section titled “Float4(float4 value)”public void Float4(Unity.Mathematics.float4 value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:499-506
Writes a float4 result to the surfaced slot.
Int16(short value)
Section titled “Int16(short value)”public void Int16(short value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:455
Writes a short result to the surfaced slot.
Int32(int value)
Section titled “Int32(int value)”public void Int32(int value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:461
Writes an int result to the surfaced slot.
Int64(long value)
Section titled “Int64(long value)”public void Int64(long value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:467
Writes a long result to the surfaced slot.
Reference(object value)
Section titled “Reference(object value)”public void Reference(object value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:532
Writes a managed reference result to the surfaced slot.
RequestId(int value)
Section titled “RequestId(int value)”public void RequestId(int value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:516
Writes a request identifier result to the surfaced slot.
SByte(sbyte value)
Section titled “SByte(sbyte value)”public void SByte(sbyte value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:449
Writes an sbyte result to the surfaced slot.
Single(float value)
Section titled “Single(float value)”public void Single(float value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:476
Writes a float result to the surfaced slot.
UInt16(ushort value)
Section titled “UInt16(ushort value)”public void UInt16(ushort value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:458
Writes a ushort result to the surfaced slot.
UInt32(uint value)
Section titled “UInt32(uint value)”public void UInt32(uint value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:464
Writes a uint result to the surfaced slot.
UInt64(ulong value)
Section titled “UInt64(ulong value)”public void UInt64(ulong value)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:470
Writes a ulong result to the surfaced slot.
Unmanaged<T>(T value)
Section titled “Unmanaged<T>(T value)”public void Unmanaged<T>(T value) where T : unmanagedSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:535-538
Writes an unmanaged developer value through allocation-free native transport.
BehaviorMemberTargetReading
Section titled “BehaviorMemberTargetReading”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberTargetReadingSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:527-737
One transient live reading of a blackboard-variable member target, as of the evaluation just run.
Responsibilities:
- Carry the six facts the runtime has about one affected operation: graph, node, variable, whether the target resolved and why not, the type the member requires, and the object the variable held.
- Format the one durable console record for an unresolved evaluation.
Does NOT:
- Report a bake verdict, persist into the graph, log itself, or exist outside a run. A binding whose variable is momentarily empty is still a valid binding.
Members
Section titled “Members”BindingId
Section titled “BindingId”public string BindingId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:604
Gets the exact member binding id.
BlackboardVariableName
Section titled “BlackboardVariableName”public string BlackboardVariableName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:607
Gets the named blackboard variable the target is read from.
ConsecutiveEvaluationCount
Section titled “ConsecutiveEvaluationCount”public int ConsecutiveEvaluationCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:653
Gets how many consecutive evaluations have now produced this same reading. One occurrence that spans many evaluations stays one console entry and counts here; an intermittent condition restarts the count and produces a separate entry.
EntityMemberIdentity
Section titled “EntityMemberIdentity”public string EntityMemberIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:695-696
Gets the authored member the unresolved target would have reached, empty on the GameObject path.
EntityTargetIndex
Section titled “EntityTargetIndex”public int EntityTargetIndex { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:677-678
Gets the addressed entity index, or zero when none was available.
EntityTargetLabel
Section titled “EntityTargetLabel”public string EntityTargetLabel { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:688-689
Gets the authored entity target this evaluation addressed, empty on the GameObject path.
EntityTargetVersion
Section titled “EntityTargetVersion”public int EntityTargetVersion { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:681-682
Gets the addressed entity version, or zero when none was available.
EntityWorldIdentity
Section titled “EntityWorldIdentity”public string EntityWorldIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:667-668
Gets the World instance that evaluated this entity reading, empty on the GameObject path.
ExaminedGameObject
Section titled “ExaminedGameObject”public UnityEngine.GameObject ExaminedGameObject { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:619-635
Gets the exact GameObject examined for a missing-component reading, or null for every other result.
GraphIdentity
Section titled “GraphIdentity”public string GraphIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:598
Gets the canonical graph identity.
HasEntityTargetIdentity
Section titled “HasEntityTargetIdentity”public bool HasEntityTargetIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:673-674
Gets whether the failed evaluation named one exact entity identity.
HasEvaluation
Section titled “HasEvaluation”public bool HasEvaluation { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:581
Gets whether this entry contains an evaluation result. False before the first evaluation and after reset, pause, or disposal clears the transient reading.
HeldObject
Section titled “HeldObject”public UnityEngine.Object HeldObject { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:613
Gets the exact object the variable held, or null when it was empty.
HeldObjectName
Section titled “HeldObjectName”public string HeldObjectName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:638-639
Gets the held object’s name, or empty when the variable was empty.
HeldTypeName
Section titled “HeldTypeName”public string HeldTypeName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:642-643
Gets the held object’s short type name, or empty when it was empty.
IsEntityTargetReading
Section titled “IsEntityTargetReading”public bool IsEntityTargetReading { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:661
Gets whether this reading came from the entity backend. The two backends report one
live-reading shape, but an entity target has no heldUnityEngine.Objectand
names a component type and a cardinality instead, so presentation asks here before it
words a reading.
IsResolved
Section titled “IsResolved”public bool IsResolved { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:587
Gets whether the last evaluation found a usable object. This is meaningful only when HasEvaluationis true.
NodeId
Section titled “NodeId”public string NodeId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:601
Gets the affected node id.
ObservedCount
Section titled “ObservedCount”public int ObservedCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:703-704
Gets the cardinality the evaluation observed: the entities carrying a singleton component, or the entries the addressed buffer held. Zero on the GameObject path and for the reasons that count nothing.
Reason
Section titled “Reason”public BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason Reason { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:595
Gets the exact reason an unresolved evaluation could not act:MissingTargetfor
an empty variable,TargetTypeMismatchfor an incompatible object, or
MissingComponentfor a valid carrier without the required component. A resolved
reading carriesUnknown.
RequiredTypeName
Section titled “RequiredTypeName”public string RequiredTypeName { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:610
Gets the short display name of the type the member requires.
Sequence
Section titled “Sequence”public int Sequence { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:646
Gets the counter that advances only when this reading changes.
DescribeConsoleRecord()
Section titled “DescribeConsoleRecord()”public string DescribeConsoleRecord()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:712-736
Formats the durable console record for an unresolved evaluation, carrying graph, node, variable, reason, the type required, and the object held. The second line keeps the reason, occurrence identity, and final evaluation count visible together in Unity’s two-line Console row so every occurrence stays scannable and countable.
BehaviorMemberTargetReadingStore
Section titled “BehaviorMemberTargetReadingStore”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberTargetReadingStoreSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:823-1029
Preallocated live-reading state for every blackboard-variable member target on one agent.
Responsibilities:
- Hold one entry per affected operation, bound once to its graph, node, binding, variable, and required-type string indices, and update it in place without allocating.
- Advance an entry’s sequence only when its reading actually changes, and count the entries whose target did not resolve on the last evaluation.
- Format the baked strings only when an explicit tooling read asks for them.
Does NOT:
- Log, allocate on the steady-state path, append a per-tick record, or survive the run.
Members
Section titled “Members”public int Count { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:856
Gets the number of preallocated entries.
UnresolvedCount
Section titled “UnresolvedCount”public int UnresolvedCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:859
Gets how many targets did not resolve on their last evaluation.
BehaviorMemberTargetReadingStore(int count, IReadOnlyList<string> strings, string graphIdentity)
Section titled “BehaviorMemberTargetReadingStore(int count, IReadOnlyList<string> strings, string graphIdentity)”public BehaviorMemberTargetReadingStore(int count, System.Collections.Generic.IReadOnlyList<string> strings, string graphIdentity)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:837-853
Preallocates one entry per affected operation.
Clear()
Section titled “Clear()”public void Clear()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:945-957
Drops every live reading, as a reset, pause, or dispose does.
Configure(int index, int nodeIdStringIndex, int bindingIdStringIndex, int variableNameStringIndex, int requiredTypeStringIndex)
Section titled “Configure(int index, int nodeIdStringIndex, int bindingIdStringIndex, int variableNameStringIndex, int requiredTypeStringIndex)”public void Configure(int index, int nodeIdStringIndex, int bindingIdStringIndex, int variableNameStringIndex, int requiredTypeStringIndex)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:862-877
Binds one entry to its exact baked coordinates. Called once per entry.
Read(int index)
Section titled “Read(int index)”public BitQuirky.Behavior.Member.BehaviorMemberTargetReading Read(int index)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:960-979
Formats one entry for an explicit tooling read.
SetResolved(int index, Object held)
Section titled “SetResolved(int index, Object held)”public void SetResolved(int index, UnityEngine.Object held)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:880-904
Records that the last evaluation found a usable object.
SetUnresolved(int index, BehaviorMemberBindingDiagnosticReason reason, Object held)
Section titled “SetUnresolved(int index, BehaviorMemberBindingDiagnosticReason reason, Object held)”public bool SetUnresolved(int index, BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason reason, UnityEngine.Object held)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:913-942
Records that the last evaluation could not act, and why. Returns true exactly once per occurrence: when this reading first becomes unresolved, or when its reason or held type changes while it stays unresolved. Consecutive evaluations with the same reason and held type return false and only advance the occurrence’s count, which is what keeps a condition that comes and goes countable without producing a per-tick record.
BehaviorMemberValueCompatibility
Section titled “BehaviorMemberValueCompatibility”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberValueCompatibilitySource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1208-2013
The one directional exact-type compatibility service every member value role uses.
Responsibilities:
- Decide the direction a role’s value moves, project a declared variable’s shape and exact element identities into the exact type it presents, and answer whether that type can serve one member role in that direction.
- Require exact identity for every collection, dictionary and struct, keep reference assignability directional, and keep the already-permitted numeric and enum conversions available only where they were already permitted.
- State the writability verdict of an entry that reads correctly but that no graph write may target, so an entry a member node surfaces stays listed as read-only rather than reading as a variable that vanished.
Does NOT:
- Substitute a same-named or same-typed variable, coerce a value, or edit the graph.
Members
Section titled “Members”Evaluate(BehaviorDeclaredValueDescriptor descriptor, BehaviorMemberValueRequirement requirement)
Section titled “Evaluate(BehaviorDeclaredValueDescriptor descriptor, BehaviorMemberValueRequirement requirement)”public static BitQuirky.Behavior.Member.BehaviorMemberVariableVerdict Evaluate(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptor descriptor, BitQuirky.Behavior.Member.BehaviorMemberValueRequirement requirement)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1321-1344
Evaluates one resolved declaration against one member-role requirement.
EvaluateSurfaced(BehaviorSourceTypeIdentity surfacedType, BehaviorMemberValueRequirement requirement)
Section titled “EvaluateSurfaced(BehaviorSourceTypeIdentity surfacedType, BehaviorMemberValueRequirement requirement)”public static BitQuirky.Behavior.Member.BehaviorMemberVariableVerdict EvaluateSurfaced(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity surfacedType, BitQuirky.Behavior.Member.BehaviorMemberValueRequirement requirement)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1350-1370
Evaluates one automatically surfaced blackboard entry, whose value is one instance of the exact type its projecting member declares.
FlowOf(BehaviorSourceMemberOperationKind operationKind, BehaviorSourceMemberDirection direction, BehaviorMemberValueRole role)
Section titled “FlowOf(BehaviorSourceMemberOperationKind operationKind, BehaviorSourceMemberDirection direction, BehaviorMemberValueRole role)”public static BitQuirky.Behavior.Member.BehaviorMemberValueFlow FlowOf(BitQuirky.Behavior.Authoring.BehaviorSourceMemberOperationKind operationKind, BitQuirky.Behavior.Authoring.BehaviorSourceMemberDirection direction, BitQuirky.Behavior.Member.BehaviorMemberValueRole role)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1217-1247
Decides the direction one member role moves its value. An argument is read from the blackboard, a stored result is written to it, and a property or field follows the binding’s authored direction.
Missing(string variableName, BehaviorMemberValueRequirement requirement)
Section titled “Missing(string variableName, BehaviorMemberValueRequirement requirement)”public static BitQuirky.Behavior.Member.BehaviorMemberVariableVerdict Missing(string variableName, BitQuirky.Behavior.Member.BehaviorMemberValueRequirement requirement)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1373-1384
Builds the verdict of a saved selection that is no longer on the blackboard.
NotWritable(string variableName, BehaviorMemberValueRequirement requirement)
Section titled “NotWritable(string variableName, BehaviorMemberValueRequirement requirement)”public static BitQuirky.Behavior.Member.BehaviorMemberVariableVerdict NotWritable(string variableName, BitQuirky.Behavior.Member.BehaviorMemberValueRequirement requirement)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1392-1403
Builds the verdict of an entry that exists and reads correctly but that no graph write may target. A member node surfaces its own value, so the graph observes that entry rather than owning it, and an output-only parameter cannot write there. The entry stays listed with this exact reason instead of disappearing.
QualifierLine(BehaviorSourceDeclaredValue declaration)
Section titled “QualifierLine(BehaviorSourceDeclaredValue declaration)”public static string QualifierLine(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue declaration)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1462-1485
Builds one labeled qualifier line per exact type in reading order.
QualifierLine(BehaviorSourceTypeIdentity valueType, BehaviorSourceTypeIdentity keyType)
Section titled “QualifierLine(BehaviorSourceTypeIdentity valueType, BehaviorSourceTypeIdentity keyType)”public static string QualifierLine(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity valueType, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity keyType)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1491-1498
Builds the namespace and assembly line that tells two same-short-named candidates apart, promoting the namespace first and then the assembly.
RequiresExactIdentity(Type type)
Section titled “RequiresExactIdentity(Type type)”public static bool RequiresExactIdentity(System.Type type)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1409-1428
Returns whether a type is only ever satisfied by that exact type: every collection, every dictionary, and every struct that is not a primitive or an enum.
RoleOf(BehaviorSourceMemberOperationKind operationKind)
Section titled “RoleOf(BehaviorSourceMemberOperationKind operationKind)”public static BitQuirky.Behavior.Member.BehaviorMemberValueRole RoleOf(BitQuirky.Behavior.Authoring.BehaviorSourceMemberOperationKind operationKind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1250-1265
Maps one operation kind to the member value role its stored value serves.
ShortName(BehaviorSourceTypeIdentity identity)
Section titled “ShortName(BehaviorSourceTypeIdentity identity)”public static string ShortName(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity identity)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1501-1517
Builds the short name of one exact type identity.
TryGetPresentedType(BehaviorDeclaredValueDescriptor descriptor, out Type presented)
Section titled “TryGetPresentedType(BehaviorDeclaredValueDescriptor descriptor, out Type presented)”public static bool TryGetPresentedType(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueDescriptor descriptor, out System.Type presented)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1283-1318
Projects a resolved declaration into the exact type it presents to a member: the element type itself, a closed list or array of it, or a closed dictionary of the exact key and value identities.
TryResolveIdentity(BehaviorSourceTypeIdentity identity, out Type type)
Section titled “TryResolveIdentity(BehaviorSourceTypeIdentity identity, out Type type)”public static bool TryResolveIdentity(BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity identity, out System.Type type)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1271-1276
Resolves one exact type record to exactly one runtime type, applying the same recorded-assembly rules the declared-value resolver applies.
TypeLabel(BehaviorDeclaredValueShape shape, BehaviorSourceTypeIdentity valueType, BehaviorSourceTypeIdentity keyType)
Section titled “TypeLabel(BehaviorDeclaredValueShape shape, BehaviorSourceTypeIdentity valueType, BehaviorSourceTypeIdentity keyType)”public static string TypeLabel(BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape shape, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity valueType, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity keyType)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1431-1448
Builds the short type label of one declared shape and its exact identities.
TypeLabel(BehaviorSourceDeclaredValue declaration)
Section titled “TypeLabel(BehaviorSourceDeclaredValue declaration)”public static string TypeLabel(BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue declaration)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1451-1459
Builds the short label for one declaration at any collection depth.
BehaviorMemberValueContract
Section titled “BehaviorMemberValueContract”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberValueContractSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:143-892
The bounded member value and conversion contract for .
Responsibilities:
- Map exact CLR types and canonical source tokens to the supported value kinds.
- Decide the single allowed conversion for a source/target pair, rejecting everything else.
- Parse, range-check, and canonicalize authored constants into exact value bits.
Does NOT:
- Perform tick-time conversion, store values, or discover members.
Members
Section titled “Members”NullLiteral
Section titled “NullLiteral”public const string NullLiteral = "null"Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:147
The canonical authored spelling for an absent reference constant.
GetNativeSize(BehaviorMemberValueKind kind)
Section titled “GetNativeSize(BehaviorMemberValueKind kind)”public static int GetNativeSize(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:706-733
Gets the exact native blackboard slot byte size of a supported kind.
GetToken(BehaviorMemberValueKind kind)
Section titled “GetToken(BehaviorMemberValueKind kind)”public static string GetToken(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:287-315
Gets the canonical lowercase source token for a supported kind.
GetUnmanagedSize(Type type)
Section titled “GetUnmanagedSize(Type type)”public static int GetUnmanagedSize(System.Type type)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:736-755
Gets the baked native byte size of an exact unmanaged developer type.
GetValueKind(BakedFieldTypeCode code)
Section titled “GetValueKind(BakedFieldTypeCode code)”public static BitQuirky.Behavior.Member.BehaviorMemberValueKind GetValueKind(BitQuirky.Behavior.Baked.BakedFieldTypeCode code)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:672-703
Gets the exact supported value kind one baked blackboard slot carries. This is the inverse of the bake-time kind to type-code mapping and the one place a stored slot is read back as a member value kind.
IsIntegral(BehaviorMemberValueKind kind)
Section titled “IsIntegral(BehaviorMemberValueKind kind)”public static bool IsIntegral(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:329-346
Returns whether the kind is one of the supported integral primitives.
IsNumeric(BehaviorMemberValueKind kind)
Section titled “IsNumeric(BehaviorMemberValueKind kind)”public static bool IsNumeric(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:349-354
Returns whether the kind is a supported numeric primitive.
RequiresExactValueIdentity(BehaviorMemberValueKind kind)
Section titled “RequiresExactValueIdentity(BehaviorMemberValueKind kind)”public static bool RequiresExactValueIdentity(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:504-508
Returns whether a kind identifies more than one exact CLR type, so a conversion for it must compare the resolved types rather than the kinds.
SupportsEquality(BehaviorMemberValueKind kind)
Section titled “SupportsEquality(BehaviorMemberValueKind kind)”public static bool SupportsEquality(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:363-374
Returns whether equality comparisons apply to the kind.
SupportsOrdering(BehaviorMemberValueKind kind)
Section titled “SupportsOrdering(BehaviorMemberValueKind kind)”public static bool SupportsOrdering(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:357-360
Returns whether ordering comparisons apply to the kind.
TryGetArrayElementKind(Type parameterType, out BehaviorMemberValueKind elementKind)
Section titled “TryGetArrayElementKind(Type parameterType, out BehaviorMemberValueKind elementKind)”public static bool TryGetArrayElementKind(System.Type parameterType, out BitQuirky.Behavior.Member.BehaviorMemberValueKind elementKind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:272-284
Returns whether a resolved CLR type is a single-dimensional array whose element type
is itself a supported non-reference value kind, and if so, that element kind. Mirrors
the existing declared-array Blackboard carried-array path’selementType.IsValueType
scope, so a non-null array-typed Constant index argument (, C3) is admitted
for exactly the element shapes the sibling Blackboard array route already supports.
TryGetConversion(Type source, Type target, out BehaviorMemberConversion conversion)
Section titled “TryGetConversion(Type source, Type target, out BehaviorMemberConversion conversion)”public static bool TryGetConversion(System.Type source, System.Type target, out BitQuirky.Behavior.Member.BehaviorMemberConversion conversion)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:411-492
Decides the single allowed conversion between two resolved CLR types, covering the identity, widening, enum, and reference-assignability families. Everything else is rejected.
TryGetKindConversion(BehaviorMemberValueKind source, BehaviorMemberValueKind target, out BehaviorMemberConversion conversion)
Section titled “TryGetKindConversion(BehaviorMemberValueKind source, BehaviorMemberValueKind target, out BehaviorMemberConversion conversion)”public static bool TryGetKindConversion(BitQuirky.Behavior.Member.BehaviorMemberValueKind source, BitQuirky.Behavior.Member.BehaviorMemberValueKind target, out BitQuirky.Behavior.Member.BehaviorMemberConversion conversion)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:380-404
Decides the single allowed pure-kind conversion for a source/target pair. Enum and reference pairs require the resolved-type overload.
TryGetValueKind(string fullTypeName, out BehaviorMemberValueKind kind)
Section titled “TryGetValueKind(string fullTypeName, out BehaviorMemberValueKind kind)”public static bool TryGetValueKind(string fullTypeName, out BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:204-212
Maps an exact full CLR type name to a supported non-enum, non-reference kind.
TryGetValueKind(Type type, out BehaviorMemberValueKind kind)
Section titled “TryGetValueKind(Type type, out BehaviorMemberValueKind kind)”public static bool TryGetValueKind(System.Type type, out BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:218-263
Maps a resolved CLR type, including enum and Unity-rooted reference detection, to a supported kind.
TryParseConstant(BehaviorMemberValueKind kind, string literal, out long valueBits, out string canonical)
Section titled “TryParseConstant(BehaviorMemberValueKind kind, string literal, out long valueBits, out string canonical)”public static bool TryParseConstant(BitQuirky.Behavior.Member.BehaviorMemberValueKind kind, string literal, out long valueBits, out string canonical)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:516-607
Parses and range-checks a canonical constant literal of a scalar kind into exact value bits, returning the canonical spelling the writer emits. Enum constants use TryParseEnumConstant; vector, identifier, and reference constants are unsupported.
TryParseEnumConstant(Type enumType, string literal, out long valueBits, out string canonical)
Section titled “TryParseEnumConstant(Type enumType, string literal, out long valueBits, out string canonical)”public static bool TryParseEnumConstant(System.Type enumType, string literal, out long valueBits, out string canonical)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:614-665
Parses a canonical enum constant against a resolved enum type by exact member name or exact underlying literal, returning underlying value bits and the canonical member name spelling when one exists.
TryParseToken(string token, out BehaviorMemberValueKind kind)
Section titled “TryParseToken(string token, out BehaviorMemberValueKind kind)”public static bool TryParseToken(string token, out BitQuirky.Behavior.Member.BehaviorMemberValueKind kind)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:318-326
Maps a canonical lowercase source token back to its kind.
BehaviorMemberValueFlow
Section titled “BehaviorMemberValueFlow”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberValueFlowSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:942-955
Underlying type: byte
Which way a value moves between one member role and one blackboard variable.
Responsibilities:
- State the direction compatibility is decided in, matching the runtime contract.
Does NOT:
- Imply a conversion; the contract decides that per direction.
Members
Section titled “Members”ToBlackboard
Section titled “ToBlackboard”ToBlackboard = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:951
The member supplies the blackboard.
ToMember
Section titled “ToMember”ToMember = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:948
The blackboard supplies the member.
TwoWay
Section titled “TwoWay”TwoWay = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:954
The value moves both ways, so it must be exact in both.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:945
No direction.
BehaviorMemberValueKind
Section titled “BehaviorMemberValueKind”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberValueKindSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:23-93
Underlying type: byte
Bounded value vocabulary for member bindings.
Responsibilities:
- Identify every supported member value representation with a stable append-only code.
Does NOT:
- Carry type identities; enum and reference kinds pair with an exact type identity record.
Members
Section titled “Members”Bool = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:29
One bool value.
Byte = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:35
One byte value.
Char = 10Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:56
One char value.
EntityId
Section titled “EntityId”EntityId = 16Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:74
The existing product entity identifier blackboard kind.
Enum = 13Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:65
An enum with a supported integral underlying type plus exact enum identity.
Float2
Section titled “Float2”Float2 = 14Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:68
The existing product Unity.Mathematics.float2 blackboard kind.
Float32
Section titled “Float32”Float32 = 11Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:59
One float value.
Float3
Section titled “Float3”Float3 = 15Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:71
The existing product Unity.Mathematics.float3 blackboard kind.
Float4
Section titled “Float4”Float4 = 22Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:92
One Unity.Mathematics.float4 value.
Float64
Section titled “Float64”Float64 = 12Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:62
One double value.
Int16 = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:38
One short value.
Int32 = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:44
One int value.
Int64 = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:50
One long value.
ManagedReference
Section titled “ManagedReference”ManagedReference = 19Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:83
A non-Unity managed reference held in the per-agent managed sidecar.
RequestId
Section titled “RequestId”RequestId = 17Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:77
The existing product request identifier blackboard kind.
SByte = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:32
One sbyte value.
UInt16
Section titled “UInt16”UInt16 = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:41
One ushort value.
UInt32
Section titled “UInt32”UInt32 = 7Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:47
One uint value.
UInt64
Section titled “UInt64”UInt64 = 9Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:53
One ulong value.
UnityObjectReference
Section titled “UnityObjectReference”UnityObjectReference = 18Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:80
A UnityEngine.Object or subclass held in the managed reference sidecar.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:26
No supported representation.
Unmanaged16
Section titled “Unmanaged16”Unmanaged16 = 20Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:86
An unmanaged developer value up to sixteen bytes.
UnmanagedValue
Section titled “UnmanagedValue”UnmanagedValue = 21Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:89
An unmanaged developer value stored at its baked native size.
BehaviorMemberValueRequirement
Section titled “BehaviorMemberValueRequirement”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberValueRequirementSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1039-1096
What one member-role control requires of a blackboard variable.
Responsibilities:
- Carry the role, the direction the value moves, the exact member type identity, the element the requirement belongs to, the customer-facing role phrase a refusal names the slot by, falling back to the element label when it is empty, and its source line, so every refusal can be reported against exact coordinates.
Does NOT:
- Name a variable or hold a selection; the requirement is the host’s half only.
Members
Section titled “Members”AdmitsMatchingCollection
Section titled “AdmitsMatchingCollection”public bool AdmitsMatchingCollection { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1090
Gets whether a declared List of the exact same element type as an array-shaped
MemberTypealso satisfies this requirement, alongside an exact Array
match. Set only by the params explicit-array/list Collection requirement
alone; every other requirement keeps the exact-type rule
RequiresExactIdentityalready enforces.
ElementLabel
Section titled “ElementLabel”public string ElementLabel { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1070
Gets the exact element the requirement belongs to, such as argument 0.
public BitQuirky.Behavior.Member.BehaviorMemberValueFlow Flow { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1064
Gets the direction the value moves.
IsWritten
Section titled “IsWritten”public bool IsWritten { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1093-1095
Gets whether the value is written back into the blackboard.
MemberType
Section titled “MemberType”public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity MemberType { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1067
Gets the exact member type identity the value must satisfy.
public BitQuirky.Behavior.Member.BehaviorMemberValueRole Role { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1061
Gets the member role the value serves.
RolePhrase
Section titled “RolePhrase”public string RolePhrase { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1078
Gets the words a refusal names this slot by, such as output point. The element
label is a repair coordinate and can carry an ordinal the author never typed, so a
slot that has customer-facing words states them here and every refusal reads them
instead. Empty falls back to the element label.
SourceLine
Section titled “SourceLine”public int SourceLine { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1081
Gets the one-based source line of the requiring record.
BehaviorMemberValueRequirement(BehaviorMemberValueRole role, BehaviorMemberValueFlow flow, BehaviorSourceTypeIdentity memberType, string elementLabel, int sourceLine, string rolePhrase, bool admitsMatchingCollection)
Section titled “BehaviorMemberValueRequirement(BehaviorMemberValueRole role, BehaviorMemberValueFlow flow, BehaviorSourceTypeIdentity memberType, string elementLabel, int sourceLine, string rolePhrase, bool admitsMatchingCollection)”public BehaviorMemberValueRequirement(BitQuirky.Behavior.Member.BehaviorMemberValueRole role, BitQuirky.Behavior.Member.BehaviorMemberValueFlow flow, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity memberType, string elementLabel, int sourceLine, string rolePhrase = "", bool admitsMatchingCollection = false)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1042-1058
Creates one member-role requirement.
BehaviorMemberValueRole
Section titled “BehaviorMemberValueRole”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberValueRoleSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:905-931
Underlying type: byte
The member value roles a declared blackboard variable can serve.
Responsibilities:
- Name each role a compatible-variable control offers, so one service answers all of them.
Does NOT:
- Decide direction; a role plus the binding’s direction decides that.
Members
Section titled “Members”Argument
Section titled “Argument”Argument = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:911
One by-value method or message argument.
Field = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:920
A field value, read, written, or both.
IndexArgument
Section titled “IndexArgument”IndexArgument = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:930
One index argument of an indexed property. UnlikeArgument, this role admits no implicit conversion: the supplied value must match the declared index-parameter type exactly .
Output
Section titled “Output”Output = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:923
The stored destination of an output-only method parameter.
Property
Section titled “Property”Property = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:917
A property value, read, written, or both.
Result
Section titled “Result”Result = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:914
The stored destination of a method result.
Unknown
Section titled “Unknown”Unknown = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:908
No member role.
BehaviorMemberVariableCandidate
Section titled “BehaviorMemberVariableCandidate”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberVariableCandidateSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1150-1187
One blackboard entry offered against one member-role requirement.
Responsibilities:
- Carry the entry’s exact name, origin, declared shape and exact type identities, the short type label and qualifier line that disambiguate it, and its verdict, so an entry that cannot hold the value is listed with its reason rather than omitted.
Does NOT:
- Perform the edit; picking is the host’s undoable command.
Members
Section titled “Members”IsPickable
Section titled “IsPickable”public bool IsPickable { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1186
Gets whether the entry can be picked for the requirement.
IsSaved
Section titled “IsSaved”public bool IsSaved { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1180
Gets or sets whether this entry is the saved selection.
KeyType
Section titled “KeyType”public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity KeyType { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1165
Gets or sets the exact declared key identity of a dictionary entry.
public string Name { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1153
Gets or sets the exact blackboard entry name.
Origin
Section titled “Origin”public BitQuirky.Behavior.Member.BehaviorMemberVariableOrigin Origin { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1156
Gets or sets where the entry came from.
ProvisionNote
Section titled “ProvisionNote”public string ProvisionNote { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1174
Gets or sets how a compatible carrier provides the required component.
QualifierLine
Section titled “QualifierLine”public string QualifierLine { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1171
Gets or sets the namespace and assembly line that disambiguates the label.
public BitQuirky.Behavior.Authoring.BehaviorDeclaredValueShape Shape { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1159
Gets or sets the declared shape of the entry.
SourceLine
Section titled “SourceLine”public int SourceLine { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1183
Gets or sets the one-based source line of the declaring record.
TypeLabel
Section titled “TypeLabel”public string TypeLabel { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1168
Gets or sets the short type label, including the shape.
ValueType
Section titled “ValueType”public BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity ValueType { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1162
Gets or sets the exact declared value type identity.
Verdict
Section titled “Verdict”public BitQuirky.Behavior.Member.BehaviorMemberVariableVerdict Verdict { get; set; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1177
Gets or sets the verdict against the requirement.
BehaviorMemberVariableOrigin
Section titled “BehaviorMemberVariableOrigin”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberVariableOriginSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1018-1025
Underlying type: byte
Where one blackboard entry came from.
Responsibilities:
- Separate a variable this graph declares from an entry a member node surfaces, so a picker lists them under their two group heads in panel order.
Does NOT:
- Change compatibility; both origins answer the same service.
Members
Section titled “Members”Declared
Section titled “Declared”Declared = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1021
A variable declared by this graph.
Surfaced
Section titled “Surfaced”Surfaced = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1024
An entry a member binding surfaces automatically.
BehaviorMemberVariableRejection
Section titled “BehaviorMemberVariableRejection”Category: Member binding
enum BitQuirky.Behavior.Member.BehaviorMemberVariableRejectionSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:967-1006
Underlying type: byte
The stable reason one variable cannot serve one member role.
Responsibilities:
- Name every refusal the compatibility service can report, so an entry that cannot hold the value is listed with its reason instead of hidden.
Does NOT:
- Carry presentation text; the verdict supplies the exact reason sentence.
Members
Section titled “Members”DeclaredTypeUnresolved
Section titled “DeclaredTypeUnresolved”DeclaredTypeUnresolved = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:976
The variable’s declared type record no longer resolves to one type.
ExactTypeRequired
Section titled “ExactTypeRequired”ExactTypeRequired = 5Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:985
A collection, dictionary or struct requires the exact same type.
MemberTypeUnresolved
Section titled “MemberTypeUnresolved”MemberTypeUnresolved = 3Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:979
The member’s exact type record no longer resolves to one type.
None = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:970
The variable can serve the role.
NotAssignableToBlackboard
Section titled “NotAssignableToBlackboard”NotAssignableToBlackboard = 7Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:991
The member’s value cannot reach the variable’s declared type.
NotAssignableToMember
Section titled “NotAssignableToMember”NotAssignableToMember = 6Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:988
The variable’s value cannot reach the member’s type.
NotComparable
Section titled “NotComparable”NotComparable = 9Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:999
The entry offers no comparison, so no transition predicate can decide it.
NotWritable
Section titled “NotWritable”NotWritable = 10Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1005
The entry exists but no graph write may target it, so an output-only parameter cannot land its produced value there.
TwoWayRequiresExactType
Section titled “TwoWayRequiresExactType”TwoWayRequiresExactType = 8Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:994
A two-way binding needs one exact type on both sides.
UnsupportedValueType
Section titled “UnsupportedValueType”UnsupportedValueType = 4Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:982
One side is not a supported member value type.
VariableNotFound
Section titled “VariableNotFound”VariableNotFound = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:973
The saved variable is no longer on the blackboard.
BehaviorMemberVariableSelection
Section titled “BehaviorMemberVariableSelection”Category: Member binding
class BitQuirky.Behavior.Member.BehaviorMemberVariableSelectionSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2028-2954
Builds the ordered blackboard entries one member-role control offers.
Responsibilities:
- List every entry on the blackboard in panel order, variables this graph declares above the entries member nodes surface, each carrying its verdict against the requirement.
- Preserve a saved selection that is missing or incompatible, listed with its exact reason and never replaced by a same-typed survivor, so repair stays explicit.
Does NOT:
- Pick, edit, or auto-repair anything, and never hides an entry that does not fit.
Members
Section titled “Members”BuildCandidates(BehaviorSourceAst ast, BehaviorMemberValueRequirement requirement, string savedName)
Section titled “BuildCandidates(BehaviorSourceAst ast, BehaviorMemberValueRequirement requirement, string savedName)”public static System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberVariableCandidate> BuildCandidates(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Member.BehaviorMemberValueRequirement requirement, string savedName)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2036-2045
Builds every candidate for one requirement in panel order, appending the saved selection as a missing entry when the blackboard no longer declares it.
BuildCandidates(IReadOnlyList<BehaviorSourceDeclaredValue> declaredValues, IReadOnlyList<BehaviorSourceMemberBinding> memberBindings, BehaviorMemberValueRequirement requirement, string savedName)
Section titled “BuildCandidates(IReadOnlyList<BehaviorSourceDeclaredValue> declaredValues, IReadOnlyList<BehaviorSourceMemberBinding> memberBindings, BehaviorMemberValueRequirement requirement, string savedName)”public static System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberVariableCandidate> BuildCandidates(System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceDeclaredValue> declaredValues, System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Authoring.BehaviorSourceMemberBinding> memberBindings, BitQuirky.Behavior.Member.BehaviorMemberValueRequirement requirement, string savedName)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2116-2226
Builds every candidate from the declared variables and member bindings directly, so the blackboard panel and every member-role control project one identical ordered set whether they hold an AST or a document.
BuildTargetCandidates(BehaviorSourceAst ast, BehaviorSourceTypeIdentity requiredType, string savedName)
Section titled “BuildTargetCandidates(BehaviorSourceAst ast, BehaviorSourceTypeIdentity requiredType, string savedName)”public static System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberVariableCandidate> BuildTargetCandidates(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, BitQuirky.Behavior.Authoring.BehaviorSourceTypeIdentity requiredType, string savedName)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2052-2079
Builds the shared Variable-target picker rows. Every blackboard entry remains visible; the verdict answers whether its live value can directly satisfy the required target or identify the same GameObject for a required component.
BuildTransitionOperandCandidates(BehaviorSourceAst ast, string savedName)
Section titled “BuildTransitionOperandCandidates(BehaviorSourceAst ast, string savedName)”public static System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberVariableCandidate> BuildTransitionOperandCandidates(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, string savedName)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2087-2109
Builds the shared transition-predicate operand rows. Every blackboard entry stays visible in panel order; the verdict answers whether one declared value can be read as a transition operand at all, which is the same rule the validator, the baker and the shared evaluation core apply.
FindSaved(IReadOnlyList<BehaviorMemberVariableCandidate> candidates)
Section titled “FindSaved(IReadOnlyList<BehaviorMemberVariableCandidate> candidates)”public static BitQuirky.Behavior.Member.BehaviorMemberVariableCandidate FindSaved(System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberVariableCandidate> candidates)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2324-2339
Returns the saved candidate whether or not it can serve the requirement.
TryGetSelected(IReadOnlyList<BehaviorMemberVariableCandidate> candidates, out BehaviorMemberVariableCandidate selected)
Section titled “TryGetSelected(IReadOnlyList<BehaviorMemberVariableCandidate> candidates, out BehaviorMemberVariableCandidate selected)”public static bool TryGetSelected(System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberVariableCandidate> candidates, out BitQuirky.Behavior.Member.BehaviorMemberVariableCandidate selected)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2303-2321
Returns the saved candidate only when it exists and can serve the requirement, so a missing or incompatible selection never resolves to a usable pick.
ValidateBindings(BehaviorSourceAst ast, string graphIdentity)
Section titled “ValidateBindings(BehaviorSourceAst ast, string graphIdentity)”public static System.Collections.Generic.IReadOnlyList<BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnostic> ValidateBindings(BitQuirky.Behavior.Authoring.BehaviorSourceAst ast, string graphIdentity)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:2234-2297
Validates every member role that names a blackboard entry through the same directional exact-type service used by the selectors. Missing and incompatible saved selections are reported with their exact repair coordinates and are never substituted.
BehaviorMemberVariableVerdict
Section titled “BehaviorMemberVariableVerdict”Category: Member binding
readonly struct BitQuirky.Behavior.Member.BehaviorMemberVariableVerdictSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1108-1137
The verdict of one variable against one member-role requirement.
Responsibilities:
- State whether the variable can serve the role, the exact conversion each direction uses, and the exact reason when it cannot.
Does NOT:
- Substitute, coerce, or repair anything.
Members
Section titled “Members”ConversionToBlackboard
Section titled “ConversionToBlackboard”public BitQuirky.Behavior.Member.BehaviorMemberConversion ConversionToBlackboard { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1130
Gets the conversion applied when the member supplies the blackboard.
ConversionToMember
Section titled “ConversionToMember”public BitQuirky.Behavior.Member.BehaviorMemberConversion ConversionToMember { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1127
Gets the conversion applied when the blackboard supplies the member.
IsCompatible
Section titled “IsCompatible”public bool IsCompatible { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1136
Gets whether the variable can serve the requirement.
Reason
Section titled “Reason”public string Reason { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1133
Gets the exact reason sentence, empty when the variable fits.
Rejection
Section titled “Rejection”public BitQuirky.Behavior.Member.BehaviorMemberVariableRejection Rejection { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1124
Gets the stable refusal reason, or None when the variable fits.
BehaviorMemberVariableVerdict(BehaviorMemberVariableRejection rejection, BehaviorMemberConversion conversionToMember, BehaviorMemberConversion conversionToBlackboard, string reason)
Section titled “BehaviorMemberVariableVerdict(BehaviorMemberVariableRejection rejection, BehaviorMemberConversion conversionToMember, BehaviorMemberConversion conversionToBlackboard, string reason)”public BehaviorMemberVariableVerdict(BitQuirky.Behavior.Member.BehaviorMemberVariableRejection rejection, BitQuirky.Behavior.Member.BehaviorMemberConversion conversionToMember, BitQuirky.Behavior.Member.BehaviorMemberConversion conversionToBlackboard, string reason)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1111-1121
Creates one verdict.
IBehaviorEntityPropertyAccessorProofProvider
Section titled “IBehaviorEntityPropertyAccessorProofProvider”Category: Member binding
interface BitQuirky.Behavior.Member.IBehaviorEntityPropertyAccessorProofProviderSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:22-29
Supplies build-time direct-field accessor proofs when the current runtime cannot expose managed IL, as under IL2CPP.
Responsibilities:
- Confirm that the exact property and requested access directions were already proven by the compiler-facing generation pipeline.
Does NOT:
- Discover members, guess from names, weaken the direct-field rule, or run during graph evaluation.
Members
Section titled “Members”HasDirectStoredFieldProof(PropertyInfo property, bool requireRead, bool requireWrite)
Section titled “HasDirectStoredFieldProof(PropertyInfo property, bool requireRead, bool requireWrite)”bool HasDirectStoredFieldProof(System.Reflection.PropertyInfo property, bool requireRead, bool requireWrite)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:25-28
Returns whether build-time generation proved the exact requested access.
IBehaviorLiveMemberCapability
Section titled “IBehaviorLiveMemberCapability”Category: Member binding
interface BitQuirky.Behavior.Member.IBehaviorLiveMemberCapabilitySource declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:1025-1050
The optional Live member capability a debugger attachment may expose beside the pure observer binding.
Responsibilities:
- Enumerate the baked member binding rows of one attached runtime, produce one immutable snapshot per surfaced property or field binding, and perform one exact typed edit transaction per user commit.
Does NOT:
- Extend, replace, or require any change to
IBehaviorGraphDebuggerBinding, which stays a pure observer. An implementer that cannot write refuses every request with a structured reason instead of throwing.
Members
Section titled “Members”LiveAgentIdentity
Section titled “LiveAgentIdentity”BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity LiveAgentIdentity { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:1028
Gets the complete identity of the attached running instance.
LiveMemberBindingCount
Section titled “LiveMemberBindingCount”int LiveMemberBindingCount { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:1035
Gets the number of baked member binding rows. Rows that are not surfaced property or field projections report no snapshot, so this is an addressing range rather than a count of Live editable rows.
SubmitLiveMemberEdit(in BehaviorLiveMemberEditRequest request)
Section titled “SubmitLiveMemberEdit(in BehaviorLiveMemberEditRequest request)”BitQuirky.Behavior.Member.BehaviorLiveMemberEditResult SubmitLiveMemberEdit(in BitQuirky.Behavior.Member.BehaviorLiveMemberEditRequest request)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:1048-1049
Performs one exact typed edit transaction for one user commit, returning the accepted confirmation or the structured refusal.
TryReadLiveMemberSnapshot(int bindingIndex, out BehaviorLiveMemberSnapshot snapshot)
Section titled “TryReadLiveMemberSnapshot(int bindingIndex, out BehaviorLiveMemberSnapshot snapshot)”bool TryReadLiveMemberSnapshot(int bindingIndex, out BitQuirky.Behavior.Member.BehaviorLiveMemberSnapshot snapshot)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:1041-1042
Reads one immutable snapshot of the baked binding row. Returns false when the row is out of range or is not a surfaced property or field projection.
IBehaviorMemberCommandSink
Section titled “IBehaviorMemberCommandSink”Category: Member binding
interface BitQuirky.Behavior.Member.IBehaviorMemberCommandSinkSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberCommandSink.cs:19-23
The routing seam a GameObject agent’s binding map uses to hand deferred member service commands to the member binding runtime.
Responsibilities:
- Receive one drained deferred member request, interruption, or cancellation command so the runtime can start, stop, or subscribe the coroutine or event operation it names.
Does NOT:
- Service immediate member operations, which resolve through the runtime instance member request channel and the bounded in-tick microstep.
Members
Section titled “Members”HandleMemberCommand(in ExternalServiceCommand command, int frameNumber)
Section titled “HandleMemberCommand(in ExternalServiceCommand command, int frameNumber)”void HandleMemberCommand(in BitQuirky.Behavior.ExternalService.ExternalServiceCommand command, int frameNumber)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberCommandSink.cs:22
Handles one deferred member service command drained for the selected frame.
IBehaviorMemberProvider
Section titled “IBehaviorMemberProvider”Category: Member binding
interface BitQuirky.Behavior.Member.IBehaviorMemberProviderSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1194-1222
The additive consumer-owned member provider contract.
Responsibilities:
- Resolve and validate generated accessor coverage during initialization.
- Perform direct, non-boxing method, property, field, message, condition, coroutine, event add/remove, and notification calls by accessor id.
- Read constants and blackboard values without boxing and write returned values through the supplied result sink.
Does NOT:
- Schedule tree control flow, search for a target, store global state, discover a member by name at runtime, or reference the reusable product package’s game assemblies.
Members
Section titled “Members”BindingSetFingerprint
Section titled “BindingSetFingerprint”ulong BindingSetFingerprint { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1197
Gets the deterministic binding-set fingerprint this provider was generated for.
Dispose()
Section titled “Dispose()”void Dispose()Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1221
Releases every owned delegate, subscription, and coroutine handle.
Initialize(BehaviorMemberProviderContext context)
Section titled “Initialize(BehaviorMemberProviderContext context)”void Initialize(BitQuirky.Behavior.Member.BehaviorMemberProviderContext context)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1200
Binds the provider to one agent’s explicit execution context.
Invoke(int accessorId, int targetIndex, int argumentStart, int argumentCount, int resultIndex)
Section titled “Invoke(int accessorId, int targetIndex, int argumentStart, int argumentCount, int resultIndex)”BitQuirky.Behavior.Member.BehaviorMemberInvocationResult Invoke(int accessorId, int targetIndex, int argumentStart, int argumentCount, int resultIndex)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1207-1212
Invokes the generated accessor for one member operation against the exact resolved target, reading its materialized arguments and writing any returned value through the result sink.
Subscribe(int accessorId, int targetIndex, int activationGeneration)
Section titled “Subscribe(int accessorId, int targetIndex, int activationGeneration)”void Subscribe(int accessorId, int targetIndex, int activationGeneration)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1215
Subscribes one authored notification or event accessor for an activation.
Unsubscribe(int accessorId, int targetIndex, int activationGeneration)
Section titled “Unsubscribe(int accessorId, int targetIndex, int activationGeneration)”void Unsubscribe(int accessorId, int targetIndex, int activationGeneration)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1218
Unsubscribes one authored notification or event accessor for an activation.
IBehaviorMemberProviderDiagnostics
Section titled “IBehaviorMemberProviderDiagnostics”Category: Member binding
interface BitQuirky.Behavior.Member.IBehaviorMemberProviderDiagnosticsSource declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1229-1236
Optional diagnostic contract implemented by generated member providers so the runtime can verify a baked artifact’s output destinations against the exact compiled types the generated accessor uses.
Members
Section titled “Members”TryGetUnmanagedOutputSize(int accessorId, int ordinal, out int size)
Section titled “TryGetUnmanagedOutputSize(int accessorId, int ordinal, out int size)”bool TryGetUnmanagedOutputSize(int accessorId, int ordinal, out int size)Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1235
Gets the exact unmanaged byte size of one generated output parameter, if the provider
knows it. Returnsfalsefor parameters that are not unmanaged out/ref outputs.
Source fingerprint: sha256:ad0983d00d773d882bc61865e18d8c5559e009d181e5891575cd7f262515b23e