diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index 1d6b110de..03c2828a6 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -8562,6 +8562,14 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root) "AetheriaUnityRenderSplatViewportSource still routes render-splats viewports through raw/session wrapper state instead of a managed viewport document."); } + if (renderSplatViewportSource.Contains("_fallbackRenderSplatsViewport", StringComparison.Ordinal) || + renderSplatViewportSource.Contains("EmptyRenderSplatsViewport", StringComparison.Ordinal) || + renderSplatViewportSource.Contains("new AetheriaRuntimeRenderSplatsViewportDocument", StringComparison.Ordinal)) + { + throw new InvalidOperationException( + "AetheriaUnityRenderSplatViewportSource must not fabricate renderer-local render splat documents; daemon/CultMesh viewport documents own render fields."); + } + var zoneRenderer = File.ReadAllText(Path.Combine( root, "Assets", diff --git a/Assets/Scripts/Gameplay/AetheriaUnityRenderSplatViewportSource.cs b/Assets/Scripts/Gameplay/AetheriaUnityRenderSplatViewportSource.cs index f23b035ac..606f8c360 100644 --- a/Assets/Scripts/Gameplay/AetheriaUnityRenderSplatViewportSource.cs +++ b/Assets/Scripts/Gameplay/AetheriaUnityRenderSplatViewportSource.cs @@ -27,7 +27,6 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour private float _nextRefreshTime; private AetheriaUnityGameViewportDocuments _viewportDocuments; - private AetheriaRuntimeRenderSplatsViewportDocument _fallbackRenderSplatsViewport; private string _lastWarningMessage = ""; public RenderTexture TargetTexture @@ -42,7 +41,7 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour } public AetheriaRuntimeRenderSplatsViewportDocument CurrentDocument => - _viewportDocuments?.CurrentRenderSplatsViewport ?? _fallbackRenderSplatsViewport; + _viewportDocuments?.CurrentRenderSplatsViewport; public bool RenderInLateUpdate { @@ -74,7 +73,7 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour return false; RefreshDocument(false); - var document = _viewportDocuments?.CurrentRenderSplatsViewport ?? _fallbackRenderSplatsViewport; + var document = _viewportDocuments?.CurrentRenderSplatsViewport; if (document == null) return false; @@ -129,14 +128,12 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour .RenderSplatViewportDocuments(viewport, "unity-render-splat-viewport"); ClearViewportDocument(); _viewportDocuments = nextDocuments; - _fallbackRenderSplatsViewport = null; _lastWarningMessage = ""; } catch (Exception ex) { ClearViewportDocument(); - _fallbackRenderSplatsViewport = EmptyRenderSplatsViewport(viewport); - WarnOnce($"Failed to read Aetheria render splats from local Verse state: {ex.Message}"); + WarnOnce($"Failed to read daemon render splats from Verse state: {ex.Message}"); } } @@ -149,16 +146,6 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour Debug.LogWarning(message); } - private static AetheriaRuntimeRenderSplatsViewportDocument EmptyRenderSplatsViewport( - AetheriaRuntimeViewportBounds viewport) - { - return new AetheriaRuntimeRenderSplatsViewportDocument - { - PublishedAtUtc = DateTimeOffset.UtcNow.ToString("O"), - Viewport = viewport ?? new AetheriaRuntimeViewportBounds() - }; - } - private AetheriaRuntimeViewportBounds ResolveViewportBounds() { var halfSize = size * 0.5f;