Table of Contents

Enum SimTier

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

Simulation tier for tier-filtered system dispatch (issue #231). A spatial cell's tier determines which game systems process the clusters attached to that cell — Tier 0 cells run every system every tick, Tier 3 cells may only be touched by aggregate models.

[Flags]
public enum SimTier : byte
Extension Methods

Fields

Active = Near | Tier2

Convenience combination: Tier0 + Tier1 + Tier2. Excludes Tier 3.

All = Active | Tier3

Convenience combination: all four tiers. The default system tier filter — matches pre-#231 behaviour (no filtering).

Near = Tier0 | Tier1

Convenience combination: Tier0 + Tier1.

None = 0

Sentinel: no tiers. Invalid as a system tier filter (rejected at RuntimeSchedule.Build).

Tier0 = 1

Full simulation — every tick, near the observer.

Tier1 = 2

Reduced simulation — every tick but lighter work (e.g. movement only).

Tier2 = 4

Coarse simulation — amortized across ticks, typically combined with cellAmortize.

Tier3 = 8

Statistical / dormant — aggregate model, no per-entity work.

Remarks

Not to be confused with Typhon.Engine.Internals.SpatialTier, which classifies cluster storage by dimensionality and precision (2F/3F/2D/3D) and is an internal concern of the per-cell R-Tree (issue #230). SimTier is orthogonal: it controls dispatch frequency, not storage layout.

Values are flag bits so systems can target multiple tiers at once (e.g. a movement system running in both near-camera tiers would use Near). The encoding Tier0=1, Tier1=2, Tier2=4, Tier3=8 lets ToIndex(SimTier) map a single-bit flag to its array index via TrailingZeroCount(uint) in ~1 cycle.