docs: mark resource authority phase complete

This commit is contained in:
2026-07-05 13:26:26 +02:00
parent 363620b731
commit 12f9ba616f
6 changed files with 61 additions and 45 deletions
+20 -12
View File
@@ -11,7 +11,8 @@ simulation. Schema v1 captures:
starvation state, and decision RNG stream;
- village resource counters;
- controlled per-NPC wander RNG streams;
- loaded ResourceNode amount, reservation, and enabled state.
- scene-independent resource state plus the definition facts needed while its
ResourceNode is unloaded.
The top-level identity is:
@@ -42,19 +43,26 @@ its future random sequence.
4. running the remaining 24 ticks;
5. requiring the complete final-state checksums to match.
It also verifies clock remainder, ResourceNode amount/reservation/enabled
round-tripping, and rejection of unsupported schemas.
It also verifies clock remainder, resource amount/reservation/enabled
round-tripping, presentation unload/rebind, and rejection of unsupported
schemas.
## Transitional resource boundary
## Resource authority
Schema v1 can capture and restore loaded `ResourceNode` state, but the scene
node still owns the live amount and reservation. That is transitional support,
not the final authority model.
`SimulationManager` owns `ResourceStateRecord` instances independently of the
scene tree. Amount, reservation, enabled state, action/resource identity,
yield, and usage permissions remain available and serializable while no
ResourceNode is loaded.
The next architecture-gate phase moves those values into scene-independent
resource records. ResourceNode will then bind to a record by stable ID and act
as presentation plus an active-world interaction surface. An unloaded resource
must remain simulated and serializable.
ResourceNode binds to a record by stable ID and provides presentation,
interaction transforms, and active-world discoverability. Unloading a node does
not delete its record. Loading another node with the same stable ID rebinds to
the existing record and cannot overwrite its amount or reservation with scene
defaults.
ResourceStateRecord v2 adds the definition facts needed while unloaded. Nested
v1 resource records are migrated explicitly and hydrate their missing
definition from a matching presentation node when one becomes available.
## Deliberately out of scope
@@ -64,7 +72,7 @@ This phase does not yet provide:
- backward migrations beyond schema v1;
- inventory, relationship, schedule, or history records;
- a player-facing load flow;
- scene-independent resource authority.
- save-slot persistence for scene-independent resource state.
Those features should build on this boundary rather than inventing parallel
serialization paths.