feat: soft entity collision, dead code removal, leaf standability fix

- 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)
This commit is contained in:
2026-03-21 01:36:38 +00:00
parent 1fe4781bab
commit 90a6196443
25 changed files with 1909 additions and 498 deletions
+61
View File
@@ -0,0 +1,61 @@
timestamp,entity_id,x,y,z,has_path,path_index,path_len,target_x,target_y,target_z
9.523,14600,-16.0,32.0,0.0,true,0,56,816.0,-816.0,33.0
9.523,14601,-0.0,32.0,0.0,true,0,60,640.0,-848.0,33.0
9.523,14602,-16.0,0.0,0.0,true,0,38,-608.0,-144.0,17.0
9.523,14603,0.0,-0.0,0.0,true,0,61,960.0,256.0,-15.0
9.523,14604,16.0,-32.0,16.0,true,0,10,752.0,48.0,17.0
9.523,14599,16.0,-16.0,16.0,true,0,46,-496.0,704.0,-15.0
9.523,14598,-32.0,16.0,0.0,true,0,62,-832.0,800.0,-31.0
9.523,14547,0.0,0.0,0.0,true,0,53,832.0,336.0,1.0
9.523,14548,0.0,-0.0,0.0,true,0,55,848.0,-752.0,33.0
9.523,14549,0.0,0.0,0.0,true,0,30,-96.0,464.0,-15.0
9.523,14550,0.0,-0.0,0.0,true,0,52,816.0,512.0,17.0
9.523,14551,0.0,-0.0,0.0,true,0,46,720.0,464.0,17.0
9.523,14552,-0.0,0.0,0.0,true,0,49,768.0,-128.0,33.0
9.523,14553,0.0,0.0,0.0,true,0,42,656.0,-400.0,49.0
9.523,14554,-0.0,0.0,0.0,true,0,34,-512.0,-416.0,49.0
9.523,14555,-0.0,-0.0,0.0,true,0,49,144.0,768.0,17.0
9.523,14597,16.0,16.0,0.0,true,0,58,-256.0,928.0,-15.0
9.523,14557,0.0,0.0,0.0,true,0,40,624.0,160.0,1.0
9.523,14558,-0.0,0.0,0.0,true,0,44,96.0,688.0,17.0
9.523,14559,0.0,-0.0,0.0,true,0,61,352.0,960.0,33.0
9.523,14560,0.0,0.0,0.0,true,0,46,-704.0,-352.0,33.0
9.523,14561,-0.0,-0.0,0.0,true,0,31,480.0,80.0,1.0
9.523,14562,0.0,0.0,0.0,true,0,46,-272.0,-720.0,65.0
9.523,14563,-0.0,-0.0,0.0,true,0,41,640.0,64.0,1.0
9.523,14564,-0.0,0.0,0.0,true,0,43,672.0,176.0,1.0
9.523,14565,0.0,0.0,0.0,true,0,54,-64.0,-848.0,49.0
9.523,14566,-0.0,-0.0,0.0,true,0,51,-640.0,-768.0,49.0
9.523,14596,-16.0,0.0,0.0,true,0,41,-512.0,-592.0,49.0
9.523,14568,0.0,0.0,0.0,true,0,32,224.0,-464.0,33.0
9.523,14569,0.0,-0.0,0.0,true,0,52,-656.0,784.0,-15.0
9.523,14570,-0.0,-0.0,0.0,true,0,33,-512.0,256.0,-31.0
9.523,14571,-0.0,0.0,0.0,true,0,49,176.0,-768.0,33.0
9.523,14572,-0.0,-0.0,0.0,true,0,40,-272.0,-624.0,49.0
9.523,14573,-0.0,0.0,0.0,true,0,61,960.0,336.0,1.0
9.523,14595,-16.0,32.0,0.0,true,0,54,288.0,-816.0,17.0
9.523,14575,0.0,-0.0,0.0,true,0,31,336.0,464.0,17.0
9.523,14576,0.0,0.0,0.0,true,0,63,992.0,-64.0,1.0
9.523,14577,-0.0,-0.0,0.0,true,0,47,-736.0,-112.0,17.0
9.523,14578,-0.0,-0.0,0.0,true,0,58,368.0,896.0,33.0
9.523,14579,0.0,0.0,0.0,true,0,40,-464.0,512.0,-15.0
9.523,14580,-0.0,-0.0,0.0,true,0,42,-288.0,-656.0,65.0
9.523,14581,0.0,-0.0,0.0,true,0,47,128.0,736.0,17.0
9.523,14582,0.0,0.0,0.0,true,0,47,736.0,-400.0,49.0
9.523,14583,-0.0,0.0,0.0,true,0,45,-368.0,-704.0,65.0
9.523,14594,0.0,0.0,0.0,true,0,40,-464.0,512.0,-15.0
9.523,14585,0.0,0.0,0.0,true,0,56,-880.0,336.0,-15.0
9.523,14586,0.0,-0.0,0.0,true,0,64,784.0,992.0,17.0
9.523,14587,0.0,0.0,0.0,true,0,64,896.0,-512.0,49.0
9.523,14588,0.0,-0.0,0.0,true,0,30,-464.0,288.0,-31.0
9.523,14592,0.0,0.0,0.0,true,0,50,48.0,-784.0,33.0
9.523,14590,0.0,0.0,0.0,true,0,44,688.0,-224.0,49.0
9.523,14591,-0.0,-0.0,0.0,true,0,46,-720.0,448.0,-31.0
9.523,14545,0.0,-0.0,0.0,true,0,20,80.0,-304.0,33.0
9.523,14546,0.0,0.0,0.0,true,0,5,368.0,576.0,17.0
9.523,14556,0.0,0.0,0.0,true,0,9,640.0,576.0,17.0
9.523,14567,0.0,-0.0,0.0,true,0,13,-528.0,-96.0,17.0
9.523,14574,0.0,0.0,0.0,true,0,13,-640.0,64.0,1.0
9.523,14584,0.0,0.0,0.0,true,0,13,-864.0,0.0,1.0
9.523,14589,-0.0,-0.0,0.0,true,0,19,-112.0,-288.0,33.0
9.523,14593,-0.0,-0.0,0.0,true,0,10,528.0,-32.0,17.0
1 timestamp entity_id x y z has_path path_index path_len target_x target_y target_z
2 9.523 14600 -16.0 32.0 0.0 true 0 56 816.0 -816.0 33.0
3 9.523 14601 -0.0 32.0 0.0 true 0 60 640.0 -848.0 33.0
4 9.523 14602 -16.0 0.0 0.0 true 0 38 -608.0 -144.0 17.0
5 9.523 14603 0.0 -0.0 0.0 true 0 61 960.0 256.0 -15.0
6 9.523 14604 16.0 -32.0 16.0 true 0 10 752.0 48.0 17.0
7 9.523 14599 16.0 -16.0 16.0 true 0 46 -496.0 704.0 -15.0
8 9.523 14598 -32.0 16.0 0.0 true 0 62 -832.0 800.0 -31.0
9 9.523 14547 0.0 0.0 0.0 true 0 53 832.0 336.0 1.0
10 9.523 14548 0.0 -0.0 0.0 true 0 55 848.0 -752.0 33.0
11 9.523 14549 0.0 0.0 0.0 true 0 30 -96.0 464.0 -15.0
12 9.523 14550 0.0 -0.0 0.0 true 0 52 816.0 512.0 17.0
13 9.523 14551 0.0 -0.0 0.0 true 0 46 720.0 464.0 17.0
14 9.523 14552 -0.0 0.0 0.0 true 0 49 768.0 -128.0 33.0
15 9.523 14553 0.0 0.0 0.0 true 0 42 656.0 -400.0 49.0
16 9.523 14554 -0.0 0.0 0.0 true 0 34 -512.0 -416.0 49.0
17 9.523 14555 -0.0 -0.0 0.0 true 0 49 144.0 768.0 17.0
18 9.523 14597 16.0 16.0 0.0 true 0 58 -256.0 928.0 -15.0
19 9.523 14557 0.0 0.0 0.0 true 0 40 624.0 160.0 1.0
20 9.523 14558 -0.0 0.0 0.0 true 0 44 96.0 688.0 17.0
21 9.523 14559 0.0 -0.0 0.0 true 0 61 352.0 960.0 33.0
22 9.523 14560 0.0 0.0 0.0 true 0 46 -704.0 -352.0 33.0
23 9.523 14561 -0.0 -0.0 0.0 true 0 31 480.0 80.0 1.0
24 9.523 14562 0.0 0.0 0.0 true 0 46 -272.0 -720.0 65.0
25 9.523 14563 -0.0 -0.0 0.0 true 0 41 640.0 64.0 1.0
26 9.523 14564 -0.0 0.0 0.0 true 0 43 672.0 176.0 1.0
27 9.523 14565 0.0 0.0 0.0 true 0 54 -64.0 -848.0 49.0
28 9.523 14566 -0.0 -0.0 0.0 true 0 51 -640.0 -768.0 49.0
29 9.523 14596 -16.0 0.0 0.0 true 0 41 -512.0 -592.0 49.0
30 9.523 14568 0.0 0.0 0.0 true 0 32 224.0 -464.0 33.0
31 9.523 14569 0.0 -0.0 0.0 true 0 52 -656.0 784.0 -15.0
32 9.523 14570 -0.0 -0.0 0.0 true 0 33 -512.0 256.0 -31.0
33 9.523 14571 -0.0 0.0 0.0 true 0 49 176.0 -768.0 33.0
34 9.523 14572 -0.0 -0.0 0.0 true 0 40 -272.0 -624.0 49.0
35 9.523 14573 -0.0 0.0 0.0 true 0 61 960.0 336.0 1.0
36 9.523 14595 -16.0 32.0 0.0 true 0 54 288.0 -816.0 17.0
37 9.523 14575 0.0 -0.0 0.0 true 0 31 336.0 464.0 17.0
38 9.523 14576 0.0 0.0 0.0 true 0 63 992.0 -64.0 1.0
39 9.523 14577 -0.0 -0.0 0.0 true 0 47 -736.0 -112.0 17.0
40 9.523 14578 -0.0 -0.0 0.0 true 0 58 368.0 896.0 33.0
41 9.523 14579 0.0 0.0 0.0 true 0 40 -464.0 512.0 -15.0
42 9.523 14580 -0.0 -0.0 0.0 true 0 42 -288.0 -656.0 65.0
43 9.523 14581 0.0 -0.0 0.0 true 0 47 128.0 736.0 17.0
44 9.523 14582 0.0 0.0 0.0 true 0 47 736.0 -400.0 49.0
45 9.523 14583 -0.0 0.0 0.0 true 0 45 -368.0 -704.0 65.0
46 9.523 14594 0.0 0.0 0.0 true 0 40 -464.0 512.0 -15.0
47 9.523 14585 0.0 0.0 0.0 true 0 56 -880.0 336.0 -15.0
48 9.523 14586 0.0 -0.0 0.0 true 0 64 784.0 992.0 17.0
49 9.523 14587 0.0 0.0 0.0 true 0 64 896.0 -512.0 49.0
50 9.523 14588 0.0 -0.0 0.0 true 0 30 -464.0 288.0 -31.0
51 9.523 14592 0.0 0.0 0.0 true 0 50 48.0 -784.0 33.0
52 9.523 14590 0.0 0.0 0.0 true 0 44 688.0 -224.0 49.0
53 9.523 14591 -0.0 -0.0 0.0 true 0 46 -720.0 448.0 -31.0
54 9.523 14545 0.0 -0.0 0.0 true 0 20 80.0 -304.0 33.0
55 9.523 14546 0.0 0.0 0.0 true 0 5 368.0 576.0 17.0
56 9.523 14556 0.0 0.0 0.0 true 0 9 640.0 576.0 17.0
57 9.523 14567 0.0 -0.0 0.0 true 0 13 -528.0 -96.0 17.0
58 9.523 14574 0.0 0.0 0.0 true 0 13 -640.0 64.0 1.0
59 9.523 14584 0.0 0.0 0.0 true 0 13 -864.0 0.0 1.0
60 9.523 14589 -0.0 -0.0 0.0 true 0 19 -112.0 -288.0 33.0
61 9.523 14593 -0.0 -0.0 0.0 true 0 10 528.0 -32.0 17.0