feat: enforce activity site capacity
This commit is contained in:
@@ -39,6 +39,7 @@ SimulationManager tick
|
||||
- consumes active-world facts through ActiveWorldAdapter;
|
||||
- checks simulation-owned ResourceStateRecord availability;
|
||||
- reserves and returns stable resource target IDs;
|
||||
- skips full-capacity activity sites based on authoritative NPC target claims;
|
||||
- returns typed activity-site, storage, or wander positions without owning
|
||||
presentation.
|
||||
|
||||
@@ -46,6 +47,7 @@ SimulationManager tick
|
||||
|
||||
- exposes loaded resource interaction positions;
|
||||
- exposes loaded storage and activity-site interaction positions;
|
||||
- exposes activity-site capacity as an active-world fact;
|
||||
- contains active-world query facts, not persistent mutable authority;
|
||||
- does not choose actions or reserve resources.
|
||||
|
||||
|
||||
@@ -667,6 +667,9 @@ Recently completed:
|
||||
labels, and NPC name/profession labels without changing simulation state;
|
||||
- `F12` repeatable simulation-garden demo reset by reloading the current scene
|
||||
with the same authored seed and starting state.
|
||||
- Activity-site capacity enforcement for rest, study, and patrol target
|
||||
resolution, derived from NPC target claims rather than presentation-only
|
||||
counters.
|
||||
|
||||
This order strengthens the simulation while regularly producing visible
|
||||
progress suitable for public development updates.
|
||||
|
||||
@@ -534,10 +534,11 @@ 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.
|
||||
`JajceWorld/WorldObjects/ActivitySites`. The adapter exposes loaded activity
|
||||
site candidates with capacity metadata, and `ActionTargetResolver` skips sites
|
||||
whose current NPC target claims already meet that capacity. These claims are
|
||||
derived from authoritative NPC target state rather than a presentation-only
|
||||
counter.
|
||||
|
||||
**Exit:** temporary activity markers and task-to-marker mapping are deleted,
|
||||
not merely unused.
|
||||
|
||||
Reference in New Issue
Block a user