namespace InfiniteWorld.VoxelWorld.Contracts { /// /// Identifies why a point contributes to nav coverage so planners and diagnostics can treat different sources appropriately. /// public enum WorldInterestKind { /// Coverage seeded by the current player-controlled actor. PlayerActor = 0, /// Coverage seeded by an active NPC that still requires authoritative pathing. ActiveNpc = 1, /// Coverage seeded by a spawn location that should be warm before actors start moving. SpawnAnchor = 2, /// Coverage seeded by a short-lived route hint that biases planning ahead of movement. TransientNavHint = 3, /// Fallback category for future interest sources that do not fit a more specific kind. Other = 4 } /// /// Describes where a coverage window currently sits in the nav build lifecycle. /// public enum NavCoverageState { /// The window exists conceptually but still needs a fresh build. Pending = 0, /// The window is currently rebuilding its runtime NavMesh data. Building = 1, /// The window has ready NavMesh data that can answer pathing queries. Ready = 2 } }