Refactor world simulation and API to enhance world state management; introduce StoredWorldDto for internal bookkeeping, improve synchronization between simulation and API data, and implement new simulation options for idle and catch-up behavior. Update documentation to reflect changes in data structures and API endpoints.

This commit is contained in:
Leonid Pershin
2026-08-16 23:28:29 +03:00
parent 2a8b7b49b3
commit cb5117edba
23 changed files with 639 additions and 121 deletions
+3
View File
@@ -74,6 +74,9 @@ day, cloud, fog and lying snow and drops rain or snow through it.
New ECS components must be added to the probe entity in `SimulationComponents` — Arch assigns component type
ids on first use without a lock, and two threads racing there hand out the same id.
`StoredWorldDto` is what `state.json` holds; `WorldSummaryDto` is what clients get. Cross only via
`ToSummary()` — the wire type deliberately has no field for the simulation's bookkeeping.
Keep wire DTOs in sync: `TheLivingWorld.Core.Contracts` and `src/TheLivingWorld.Web/src/api/types.ts`.
## Working conventions