Project current zone from daemon run

This commit is contained in:
Meta Vens 2026-06-21 17:10:27 +01:00
commit 0a21e44f54
4 changed files with 38 additions and 10 deletions

View file

@ -7932,6 +7932,7 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
"ApplyLatestAuthoritativeDaemonFrame()",
"ResolveDaemonObserver()",
"public AetheriaRuntimeZoneSnapshotCommit FindDaemonZoneSnapshot(GalaxyZone zone)",
"public GalaxyZone CurrentDaemonGalaxyZone",
"observed.IsAuthoritative",
"TryRestoreEntityGraphFromDaemonRun(observed.Run)",
"CreateDaemonZoneConstructionBlueprint(daemonZone)",
@ -7962,6 +7963,23 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
string.Join(", ", missingGameplaySymbols));
}
var mapRendererPath = Path.Combine(root, "Assets", "Scripts", "UI", "Menu", "MapRenderer.cs");
var mapRenderer = File.Exists(mapRendererPath)
? File.ReadAllText(mapRendererPath)
: throw new InvalidOperationException("Cannot verify daemon current-zone UI projection; MapRenderer.cs is missing.");
var sectorRendererPath = Path.Combine(root, "Assets", "Scripts", "UI", "Menu", "SectorRenderer.cs");
var sectorRenderer = File.Exists(sectorRendererPath)
? File.ReadAllText(sectorRendererPath)
: throw new InvalidOperationException("Cannot verify daemon current-zone UI projection; SectorRenderer.cs is missing.");
if (mapRenderer.Contains("GameManager.Zone.GalaxyZone", StringComparison.Ordinal) ||
sectorRenderer.Contains("GameManager.Zone.GalaxyZone", StringComparison.Ordinal) ||
sectorRenderer.Contains("GameManager.CurrentEntity.Zone.GalaxyZone", StringComparison.Ordinal))
{
throw new InvalidOperationException(
"Map and sector UI must read current-zone identity from the daemon-observed run, not Unity's mirrored Zone hierarchy.");
}
var requiredDaemonControlValidationSymbols = new[]
{
"case AetheriaRuntimeDaemonCommandKinds.SetTractorPower:",