From f03651e0cffba3e890f16137e6894f8720c7113b Mon Sep 17 00:00:00 2001 From: popertots Date: Sat, 21 Mar 2026 15:41:20 +0000 Subject: [PATCH] docs: update README for generic digging, drop tables, revised architecture - Add generic digging + drop tables to implemented list - Rabbit digging: now using Digger component, not debug code - Building and construction: updated to reflect generic system in place - Architecture: added digging to shared_systems, drop_table to tiles --- README.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b4e304d..5598b89 100644 --- a/README.md +++ b/README.md @@ -14,13 +14,13 @@ src/ ├── entities/ # Dorfs, pigs, rabbits — ambulatory entities │ ├── sentient/ │ ├── livestock/ -│ └── shared_*/ # Ambulatory, pathfinding, occupancy systems +│ └── shared_*/ # Ambulatory, pathfinding, occupancy, digging systems ├── game.rs # ZIndex resource, frame timing ├── main.rs # Bevy app bootstrap └── world/ ├── chunks/ # ChunkMap, chunk loading/unloading, connectivity ├── generation/ # Terrain blobs, forestry, foliage (stub), fauna (stub) - └── tiles/ # TileMap, TileRegistry, rendering, visibility, tile change events + └── tiles/ # TileMap, TileRegistry, rendering, visibility, tile change events, drop tables ``` ### Chunk Architecture @@ -95,7 +95,12 @@ Mobile entities (dorfs, pigs, rabbits) are **not** in `chunk_entity_index`. They - [x] Render chunk dirty-tracking for incremental rebakes - [x] Stage 2 collision resolution (convoy, E/S yield, W/N right-of-way) - [x] TileChangedEvent + path invalidation on tile change -- [x] Rabbit digging (debug) — removes floor tile, replaces with air, fires occlusion + path invalidation +- [x] Generic tile digging — `Digger` component on any entity, `dig_system` handles + tile removal, item drops via drop tables, occlusion refresh, path invalidation +- [x] Drop tables — tiles carry `DropTable` defining item drops on dig (grass=5% coin, + rock=10% coin, dirt/air=none). Pseudo-RNG per position until WyRand is accessible. +- [x] Rabbit digging — `Digger::new(5.0)` on rabbits; removes floor tile, drops items, + fires occlusion + path invalidation ### Stubs (exist as empty functions, wired into schedules) - [ ] Foliage generation per chunk (`generate_chunk_foliage`) @@ -106,7 +111,7 @@ Mobile entities (dorfs, pigs, rabbits) are **not** in `chunk_entity_index`. They - [ ] Crafting, stockpiles, resource gathering - [ ] Needs, mood, stress systems - [ ] Job assignment and task automation -- [ ] Building and construction (beyond debug rabbit digging) +- [ ] Building and construction (generic digging in place; no task system yet) - [ ] Combat and squad management - [ ] Item persistence and inventory - [ ] Dynamic chunk loading (player/NPC-centered, not just radius-at-startup)