Route main menu settings through commits

This commit is contained in:
Meta Vens 2026-06-16 04:04:59 +01:00
commit eb2f1a3d2b
5 changed files with 88 additions and 46 deletions

View file

@ -86,10 +86,9 @@ legacy catalog cache, and legacy UI paths should be migration-only or deleted.
pointer into the typed Verse replacement for `PlayerSettings.msgpack`: player
name, tutorial flag, story-file hash cursors, gameplay formatting, graphics
preferences, input binding overrides, and action-bar inputs. Unity's menu and
input screens mutate `RuntimePlayerSettings` in memory and queue typed Verse
commits through shared player-settings commit primitives. Gameplay and
graphics settings now return through the same main-menu commit primitive; the
in-memory projection is not portable state authority. Aetheria has its own
input screens route edits through named player-settings commit primitives that
mutate the session `RuntimePlayerSettings` projection and queue typed Verse
commits. The in-memory projection is not portable state authority. Aetheria has its own
remapping UI that calls Unity's InputSystem at the binding/action layer;
Unity's generated
`AetheriaInput` class is the edge consumer of typed binding overrides, not
@ -1600,6 +1599,10 @@ First Aetheria surfaces to publish:
- Done: route main-menu graphics settings returns through the same typed
player-settings commit primitive as gameplay settings, so graphics edits
no longer survive only as session-local `RuntimePlayerSettings`.
- Done: route main-menu player name, gameplay formatting, and graphics
preference edits through named `ActionGameManager` commit methods. MainMenu
reads the `RuntimePlayerSettings` projection for display, but no longer
assigns its player/gameplay/graphics fields directly.
- Remaining: delete or quarantine old cache abstractions that no longer
protect an invariant once catalog migration has a typed reader.