| 1 |
# Tasks |
| 2 |
|
| 3 |
## Done |
| 4 |
- [x] Project setup, local Bevy 0.20 docs/examples in `docs/bevy/` |
| 5 |
- [x] Static 2D grid world (terrain types, chunked tilemap rendering) |
| 6 |
- [x] Camera: WASD/arrow pan, right/middle-drag pan, scroll zoom toward cursor, clamped to world |
| 7 |
- [x] WebAssembly build (`scripts/build-web.sh`) |
| 8 |
- [x] Tile hover + selection (outlines, info text, Esc to clear) |
| 9 |
- [x] A* pathfinding with terrain costs |
| 10 |
- [x] Colonists: wander, select, right-click move orders, path display |
| 11 |
- [x] Simulation tick (60 Hz fixed timestep), game clock, speeds 1x/3x/6x and adaptive Max (keys 1-4; Max runs as fast as frames allow), pause (Space), render interpolation |
| 12 |
- [x] Procedural world generation (noise elevation/fertility, seeds, R to regenerate, spawn in largest walkable region) |
| 13 |
- [x] Heightmap: hill shading, uphill movement cost, height in tile info |
| 14 |
- [x] Rivers (flow field), iron/gold ore veins, trees |
| 15 |
- [x] Job system: autonomous job choice from colony demand, reservations, manual orders override |
| 16 |
- [x] Woodcutting (auto when wood < goal, or right-click a tree), wood item piles |
| 17 |
- [x] Stockpile zones (Z tool, starting stockpile) and hauling (auto, or right-click loose items) |
| 18 |
- [x] Mining (stone/iron/gold → gravel floor), per-material colony goals driving chopping and mining |
| 19 |
- [x] Colonists found a stockpile when items need storing and expand it when nearly full (no starting stockpile) |
| 20 |
- [x] Day/night cycle with per-tile lighting; colonists build campfires and torches (wood, burn out); work is slower in the dark |
| 21 |
- [x] Sleep: rest need, bedtime/naps/exhaustion, colonists sleep by the campfire until morning |
| 22 |
- [x] Beds: built autonomously (one per colonist, 15 wood), preferred for sleep, faster rest |
| 23 |
- [x] Walls (stone), doors (wood), roofs: colonists plan and build a roofed shelter around their beds; roofs improve rest |
| 24 |
- [x] Food: hunger need and eating (meals preferred), berry bushes + foraging, wild animals + hunting, farm zones (auto-planned or F tool) with sowing/growing/harvesting, cooking meals at campfires |
| 25 |
- [x] Paths: traffic wears grass into dirt paths (faster, regrow when unused); busiest paths get paved with stone |
| 26 |
- [x] Learned stock targets (from consumption, grouped raw food, plus planned construction); food spoilage (slower under roofs); colony growth (newcomers when prosperous) and shrinkage (starvation); event log |
| 27 |
- [x] Performance: food/material searches use precollected tile sets and skip out-of-reach stacks; starving colonists without food keep working |
| 28 |
- [x] Food security: stock counts only items within colony reach; harvesting, foraging and sowing take priority when food is short |
| 29 |
- [x] Families: colonists who spend time together become partners, plan and build their own walled, roofed home with two beds, and have children who grow up after 4 days |
| 30 |
- [x] Refuelling fires; manual build tool (B: wall room outlines, doors, campfires, torches, beds); zoom buttons |
| 31 |
- [x] Designations: Chop/Mine tool (X) marks trees and rock for anyone to work |
| 32 |
- [x] Walls cast shadows, roofs keep daylight out; deconstruction (build tool mode, refunds half) |
| 33 |
- [x] Animals flee, ranged hunting, carcasses butchered into meat, taming with breeding herds and slaughter of spare tame animals |
| 34 |
- [x] Action/keybind system, toolbar buttons for every keybind, hide-UI toggle (H), clicks on UI don't reach the map |
| 35 |
|
| 36 |
## Planned |
| 37 |
- [ ] Mood, food poisoning from raw food; colonists leaving when unhappy; old age/disease |
| 38 |
- [ ] Per-colonist work priorities (busy colonies leave low-priority work such as hauling undone) |
| 39 |
- [ ] Stockpile filters (which item kinds a zone accepts) and storage priority |
| 40 |
- [ ] UI to view/override learned stock targets |
| 41 |
- [ ] Sim performance: per-tile scans in `BuildContext::buildable` and site searches; wasm ticks still ~1 ms each with a full colony |
| 42 |
- [ ] Smoother hill shading at close zoom (per-tile shading looks blocky) |
| 43 |
- [ ] Colonist panel / better info UI (info panel is plain text) |