Enum SimTier
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 | Tier2Convenience combination: Tier0 + Tier1 + Tier2. Excludes Tier 3.
All = Active | Tier3Convenience combination: all four tiers. The default system tier filter — matches pre-#231 behaviour (no filtering).
Near = Tier0 | Tier1None = 0Sentinel: no tiers. Invalid as a system tier filter (rejected at
RuntimeSchedule.Build).Tier0 = 1Full simulation — every tick, near the observer.
Tier1 = 2Reduced simulation — every tick but lighter work (e.g. movement only).
Tier2 = 4Coarse simulation — amortized across ticks, typically combined with
cellAmortize.Tier3 = 8Statistical / 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.