Files
2026-07-26 23:52:56 +02:00

54 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Jajce Dunja Habitat 08
Captured: 2026-07-26
## File
- [shelter and clover pasture](jajce_dunja_habitat_08.png)
The 1280×720 Metal frame shows Dunja's small timber shelter, fixed feed bowl,
straw bed, warm lantern, and adjacent fenced clover patch in the south-village
clearing. The bowl now belongs to the static habitat instead of moving with
the goat. Dunja also joins the existing `grass_interactors` group, so the
camera-local grass shader bends around her real loaded position.
## Routine proof
The two habitat markers expose stable `dunja_shelter` and `dunja_pasture` IDs.
When the saved routine tick becomes due, `AnimalCareSystem` alternates to the
other site in stable-ID order without drawing RNG. The selected site ID, exact
target position, current position, and next due tick remain in
`AnimalStateRecord`.
`tests/animal_routine_vertical_slice_test.gd` proves the complete loaded-world
contract:
- the authored endpoints are connected by the Jajce navigation map;
- Dunja follows the returned path and reports authoritative position;
- a mid-route schema-v11 save restores the same checksum, destination, and NPC
RNG streams;
- unloading and re-instantiating the goat scene rebinds that same moving state;
- arrival promotes the destination to the current site exactly; and
- hunger stops travel so feeding targets a stationary animal.
## Structure refinement
The reusable goat scene, visual script, habitat, and lookdev scene now live
together under `world/animals/goat/`. Their file names use `snake_case`, while
scene node names remain `PascalCase`. `docs/.gdignore` keeps documentation and
review captures out of Godot's runtime import database, so baseline PNGs no
longer need tracked `.import` sidecars.
## 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 -- \
--scene=res://world/animals/goat/dunja_lookdev.tscn \
--output=res://docs/baselines/jajce_dunja_habitat_08.png \
--hide-debug-labels
```