Class SystemDefinitionRecord
Describes a system in the DAG, stored in the system definition table of a .typhon-trace file.
Variable-length record (name is UTF-8 encoded).
public sealed class SystemDefinitionRecord
- Inheritance
-
SystemDefinitionRecord
- Inherited Members
Remarks
RFC 07 access declaration fields (Phase / Reads / Writes / etc.) were added in trace format v6. Older v5 traces yield empty defaults — readers do not throw.
Constructors
SystemDefinitionRecord()
public SystemDefinitionRecord()
Properties
AdditionalReads
Component type names read beyond the system's primary input view (cross-entity reads).
public string[] AdditionalReads { get; init; }
Property Value
- string[]
DagId
public ushort DagId { get; init; }
Property Value
ExplicitAfter
Names of systems this one is explicitly ordered AFTER (escape-hatch edge — RFC 07 §Q5).
public string[] ExplicitAfter { get; init; }
Property Value
- string[]
ExplicitBefore
Names of systems this one is explicitly ordered BEFORE.
public string[] ExplicitBefore { get; init; }
Property Value
- string[]
Index
System index in the DAG array.
public ushort Index { get; init; }
Property Value
IsExclusivePhase
True iff the system runs alone in its phase (no concurrent peers) — declared via SystemBuilder.ExclusivePhase().
public bool IsExclusivePhase { get; init; }
Property Value
IsParallel
Whether this system uses parallel chunk dispatch.
public bool IsParallel { get; init; }
Property Value
Name
Display name of the system.
public string Name { get; init; }
Property Value
PhaseName
Phase token name (RFC 07 §Q3) the system runs in. Empty string when no phase was declared.
public string PhaseName { get; init; }
Property Value
Predecessors
Indices of predecessor systems in the DAG.
public ushort[] Predecessors { get; init; }
Property Value
- ushort[]
Priority
Priority for overload management (Normal = 0, Low = 1, High = 2, Critical = 3).
public byte Priority { get; init; }
Property Value
Reads
Component type names declared with Reads<T>() — ambiguous-staleness reads.
public string[] Reads { get; init; }
Property Value
- string[]
ReadsEvents
Names of event queues this system consumes from.
public string[] ReadsEvents { get; init; }
Property Value
- string[]
ReadsFresh
Component type names declared with ReadsFresh<T>() — ordered after writers in the same phase.
public string[] ReadsFresh { get; init; }
Property Value
- string[]
ReadsResources
Names of named resources this system reads.
public string[] ReadsResources { get; init; }
Property Value
- string[]
ReadsSnapshot
Component type names declared with ReadsSnapshot<T>() — ordered before writers in the same phase.
public string[] ReadsSnapshot { get; init; }
Property Value
- string[]
SideWrites
Component type names written via Immediate side-transactions. Surfaced for tooling; does not affect scheduler order.
public string[] SideWrites { get; init; }
Property Value
- string[]
Successors
Indices of successor systems in the DAG.
public ushort[] Successors { get; init; }
Property Value
- ushort[]
TierFilter
Simulation tier filter (SimTier flags byte). 0x0F = All.
public byte TierFilter { get; init; }
Property Value
Type
Execution model (Pipeline = 0, Query = 1, Callback = 2).
public byte Type { get; init; }
Property Value
Writes
Component type names mutated via Writes<T>().
public string[] Writes { get; init; }
Property Value
- string[]
WritesEvents
Names of event queues this system publishes to.
public string[] WritesEvents { get; init; }
Property Value
- string[]
WritesResources
Names of named resources this system mutates.
public string[] WritesResources { get; init; }
Property Value
- string[]