feat: add deterministic goat routine

This commit is contained in:
Rijad Zuzo
2026-07-26 23:52:56 +02:00
parent f79c2bb630
commit e3aa3440a2
61 changed files with 1393 additions and 1057 deletions
+13 -4
View File
@@ -553,6 +553,7 @@ NpcVisual navigates through the active world
│ ├── SimulationClock.gd
│ ├── SimulationManager.gd
│ ├── actions/ Selection, execution, and target resolution
│ ├── animals/ Animal needs, routines, reservations, and care
│ ├── benchmark/ Population/history and resource-query workloads
│ ├── definitions/ Stable IDs and custom definition resources
│ ├── economy/ Inventory and storage transactions
@@ -587,6 +588,10 @@ NpcVisual navigates through the active world
│ ├── benchmark_loaded_resource_discovery.gd
│ └── generate_jajce_terrain_seed.gd
├── world/
│ ├── animals/
│ │ ├── animal_node.gd
│ │ ├── animal_routine_site.gd
│ │ └── goat/ Goat scene, habitat, visual, and lookdev assets
│ ├── jajce/
│ │ ├── JajceWorld.tscn
│ │ ├── JajceLookdev.tscn
@@ -618,7 +623,7 @@ These are expected prototype constraints, not necessarily isolated bugs:
the typed pantry `StorageNode`, and patrol/study/rest use `ActivitySite`.
- Current NPC, village, resource, storage, animal, event, knowledge,
relationship, opportunity, clock, and RNG state serialize through world
schema v10. F5/F9 provide one validated local quicksave; a save menu,
schema v11. F5/F9 provide one validated local quicksave; a save menu,
metadata, and player-transform persistence remain deferred.
- Simulation-owned resource records retain live amounts, reservations, and
usage definitions while ResourceNode scenes are unloaded.
@@ -991,9 +996,13 @@ amount. Dunja now proves the first identity-backed animal contract: stable
animal identity, simulation-owned position and hunger, a loaded visual binding,
and the same exact pantry-conserving feed operation for NPC and player.
World-schema v10 restore reconstructs her persistent state without replaying
the transient response. The next bounded animal slice should give Dunja one
deterministic pasture/shelter routine before adding another goat. Do not yet
generalize animal discovery or introduce active/abstract simulation LOD.
the transient response. Dunja now also alternates between a stable shelter and
pasture through real loaded navigation. World-schema v11 preserves exact
mid-route position, destination, and schedule through restore or presentation
unload/reload without consuming decision RNG. The next bounded animal slice
should add one second named goat and prove independent nearest-target care
before any herd abstraction. Do not yet generalize animal discovery or
introduce active/abstract simulation LOD.
The remaining simulation-garden target still aims for: