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
}
}