Table of Contents

Struct ComponentSchemaSpec

Namespace
Typhon.Schema.Definition
Assembly
Typhon.Schema.Definition.dll

Pure-data description of one component revision's schema: its identity, storage/durability defaults, and ordered fields. Consumed by the engine's single build core (shared by reflection and the source generator) to produce the compiled component definition.

public readonly struct ComponentSchemaSpec
Inherited Members

Constructors

ComponentSchemaSpec(string, int, ComponentFieldSpec[], StorageMode, DurabilityDiscipline)

Creates a component schema spec.

public ComponentSchemaSpec(string name, int revision, ComponentFieldSpec[] fields, StorageMode storageMode = StorageMode.Versioned, DurabilityDiscipline defaultDiscipline = DurabilityDiscipline.TickFence)

Parameters

name string

Component name (see Name).

revision int

Schema revision (see Revision).

fields ComponentFieldSpec[]

Ordered field specs (see Fields).

storageMode StorageMode

Storage mode (see StorageMode); default Versioned.

defaultDiscipline DurabilityDiscipline

Default durability discipline (see DefaultDiscipline); default TickFence.

Properties

DefaultDiscipline

Default durability discipline (from DefaultDiscipline); only meaningful for SingleVersion.

public DurabilityDiscipline DefaultDiscipline { get; }

Property Value

DurabilityDiscipline

Fields

The component's fields in declaration order (parent-first for inherited layouts). Never null.

public ComponentFieldSpec[] Fields { get; }

Property Value

ComponentFieldSpec[]

Name

Component name — the stable schema identity (from Name).

public string Name { get; }

Property Value

string

Revision

Component schema revision (from Revision).

public int Revision { get; }

Property Value

int

StorageMode

Storage mode for this component (from StorageMode).

public StorageMode StorageMode { get; }

Property Value

StorageMode