feat: surface player routes for village needs

This commit is contained in:
Rijad Zuzo
2026-07-16 12:36:50 +02:00
parent d6e6a63048
commit 4f88d15e12
15 changed files with 417 additions and 47 deletions
+32 -6
View File
@@ -822,12 +822,38 @@ The first direct information-to-help path is complete:
helper response, and resolution. It is signal-driven, survives debug-overlay
hiding, and neither serializes nor replays after restore.
Milestone 7 is not complete. The immediate next slice should expose one bounded
player response affordance when an open need has no capable helper: derive a
concise contextual hint from the existing player-usable finite source and real
storage target, then clear it when a helper emerges or the need closes. Reuse
the current interaction/economy rules; do not add quest acceptance, waypoint
state, or a generic objective tracker.
The bounded Milestone 7 player-response affordance is complete:
- an open need with no capable helper derives one ephemeral
`OpportunityPlayerResponseResult` only when its real storage target has room
and at least one matching enabled, stocked, player-usable finite source
exists;
- the result exposes the ordinary gather action, resource, destination, source
count, opportunity, and trigger IDs without selecting a waypoint, accepting a
quest, drawing RNG, or mutating simulation state;
- the existing cardless village-whisper ribbon says `YOU CAN HELP` and explains
the direct resource-to-storage interaction in one line, while the development
summary exposes the exact derived route;
- knowledge, relationship, inventory, or village-resource changes track the
derived route in both directions: a newly unassisted need can surface the
hint once, a capable helper removes it immediately, and resolution or
invalidation replaces it with the existing close beat;
- reserved resources remain honestly player-usable because the current player
extraction contract does not consume NPC reservations, while disabled,
depleted, wrong-resource, and capacity-blocked sources do not qualify;
- unit, headless lifecycle, restore/checksum, real player extraction, and Jajce
runtime regressions cover the slice without persisting or replaying HUD state.
This completes the bounded Milestone 7 simulation-garden proof. A known and
cared-about shortage now produces an inspectable opportunity whose NPC and
player responses both use the originating resource, relationship, knowledge,
and event systems rather than quest-only duplicates.
The immediate next slice should begin Milestone 8 with a deterministic headless
scaling baseline: measure tick throughput, serialized-state growth, and retained
history across increasing NPC/event counts using the current full-fidelity
simulation. Set an evidence-backed target before adding spatial partitions,
batching, or active/abstract LOD transitions.
Recently completed: