Files
gamedev-the-steward/docs/baselines/JAJCE_DUNJA_HABITAT_08.md
T
2026-07-26 23:52:56 +02:00

2.1 KiB
Raw Blame History

Jajce Dunja Habitat 08

Captured: 2026-07-26

File

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

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