Wrap TileMap HashMaps in Arc for async pathfinding access
- Add Arc<AHashMap> wrapper around floor_tiles, fixture_tiles, item_tiles - Copy-on-write semantics: Arc::make_mut clones only if other Arcs exist - Add insert_floor, insert_fixture, insert_item, remove_item methods - Add get_floor_mut, get_fixture_mut for visibility updates - Update all mutation sites to use new TileMap methods - Enables cheap Arc::clone for async pathfinding workers - Single-threaded pathfinding: no clone, direct access - Multi-threaded pathfinding: clone Arc, read without locks
This commit is contained in:
@@ -159,7 +159,7 @@ pub fn generate_chunk_terrain(
|
||||
.unwrap()
|
||||
.into_iter()
|
||||
.map(|(pos, data)| {
|
||||
tilemap.floor_tiles.insert(pos, data);
|
||||
tilemap.insert_floor(pos, data);
|
||||
pos
|
||||
})
|
||||
.collect();
|
||||
|
||||
Reference in New Issue
Block a user