77 lines
3.2 KiB
Markdown
77 lines
3.2 KiB
Markdown
# Jajce Resource Grove 04
|
||
|
||
Captured: 2026-07-17
|
||
|
||
## Files
|
||
|
||
- [before overview](jajce_resource_grove_04_before.png)
|
||
- [after overview](jajce_resource_grove_04_after.png)
|
||
- `world/jajce/RiverbankResourceCluster.tscn`
|
||
- `tests/jajce_resource_cluster_test.gd`
|
||
|
||
The images use the same 1280×720 camera, fixed daylight value, warmup, and
|
||
Metal renderer. The new cluster is on the right bank beside and beyond the
|
||
bridge; the comparison intentionally keeps the broader citadel/waterfall
|
||
composition unchanged.
|
||
|
||
## Visual reduction
|
||
|
||
The former river edge had one isolated deciduous tree and conifer, while two
|
||
generic-box resource anchors sat separately from the foliage language. The
|
||
after frame gathers that silhouette into one restrained bank mass:
|
||
|
||
- 12 low-poly fern clumps;
|
||
- 9 oversized warm flower heads;
|
||
- 7 flattened bank stones;
|
||
- 2 decorative silhouette trees; and
|
||
- 2 finite anchors with distinct berry-patch and harvestable-tree visuals.
|
||
|
||
The 28 understory details use three `MultiMeshInstance3D` batches. The berry
|
||
visual adds five wind-reactive leaf clumps and eight deliberately readable
|
||
berries. This is a bounded authored accent, not a world-wide scatter pass.
|
||
|
||
## Authority and authoring contract
|
||
|
||
`DecorativeInstances` contains no `ResourceNode` descendants. Its trees,
|
||
ferns, flowers, and stones are transient presentation and never enter saves,
|
||
checksums, reservations, or resource conservation.
|
||
|
||
`ResourceAnchors` contains only `berry_bush_river_02` and
|
||
`tree_river_resource_01`. These are the same existing IDs and definitions, now
|
||
nested inside the authored cluster. `ResourceNode` registration and
|
||
`ActiveWorldAdapter` discovery do not depend on a parent path, so simulation
|
||
authority still binds exactly 18 resources.
|
||
|
||
The visible plants sit on the raised Terrain3D bank. Each anchor has a separate
|
||
approach marker snapped to the lower bank surface, keeping the visual context
|
||
honest without asking NPCs to climb an unreachable slope. All required
|
||
navigation routes reach those markers and remain close to Terrain3D height.
|
||
|
||
## Far-discovery proof
|
||
|
||
The berry interaction point is approximately 30.5 m from the village origin,
|
||
beyond the adapter's initial 24 m query radius. The focused scenario first
|
||
confirms ordinary nearby food remains available, then disables every other food
|
||
source in authoritative state. `ActionTargetResolver` expands through more than
|
||
one range pass and selects `berry_bush_river_02` by stable ID. The test also
|
||
checks that direct and nested anchors produce the same 18-entry index.
|
||
|
||
## Remaining work
|
||
|
||
The resource-specific visuals currently identify finite sources but do not yet
|
||
thin or change shape as their authoritative amount falls. The next vertical
|
||
slice should show low/depleted berries and a stump or equivalent tree state
|
||
after real NPC/player extraction, then verify save/load reconstructs the same
|
||
visual from `ResourceStateRecord` without serializing presentation fields.
|
||
|
||
## Capture command
|
||
|
||
```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_jajce_lookdev.gd -- \
|
||
--output=res://docs/baselines/jajce_resource_grove_04_after.png
|
||
```
|