diff --git a/Aetheria.State/scripts/verify-stage7d-unity-parity.ps1 b/Aetheria.State/scripts/verify-stage7d-unity-parity.ps1 index 24dbc3ad1..50a790e00 100644 --- a/Aetheria.State/scripts/verify-stage7d-unity-parity.ps1 +++ b/Aetheria.State/scripts/verify-stage7d-unity-parity.ps1 @@ -30,7 +30,10 @@ Assert-Contains $mainMenu "SetRuntimeInputScreenShell(Func canOpenRuntimeI Assert-Contains $mainMenu "_canOpenRuntimeInputScreen?.Invoke() == true" "MainMenu must query runtime input-screen availability through injected shell." Assert-Contains $mainMenu "_openRuntimeInputScreen?.Invoke();" "MainMenu must open runtime input screen through injected shell." Assert-Contains $mainMenu "LatestSectorMap" "MainMenu observed-game boot must read typed sector-map state." -Assert-Contains $mainMenu ".SectorMapAsync()" "MainMenu observed-game boot must use the typed sector-map facade." +Assert-Contains $mainMenu ".Aetheria()" "MainMenu observed-game boot must enter sector-map state through the semantic Aetheria facade." +Assert-Contains $mainMenu ".SectorMap" "MainMenu observed-game boot must read the typed sector-map document handle." +Assert-Contains $mainMenu ".LatestAsync()" "MainMenu observed-game boot must read a typed sector-map snapshot." +Assert-NotContains $mainMenu ".SectorMapAsync()" "MainMenu observed-game boot must not use the transitional sector-map helper." Assert-NotContains $mainMenu "LatestDaemonFrame" "MainMenu must not read whole daemon frames for observed-game boot." Assert-NotContains $mainMenu "LatestAuthoritativeRunFrameAsync" "MainMenu must not read whole daemon frames for observed-game boot." Assert-NotContains $mainMenu "ActionGameManager.Instance.ShowInputScreenFromMenu" "MainMenu must not open runtime input screen through ActionGameManager.Instance." @@ -46,8 +49,13 @@ Assert-NotContains $mapRenderer "ActionGameManager.RuntimePlayerSettings" "MapRe $sectorRenderer = Read-Text "Assets\Scripts\UI\Menu\SectorRenderer.cs" Assert-Contains $sectorRenderer "AetheriaClient" "SectorRenderer must keep explicit local Verse client ownership." -Assert-Contains $sectorRenderer "CurrentZoneAsync" "SectorRenderer must center from the typed current-zone facade." -Assert-Contains $sectorRenderer "SectorMapAsync" "SectorRenderer zone details must read sector topology through AetheriaClient." +Assert-Contains $sectorRenderer ".Aetheria()" "SectorRenderer must enter state through the semantic Aetheria facade." +Assert-Contains $sectorRenderer ".Current" "SectorRenderer must center from the current-state facade." +Assert-Contains $sectorRenderer ".Zone" "SectorRenderer must read the typed current-zone document handle." +Assert-Contains $sectorRenderer ".SectorMap" "SectorRenderer zone details must read the typed sector-map document handle." +Assert-Contains $sectorRenderer ".LatestAsync()" "SectorRenderer must read typed state snapshots." +Assert-NotContains $sectorRenderer ".CurrentZoneAsync()" "SectorRenderer must not use the transitional current-zone helper." +Assert-NotContains $sectorRenderer ".SectorMapAsync()" "SectorRenderer must not use the transitional sector-map helper." Assert-Contains $sectorRenderer "ZoneDetailsAsync" "SectorRenderer zone details must read daemon zone facts through AetheriaClient." Assert-Contains $sectorRenderer "OpenRuntimeCatalog" "SectorRenderer zone details must read catalog data through AetheriaClient." Assert-Contains $sectorRenderer "PlayerSettingsAsync" "SectorRenderer zone details must read formatting settings through AetheriaClient." @@ -59,7 +67,10 @@ Assert-NotContains $sectorRenderer "TryGetObservedZoneSnapshot" "SectorRenderer Assert-NotContains $sectorRenderer "LatestAuthoritativeRunFrameAsync" "SectorRenderer zone details must not read whole daemon frames." $sectorMap = Read-Text "Assets\Scripts\UI\Menu\SectorMap.cs" -Assert-Contains $sectorMap "SectorMapAsync" "SectorMap must render from the typed sector-map projection." +Assert-Contains $sectorMap ".Aetheria()" "SectorMap must enter state through the semantic Aetheria facade." +Assert-Contains $sectorMap ".SectorMap" "SectorMap must render from the typed sector-map document handle." +Assert-Contains $sectorMap ".LatestAsync()" "SectorMap must read a typed sector-map snapshot." +Assert-NotContains $sectorMap ".SectorMapAsync()" "SectorMap must not use the transitional sector-map helper." Assert-Contains $sectorMap "Subject" "SectorMap clicks must expose typed zone indices, not Unity GalaxyZone objects." Assert-NotContains $sectorMap "TryGetObservedGalaxy" "SectorMap must not ask ActionGameManager for observed galaxy state." Assert-NotContains $sectorMap "GalaxyZone" "SectorMap must not retain the legacy GalaxyZone graph." diff --git a/Assets/Scripts/UI/MainMenu.cs b/Assets/Scripts/UI/MainMenu.cs index bf07490d0..042115e30 100644 --- a/Assets/Scripts/UI/MainMenu.cs +++ b/Assets/Scripts/UI/MainMenu.cs @@ -163,7 +163,9 @@ public class MainMenu : MonoBehaviour try { return ResolveClient(stateBoot) - .SectorMapAsync() + .Aetheria() + .SectorMap + .LatestAsync() .GetAwaiter() .GetResult(); } diff --git a/Assets/Scripts/UI/Menu/SectorMap.cs b/Assets/Scripts/UI/Menu/SectorMap.cs index af44e6ba8..bd5b7ac19 100644 --- a/Assets/Scripts/UI/Menu/SectorMap.cs +++ b/Assets/Scripts/UI/Menu/SectorMap.cs @@ -221,7 +221,9 @@ public class SectorMap : MonoBehaviour private void EnsureSectorMapLoaded() { _sectorMap = ResolveClient() - .SectorMapAsync() + .Aetheria() + .SectorMap + .LatestAsync() .GetAwaiter() .GetResult(); diff --git a/Assets/Scripts/UI/Menu/SectorRenderer.cs b/Assets/Scripts/UI/Menu/SectorRenderer.cs index a338d759e..0b72bc4cb 100644 --- a/Assets/Scripts/UI/Menu/SectorRenderer.cs +++ b/Assets/Scripts/UI/Menu/SectorRenderer.cs @@ -172,7 +172,9 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS try { var sectorMap = ResolveClient() - .SectorMapAsync() + .Aetheria() + .SectorMap + .LatestAsync() .GetAwaiter() .GetResult(); return (sectorMap?.Zones ?? Array.Empty()) @@ -317,7 +319,10 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS try { return ResolveClient() - .CurrentZoneAsync() + .Aetheria() + .Current + .Zone + .LatestAsync() .GetAwaiter() .GetResult(); }