From 09e18a4b4c5710d487d4ced6ee974f4edb088ee2 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 28 Jun 2026 03:21:47 +0100 Subject: [PATCH] Name main menu catalog access as document read --- Aetheria.State.Verify/Program.cs | 8 ++++++++ Assets/Scripts/UI/MainMenu.cs | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index 668055e94..9484134e9 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -13216,8 +13216,10 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) if (!mainMenu.Contains("AetheriaClient", StringComparison.Ordinal) || !mainMenu.Contains("LatestSectorMap(AetheriaRuntimeStateBootReport stateBoot)", StringComparison.Ordinal) || + !mainMenu.Contains("LatestRuntimeCatalog(AetheriaRuntimeStateBootReport stateBoot)", StringComparison.Ordinal) || !mainMenu.Contains(".Aetheria()", StringComparison.Ordinal) || !mainMenu.Contains(".SectorMap", StringComparison.Ordinal) || + !mainMenu.Contains(".Catalog.Latest()", StringComparison.Ordinal) || !mainMenu.Contains(".LatestAsync()", StringComparison.Ordinal)) { throw new InvalidOperationException( @@ -13230,6 +13232,12 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) "MainMenu still reads daemon frames through the runtime file reader instead of the shared Aetheria client facade."); } + if (mainMenu.Contains("OpenRuntimeCatalog(", StringComparison.Ordinal)) + { + throw new InvalidOperationException( + "MainMenu still names runtime catalog access as a raw catalog open instead of a managed latest document read."); + } + var forbiddenMainMenuReaderSymbols = new[] { "AetheriaRuntimeStateReader.ReadPlayerSettings", diff --git a/Assets/Scripts/UI/MainMenu.cs b/Assets/Scripts/UI/MainMenu.cs index 45f52e3aa..a80763a20 100644 --- a/Assets/Scripts/UI/MainMenu.cs +++ b/Assets/Scripts/UI/MainMenu.cs @@ -131,7 +131,7 @@ public class MainMenu : MonoBehaviour setState($"Observing sector-map frame {sectorMap.FrameId}"); var backgroundSettings = sectorMap.IsTutorial ? Settings.TutorialBackgroundSettings : Settings.SectorBackgroundSettings; backgroundSettings.NoisePosition = sectorMap.GenerationSeed == 0 ? 1 : sectorMap.GenerationSeed; - var runtimeCatalog = OpenRuntimeCatalog(stateBoot); + var runtimeCatalog = LatestRuntimeCatalog(stateBoot); if (runtimeCatalog == null) { Debug.LogWarning($"Cannot start Aetheria observer scene without a runtime catalog in {stateBoot.StateFilePath}."); @@ -215,7 +215,7 @@ public class MainMenu : MonoBehaviour } } - private AetheriaRuntimeCatalogSnapshot OpenRuntimeCatalog(AetheriaRuntimeStateBootReport stateBoot) + private AetheriaRuntimeCatalogSnapshot LatestRuntimeCatalog(AetheriaRuntimeStateBootReport stateBoot) { if (!stateBoot.SupportsLocalStateFileRead || !stateBoot.StateFileExists) return null;