docs: mark simulation state phase complete

This commit is contained in:
2026-07-05 12:52:13 +02:00
parent 30cac28fc0
commit f83d2c7704
5 changed files with 115 additions and 32 deletions
+17 -11
View File
@@ -464,12 +464,14 @@ NpcVisual navigates through the active world
│ ├── SimNPC.gd
│ ├── SimVillage.gd
│ ├── SimulationClock.gd
── SimulationManager.gd
── SimulationManager.gd
│ └── state/ Versioned simulation-state records
├── tests/
│ ├── deterministic_simulation_test.gd
│ ├── flat_map_baseline_test.gd
│ ├── jajce_world_scaffold_test.gd
── resource_node_player_parity_test.gd
── resource_node_player_parity_test.gd
│ └── simulation_state_serialization_test.gd
├── terrain/jajce/ Dedicated Terrain3D seed data and assets
├── tools/
│ └── generate_jajce_terrain_seed.gd
@@ -496,14 +498,15 @@ These are expected prototype constraints, not necessarily isolated bugs:
- Task names and task-to-activity-marker mappings are duplicated strings.
- Temporary activity markers remain for eating, rest, study, and patrol; NPC
and player food/wood gathering use `ResourceNode` instances with no fallback.
- Mutable simulation state is not serializable through a defined save schema.
- Simulation randomness is seeded and split into controlled per-NPC streams,
but RNG state is not yet part of a serializable save record.
- Current NPC, village, loaded resource, clock, and RNG state serialize through
schema v1, but there is no save-slot/file UX or backward migration yet.
- Resource records currently mirror loaded ResourceNode state; the scene nodes
still own live amounts and reservations.
- An explicit fixed-step clock converts frame delta into simulation ticks, but
orchestration still lives on the scene-tree `SimulationManager`.
- Automated coverage includes deterministic same-seed checksum,
player-parity/resource-contention, flat-map, and Jajce scaffold scenarios;
broader gameplay coverage is still missing.
- Automated coverage includes deterministic same-seed and save/restore
continuation checks, player-parity/resource-contention, flat-map, and Jajce
scaffold scenarios; broader gameplay coverage is still missing.
- Resources are global floating-point counters rather than items in locations
and inventories.
- NPCs do not have homes, schedules, possessions, memories, relationships,
@@ -713,15 +716,18 @@ Food and wood migration and the deliberately minimal `JajceWorld` scaffold,
greybox, navigation spike, and stable-ID placement proof are complete. Do not
proceed directly from that proof into open-ended beauty production.
The architecture gate is now the active milestone. Its first slice is complete:
The architecture gate is now the active milestone. Its first two slices are
complete:
- explicit fixed-step simulation clock;
- seeded per-NPC decision and wander random streams;
- headless fixed-seed scenario with a final-state checksum.
- headless fixed-seed scenario with a final-state checksum;
- versioned JSON records for NPC, village, loaded resource, clock, and RNG
state;
- deterministic save/restore continuation with exact 64-bit RNG preservation.
The remaining gate work is:
- versioned serializable NPC, village, and resource state;
- data-defined action and profession IDs;
- separated action selection, execution, target resolution, and visual travel;
- resource amount and reservation authority moved out of scene nodes;