- calculate_visibility: None from floor_tiles.get() now breaks touches_air=true.
Absent tile = open space = air for visibility purposes. Previously, removed
tiles left their below-neighbours with all-zero visible_range (black).
- rabbit_dig_system: fire TileOcclusionEvent for full Z_BELOW+1 level column
below the dug tile + 8 XY neighbours each, not just 3x3x3. calculate_visibility
traces up to Z_TOTAL+Z_BELOW+1 tiles above each tile, so removing one tile
can expose visibility arbitrarily deep below.