docs: mark quicksave phase complete

This commit is contained in:
2026-07-05 18:10:44 +02:00
parent 08b7bee0e5
commit 40014411fb
3 changed files with 27 additions and 13 deletions
+7 -6
View File
@@ -641,17 +641,18 @@ Completed after the architecture gate:
- deterministic structured economic events for extraction, deposit, - deterministic structured economic events for extraction, deposit,
withdrawal, and consumption; withdrawal, and consumption;
- persisted event identity/history and a visible carried-food prop derived - persisted event identity/history and a visible carried-food prop derived
from NPC inventory. from NPC inventory;
- a validated local quicksave with bounded file size, guarded slot names,
atomic replacement recovery, F5/F9 controls, and active-visual rebuilding.
The practical next sequence is: The practical next sequence is:
1. Add save-slot persistence, validation, and explicit migration fixtures 1. Resume Terrain3D sculpting, runtime integration, and the simulation-garden
before schedules
or social state expand.
2. Resume Terrain3D sculpting, runtime integration, and the simulation-garden
beauty pass. beauty pass.
3. Add stylized character and profession readability plus the reason 2. Add stylized character and profession readability plus the reason
inspector. inspector.
3. Expand persistence only when schedules, player state, or a real save menu
creates a concrete requirement.
This order strengthens the simulation while regularly producing visible This order strengthens the simulation while regularly producing visible
progress suitable for public development updates. progress suitable for public development updates.
+6 -4
View File
@@ -502,8 +502,9 @@ These are expected prototype constraints, not necessarily isolated bugs:
marker mapping and several action effects remain hard-coded. marker mapping and several action effects remain hard-coded.
- Temporary activity markers remain for eating, rest, study, and patrol; NPC - Temporary activity markers remain for eating, rest, study, and patrol; NPC
and player food/wood gathering use `ResourceNode` instances with no fallback. and player food/wood gathering use `ResourceNode` instances with no fallback.
- Current NPC, village, resource, clock, and RNG state serialize through schema - Current NPC, village, resource, storage, event, clock, and RNG state serialize
v1, but there is no save-slot/file UX or top-level backward migration yet. through world schema v3. 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 - Simulation-owned resource records retain live amounts, reservations, and
usage definitions while ResourceNode scenes are unloaded. usage definitions while ResourceNode scenes are unloaded.
- An explicit fixed-step clock converts frame delta into simulation ticks, but - An explicit fixed-step clock converts frame delta into simulation ticks, but
@@ -741,8 +742,9 @@ The location-based food loop is complete and traceable: gathering creates
carried food, depositing fills the pantry, withdrawal retrieves one unit, and carried food, depositing fills the pantry, withdrawal retrieves one unit, and
eating consumes it. Each successful transfer creates a persisted structured eating consumes it. Each successful transfer creates a persisted structured
event, and active NPCs visibly carry food through presentation derived from event, and active NPCs visibly carry food through presentation derived from
their inventory. The next systems milestone is save-slot persistence and their inventory. The bounded save-slot slice is also complete, including
validation. Bounded Terrain3D look-development can resume alongside it. validation, atomic replacement recovery, and active-visual rebuilding.
Terrain3D runtime integration and the simulation-garden beauty pass are next.
The coherent visual slice can then aim for: The coherent visual slice can then aim for:
+14 -3
View File
@@ -87,15 +87,26 @@ ResourceStateRecord v2 adds the definition facts needed while unloaded. Nested
v1 resource records are migrated explicitly and hydrate their missing v1 resource records are migrated explicitly and hydrate their missing
definition from a matching presentation node when one becomes available. definition from a matching presentation node when one becomes available.
## Local quicksave boundary
`SaveSlotStore` writes the existing versioned 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.
In `main.tscn`, F5 saves and F9 loads this slot. Restoration rebuilds active NPC
visuals from authoritative state.
## Deliberately out of scope ## Deliberately out of scope
This phase does not yet provide: This phase does not yet provide:
- save-slot files, metadata, thumbnails, or atomic disk writes; - a save-slot menu, metadata, thumbnails, autosaves, or multiple profiles;
- migrations older than the explicitly supported world schemas v1 and v2; - migrations older than the explicitly supported world schemas v1 and v2;
- player inventory, relationship, schedule, or social-memory records; - player inventory, relationship, schedule, or social-memory records;
- a player-facing load flow; - persistence for the player transform or presentation-only scene state.
- save-slot persistence for scene-independent resource state.
Those features should build on this boundary rather than inventing parallel Those features should build on this boundary rather than inventing parallel
serialization paths. serialization paths.