Table of Contents

Class SystemAccessDescriptor

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

Accumulator for a system's declared read/write access (RFC 07 — System Access Declarations + Auto-DAG). Populated by SystemBuilder declaration methods, copied into Dag.SystemRegistration, then onto Access at Build(IResource, ILogger) time.

public sealed class SystemAccessDescriptor
Inheritance
SystemAccessDescriptor
Inherited Members

Remarks

Unit 2 of the auto-DAG migration: storage only. Conflict detection (W×W errors, R×W-plain errors, derived edges) lands in Unit 3. All sets default to empty; entries are deduped automatically by the underlying HashSet<T>. Public so tooling (Workbench Schema Inspector, Profiler topology surfacing — RFC 07 Unit 6) can project the declarations onto its DTO surface without bouncing through reflection.

Constructors

SystemAccessDescriptor()

public SystemAccessDescriptor()

Fields

AdditionalReads

Component types read beyond the system's primary View input (cross-entity reads).

public readonly HashSet<Type> AdditionalReads

Field Value

HashSet<Type>

ExclusivePhase

When true, this system runs alone in its phase — no other system in the same phase may execute concurrently with it (Unit 3 enforces).

public bool ExclusivePhase

Field Value

bool

Reads

Component types declared with b.Reads<T>(). Ambiguous about same-tick freshness — Unit 3 errors if a same-phase writer of T exists.

public readonly HashSet<Type> Reads

Field Value

HashSet<Type>

ReadsEvents

Event queues this system consumes from.

public readonly HashSet<EventQueueBase> ReadsEvents

Field Value

HashSet<EventQueueBase>

ReadsFresh

Component types declared with b.ReadsFresh<T>(). Reader is ordered AFTER any same-phase writer of T (Unit 3).

public readonly HashSet<Type> ReadsFresh

Field Value

HashSet<Type>

ReadsResources

Named resources this system reads.

public readonly HashSet<string> ReadsResources

Field Value

HashSet<string>

ReadsSnapshot

Component types declared with b.ReadsSnapshot<T>(). Reader is ordered BEFORE any same-phase writer of T (Unit 3) — sees previous-tick value.

public readonly HashSet<Type> ReadsSnapshot

Field Value

HashSet<Type>

SideWrites

Component types written via Immediate side-transactions. Surfaced in tooling but does NOT affect scheduler ordering.

public readonly HashSet<Type> SideWrites

Field Value

HashSet<Type>

Writes

Component types this system mutates via EntityRef.Write<T>().

public readonly HashSet<Type> Writes

Field Value

HashSet<Type>

WritesEvents

Event queues this system publishes to. Producer→consumer edges are derived in Unit 3.

public readonly HashSet<EventQueueBase> WritesEvents

Field Value

HashSet<EventQueueBase>

WritesResources

Named resources this system mutates (e.g., a shared physics-world handle).

public readonly HashSet<string> WritesResources

Field Value

HashSet<string>

Properties

HasAnyDeclaration

Returns true if any access has been declared. Used by Unit 3 to skip conflict detection on undeclared systems during the migration window.

public bool HasAnyDeclaration { get; }

Property Value

bool