feat: make pantry crises visible in the world
This commit is contained in:
+24
-13
@@ -2,7 +2,7 @@
|
||||
|
||||
> Agent-facing context for understanding the project quickly.
|
||||
>
|
||||
> Snapshot basis: repository state on July 13, 2026. Treat the code as the
|
||||
> Snapshot basis: repository state on July 14, 2026. Treat the code as the
|
||||
> source of truth when this document and the implementation differ.
|
||||
|
||||
See the [documentation map](README.md) for the authority and scope of each plan.
|
||||
@@ -200,8 +200,8 @@ study, and patrol target typed activity sites. The migration is documented in
|
||||
`docs/baselines/jajce_lookdev_01.png` with
|
||||
`tools/capture_jajce_lookdev.gd`
|
||||
- **Runtime baseline:** `Simulation Garden 01` is captured as paired debug and
|
||||
cinematic `main.tscn` images under `docs/baselines/` with
|
||||
`tools/capture_simulation_garden.gd`
|
||||
cinematic `main.tscn` images plus an empty/restocked pantry close pair under
|
||||
`docs/baselines/` with `tools/capture_simulation_garden.gd`
|
||||
- **Terrain compatibility floor:** Godot 4.4 according to the bundled extension
|
||||
- **Version control:** Git
|
||||
- **Primary branch:** `main`
|
||||
@@ -338,8 +338,9 @@ distance with resource `safety_risk`, `comfort_distance`, and
|
||||
- deterministic shaped terrain data and six game-owned surface layers;
|
||||
- fortress, houses, mill, bridge, shader river/waterfall, mist, and smoke;
|
||||
- authored dirt path strips that make the current village task loop readable;
|
||||
- compact silhouette props for the ridge landmark, pantry, guard, study, and
|
||||
rest sites;
|
||||
- compact silhouette props for the ridge landmark, guard, study, and rest
|
||||
sites, plus a physical pantry whose empty/low/stocked arrangement follows
|
||||
authoritative food storage;
|
||||
- warm sky, fog, shadows, coherent wind-reactive foliage, and breeze-aligned
|
||||
chimney smoke;
|
||||
- one sparse terrain-aware calligraphic gust field with two or three soft
|
||||
@@ -382,7 +383,10 @@ A small village panel displays:
|
||||
NPC name/profession labels, definition-driven colors and props, carried-food
|
||||
visuals, compact task glyphs, and a brief amber blossom on real trust gains make
|
||||
active simulation state readable in the world. The F10 cinematic mode hides
|
||||
debug labels while preserving task glyphs and transient social reactions.
|
||||
debug labels while preserving task glyphs and transient social reactions. An
|
||||
open pantry opportunity adds a restrained empty-bowl concern cue only to its
|
||||
interested villager; a real refill changes the pantry props, clears concern,
|
||||
and produces one brief pantry response.
|
||||
|
||||
## Runtime architecture
|
||||
|
||||
@@ -441,7 +445,9 @@ than duplicating these responsibilities across additional manager nodes.
|
||||
- synchronizes successful visual movement into authoritative NPC position;
|
||||
- applies visual death state;
|
||||
- turns authoritative relationship-change signals into observer-only transient
|
||||
presentation cues without queuing or persisting them.
|
||||
presentation cues without queuing or persisting them;
|
||||
- derives pantry stock props and interested-villager concern from authoritative
|
||||
storage/opportunity state, including state-only rebuilding after restore.
|
||||
|
||||
### `player/npc/NpcVisual.gd`
|
||||
|
||||
@@ -452,7 +458,8 @@ than duplicating these responsibilities across additional manager nodes.
|
||||
- moves and rotates toward path points;
|
||||
- reports arrival;
|
||||
- presents definition-driven profession silhouettes, carried resources, task
|
||||
glyphs, walk motion, brief trust-gain blossoms, and death state.
|
||||
glyphs, walk motion, brief trust-gain blossoms, opportunity concern, and
|
||||
death state.
|
||||
|
||||
### `player/player.gd` and `player/camera_rig.gd`
|
||||
|
||||
@@ -870,12 +877,16 @@ stable trigger, interested villager, pantry/food target, status, and later
|
||||
resolution event; active evidence remains lasting. A real later NPC deposit or
|
||||
player harvest into the pantry resolves it without quest-only history, economy
|
||||
mutation by the generator, or AI assignment. The compact village/inspector UI
|
||||
shows this lifecycle without changing the elevated follow camera.
|
||||
shows this lifecycle without changing the elevated follow camera. The same
|
||||
facts now have a cardless world expression: empty/low/stocked pantry props, one
|
||||
interested-villager concern cue, and a brief refill response. Save/load rebuilds
|
||||
the stable state without replaying the response.
|
||||
|
||||
Milestone 7 remains in progress. The next systems slice should prove the same
|
||||
lifecycle with a missing-wood `task_blocked` condition and deterministic
|
||||
interested-party death/staleness handling before extracting common opportunity
|
||||
machinery.
|
||||
Milestone 7 remains in progress. The immediate next slice is an outcome-defined
|
||||
20–30 second pantry-crisis demo loop—shortage, finite-resource travel, visible
|
||||
carrying, deposit, and physical recovery—without debug UI. The second
|
||||
missing-wood consumer and deterministic interested-party death/staleness rules
|
||||
follow that visual exit test, before common opportunity machinery is extracted.
|
||||
|
||||
The remaining simulation-garden target still aims for:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user