- Add TileOccupancy resource and rebuild_tile_occupancy system to track per-tile entity counts for soft collision avoidance - Add collision_delay to Ambulatory; entities try relative-left step on occupied tiles, wait 1 tick, then push through - Fix leaf canopy standability: leaves are now can_stand_in=true, can_stand_on=false (walkable, not standable-on) - Delete FloorTilePrefab / FixtureTilePrefab / FloorTile / FixtureTile / TileState (all fully dead — TileMap + ChunkData are sole truth) - Delete tile_spawns from TerrainBlob (populated but never consumed) - Delete leaf ghost entity spawn in forestry (orphaned invisible ECS entity) - Replace log prefab spawn with inline commands.spawn(Transform, Visibility) - Add TileMap::remove_fixture for future digging/explosion use - Skip collision avoidance when current tile has >2 entities (handles spawn cluster deadlock)
16 lines
656 B
Rust
16 lines
656 B
Rust
pub const PIXEL_RATIO: f32 = 1.0;
|
|
pub const TILE_PIXELS: u32 = 16;
|
|
pub const TILE_SIZE: f32 = TILE_PIXELS as f32 * PIXEL_RATIO;
|
|
pub const ITILE_SIZE: i32 = TILE_SIZE as i32;
|
|
pub const SEED: u32 = 420;
|
|
|
|
pub const PATHFINDER_SHORT_PATH_MAX_TILES: i32 = 64;
|
|
pub const PATHFINDER_MAX_NODES: usize = 15000;
|
|
pub const PATHFINDER_PROVISIONAL_NODE_LIMIT: usize = 256;
|
|
|
|
// Hierarchical pathfinding thresholds
|
|
// Tier 1: Same/adjacent chunk -> sync A* (fast, ~87µs)
|
|
// Tier 2: 2-4 chunks away -> Provisional + full path via queue
|
|
// Tier 3: >4 chunks away -> Hierarchical chunk-path + async segmented A*
|
|
pub const PATHFINDER_HIERARCHICAL_THRESHOLD_CHUNKS: i32 = 4;
|