feat: integrate regional caravan persistence
This commit is contained in:
@@ -451,12 +451,20 @@ replayed after restore.
|
||||
|
||||
## Local quicksave boundary
|
||||
|
||||
`SaveSlotStore` writes the existing versioned local JSON record to
|
||||
`user://saves/quicksave.json`. It validates the serialized record before
|
||||
replacement, limits file size, restricts slot names, preserves the previous
|
||||
file during replacement, and can recover that backup if replacement is
|
||||
interrupted. Loading parses and validates the complete record before mutating
|
||||
the simulation.
|
||||
`SaveSlotStore` writes `SimulationSaveManifest` v1 to
|
||||
`user://saves/quicksave.json`. The manifest contains the unchanged local v16
|
||||
record and canonical regional facade envelope, with an independent checksum
|
||||
for each. Restore also requires world, seed, active location, and tick to agree
|
||||
across both authorities, and rolls both back if local restoration fails.
|
||||
|
||||
The store validates the complete serialized manifest before replacement,
|
||||
limits file size, restricts slot names, preserves the previous file during
|
||||
replacement, and can recover that backup if replacement is interrupted. Raw
|
||||
local v16 quicksaves remain loadable; they bootstrap an idle regional facade
|
||||
at the restored seed and tick. Explicit non-Jajce adapter scopes continue
|
||||
writing local v16 records until a matching regional facade exists. Local-only
|
||||
saving is allowed only while regional state equals its deterministic idle
|
||||
bootstrap; otherwise it fails closed rather than discarding authority.
|
||||
|
||||
In `main.tscn`, F5 saves and F9 loads this slot. Restoration rebuilds active NPC
|
||||
visuals from authoritative state.
|
||||
@@ -476,8 +484,8 @@ This phase does not yet provide:
|
||||
- persistence of a currently open dialogue UI/turn. Semantic conversation
|
||||
history and commitment authority persist, while a balloon is regenerated
|
||||
after restore;
|
||||
- production integration of the regional chunked save manifest, lazy location
|
||||
loading, or aggregate population promotion/persistence;
|
||||
- production integration of regional retained/rolled-up chunk history, lazy
|
||||
location loading, or aggregate population promotion/persistence;
|
||||
- persistence for the player transform or presentation-only scene state.
|
||||
|
||||
Those features should build on this boundary rather than inventing parallel
|
||||
|
||||
Reference in New Issue
Block a user