feat: add paired goat care
This commit is contained in:
@@ -811,15 +811,20 @@ Completed:
|
||||
exact mid-route state through schema-v11 restore and presentation
|
||||
unload/reload. The animal feature assets now live together under
|
||||
`world/animals/goat/`, while ignored docs no longer create import sidecars.
|
||||
42. `Jajce Goat Pair 09`: Zora now joins Dunja as a second named, stable animal
|
||||
with an authored private shelter and deterministic access to the shared
|
||||
pasture. Simultaneous hunger selects the nearest available loaded goat,
|
||||
preserves two exact reservations through save/restore, and feeds only the
|
||||
named target. Private shelter ownership remains loaded-world context; no
|
||||
herd system, animal index, or schema bump was introduced.
|
||||
|
||||
Next:
|
||||
|
||||
1. Add one second named goat with its own stable state, authored shelter
|
||||
context, and deterministic use of the shared pasture. Prove nearest
|
||||
feed-target selection and independent reservations when both animals are
|
||||
hungry.
|
||||
1. Playtest the named pair and record one concrete gameplay or scaling need
|
||||
before extending the animal model.
|
||||
2. Keep breeding, products, herd scheduling, animal spatial indexing, and
|
||||
active/abstract simulation LOD deferred until two real animals require them.
|
||||
active/abstract simulation LOD deferred unless that evidence requires one
|
||||
of them; otherwise return to the broader milestone sequence.
|
||||
|
||||
Do not start with GIS data, a full city, a large asset pack, or more NPC
|
||||
mechanics. The next proof is a beautiful stage for the systems that already
|
||||
|
||||
@@ -938,16 +938,28 @@ destination, and every NPC RNG stream. Unloading and re-instantiating the goat
|
||||
scene retains that same travel state, arrival is exact, and hunger stops
|
||||
movement before feeding.
|
||||
|
||||
The immediate next slice should add one second named goat with its own stable
|
||||
record and authored shelter context while sharing the existing pasture.
|
||||
Selection and reservation tests must prove that simultaneous hunger still
|
||||
chooses the nearest real animal and mutates only the exact target. Keep
|
||||
loaded-animal discovery linear and defer herd scheduling, breeding, products,
|
||||
animal indexing, and active/abstract simulation LOD until two identities
|
||||
demonstrate a concrete need.
|
||||
The first multi-animal care slice is complete. Zora adds a second stable record,
|
||||
loaded presentation, and private shelter while sharing Dunja's pasture. When
|
||||
both goats are hungry, loaded target resolution chooses the nearest available
|
||||
interaction point, two villagers can retain independent exact claims, and
|
||||
feeding Zora leaves Dunja's hunger, feed history, and reservation untouched.
|
||||
Schema-v11 restore preserves both claim pairings and checksum. Loaded routine
|
||||
sites now distinguish private shelter ownership from shared species context
|
||||
without adding that authored-world fact to saved simulation state.
|
||||
|
||||
The immediate next step is a playtest-and-measure gate, not a herd abstraction.
|
||||
Keep loaded-animal discovery linear and use the named pair to identify one
|
||||
concrete gameplay need before adding breeding, products, herd scheduling,
|
||||
animal indexing, or active/abstract animal LOD. If no such need appears, resume
|
||||
the broader milestone sequence instead of adding animal framework by momentum.
|
||||
|
||||
Recently completed:
|
||||
|
||||
- `Jajce Goat Pair 09`: named goat Zora adds a second independent animal
|
||||
record and private shelter while sharing Dunja's pasture. Stable nearest
|
||||
targeting, simultaneous exact reservations, isolated feed mutation and
|
||||
events, deterministic routine ownership, and active-claim save/restore prove
|
||||
the multi-animal contract without a schema bump or herd system.
|
||||
- `Jajce Dunja Habitat 08`: the first deterministic animal routine alternates
|
||||
shelter and pasture through real loaded navigation, preserves exact
|
||||
mid-route state across save/restore and presentation unload/reload, stops
|
||||
|
||||
@@ -999,10 +999,14 @@ World-schema v10 restore reconstructs her persistent state without replaying
|
||||
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.
|
||||
unload/reload without consuming decision RNG. Zora now proves the bounded
|
||||
multi-animal contract: her independent stable record and private shelter share
|
||||
Dunja's pasture, nearest loaded care targeting supports two simultaneous exact
|
||||
claims, and feeding one goat cannot mutate the other. World-schema v11
|
||||
preserves both claim pairings without serializing shelter ownership. Do not
|
||||
generalize animal discovery or introduce herd scheduling, products, breeding,
|
||||
or active/abstract animal LOD until playtest or measurement exposes a concrete
|
||||
need.
|
||||
|
||||
The remaining simulation-garden target still aims for:
|
||||
|
||||
|
||||
@@ -37,10 +37,10 @@ both require one stored wood without duplicating that rule.
|
||||
farmer profession and declares an exact one-food completion cost. Selection,
|
||||
animal target reservation, and completion remain separate; NPC and player
|
||||
completion both use `AnimalCareSystem`'s same pantry-to-animal transaction.
|
||||
`SimulationIds` also names Dunja's shelter and pasture anchors. These IDs are
|
||||
saved routine vocabulary; their loaded positions come from
|
||||
`AnimalRoutineSite` rather than entering an action definition or resource
|
||||
registry.
|
||||
`SimulationIds` names Dunja and Zora, their private shelter anchors, and the
|
||||
shared pasture anchor. These IDs are saved routine vocabulary; their loaded
|
||||
positions and private/shared ownership come from `AnimalRoutineSite` rather
|
||||
than entering an action definition or resource registry.
|
||||
|
||||
## Current profession contract
|
||||
|
||||
|
||||
@@ -284,13 +284,23 @@ care operation: reserve or select the exact animal, withdraw one real food
|
||||
from `village_pantry`, reduce that animal's hunger, and append one exact
|
||||
`animal_fed` fact. Failed withdrawal changes neither animal nor history.
|
||||
|
||||
The first routine consumer alternates Dunja between stable-ID shelter and
|
||||
pasture markers without drawing RNG. `ActiveWorldAdapter` supplies the loaded
|
||||
marker positions, the selected ID and exact position enter state, and
|
||||
`AnimalNode` follows a real `NavigationServer3D` path while reporting factual
|
||||
position changes. A mid-route save restores the same position and target;
|
||||
unloading the scene node pauses presentation only, and reloading it resumes
|
||||
from those facts. Hunger cancels travel before care targeting.
|
||||
The first routine consumers alternate Dunja and Zora between stable-ID private
|
||||
shelters and one shared pasture without drawing RNG. `AnimalRoutineSite`
|
||||
declares optional loaded-world resident ownership: an empty resident ID is
|
||||
shared species context, while a named resident makes a shelter private.
|
||||
`ActiveWorldAdapter` filters those loaded markers for each stable animal; site
|
||||
ownership is not persistent state and does not require a schema bump. The
|
||||
selected site ID and exact position do enter state, and each `AnimalNode`
|
||||
follows a real `NavigationServer3D` path while reporting factual position
|
||||
changes. A mid-route save restores the same position and target; unloading a
|
||||
scene node pauses presentation only, and reloading it resumes from those facts.
|
||||
Hunger cancels travel before care targeting.
|
||||
|
||||
Multiple animal records remain independently authoritative. A schema-v11 save
|
||||
may contain concurrent feed reservations only when each reserving NPC targets
|
||||
that exact animal in a valid travel or work state. Restoring Dunja and Zora
|
||||
preserves both claim pairings and the checksum; completing one feed releases
|
||||
and mutates only its destination record.
|
||||
|
||||
The persistent hungry/content presentation derives from authoritative hunger.
|
||||
The short feed response is transient and is reset rather than serialized or
|
||||
|
||||
Reference in New Issue
Block a user