feat: add exact player context actions

This commit is contained in:
Rijad Zuzo
2026-07-30 23:27:46 +02:00
parent d950c3da68
commit 7d410d8193
12 changed files with 762 additions and 67 deletions
+15 -6
View File
@@ -228,6 +228,10 @@ plugin content, not game architecture.
- Pressing `E` near a berry bush or tree extracts its configured yield into the
village through the same `ResourceNode` contract used by NPCs.
- Guard, study, rest, and food interactions now use typed world sites.
- A cardless bottom-center `E` prompt derives the exact current animal,
resource, storage, or activity target and its availability. Named goat care
reports pantry cost plus transient success or blockage, remains in cinematic
mode, and never enters saved state.
- `Escape` releases captured mouse input.
### Village simulation
@@ -478,16 +482,19 @@ than duplicating these responsibilities across additional manager nodes.
These implement camera-relative character movement, physical interaction
proximity checks, ResourceNode harvesting, mouse capture, and the elevated
follow camera.
follow camera. `PlayerInteractionResult` is the ephemeral boundary shared by
the current `E` prompt and execution, so UI copy names the exact stable target
that receives the command.
### `world/ui/ui.gd`
The UI subscribes to village, task, event, knowledge, relationship, and
opportunity changes. It formats aggregate state and resolves known facts,
relationship causes, and opportunity lifecycle details through manager queries
without owning or recomputing simulation facts. `village_whisper_hud.gd` is a
separate transient player layer that formats the same authoritative signals and
remains independent of the development overlays.
without owning or recomputing simulation facts. `village_whisper_hud.gd` and
`player_interaction_hud.gd` are separate transient player layers that format
authoritative signals or the current exact context and remain independent of
the development overlays.
## Current runtime flow
@@ -1005,8 +1012,10 @@ Dunja's pasture, nearest loaded care targeting supports two simultaneous exact
claims, and feeding one goat cannot mutate the other. World-schema v11
preserves both claim pairings without serializing shelter ownership. Do not
generalize animal discovery or introduce herd scheduling, products, breeding,
or active/abstract animal LOD until playtest or measurement exposes a concrete
need.
or active/abstract animal LOD. The named-pair gate instead produced one
Milestone 9 context-action result shared by prompt and execution, with exact
pantry feedback and no persistent UI state. The next animal-facing proof should
make NPC care visibly carry one real pantry food to its exact reserved goat.
The remaining simulation-garden target still aims for: