Aetheria/Assets/Scripts/UI
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 95e164adce Land RunSave and the one-cache run and player lifecycle (Cut 10)
Owner: ActionGameManager composes the process's one cache. Its CultCache
getter attaches the catalog, GameData/run.cc and GameData/player.cc on
first access, in either scene, and nothing reopens it.

- RunSave (SavedGame.cs) replaces the SavedGame constructor:
  - Capture builds the live run as plain documents and writes nothing. Zone
    contents are `zone.Contents?.PackZone() ?? zone.PackedContents`, so a
    zone generated earlier but not loaded this session keeps its contents
    and its orbit and body records instead of being erased by the next save.
  - Commit is the only writer of SavedGame and SavedZone: one Commit with
    zone i at `savedzone-{i}`, SavedGame.Zones set to those refs, and every
    stored SavedZone outside that set removed. Orbits and bodies staged by
    zone generation land in the same single-file write.
  - Clear removes every run record in one Commit.
- Run begins: New Game's first statement is RunSave.Clear. Run saves:
  ActionGameManager.SaveRun at wormhole arrival and quit. Run ends: Die
  clears the run, then saves settings.
- Run exists only as the run store's SavedGame global: MainMenu enables
  Continue from it (and logs when the run store holds records but no
  SavedGame), and StartGame reads it once to pick the new-run or resume
  branch.
- PlayerSettings: the getter returns the player store's global and, on
  first launch, commits GetDefaultPlayerSettings; it is the only creator.
  SavePlayerSettings commits the instance.
- InputDisplayLayout reads its InputLayout from the catalog by the layout
  asset's name and throws when the catalog has none.

Tests: new RunSaveTests (5): RepeatedSavesKeepRecordCountConstant,
SaveRemovesZonesNoLongerInTheRun, SaveWritesOnlyTheRunStore,
ResumeThenSaveKeepsUnloadedZoneContents, ClearRemovesEveryRunRecord. Each
fails with its rule mutated out.

Builds: headless, 11 tests pass, Unity batchmode compile reports no error CS.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 22:00:27 +02:00
..
HUD Replace the Database Tools with the Studio and cut Unity over 2026-09-14 19:15:20 +02:00
InputScreen Land RunSave and the one-cache run and player lifecycle (Cut 10) 2026-09-14 22:00:27 +02:00
Menu Delete the old run, settings, layout and loadout authorities (Cut 10) 2026-09-14 21:51:10 +02:00
Properties Panel Replace the Database Tools with the Studio and cut Unity over 2026-09-14 19:15:20 +02:00
BackgroundRenderer.cs First Flight 2020-12-22 03:13:43 +00:00
BackgroundRenderer.cs.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
ClickableCollider.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ClickableCollider.cs.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
ClickCatcher.cs Playability 2022-08-08 22:43:55 +01:00
ClickCatcher.cs.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
ClickRaycaster.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ClickRaycaster.cs.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
ConfirmationDialog.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ConfirmationDialog.cs.meta Hauling Task 2020-06-12 01:57:15 +01:00
ConsoleController.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ConsoleController.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ConsoleView.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ConsoleView.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ContextMenu.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ContextMenu.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ContextMenuOption.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ContextMenuOption.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
CorporationMenuItem.cs First Flight 2020-12-22 03:13:43 +00:00
CorporationMenuItem.cs.meta Corporation Creation Screen 2020-05-18 01:06:30 +01:00
DropdownMenu.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
DropdownMenu.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
FieldTester.cs Delete AetheriaMath in favour of CultMath 2026-09-14 18:02:41 +02:00
FieldTester.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
HUD.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
InputScreen.meta Dynamic Input System Rebinding 2021-05-07 23:31:39 +01:00
MainMenu.cs Land RunSave and the one-cache run and player lifecycle (Cut 10) 2026-09-14 22:00:27 +02:00
MainMenu.cs.meta Live Demo Tweaks 2021-04-09 14:01:34 +01:00
Menu.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
Properties Panel.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
SpriteCursor.cs Playability 2022-08-08 22:43:55 +01:00
SpriteCursor.cs.meta Playability 2022-08-08 22:43:55 +01:00
TextButton.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
TextButton.cs.meta Save/Load and Main Menu Submenus 2021-03-14 03:56:49 +00:00
ZoneGravityObject.cs First Flight 2020-12-22 03:13:43 +00:00
ZoneGravityObject.cs.meta Entity Spawning & Rendering 2020-05-25 03:05:30 +01:00
ZoneObject.cs First Flight 2020-12-22 03:13:43 +00:00
ZoneObject.cs.meta Entity Spawning & Rendering 2020-05-25 03:05:30 +01:00
ZoneShip.cs First Flight 2020-12-22 03:13:43 +00:00
ZoneShip.cs.meta Local AI Testing & Interactive Tech Tab 2020-04-23 03:31:17 +01:00