Implement tiered pathfinding with thread-local scratchpads

- TIER0 (<10 tiles): Vec-based linear search, zero hash overhead
- TIER1 (10-30 tiles): FxHashMap scratchpad with memory reuse
- TIER2 (30-100 tiles): AHashMap scratchpad for better collision resistance
- TIER3 (>100 tiles): Chunk waypoint decomposition
- Added benchmarking infrastructure with F8 report trigger
- Added async infrastructure: PendingPath, CompletedPaths resources
- Lowered MAX_NODES to 5000 to prevent runaway searches

Benchmarks show P50 improved 13%, max improved 53%
This commit is contained in:
2026-03-18 14:37:15 +00:00
parent 49972b9b64
commit 81b70a661c
5 changed files with 1317 additions and 35 deletions
+2
View File
@@ -12,6 +12,8 @@ image = "0.25.10"
bevy_platform = "0.18.1"
rayon = "1.11.0"
rustc-hash = "2.1.1"
ahash = "0.8.12"
nohash-hasher = "0.2.0"
# Enable max optimizations for dependencies, but not for our code:
[profile.dev.package."*"]