diff --git a/src/AcDream.App/Streaming/LandblockStreamTier.cs b/src/AcDream.App/Streaming/LandblockStreamTier.cs new file mode 100644 index 0000000..c4a9e5d --- /dev/null +++ b/src/AcDream.App/Streaming/LandblockStreamTier.cs @@ -0,0 +1,28 @@ +namespace AcDream.App.Streaming; + +/// +/// Streaming-tier classification for a landblock. means +/// terrain mesh only; means terrain + scenery + EnvCells + +/// entity registration with the WB dispatcher. Per Phase A.5 spec §3. +/// +public enum LandblockStreamTier +{ + Far, + Near, +} + +/// +/// What work the streaming worker should perform for a given job. Distinct +/// from because +/// reads only the entity layer (terrain mesh already loaded), while +/// reads everything from scratch. Per Phase A.5 spec §4.3. +/// +public enum LandblockStreamJobKind +{ + /// Read LandBlock heightmap, build mesh, no entity layer. + LoadFar, + /// Read LandBlock + LandBlockInfo, generate scenery, build mesh, full entity layer. + LoadNear, + /// Read LandBlockInfo + scenery only — terrain already loaded for this LB. + PromoteToNear, +}