refactor nav coverage into clustered windows

Replace region-based runtime pathing with interest-cluster coverage windows so active nav areas stay contiguous and spawn anchors participate in initial coverage.
This commit is contained in:
Alexander Borisov
2026-04-08 13:52:00 +03:00
parent 7282621211
commit 0b380def78
11 changed files with 680 additions and 219 deletions
@@ -7,10 +7,14 @@ namespace InfiniteWorld.VoxelWorld.NavMesh
public sealed class VoxelWorldNavMeshConfig
{
[Min(0)] public int agentTypeId;
[Min(1)] public int navRegionSizeInChunks = 2;
[Min(1)] public int maxNavMeshBuildsPerFrame = 1;
[Min(0f)] public float navBoundsHorizontalPadding = 1f;
[Min(0f)] public float navBoundsVerticalPadding = 2f;
[Min(0)] public int navWarmupRadiusInRegions = 1;
[Min(1)] public int maxActiveCoverageWindows = 3;
[Min(0f)] public float clusterMergeDistanceInChunks = 4f;
[Min(0f)] public float coveragePaddingInChunks = 2f;
[Min(0.25f)] public float coverageQuantizationInChunks = 1f;
[Min(1f)] public float minCoverageWindowSizeInChunks = 4f;
[Min(0)] public int chunkCollectionMarginInChunks = 1;
}
}