add transient nav coverage hints

Introduce nav-only corridor hints and feed them into clustered coverage scheduling so runtime NavMesh can prewarm ahead of active movement paths.
This commit is contained in:
Alexander Borisov
2026-04-08 15:37:37 +03:00
parent 0b380def78
commit 289d5f783b
3 changed files with 173 additions and 2 deletions
@@ -23,6 +23,18 @@ namespace InfiniteWorld.VoxelWorld.Contracts
void GetCoverageWindows(List<NavCoverageWindowSnapshot> results);
}
public interface INavCoverageHintRegistry
{
void SetLinearHint(int ownerId, Vector3 from, Vector3 to, float priority, float ttlSeconds);
void ClearHint(int ownerId);
}
public interface INavCoverageHintReader
{
int HintVersion { get; }
void GetHintPoints(List<WorldInterestPoint> results);
}
public readonly struct ChunkNavSourceSnapshot
{
public ChunkNavSourceSnapshot(Vector2Int coord, int version, ChunkNavBuildSourceDescriptor[] sources)
@@ -84,7 +96,8 @@ namespace InfiniteWorld.VoxelWorld.Contracts
PlayerActor = 0,
ActiveNpc = 1,
SpawnAnchor = 2,
Other = 3
TransientNavHint = 3,
Other = 4
}
public readonly struct NavCoverageWindowSnapshot
@@ -143,4 +156,14 @@ namespace InfiniteWorld.VoxelWorld.Contracts
public int Version { get; }
}
public readonly struct NavCoverageHintChangedMessage
{
public NavCoverageHintChangedMessage(int version)
{
Version = version;
}
public int Version { get; }
}
}