150 lines
7.5 KiB
Markdown
150 lines
7.5 KiB
Markdown
# Simulation Garden 01
|
||
|
||
Captured: 2026-07-14
|
||
|
||
## Files
|
||
|
||
- `docs/baselines/simulation_garden_01_debug.png`
|
||
- `docs/baselines/simulation_garden_01_cinematic.png`
|
||
- `docs/baselines/simulation_garden_02_empty_pantry.png`
|
||
- `docs/baselines/simulation_garden_02_restocked_pantry.png`
|
||
- `tools/capture_simulation_garden.gd`
|
||
|
||
## Capture Command
|
||
|
||
Run from the project root with the normal renderer on macOS:
|
||
|
||
```bash
|
||
HOME="$PWD/logs/quality/godot_profile" \
|
||
APPDATA="$PWD/logs/quality/godot_profile" \
|
||
LOCALAPPDATA="$PWD/logs/quality/godot_profile" \
|
||
/Applications/Godot.app/Contents/MacOS/Godot \
|
||
--path "$PWD" --script res://tools/capture_simulation_garden.gd
|
||
```
|
||
|
||
On Windows:
|
||
|
||
```powershell
|
||
$env:APPDATA = 'C:\Users\Rijad\Documents\Simulation Game\logs\quality\godot_profile'
|
||
$env:LOCALAPPDATA = 'C:\Users\Rijad\Documents\Simulation Game\logs\quality\godot_profile'
|
||
& 'C:\Users\Rijad\Downloads\tools\Godot_v4.7-stable_win64.exe\Godot_v4.7-stable_win64_console.exe' --path 'C:\Users\Rijad\Documents\Simulation Game' --script res://tools/capture_simulation_garden.gd
|
||
```
|
||
|
||
The script warms up `main.tscn`, verifies that the simulation and active NPC
|
||
visuals exist, stages a real food-deposit/trust consequence, a one-food pantry
|
||
shortage, the hungry interested villager's ordinary gather-food replan, and one
|
||
wind gust. It captures the F10 debug presentation, then the cinematic
|
||
presentation with development labels and UI hidden. It lets the earlier trust
|
||
reaction finish so the crisis remains the single visual idea, then records a
|
||
tighter empty-pantry view. A real NPC deposit resolves the opportunity and
|
||
produces the matching restocked view; the capture-only close framing keeps the
|
||
same elevated third-person perspective and does not change gameplay defaults.
|
||
|
||
## Review
|
||
|
||
The milestone is valid as a runtime integration checkpoint: the same Jajce
|
||
Terrain3D world is running in `main.tscn`, NPCs are alive in the terrain-backed
|
||
village, the selected-NPC reason inspector is fed by real task scoring, and the
|
||
cinematic/debug toggle produces a shareable view without changing simulation
|
||
state. A follow-up pass adds small task glyphs above active NPCs, so the
|
||
cinematic view now preserves task intent after the debug labels are hidden. A
|
||
camera-staging pass then gives the runtime capture a wider village view and adds
|
||
authored dirt path strips that make the task loop readable from the first frame.
|
||
The next presentation pass adds compact silhouette props to the ridge landmark,
|
||
pantry, guard, study, and rest sites so work locations remain identifiable in
|
||
cinematic mode.
|
||
|
||
The frame also makes the remaining presentation risks plain:
|
||
|
||
- the elevated third-person/top-down camera is intentionally preserved; future
|
||
staging should improve composition within that cozy follow perspective;
|
||
- houses and several work/resource props remain useful but visibly
|
||
prototype-grade;
|
||
- terrain texture variation and path strips read better than the old flat map,
|
||
but terrain/color hierarchy still flattens some village landmarks;
|
||
- task glyphs and work-site props help, but blockout buildings and resource
|
||
props need stronger authored silhouettes before this becomes a polished
|
||
public-facing shot.
|
||
|
||
Use this baseline as the first runtime comparison image before adding more
|
||
systems or expanding the terrain.
|
||
|
||
## July 9 visual follow-up
|
||
|
||
The baseline images now include the first stylized-villager pass. NPCs use
|
||
multi-part silhouettes and real travel-driven limb motion instead of capsules;
|
||
profession colors and props remain definition-driven, and authoritative wood
|
||
inventory now appears as carried logs. The capture also fixes three effects
|
||
that obscured the simulation on Metal: waterfall mist was incorrectly emitted
|
||
at the village origin, ridge/valley wind systems overlapped, and chimney smoke
|
||
ignored particle transparency. The player capsule and camera composition are
|
||
the next visible presentation gaps at that checkpoint.
|
||
|
||
## July 11 visual follow-up
|
||
|
||
The implementation keeps the overlapping valley-wide white stroke/speck fields
|
||
removed: those read as constant scratches or insects. In their place, one
|
||
bounded controller produces sporadic groups of two or three terrain-aware
|
||
calligraphic ribbons. Their tapered sage, warm amber, and pale aqua strokes are
|
||
drawn head-to-tail by the shader, remain below 30% alpha, cannot stack, and
|
||
share the prevailing direction used by deterministic tree-canopy motion and
|
||
chimney smoke. The capture tool stages one gust so the next visual comparison
|
||
does not randomly land during the intended quiet interval.
|
||
|
||
The PNGs listed above have now been refreshed on the Metal renderer and include
|
||
the staged mid-sweep gust, so they can be used to assess ribbon opacity and
|
||
terrain contact.
|
||
|
||
The day/night controller also reconnects to the authoritative simulation clock
|
||
after scene startup and uses the correct sunrise/sunset color order, preventing
|
||
lighting drift during speed changes or restoration.
|
||
|
||
The player now uses a compact multi-part silhouette with a teal tunic, warm
|
||
scarf/satchel accents, and velocity-driven walk motion. Collision, controls,
|
||
and the elevated staggered follow camera are unchanged. The next visible gains
|
||
should come from replacing remaining blockout architecture, strengthening work
|
||
props, and improving terrain/color hierarchy—not from changing the camera
|
||
language again.
|
||
|
||
## July 12 social-history follow-up
|
||
|
||
The debug capture now stages Tarik's real witnessed food-deposit memory and
|
||
trust consequence. The inspector distinguishes that lasting subjective memory
|
||
from Tarik's own objective actions in a shorter, more legible panel. The same
|
||
consequence produces one brief amber halo-and-mote blossom above Tarik; it
|
||
remains visible when F10 removes the debug UI but does not become permanent
|
||
world clutter. Both refreshed images preserve the established elevated,
|
||
slightly staggered top-down camera.
|
||
|
||
## July 13 opportunity follow-up
|
||
|
||
The debug capture now leaves one real `restock_empty_pantry` need open. The
|
||
left summary puts the cardless need above routine recent events and names Tarik
|
||
as the critically hungry interested villager; his inspector shows the same
|
||
zero-of-one pantry target next to the exact withdrawal memory. Capture staging
|
||
then asks the existing utility selector to replan Tarik, producing `Gather
|
||
Food`, a real finite food target, and the honest reason `Critically hungry; must
|
||
find food` instead of a stale pre-shortage decision.
|
||
|
||
The inspector still fits the 1280×720 frame without adding another panel, and
|
||
the cinematic capture remains free of UI while preserving the task glyph,
|
||
interested-villager concern, and sparse calligraphic gust. Gameplay camera
|
||
defaults remain unchanged.
|
||
|
||
## July 14 physical-crisis follow-up
|
||
|
||
The pantry is no longer a generic crate whose appearance stays constant. Its
|
||
presentation reads the authoritative food amount and swaps between a large
|
||
empty terracotta bowl, a low basket with berries/sack, and a fuller stocked
|
||
arrangement. The active opportunity adds one small empty-bowl concern mark to
|
||
its interested villager only. A real NPC deposit clears that concern and emits
|
||
one short amber refill ring/mote response; restoring the same state rebuilds
|
||
the stock and concern without replaying the transient response.
|
||
|
||
The two `simulation_garden_02_*` images form a deterministic before/after pair
|
||
for editing or public progress posts. They deliberately keep UI panels out and
|
||
use a tighter version of the same elevated camera language. The broader
|
||
environment remains prototype-grade; the next useful visual proof is the full
|
||
20–30 second gather/carry/deposit/recovery loop rather than another isolated
|
||
ornament pass.
|