| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .. | ||
| Documents | ||
| Migration | ||
| Aetheria.State.csproj | ||
| AetheriaDocumentRegistry.cs | ||
| AetheriaStateNode.cs | ||
| AetheriaStatePaths.cs | ||
| README.md | ||
Aetheria.State
Aetheria.State is the replacement owner for durable Aetheria game state.
It uses modern GameCult.Caching, GameCult.Caching.MessagePack, and
GameCult.Mesh. It does not reference the old Assets/Scripts/ServerShared
tree, RethinkDB, JsonKnownTypes, or Newtonsoft.Json.
The first live state file is GameData/aetheria-world.cc. Legacy files such as
GameData/AetherDB.msgpack are migration inputs only.
The typed save model is split into player settings, saved runs, saved zones,
entity snapshots, item slots, weapon groups, action-bar bindings, and stat
grids. Do not preserve SavedGame or EntityPack as opaque payloads in the
new store; they are source shapes for migration, not portable state authority.
Current rebuild notes:
MessagePack3.1.4 is pulled transitively through CultLib and is currently flagged by NuGet advisoryGHSA-hv8m-jj95-wg3x; update CultLib'sGameCult.Caching.MessagePackpackage ownership rather than adding a local Aetheria override.CultRecordRef<T>should become the persisted reference shape once the MessagePack source-generator path handles the GameCult formatter cleanly. Until then, v1 profile documents store explicit record-key strings at the persistence boundary.