Skip to content
Bit Quirky Behavior Trees and
State Machines

Search documentation

All topics and APIs

Close returns focus to Search.

What are you looking for?

Try a common topic or enter a complete API identifier.

Browse the reference instead

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

v0.6.0
Menu

BitQuirky.Behavior.Member

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

Source snapshot ad0983d00d77.

On this page

Assembly: BitQuirky.Behavior.Runtime

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorAgentSurface

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

C#
GameObject = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:21

A GameObject-bound agent, which carries every declared type.

C#
PureEntity = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:24

A pure entity, whose blackboard is unmanaged data only.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityDiagnostic

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

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

C#
public string DeclaredType { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:128

Gets the complete declared type identity, never shortened.

C#
public string GraphIdentity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:122

Gets the exact graph or source identity.

C#
public string Message { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:146

Gets the actionable quiet presentation message.

C#
public BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityReason Reason { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:140

Gets the stable refusal reason.

C#
public BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityRecovery Recoveries { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:143

Gets the recoveries this refusal offers.

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

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

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

C#
public override string ToString()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:149-159

Renders the complete verdict, including every diagnostic coordinate.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityReason

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

C#
ArtifactMissingDeclaredValueTables = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:48

The artifact predates declared-value tables and cannot state its storage.

C#
CollectionHasNoEntityStorage = 3

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

C#
ManagedValueIncompatibleWithPureEntity = 1

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

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:39

The artifact is compatible with the target surface.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorArtifactCompatibilityRecovery

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

C#
BakeForTheGameObjectPath = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:79

Bake the graph for the GameObject path.

C#
ChangeTheShape = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:76

Change the shape, which keeps values in authored order and drops keys.

C#
ChangeTheType = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:73

Change the declared type to one the path carries.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorArtifactCompatibilityDiagnostic.cs:70

No recovery applies.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorEntityContainerClass

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

C#
BufferElement = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:43

An unmanaged IBufferElementData addressed one exact entry at a time.

C#
Component = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:40

An unmanaged IComponentData whose stored data is representable.

C#
ManagedComponent = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:49

A component-shaped type whose storage holds managed references.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:37

The type is not a container the entity backend can address.

C#
StaticType = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorEntityMemberAvailability.cs:46

A declaring type reached with no entity instance at all.

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorEntityMemberAvailability

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

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

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

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

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

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorEntityMemberReading

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

C#
public string BindingId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1185

Gets the exact member binding id.

C#
public string Code { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1214

Gets the stable diagnostic code of the reason.

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

C#
public string GraphIdentity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1179

Gets the canonical graph identity.

C#
public bool HasTargetEntity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1194

Gets whether this evaluation named one exact target entity.

C#
public string MemberIdentity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1191

Gets the exact authored member identity.

C#
public string NodeId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1182

Gets the affected node id.

C#
public int ObservedCount { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1203

Gets the cardinality the evaluation observed.

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

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

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

C#
public string TargetLabel { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1188

Gets the authored target label.

C#
public string WorldIdentity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1176

Gets the exact World instance that evaluated the graph.

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

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorEntityMemberReadingRecord

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

C#
public int EntityIndex { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1100

Gets the affected agent entity’s index.

C#
public int EntityVersion { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1103

Gets the affected agent entity’s version.

C#
public bool HasTargetEntity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1112

Gets whether this evaluation named one exact target entity.

C#
public bool IsResolution { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1124

Gets whether this record closes an earlier unresolved occurrence.

C#
public int ObservedCount { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:1121

Gets the cardinality the evaluation actually observed.

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

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

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

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorEntityMemberReadingStore

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

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

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

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

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

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorEntityMemberValueContract

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

IsSupportedIdentityKind(BehaviorMemberValueKind kind)

Section titled “IsSupportedIdentityKind(BehaviorMemberValueKind kind)”
C#
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)”
C#
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)”
C#
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)”
C#
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)”
C#
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)”
C#
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.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity

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

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

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

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

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

C#
public bool IsAttached { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:220

Gets whether this identity currently permits reads and edits.

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

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

C#
public bool Equals(BitQuirky.Behavior.Member.BehaviorLiveAgentIdentity other)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:235-240

C#
public override bool Equals(object obj)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:243-246

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

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate

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

C#
public BitQuirky.Behavior.Baked.BakedMemberAccess Access { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:357

Gets the authored member access flags.

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

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

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

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

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

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

C#
public string MemberName { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:354

Gets the exact member identifier.

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

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

C#
public int OperationIndex { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:330

Gets the exact baked member operation row.

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

C#
public string SurfaceName { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:327

Gets the authored Live and blackboard presentation name.

C#
public BitQuirky.Behavior.Baked.BakedMemberSynchronization Synchronization { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:366

Gets the authored synchronization mode flags.

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

C#
public BitQuirky.Behavior.Baked.BakedMemberTargetMode TargetMode { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:342

Gets the authored target resolution mode.

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

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

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

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

C#
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)”
C#
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)”
C#
public bool Equals(BitQuirky.Behavior.Member.BehaviorLiveMemberCoordinate other)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:392-414

C#
public override bool Equals(object obj)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:417-420

C#
public override int GetHashCode()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:423-434

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorLiveMemberEditDisposition

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:90-97

Underlying type: byte

Whether one submitted Live edit changed the running member.

C#
Accepted = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:96

The generated setter accepted the exact payload and the transaction committed.

C#
Refused = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:93

The request was refused; see the structured refusal reason.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberEditRequest

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

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

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

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

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

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

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberEditResult

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

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

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

C#
public BitQuirky.Behavior.Member.BehaviorLiveMemberEditDisposition Disposition { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:924

Gets whether the running member changed.

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

C#
public bool IsAccepted { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:951

Gets whether the running member changed.

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

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

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

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

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorLiveMemberHealth

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

C#
Cleared = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:32

No attached runtime instance; authored target and direction remain context.

C#
HealthyWritable = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:35

Exact target, member, and type are available and the authored direction pushes.

C#
Incompatible = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:44

The exact authored contract cannot be represented as an editable value.

C#
ReadOnly = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:38

Authored direction or member access permits no Live write.

C#
Unavailable = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:41

The selected runtime, target, or exact member cannot currently be reached.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorLiveMemberLifecycle

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:11-24

Underlying type: byte

Lifecycle of one Live member attachment to a running agent.

C#
Attached = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:17

One initialized runtime instance is attached and accepts reads and edits.

C#
Destroyed = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:20

The attached instance was destroyed.

C#
Detached = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:14

No attached runtime instance.

C#
PlayModeEnded = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:23

Play Mode ended, so the attached instance no longer exists.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorLiveMemberPendingFeedback

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

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:74

Nothing is pending; the last accepted value has settled.

C#
WaitingForNextEvaluation = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:77

The value is confirmed on the member and awaits the next selected evaluation.

C#
WaitingForStep = 2

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

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorLiveMemberRefusalReason

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

C#
BindingCoordinateMismatch = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:117

A binding, operation, slot, or target coordinate does not match the baked row.

C#
DetachedInstance = 1

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

C#
ExecutableFingerprintChanged = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:111

The executable content fingerprint changed since the snapshot.

C#
IncompatiblePayload = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:126

The payload is absent, of another kind, or not the binding’s exact representation.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:105

No refusal.

C#
OneShotGenerationConsumed = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:120

The one-shot generation the request echoes was already consumed.

C#
ReadOnlyDirection = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:123

The authored direction or member access permits no Live write.

C#
RuntimeGenerationChanged = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:114

The agent’s member runtime generation changed since the snapshot.

C#
RuntimeUnavailable = 9

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:132

The member runtime is uninitialized or disposed.

C#
SetterThrew = 11

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:138

The generated member setter threw after a successful preflight.

C#
TargetUnavailable = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:129

The exact target or member cannot currently be reached.

C#
UnsupportedMemberShape = 10

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:135

The baked row is not a surfaced property or field projection.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberSnapshot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorLiveMemberSourceOrigin

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

C#
GameWrite = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:65

A write made by game code through the agent’s central blackboard writer.

C#
MemberNotification = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:59

An authored member notification callback.

C#
MemberPoll = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:56

An ordinary member-to-blackboard poll of the bound getter.

C#
RuntimeEdit = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:62

One accepted Live member edit transaction.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:53

Nothing has written the slot since the runtime initialized or reset.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorLiveMemberStorage

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

C#
CompactBits = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:150

Up to eight exact little-endian value bytes.

C#
ManagedReference = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:156

One managed object held in the agent’s managed reference sidecar.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:147

No representation exists, so the kind can be neither displayed nor edited.

C#
UnmanagedBytes = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:159

An exact unmanaged value stored at its baked native size.

C#
WideBits = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:153

Up to sixteen exact little-endian value bytes across two words.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorLiveMemberValue

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

C#
public long Bits { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:478

Gets the lower eight exact little-endian value bytes.

C#
public int ByteCount { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:492

Gets the exact byte count of an unmanaged payload.

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

C#
public bool HasValue { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:516

Gets whether this value carries a supported representation.

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

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

C#
public object Reference { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:484

Gets the managed object of a reference-kind value.

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

C#
public long UpperBits { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:481

Gets bytes eight through fifteen of a wide value.

C#
public bool AsBoolean()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:585-589

Reads this value as the exact bool it carries.

C#
public int AsInt32()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:578-582

Reads this value as the exact int it carries.

C#
public float AsSingle()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:571-575

Reads this value as the exact float it carries.

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

C#
public bool Equals(BitQuirky.Behavior.Member.BehaviorLiveMemberValue other)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:632-647

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

C#
public override int GetHashCode()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorLiveMemberContracts.cs:656-659

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

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

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorManagedOperandProjector

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

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

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

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

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberArgumentView

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

C#
public int Count { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:258

Gets the number of materialized arguments.

C#
public bool Boolean(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:261

Reads the exact bool argument at the ordinal.

C#
public byte Byte(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:267

Reads the exact byte argument at the ordinal.

C#
public char Char(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:288

Reads the exact char argument at the ordinal.

C#
public double Double(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:294

Reads the exact double argument at the ordinal.

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

C#
public TEnum Enum<TEnum>(int ordinal) where TEnum : unmanaged, System.Enum

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:343-354

Reads the exact enum argument at the ordinal from its underlying bits.

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

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

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

C#
public short Int16(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:270

Reads the exact short argument at the ordinal.

C#
public int Int32(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:276

Reads the exact int argument at the ordinal.

C#
public long Int64(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:282

Reads the exact long argument at the ordinal.

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

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

C#
public sbyte SByte(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:264

Reads the exact sbyte argument at the ordinal.

C#
public float Single(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:291

Reads the exact float argument at the ordinal.

C#
public ushort UInt16(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:273

Reads the exact ushort argument at the ordinal.

C#
public uint UInt32(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:279

Reads the exact uint argument at the ordinal.

C#
public ulong UInt64(int ordinal)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:285

Reads the exact ulong argument at the ordinal.

C#
public T Unmanaged<T>(int ordinal) where T : unmanaged

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:363-399

Reads an unmanaged developer value from its allocation-free native transport.

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberAttribute

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnostic

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

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

C#
public string BindingId { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:248

Gets or sets the stable binding id.

C#
public string Code { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:363

Gets the stable diagnostic code string of the reason.

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

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

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

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

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

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

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

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

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

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

C#
public string MemberName { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:263

Gets or sets the exact member identifier.

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

C#
public string MemberSignature { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:266

Gets or sets the exact member signature text.

C#
public string Message { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:296

Gets or sets the actionable human-readable message.

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

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

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

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

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

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

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

C#
public string TargetMode { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:251

Gets or sets the canonical target-mode token.

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

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

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

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

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

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberBindingDiagnosticReason

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

C#
AmbiguousOverload = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:37

Several overloads match the authored parameter list, so the call is not exact.

C#
AmbiguousTarget = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:25

More than one candidate satisfies the authored target, so the choice is not exact.

C#
CoroutineFaulted = 20

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:76

An owned coroutine threw while the graph advanced it.

C#
DeclaredDefaultUnavailable = 49

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

C#
EntityAccessSetInvalid = 31

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:113

The declared ECS read and write access set is missing, stale, or too weak.

C#
EntityAccessorMissing = 42

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

C#
EntityBufferElementUnsupported = 25

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:95

The authored buffer element type has no exact entity representation.

C#
EntityBufferEntrySelectorImplicit = 26

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:98

The authored entry selector does not name one exact existing entry.

C#
EntityBufferIdentityCardinality = 48

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:174

Live: an identity-addressed buffer selector matched zero or multiple entries.

C#
EntityBufferIndexRange = 28

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:104

Live: the addressed fixed buffer index is outside the current buffer.

C#
EntityBufferLengthOperationUnsupported = 27

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:101

The binding requests an operation that would change buffer length.

C#
EntityBurstUnavailable = 41

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

C#
EntityComponentMissing = 22

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:86

Live: the entity is alive but its archetype no longer carries the component.

C#
EntityComponentRequired = 33

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:119

A target mode that names no component names no contract to resolve.

C#
EntityEventOccurrenceStateInvalid = 30

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:110

The bake-sized occurrence state cannot hold the authored selector.

C#
EntityEventSourceUnsupported = 29

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:107

The authored occurrence source has no entity observation.

C#
EntityHandleInvalid = 24

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:92

Live: a handle names a null, destroyed, stale, or locally absent entity.

C#
EntityNoCallSite = 37

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:131

The authored member has no direct call site on the entity path.

C#
EntityNoStorage = 36

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:128

The authored type or declared collection holds managed references.

C#
EntityPropertyAccessorComputes = 38

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:134

A property accessor computes rather than reading or writing a stored field.

C#
EntityPropertyManagedReturn = 39

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:137

A property accessor returns a managed reference.

C#
EntitySignatureUnsupported = 40

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:140

The authored signature shape has no direct entity call.

C#
EntitySingletonCardinality = 23

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:89

Live: the singleton component’s observed count is not exactly one.

C#
EntitySourceNotAnEntity = 34

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:122

A handle source entry resolves to a type that is not an entity.

C#
EntityTargetModeUnsupported = 21

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:83

An authored target mode the entity backend does not offer.

C#
EntityTypeNotFound = 35

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:125

The exact saved component type is absent from the project.

C#
EntityValueUnsupported = 32

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:116

The authored value has no direct Burst-representable entity storage.

C#
GenericConstraintViolation = 46

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:168

One chosen generic type violates a declared CLR constraint.

C#
GenericDefinitionUnavailable = 47

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:171

The exact stored open generic method definition is unavailable or stale.

C#
InaccessibleMember = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:34

The bound member exists but is not public enough for the graph to reach.

C#
IndexArgumentRequired = 51

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

C#
InvalidAccess = 9

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

C#
InvalidComparison = 13

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:55

The authored comparison cannot be applied to the operand types it names.

C#
MemberThrew = 18

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:70

A bound member threw while the graph invoked it.

C#
MissingBlackboardField = 12

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:52

The binding names a blackboard field the graph does not declare.

C#
MissingComponent = 43

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:159

Live: a valid same-GameObject carrier does not currently have the required component.

C#
MissingEventAccess = 14

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:58

An event binding cannot subscribe or unsubscribe because the event lacks the needed accessor.

C#
MissingExplicitReference = 15

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:61

The binding’s explicit-reference slot is empty or names no known slot.

C#
MissingGenericArgument = 44

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:162

One declared generic method parameter has no concrete choice.

C#
MissingGenericType = 45

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:165

One exact saved generic type identity no longer resolves.

C#
MissingMember = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:28

The declaring type no longer declares a member with the authored name.

C#
MissingTarget = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:19

The binding’s authored target could not be resolved to any instance.

C#
ParameterIdentityChanged = 50

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

C#
ParamsValueRequired = 52

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

C#
ProviderBindingSetMismatch = 17

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

C#
RenamedMember = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:31

The bound member was renamed; the binding still names its former identity.

C#
StaleGeneratedProvider = 16

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:64

The generated provider predates the current bindings and must be regenerated.

C#
TargetLost = 19

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:73

A resolved target was destroyed or became unavailable while the graph ran.

C#
TargetTypeMismatch = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:22

The resolved target is not of the declaring type the binding names.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:16

No reason was recorded; the diagnostic carries only its message.

C#
UnsupportedConversion = 11

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

C#
UnsupportedSignature = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:40

The bound member’s signature is a shape the member pipeline does not support.

C#
UnsupportedValueType = 10

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:46

The member’s value type has no blackboard representation.

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberBindingRuntime

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

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

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

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

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

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

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

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

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

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

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

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

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

C#
public int NotificationBindingCount { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:278

Gets the number of authored notification subscriptions held.

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

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

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

C#
public int TargetReadingCount { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:340

Gets the number of preallocated live target readings.

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

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

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

C#
public void Dispose()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingRuntime.cs:870-881

Unsubscribes notifications, cancels deferred work, and disposes the provider.

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

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

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

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

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberContractHash

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

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

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberConversion

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

C#
CollectionToArray = 6

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

C#
EnumToUnderlying = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:116

Enum to its exact underlying integral type.

C#
Identity = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:110

Exact supported type on both sides.

C#
NumericWidening = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:113

Supported numeric primitive with a C# implicit widening conversion.

C#
ReferenceAssignable = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:122

Reference type to an assignable base class or implemented interface.

C#
UnderlyingToEnum = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:119

Exact underlying integral type to enum.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:107

No allowed conversion exists for the pair.

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberCoroutineOutcome

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

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

C#
public BitQuirky.Behavior.Member.BehaviorMemberInvocationStatus Status { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:184

Gets the exact terminal status.

C#
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)”
C#
public BehaviorMemberCoroutineOutcome(BitQuirky.Behavior.Member.BehaviorMemberInvocationStatus status)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:178-181

Creates an exact terminal marker.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefault

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

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

C#
public string DisplayLiteral { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3158

Gets the canonical authored spelling the editor controls show.

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

C#
public bool IsConcrete { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3172

Gets whether this descriptor describes a concrete declared value.

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

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

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

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultContract

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

  • Substitutedefault(T)for an absent or unsupported value, read authored source, resolve an overload, or cache a declaration across a domain reload.

HasConcreteDefault(ParameterInfo parameter)

Section titled “HasConcreteDefault(ParameterInfo parameter)”
C#
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)”
C#
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)”
C#
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.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultKind

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

C#
Bool = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3047

A Boolean value.

C#
Byte = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3053

An 8-bit unsigned integer value.

C#
Char = 11

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3074

A UTF-16 character value.

C#
DateTime = 15

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3086

A date and time value.

C#
Decimal = 14

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3083

A decimal value.

C#
Double = 13

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3080

A double-precision floating-point value.

C#
Enum = 16

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3089

An enum value carrying both its exact type and its underlying value.

C#
Int16 = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3056

A 16-bit signed integer value.

C#
Int32 = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3062

A 32-bit signed integer value.

C#
Int64 = 9

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3068

A 64-bit signed integer value.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3041

No concrete declared default exists.

C#
Null = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3044

An absent reference, which is a concrete value.

C#
SByte = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3050

An 8-bit signed integer value.

C#
Single = 12

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3077

A single-precision floating-point value.

C#
Text = 17

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3092

A text value.

C#
UInt16 = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3059

A 16-bit unsigned integer value.

C#
UInt32 = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3065

A 32-bit unsigned integer value.

C#
UInt64 = 10

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3071

A 64-bit unsigned integer value.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberDeclaredDefaultOverride

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

C#
Blackboard = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3109

The existing compatible-variable picker can supply the parameter.

C#
Constant = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3106

The existing typed constant editor can hold the exact declared value.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:3103

Default only: no existing authored source can carry this value.

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberDeclaredValues

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

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

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

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

C#
public int ElementCapacity(int index)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:845

Gets the authored capacity of one carried collection.

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

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

C#
public string Name(int index)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:757

Gets the exact declared name of one variable.

C#
public T Read<T>(int index) where T : unmanaged

Source 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)”
C#
public T ReadElement<T>(int index, int elementIndex) where T : unmanaged

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:848-852

Reads one element of a carried collection in its exact unmanaged type.

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

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

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

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

C#
public void Write<T>(int index, T value) where T : unmanaged

Source 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)”
C#
public void WriteElement<T>(int index, int elementIndex, T value) where T : unmanaged

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:855-863

Writes one element of a carried collection in its exact unmanaged type.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberEventConditionSink

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

C#
public void Fire()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:680

Records that the event fired for this activation.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberFault

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

C#
public string Code { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:65

Gets the stable diagnostic code string of the reason.

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

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

C#
public int FrameNumber { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:62

Gets the frame number the failure was observed on.

C#
public string MemberName { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:53

Gets the exact member identifier that failed.

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

C#
public string OwnerName { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:47

Gets the graph owner identity that observed the failure.

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

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

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

C#
public override int GetHashCode()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberFault.cs:95-105

Hashes every field of this failure record.

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

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberInvocationResult

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

C#
public static BitQuirky.Behavior.Member.BehaviorMemberInvocationResult Failed { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:114-115

One failed result.

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

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

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

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

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

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberInvocationStatus

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

C#
AuthorityMismatch = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:85

The operation reported an authority mismatch.

C#
Blocked = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:76

The operation reported the blocked status.

C#
Failed = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:70

The operation completed and failed.

C#
Interrupted = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:82

The operation was interrupted.

C#
Running = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:73

A coroutine started and remains running until one later completion.

C#
Succeeded = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:67

The operation completed and succeeded.

C#
Timeout = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:79

The operation reported the timeout status.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberNotificationSink

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

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberProviderContext

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

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

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

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

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

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

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

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

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

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

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

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

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

C#
public TTarget Target<TTarget>(int targetIndex) where TTarget : class

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:1106-1111

Gets the exact resolved target cast to its assigned type, or null.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberRefEvaluationReading

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

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

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

C#
public string NodeId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:794

Gets the affected node id.

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

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

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

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

Category: Member binding

C#
struct BitQuirky.Behavior.Member.BehaviorMemberReference

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

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

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

C#
public bool HasTarget { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberReference.cs:55

Gets whether this slot carries an assigned object.

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

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

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberResultSink

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

C#
public void Boolean(bool value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:446

Writes a bool result to the surfaced slot.

C#
public void Byte(byte value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:452

Writes a byte result to the surfaced slot.

C#
public void Char(char value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:473

Writes a char result to the surfaced slot.

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

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

C#
public void Enum<TEnum>(TEnum value) where TEnum : unmanaged, System.Enum

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:519-529

Writes an enum result to the surfaced slot from its underlying bits.

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

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

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

C#
public void Int16(short value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:455

Writes a short result to the surfaced slot.

C#
public void Int32(int value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:461

Writes an int result to the surfaced slot.

C#
public void Int64(long value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:467

Writes a long result to the surfaced slot.

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

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

C#
public void SByte(sbyte value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:449

Writes an sbyte result to the surfaced slot.

C#
public void Single(float value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:476

Writes a float result to the surfaced slot.

C#
public void UInt16(ushort value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:458

Writes a ushort result to the surfaced slot.

C#
public void UInt32(uint value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:464

Writes a uint result to the surfaced slot.

C#
public void UInt64(ulong value)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:470

Writes a ulong result to the surfaced slot.

C#
public void Unmanaged<T>(T value) where T : unmanaged

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/IBehaviorMemberProvider.cs:535-538

Writes an unmanaged developer value through allocation-free native transport.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberTargetReading

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

C#
public string BindingId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:604

Gets the exact member binding id.

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

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

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

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

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

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

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

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

C#
public string GraphIdentity { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:598

Gets the canonical graph identity.

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

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

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

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

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

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

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

C#
public string NodeId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:601

Gets the affected node id.

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

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

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

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

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberTargetReadingStore

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

C#
public int Count { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberBindingDiagnostic.cs:856

Gets the number of preallocated entries.

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

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

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

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberValueCompatibility

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

Evaluate(BehaviorDeclaredValueDescriptor descriptor, BehaviorMemberValueRequirement requirement)

Section titled “Evaluate(BehaviorDeclaredValueDescriptor descriptor, BehaviorMemberValueRequirement requirement)”
C#
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)”
C#
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)”
C#
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)”
C#
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)”
C#
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)”
C#
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)”
C#
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.

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

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberValueContract

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

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

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

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

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

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

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

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberValueFlow

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

C#
ToBlackboard = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:951

The member supplies the blackboard.

C#
ToMember = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:948

The blackboard supplies the member.

C#
TwoWay = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:954

The value moves both ways, so it must be exact in both.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:945

No direction.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberValueKind

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

C#
Bool = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:29

One bool value.

C#
Byte = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:35

One byte value.

C#
Char = 10

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:56

One char value.

C#
EntityId = 16

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:74

The existing product entity identifier blackboard kind.

C#
Enum = 13

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:65

An enum with a supported integral underlying type plus exact enum identity.

C#
Float2 = 14

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:68

The existing product Unity.Mathematics.float2 blackboard kind.

C#
Float32 = 11

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:59

One float value.

C#
Float3 = 15

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:71

The existing product Unity.Mathematics.float3 blackboard kind.

C#
Float4 = 22

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:92

One Unity.Mathematics.float4 value.

C#
Float64 = 12

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:62

One double value.

C#
Int16 = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:38

One short value.

C#
Int32 = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:44

One int value.

C#
Int64 = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:50

One long value.

C#
ManagedReference = 19

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:83

A non-Unity managed reference held in the per-agent managed sidecar.

C#
RequestId = 17

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:77

The existing product request identifier blackboard kind.

C#
SByte = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:32

One sbyte value.

C#
UInt16 = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:41

One ushort value.

C#
UInt32 = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:47

One uint value.

C#
UInt64 = 9

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:53

One ulong value.

C#
UnityObjectReference = 18

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:80

A UnityEngine.Object or subclass held in the managed reference sidecar.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:26

No supported representation.

C#
Unmanaged16 = 20

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:86

An unmanaged developer value up to sixteen bytes.

C#
UnmanagedValue = 21

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:89

An unmanaged developer value stored at its baked native size.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberValueRequirement

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

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

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

C#
public BitQuirky.Behavior.Member.BehaviorMemberValueFlow Flow { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1064

Gets the direction the value moves.

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

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

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

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

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

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberValueRole

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

C#
Argument = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:911

One by-value method or message argument.

C#
Field = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:920

A field value, read, written, or both.

C#
IndexArgument = 6

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

C#
Output = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:923

The stored destination of an output-only method parameter.

C#
Property = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:917

A property value, read, written, or both.

C#
Result = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:914

The stored destination of a method result.

C#
Unknown = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:908

No member role.

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberVariableCandidate

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

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

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

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

C#
public string Name { get; set; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1153

Gets or sets the exact blackboard entry name.

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

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

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

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

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

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

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

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

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberVariableOrigin

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

C#
Declared = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1021

A variable declared by this graph.

C#
Surfaced = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1024

An entry a member binding surfaces automatically.

Category: Member binding

C#
enum BitQuirky.Behavior.Member.BehaviorMemberVariableRejection

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

C#
DeclaredTypeUnresolved = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:976

The variable’s declared type record no longer resolves to one type.

C#
ExactTypeRequired = 5

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:985

A collection, dictionary or struct requires the exact same type.

C#
MemberTypeUnresolved = 3

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:979

The member’s exact type record no longer resolves to one type.

C#
None = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:970

The variable can serve the role.

C#
NotAssignableToBlackboard = 7

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:991

The member’s value cannot reach the variable’s declared type.

C#
NotAssignableToMember = 6

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:988

The variable’s value cannot reach the member’s type.

C#
NotComparable = 9

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:999

The entry offers no comparison, so no transition predicate can decide it.

C#
NotWritable = 10

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

C#
TwoWayRequiresExactType = 8

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:994

A two-way binding needs one exact type on both sides.

C#
UnsupportedValueType = 4

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:982

One side is not a supported member value type.

C#
VariableNotFound = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:973

The saved variable is no longer on the blackboard.

Category: Member binding

C#
class BitQuirky.Behavior.Member.BehaviorMemberVariableSelection

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

BuildCandidates(BehaviorSourceAst ast, BehaviorMemberValueRequirement requirement, string savedName)

Section titled “BuildCandidates(BehaviorSourceAst ast, BehaviorMemberValueRequirement requirement, string savedName)”
C#
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)”
C#
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)”
C#
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)”
C#
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)”
C#
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)”
C#
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)”
C#
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.

Category: Member binding

C#
readonly struct BitQuirky.Behavior.Member.BehaviorMemberVariableVerdict

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

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

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

C#
public bool IsCompatible { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Member/BehaviorMemberValueContract.cs:1136

Gets whether the variable can serve the requirement.

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

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

C#
interface BitQuirky.Behavior.Member.IBehaviorEntityPropertyAccessorProofProvider

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

HasDirectStoredFieldProof(PropertyInfo property, bool requireRead, bool requireWrite)

Section titled “HasDirectStoredFieldProof(PropertyInfo property, bool requireRead, bool requireWrite)”
C#
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.

Category: Member binding

C#
interface BitQuirky.Behavior.Member.IBehaviorLiveMemberCapability

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

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

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

Category: Member binding

C#
interface BitQuirky.Behavior.Member.IBehaviorMemberCommandSink

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

HandleMemberCommand(in ExternalServiceCommand command, int frameNumber)

Section titled “HandleMemberCommand(in ExternalServiceCommand command, int frameNumber)”
C#
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.

Category: Member binding

C#
interface BitQuirky.Behavior.Member.IBehaviorMemberProvider

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

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

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

Category: Member binding

C#
interface BitQuirky.Behavior.Member.IBehaviorMemberProviderDiagnostics

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

TryGetUnmanagedOutputSize(int accessorId, int ordinal, out int size)

Section titled “TryGetUnmanagedOutputSize(int accessorId, int ordinal, out int size)”
C#
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

Full-size image