feat: replace activity markers with typed sites
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
| **4a** | Wood target selection (NPC) | ✅ Complete |
|
||||
| **4b** | Player parity (extraction contract) | ✅ Complete |
|
||||
| **5** | Jajce world placement and runtime integration | ✅ Complete |
|
||||
| **6** | Replace remaining activity markers | 🔶 Resource zones removed; activity targets pending |
|
||||
| **6** | Replace remaining activity markers | ✅ Storage and activity sites authored |
|
||||
|
||||
### Key divergences from the original plan
|
||||
|
||||
@@ -61,9 +61,9 @@ environment is integrated. It is easier to debug target selection, reservation,
|
||||
depletion, and task completion without terrain and navigation changes happening
|
||||
at the same time.
|
||||
|
||||
The old resource zones have been removed. Temporary activity markers remain
|
||||
only for actions whose real target type does not exist yet. They are not
|
||||
fallbacks and are not part of the target architecture.
|
||||
The old resource zones and temporary activity markers have been removed. Food
|
||||
transfer targets `StorageNode`; rest, study, and patrol target `ActivitySite`.
|
||||
These are not resource fallbacks and are not resource-search areas.
|
||||
|
||||
## Why this is the next systems step
|
||||
|
||||
@@ -522,10 +522,10 @@ Remove each old zone only when its replacement has:
|
||||
- debug visibility;
|
||||
- save representation.
|
||||
|
||||
**Progress:** the `TaskZone` container and obsolete `FarmZone`/`ForestZone`
|
||||
nodes have been deleted from `main.tscn`. The surviving nodes live under
|
||||
`LegacyActivityMarkers` to make their transitional role explicit. Task-to-marker
|
||||
mapping still exists for rest, study, and patrol, so this phase is not complete.
|
||||
**Progress:** the `TaskZone` container, obsolete `FarmZone`/`ForestZone` nodes,
|
||||
and final `LegacyActivityMarkers` container have been deleted from `main.tscn`
|
||||
and `JajceWorld`. Task-to-marker mapping has been replaced by typed site
|
||||
queries.
|
||||
|
||||
The former `FoodZone`/`PantryMarker` is now an authored `StorageNode` at
|
||||
`JajceWorld/WorldObjects/StorageSites/VillagePantry`, backed by
|
||||
@@ -533,9 +533,21 @@ simulation-owned `StorageStateRecord` state and explicit deposit/withdraw/eat
|
||||
transactions. Successful food transfers emit serializable economic events, and
|
||||
an active NPC visibly carries food between source, pantry, and consumption.
|
||||
|
||||
Guard, study, and rest are now authored `ActivitySite` instances at
|
||||
`JajceWorld/WorldObjects/ActivitySites`. The adapter chooses the nearest loaded
|
||||
site that supports the requested action. Capacity is currently presentation
|
||||
metadata; reservation/enforced occupancy can be added when multiple NPCs
|
||||
compete for the same social/workstation site.
|
||||
|
||||
**Exit:** temporary activity markers and task-to-marker mapping are deleted,
|
||||
not merely unused.
|
||||
|
||||
**Status: complete for the marker-removal migration.** Future work should
|
||||
extend target scoring rather than reintroducing zones: resources can be spread
|
||||
as many finite `ResourceNode` instances across foliage, animal camps, berry
|
||||
patches, and village stockpiles, then ranked by distance, reachability, safety,
|
||||
profession, and NPC comfort range.
|
||||
|
||||
## Test scenarios
|
||||
|
||||
At minimum, exercise:
|
||||
|
||||
Reference in New Issue
Block a user