From 7a298cf95d8a655ece6b7e5b57ca8fe91a7b2891 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Mon, 29 Jun 2026 06:14:38 +0100 Subject: [PATCH] Use native runtime documents in render UI --- Aetheria.State.Verify/Program.cs | 39 +++++++++---------- .../AetheriaUnityRenderSplatViewportSource.cs | 13 ++----- Assets/Scripts/UI/HUD/SchematicDisplay.cs | 22 +++-------- .../Zone Display/VolumeCloudRenderer.cs | 11 +----- Assets/Scripts/Zone Display/ZoneRenderer.cs | 27 ++++--------- 5 files changed, 39 insertions(+), 73 deletions(-) diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index 06ec93c35..7f6b2ec9b 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -2438,7 +2438,8 @@ static void RequireDaemonRenderQueryAuthority(string root) "FindAnyObjectByType()", "ResolveObjectsViewport(viewport)", "private AetheriaRuntimeObjectsViewportDocument ResolveObjectsViewport(AetheriaRuntimeXzRect viewport)", - ".State.Reactive(viewportBounds)", + ".Reactive(", + "\"unity-zone-renderer\"", "_objectsViewport?.Current", "foreach (var entity in objects?.Objects ?? Array.Empty())", "_observedEntitySnapshotsByDaemonIndex.TryGetValue(entityIndex, out var entity)", @@ -2456,8 +2457,7 @@ static void RequireDaemonRenderQueryAuthority(string root) "foreach (var beltPose in _daemonAsteroidBeltPoses)", "beltPose.InstancePoses ?? Array.Empty()", "private void RefreshDaemonContactRows()", - ".State", - ".Reactive()", + ".Reactive(\"unity-zone-renderer\")", "private void RefreshDaemonCompassMarkers()", "private void RefreshDaemonVisibleEntityInstances()", "PowerPulse(", @@ -2565,10 +2565,9 @@ static void RequireDaemonRenderQueryAuthority(string root) "CultMeshReactiveDocument _currentEntity", "ResolveCatalog()", "ResolveCurrentEntityHudStatus()", - "AetheriaUnityRuntimeClientProvider.ResolveClient(", - "ResolveClient().State.Reactive()", - "ResolveClient().State.Reactive()", - "ResolveClient().State.Reactive()", + ".Reactive(\"unity-schematic-display\")", + ".Reactive(\"unity-schematic-display\")", + ".Reactive(\"unity-schematic-display\")", "return _currentEntity?.Current?.Hud ?? new AetheriaRuntimeCurrentEntityHudStatus();", "_currentEntity?.Dispose()", "hud.OverrideShutdown", @@ -7595,9 +7594,9 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) "CultMeshReactiveDocument _catalog", "CultMeshReactiveDocument _playerSettings", "CultMeshReactiveDocument _currentEntity", - "ResolveClient().State.Reactive()", - "ResolveClient().State.Reactive()", - "ResolveClient().State.Reactive()", + ".Reactive(\"unity-schematic-display\")", + ".Reactive(\"unity-schematic-display\")", + ".Reactive(\"unity-schematic-display\")", "_catalog?.Dispose()", "_playerSettings?.Dispose()", "_currentEntity?.Dispose()", @@ -7651,7 +7650,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) var requiredVolumeCloudSymbols = new[] { "CultMeshReactiveDocument _playerSettings", - ".Reactive()", + ".Reactive(\"unity-volume-cloud-renderer\")", "_playerSettings?.Dispose()", "_playerSettings?.Current" }; @@ -8044,7 +8043,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) var requiredZoneRendererSharedDocumentSymbols = new[] { "CultMeshReactiveDocument _zoneContacts", - "ResolveClient().State.Reactive()", + ".Reactive(\"unity-zone-renderer\")", "_zoneContacts?.Dispose()", "_zoneContacts?.Current", "private void OnDestroy()" @@ -8064,7 +8063,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) "ZoneRenderer", "AetheriaRuntimeZoneContactsDocument", "_zoneContacts", - "ResolveClient().State.Reactive()", + ".Reactive(\"unity-zone-renderer\")", "AetheriaRuntimeZoneContactsSession", "ResolveClient().State.ObserveZoneContacts()"); RequireReactiveTypedDocumentAccess( @@ -8072,7 +8071,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) "ZoneRenderer", "AetheriaRuntimeCatalogSnapshot", "_catalog", - "ResolveClient().State.Reactive()", + ".Reactive(\"unity-zone-renderer\")", "AetheriaRuntimeCatalogSession", "ResolveClient().State.ObserveCatalog()"); @@ -8186,11 +8185,11 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root) .Where(symbol => !renderSplatViewportSource.Contains(symbol, StringComparison.Ordinal)) .ToArray(); if (!CompactSource(renderSplatViewportSource).Contains( - ".Reactive(viewport)", + ".Reactive(viewport,\"unity-render-splat-viewport\")", StringComparison.Ordinal)) { missingRenderSplatViewportSourceSymbols = missingRenderSplatViewportSourceSymbols - .Concat(new[] { ".Reactive(viewport)" }) + .Concat(new[] { ".Reactive(viewport,\"unity-render-splat-viewport\")" }) .ToArray(); } if (missingRenderSplatViewportSourceSymbols.Length > 0 || @@ -8213,7 +8212,7 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root) "AetheriaUnityRenderSplatViewportSource", "AetheriaRuntimeRenderSplatsViewportDocument", "_renderSplatsViewport", - ".Reactive(viewport)", + ".Reactive(viewport,\"unity-render-splat-viewport\")", "AetheriaRuntimeRenderSplatsViewportSession", ".ObserveRenderSplats(viewport)"); @@ -8233,11 +8232,11 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root) .Where(symbol => !zoneRenderer.Contains(symbol, StringComparison.Ordinal)) .ToArray(); if (!CompactSource(zoneRenderer).Contains( - ".Reactive(viewportBounds)", + ".Reactive(viewportBounds,\"unity-zone-renderer\")", StringComparison.Ordinal)) { missingZoneRendererViewportSymbols = missingZoneRendererViewportSymbols - .Concat(new[] { ".Reactive(viewportBounds)" }) + .Concat(new[] { ".Reactive(viewportBounds,\"unity-zone-renderer\")" }) .ToArray(); } if (missingZoneRendererViewportSymbols.Length > 0 || @@ -8260,7 +8259,7 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root) "ZoneRenderer", "AetheriaRuntimeObjectsViewportDocument", "_objectsViewport", - ".Reactive(viewportBounds)", + ".Reactive(viewportBounds,\"unity-zone-renderer\")", "AetheriaRuntimeObjectsViewportSession", ".ObserveObjects(viewportBounds)"); diff --git a/Assets/Scripts/Gameplay/AetheriaUnityRenderSplatViewportSource.cs b/Assets/Scripts/Gameplay/AetheriaUnityRenderSplatViewportSource.cs index 728a47153..a716c9df0 100644 --- a/Assets/Scripts/Gameplay/AetheriaUnityRenderSplatViewportSource.cs +++ b/Assets/Scripts/Gameplay/AetheriaUnityRenderSplatViewportSource.cs @@ -116,8 +116,10 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour _nextRefreshTime = Time.unscaledTime + Mathf.Max(0.02f, refreshIntervalSeconds); try { - var nextRenderSplatsViewport = ResolveClient() - .State.Reactive(viewport); + var nextRenderSplatsViewport = AetheriaUnityRuntimeClientProvider + .Reactive( + viewport, + "unity-render-splat-viewport"); ClearViewportDocument(); _viewport = viewport; _renderSplatsViewport = nextRenderSplatsViewport; @@ -159,11 +161,4 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour Mathf.Approximately(left.MaxY, right.MaxY); } - private AetheriaClient ResolveClient() - { - return AetheriaUnityRuntimeClientProvider.ResolveClient( - AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory), - "unity-render-splat-viewport"); - } - } diff --git a/Assets/Scripts/UI/HUD/SchematicDisplay.cs b/Assets/Scripts/UI/HUD/SchematicDisplay.cs index 2805accf0..032087fa0 100644 --- a/Assets/Scripts/UI/HUD/SchematicDisplay.cs +++ b/Assets/Scripts/UI/HUD/SchematicDisplay.cs @@ -69,7 +69,6 @@ public class SchematicDisplay : MonoBehaviour private EquippedCargoBay[] _cargoBays; private SchematicDisplayItem[] _schematicItems; private AetherDrive _aetherDrive; - private string _clientStatePath = ""; private CultMeshReactiveDocument _catalog; private CultMeshReactiveDocument _playerSettings; private CultMeshReactiveDocument _currentEntity; @@ -326,7 +325,8 @@ public class SchematicDisplay : MonoBehaviour try { - _catalog = ResolveClient().State.Reactive(); + _catalog = AetheriaUnityRuntimeClientProvider + .Reactive("unity-schematic-display"); } catch (Exception ex) { @@ -342,7 +342,8 @@ public class SchematicDisplay : MonoBehaviour { try { - _playerSettings = ResolveClient().State.Reactive(); + _playerSettings = AetheriaUnityRuntimeClientProvider + .Reactive("unity-schematic-display"); } catch (Exception ex) { @@ -359,7 +360,8 @@ public class SchematicDisplay : MonoBehaviour { try { - _currentEntity = ResolveClient().State.Reactive(); + _currentEntity = AetheriaUnityRuntimeClientProvider + .Reactive("unity-schematic-display"); } catch (Exception ex) { @@ -370,18 +372,6 @@ public class SchematicDisplay : MonoBehaviour return _currentEntity?.Current?.Hud ?? new AetheriaRuntimeCurrentEntityHudStatus(); } - private AetheriaClient ResolveClient() - { - var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory); - if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal)) - { - _clientStatePath = stateBoot.StateFilePath; - ClearClientCaches(); - } - - return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, "unity-schematic-display"); - } - private string FormatValue(float value) { var settings = ResolvePlayerSettings(); diff --git a/Assets/Scripts/Zone Display/VolumeCloudRenderer.cs b/Assets/Scripts/Zone Display/VolumeCloudRenderer.cs index 7bae61860..5cc4750a0 100644 --- a/Assets/Scripts/Zone Display/VolumeCloudRenderer.cs +++ b/Assets/Scripts/Zone Display/VolumeCloudRenderer.cs @@ -101,8 +101,8 @@ public class VolumeCloudRenderer : EffectBase try { - _playerSettings = ResolveClient() - .State.Reactive(); + _playerSettings = AetheriaUnityRuntimeClientProvider + .Reactive("unity-volume-cloud-renderer"); } catch (Exception ex) { @@ -112,13 +112,6 @@ public class VolumeCloudRenderer : EffectBase return _playerSettings?.Current; } - private AetheriaClient ResolveClient() - { - return AetheriaUnityRuntimeClientProvider.ResolveClient( - AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory), - "unity-volume-cloud-renderer"); - } - [ImageEffectOpaque] private void OnRenderImage(RenderTexture source, RenderTexture destination) { if (cloudShader == null) { diff --git a/Assets/Scripts/Zone Display/ZoneRenderer.cs b/Assets/Scripts/Zone Display/ZoneRenderer.cs index a65aa132e..eabf88a3f 100644 --- a/Assets/Scripts/Zone Display/ZoneRenderer.cs +++ b/Assets/Scripts/Zone Display/ZoneRenderer.cs @@ -119,7 +119,6 @@ public class ZoneRenderer : MonoBehaviour Array.Empty(); private IReadOnlyList _zoneRenderBodies = Array.Empty(); - private string _clientStatePath = ""; private CultMeshReactiveDocument _catalog; private CultMeshReactiveDocument _zoneContacts; private AetheriaRuntimeRtsViewportBounds _objectsViewportBounds; @@ -1208,7 +1207,8 @@ public class ZoneRenderer : MonoBehaviour try { - _catalog = ResolveClient().State.Reactive(); + _catalog = AetheriaUnityRuntimeClientProvider + .Reactive("unity-zone-renderer"); } catch (Exception ex) { @@ -1225,7 +1225,8 @@ public class ZoneRenderer : MonoBehaviour try { - _zoneContacts = ResolveClient().State.Reactive(); + _zoneContacts = AetheriaUnityRuntimeClientProvider + .Reactive("unity-zone-renderer"); } catch (Exception ex) { @@ -1243,8 +1244,10 @@ public class ZoneRenderer : MonoBehaviour try { - var nextObjectsViewport = ResolveClient() - .State.Reactive(viewportBounds); + var nextObjectsViewport = AetheriaUnityRuntimeClientProvider + .Reactive( + viewportBounds, + "unity-zone-renderer"); _objectsViewport?.Dispose(); _objectsViewportBounds = viewportBounds; _objectsViewport = nextObjectsViewport; @@ -1257,20 +1260,6 @@ public class ZoneRenderer : MonoBehaviour return _objectsViewport?.Current; } - private AetheriaClient ResolveClient() - { - var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory); - if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal)) - { - _clientStatePath = stateBoot.StateFilePath; - ClearClientCaches(); - } - - return AetheriaUnityRuntimeClientProvider.ResolveClient( - stateBoot, - "unity-zone-renderer"); - } - private void ClearClientCaches() { _catalog?.Dispose();