diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index 9409ee123..16e7b6c99 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -3300,7 +3300,7 @@ static void RequireEveRuntimeBootstrap(string root) string.Join(", ", missingDaemonSurfaceCommandSymbols)); } - if (daemonSurfaceCommands.Contains("AetheriaRuntimeStateReader.TryReadObservedDaemonState", StringComparison.Ordinal) || + if (daemonSurfaceCommands.Contains("AetheriaRuntimeStateReader.TryReadDaemonRenderView", StringComparison.Ordinal) || daemonSurfaceCommands.Contains("client.State.ReactiveDaemonFrame()", StringComparison.Ordinal) || daemonSurfaceCommands.Contains("TryReactiveDaemonSoaView(client)", StringComparison.Ordinal) || daemonSurfaceCommands.Contains("client.State.ReactiveZoneRender()", StringComparison.Ordinal) || @@ -8133,7 +8133,7 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root "Packages", "org.gamecult.aetheria.state", "Runtime", - "AetheriaRuntimeObservedDaemonState.cs"); + "AetheriaRuntimeDaemonRenderView.cs"); var daemonRuntimeDocumentTestsPath = Path.Combine( root, "Assets", @@ -8442,7 +8442,7 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root var observedDaemonState = File.ReadAllText(observedDaemonStatePath); if (!observedDaemonState.Contains("public static bool TryCreateCurrent(", StringComparison.Ordinal) || - !observedDaemonState.Contains("new AetheriaRuntimeObservedDaemonState(currentFrame, currentSoaView, currentZoneRender)", StringComparison.Ordinal)) + !observedDaemonState.Contains("new AetheriaRuntimeDaemonRenderView(currentFrame, currentSoaView, currentZoneRender)", StringComparison.Ordinal)) { throw new InvalidOperationException( "Observed daemon state must compose current values from managed typed frame, SoA, and zone-render documents."); @@ -8502,7 +8502,7 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root ".State.Starbridge.PlayerSeat(", ".State.DockingState.Latest(", ".State.DockingState.Reactive(", - "AetheriaRuntimeObservedDaemonState.ReadAsync(", + "AetheriaRuntimeDaemonRenderView.ReadAsync(", ".State.Daemon.LatestFrame.LatestAsync()", ".State.Daemon.LatestSoaView.LatestAsync()", ".State.Daemon.AuthorityPolicy.LatestAsync()", @@ -12049,7 +12049,7 @@ static void RequireAetheriaRuntimeVerseClientContract(string root) "AetheriaRuntimeVerseClient still exposes daemon observation compatibility helpers; use AetheriaClient managed documents instead."); } - if (stateRefResolver.Contains("TryReadObservedDaemonState", StringComparison.Ordinal) || + if (stateRefResolver.Contains("TryReadDaemonRenderView", StringComparison.Ordinal) || stateRefResolver.Contains("TryReadDaemonSoaView(", StringComparison.Ordinal) || stateRefResolver.Contains("ResolveEveSurfaceStateRef(", StringComparison.Ordinal) || stateRefResolver.Contains("TryResolveEveSurfaceStateRef(", StringComparison.Ordinal) || @@ -13141,7 +13141,7 @@ static void RequireMainMenuContinueRunState(string root) { "public sealed class AetheriaUnityObservedFrameApplier", "public bool ApplyLatestZoneRender()", - "observer.LastObservedState?.ZoneRender", + "observer.LastRenderView?.ZoneRender", "private bool TryRestoreEntityGraphFromZoneRender(", "if (string.IsNullOrWhiteSpace(render.RunId))", "Aetheria zone-render feed does not identify a run id.", @@ -14060,7 +14060,7 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root) { "public sealed class AetheriaUnityObservedFrameApplier", "public bool ApplyLatestZoneRender()", - "observer.LastObservedState?.ZoneRender", + "observer.LastRenderView?.ZoneRender", "private bool TryRestoreEntityGraphFromZoneRender(", "AetheriaRuntimeEntitySnapshotProjector.CreateSnapshots(runId, render.ZoneIndex, render.EntitySnapshots)", ".OrderBy(entity => entity.EntityIndex)", @@ -15714,7 +15714,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) "Shared runtime state-ref resolver still exposes file-backed entity snapshot reads; use daemon zone-render EntitySnapshots documents."); } - if (runtimeStateRefResolver.Contains("TryReadObservedDaemonState", StringComparison.Ordinal) || + if (runtimeStateRefResolver.Contains("TryReadDaemonRenderView", StringComparison.Ordinal) || runtimeStateRefResolver.Contains("TryReadDaemonSoaView(", StringComparison.Ordinal) || runtimeStateRefResolver.Contains("TryReadDaemonFrame(", StringComparison.Ordinal) || runtimeStateRefResolver.Contains("ResolveEveSurfaceStateRef(", StringComparison.Ordinal) || @@ -15885,10 +15885,10 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) var aetheriaClientState = File.Exists(aetheriaClientStatePath) ? File.ReadAllText(aetheriaClientStatePath) : throw new InvalidOperationException("Cannot verify daemon state acquisition; AetheriaClientState.cs is missing."); - var observedDaemonStatePath = Path.Combine(root, "Packages", "org.gamecult.aetheria.state", "Runtime", "AetheriaRuntimeObservedDaemonState.cs"); + var observedDaemonStatePath = Path.Combine(root, "Packages", "org.gamecult.aetheria.state", "Runtime", "AetheriaRuntimeDaemonRenderView.cs"); var observedDaemonState = File.Exists(observedDaemonStatePath) ? File.ReadAllText(observedDaemonStatePath) - : throw new InvalidOperationException("Cannot verify daemon state acquisition; AetheriaRuntimeObservedDaemonState.cs is missing."); + : throw new InvalidOperationException("Cannot verify daemon state acquisition; AetheriaRuntimeDaemonRenderView.cs is missing."); var daemonRuntimeDocumentTestsPath = Path.Combine(root, "Assets", "Scripts", "Tests", "DaemonRuntimeDocumentTests.cs"); var daemonRuntimeDocumentTests = File.Exists(daemonRuntimeDocumentTestsPath) ? File.ReadAllText(daemonRuntimeDocumentTestsPath) @@ -16040,15 +16040,15 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) if (!observedFrameApplier.Contains("private AetheriaRuntimeZoneRenderDocument _lastZoneRender;", StringComparison.Ordinal) || !observedFrameApplier.Contains("ApplyLatestZoneRender()", StringComparison.Ordinal) || - !observedFrameApplier.Contains("observer.LastObservedState?.ZoneRender", StringComparison.Ordinal) || + !observedFrameApplier.Contains("observer.LastRenderView?.ZoneRender", StringComparison.Ordinal) || !observedDaemonState.Contains("public AetheriaRuntimeZoneRenderDocument ZoneRender { get; }", StringComparison.Ordinal) || !observedDaemonState.Contains("CultMeshReactiveDocument zoneRender", StringComparison.Ordinal) || !observedDaemonState.Contains("var currentZoneRender = zoneRender?.Current;", StringComparison.Ordinal) || - !observedDaemonState.Contains("new AetheriaRuntimeObservedDaemonState(currentFrame, currentSoaView, currentZoneRender)", StringComparison.Ordinal) || + !observedDaemonState.Contains("new AetheriaRuntimeDaemonRenderView(currentFrame, currentSoaView, currentZoneRender)", StringComparison.Ordinal) || !daemonObserver.Contains("private CultMeshReactiveDocument _daemonFrame;", StringComparison.Ordinal) || !daemonObserver.Contains("private CultMeshReactiveDocument _daemonSoaView;", StringComparison.Ordinal) || !daemonObserver.Contains("private CultMeshReactiveDocument _zoneRender;", StringComparison.Ordinal) || - !daemonObserver.Contains("AetheriaRuntimeObservedDaemonState.TryCreateCurrent(", StringComparison.Ordinal)) + !daemonObserver.Contains("AetheriaRuntimeDaemonRenderView.TryCreateCurrent(", StringComparison.Ordinal)) { throw new InvalidOperationException( "Observed zone-render state acquisition must sample managed typed zone-render documents directly."); @@ -16122,8 +16122,8 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) aetheriaClient.Contains("State.CurrentObservedDaemon()", StringComparison.Ordinal) || aetheriaClient.Contains("State.ReactiveObservedDaemon()", StringComparison.Ordinal) || aetheriaClient.Contains("Aetheria() => State", StringComparison.Ordinal) || - aetheriaClient.Contains("AetheriaRuntimeObservedDaemonState.TryCreateCurrent(", StringComparison.Ordinal) || - aetheriaClient.Contains("AetheriaRuntimeObservedDaemonState?", StringComparison.Ordinal) || + aetheriaClient.Contains("AetheriaRuntimeDaemonRenderView.TryCreateCurrent(", StringComparison.Ordinal) || + aetheriaClient.Contains("AetheriaRuntimeDaemonRenderView?", StringComparison.Ordinal) || aetheriaClient.Contains("observedState.TryCurrent(out var current)", StringComparison.Ordinal)) { throw new InvalidOperationException( @@ -16160,8 +16160,8 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) "AetheriaClientState still exposes generic latest/reactive/watch or schema-string shortcuts instead of direct typed CultMesh document handles."); } - if (aetheriaClientState.Contains("public AetheriaRuntimeObservedDaemonState? CurrentObservedDaemon(", StringComparison.Ordinal) || - aetheriaClientState.Contains("AetheriaRuntimeObservedDaemonState.TryCreateCurrent(frame, soaView, zoneRender", StringComparison.Ordinal)) + if (aetheriaClientState.Contains("public AetheriaRuntimeDaemonRenderView? CurrentObservedDaemon(", StringComparison.Ordinal) || + aetheriaClientState.Contains("AetheriaRuntimeDaemonRenderView.TryCreateCurrent(frame, soaView, zoneRender", StringComparison.Ordinal)) { throw new InvalidOperationException( "AetheriaClientState must not expose one-shot observed daemon aggregation; command owners should hold managed typed daemon documents."); @@ -16185,11 +16185,11 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) string.Join(", ", missingManagedCommandFrameSymbols)); } - if (!daemonRuntimeDocumentTests.Contains("ManagedStateSamplesCurrentObservedDaemonFromReactiveDocuments()", StringComparison.Ordinal) || + if (!daemonRuntimeDocumentTests.Contains("ManagedStateSamplesCurrentDaemonRenderViewFromReactiveDocuments()", StringComparison.Ordinal) || !daemonRuntimeDocumentTests.Contains("using var observedFrame = client.State.Document().Reactive();", StringComparison.Ordinal) || !daemonRuntimeDocumentTests.Contains("using var observedSoaView = client.State.Document().Reactive();", StringComparison.Ordinal) || !daemonRuntimeDocumentTests.Contains("using var observedZoneRender = client.State.Document().Reactive();", StringComparison.Ordinal) || - !daemonRuntimeDocumentTests.Contains("AetheriaRuntimeObservedDaemonState.TryCreateCurrent(", StringComparison.Ordinal) || + !daemonRuntimeDocumentTests.Contains("AetheriaRuntimeDaemonRenderView.TryCreateCurrent(", StringComparison.Ordinal) || daemonRuntimeDocumentTests.Contains("client.State.CurrentObservedDaemon()", StringComparison.Ordinal)) { throw new InvalidOperationException( @@ -16205,7 +16205,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) "CultMeshReactiveDocument zoneRender", "var currentFrame = frame?.Current;", "var currentZoneRender = zoneRender?.Current;", - "new AetheriaRuntimeObservedDaemonState(currentFrame, currentSoaView, currentZoneRender)" + "new AetheriaRuntimeDaemonRenderView(currentFrame, currentSoaView, currentZoneRender)" }; var missingObservedDaemonStateSymbols = requiredObservedDaemonStateSymbols .Where(symbol => !observedDaemonState.Contains(symbol, StringComparison.Ordinal)) @@ -16289,14 +16289,14 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) "SoaViewStore.GetViewPath", "state.LatestFrame.ReactiveAsync", "state.LatestSoaView.ReactiveAsync", - "public static async Task ReadAsync(", + "public static async Task ReadAsync(", "LatestObservedDaemonAsync(", "LatestObservedDaemon()", "public sealed class AetheriaRuntimeReactiveObservedDaemonState", "ReactiveObservedDaemonAsync", "ReactiveObservedDaemon(", - "TryCurrent(out AetheriaRuntimeObservedDaemonState? observed)", - "return new AetheriaRuntimeObservedDaemonState(frame, soaView);", + "TryCurrent(out AetheriaRuntimeDaemonRenderView? observed)", + "return new AetheriaRuntimeDaemonRenderView(frame, soaView);", "AetheriaRuntimeRtsProjection.ProjectZoneRender(Frame)", "zoneRender = null" }; @@ -16327,7 +16327,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) "public async Task PlayerSettingsAsync()", "public async Task VerseHostSettingsAsync()", "public async Task> LoadoutTemplatesAsync()", - "public async Task ObserveAsync()", + "public async Task ObserveAsync()", "public async Task LoadoutTemplateAsync(", "scenario ??= await _verse.GetStarbridgeScenarioAsync()", "session ??= await _verse.GetStarbridgeSessionAsync()", @@ -16406,28 +16406,28 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) if (!daemonObserver.Contains("AetheriaClient", StringComparison.Ordinal) || !daemonObserver.Contains("AetheriaUnityRuntimeClientProvider.ResolveClient(", StringComparison.Ordinal) || !daemonObserver.Contains("AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory)", StringComparison.Ordinal) || - !daemonObserver.Contains("AetheriaRuntimeObservedDaemonState", StringComparison.Ordinal) || + !daemonObserver.Contains("AetheriaRuntimeDaemonRenderView", StringComparison.Ordinal) || !daemonObserver.Contains("CultMeshReactiveDocument _daemonFrame", StringComparison.Ordinal) || !daemonObserver.Contains("CultMeshReactiveDocument _daemonSoaView", StringComparison.Ordinal) || !daemonObserver.Contains("CultMeshReactiveDocument _zoneRender", StringComparison.Ordinal) || !daemonObserver.Contains("_daemonFrame ??= state.Document().Reactive();", StringComparison.Ordinal) || !daemonObserver.Contains("_daemonSoaView ??= TryReactive(state);", StringComparison.Ordinal) || !daemonObserver.Contains("_zoneRender ??= state.Document().Reactive();", StringComparison.Ordinal) || - !daemonObserver.Contains("AetheriaRuntimeObservedDaemonState.TryCreateCurrent(", StringComparison.Ordinal) || - !daemonObserver.Contains("DisposeObservedDaemonDocuments()", StringComparison.Ordinal)) + !daemonObserver.Contains("AetheriaRuntimeDaemonRenderView.TryCreateCurrent(", StringComparison.Ordinal) || + !daemonObserver.Contains("DisposeRenderViewDocuments()", StringComparison.Ordinal)) { throw new InvalidOperationException( - "AetheriaDaemonObserver must sample observed daemon state through direct managed reactive daemon documents."); + "AetheriaDaemonObserver must sample daemon render views through direct managed reactive daemon documents."); } - if (daemonObserver.Contains("AetheriaRuntimeStateReader.TryReadObservedDaemonState", StringComparison.Ordinal) || + if (daemonObserver.Contains("AetheriaRuntimeStateReader.TryReadDaemonRenderView", StringComparison.Ordinal) || daemonObserver.Contains(".ReadAsync(client.State)", StringComparison.Ordinal) || daemonObserver.Contains("AetheriaRuntimeReactiveObservedDaemonState", StringComparison.Ordinal) || daemonObserver.Contains(".ReactiveObservedDaemon()", StringComparison.Ordinal) || daemonObserver.Contains("reactive.TryCurrent(out var observed)", StringComparison.Ordinal) || daemonObserver.Contains("AetheriaRuntimeObservedDaemonSession", StringComparison.Ordinal) || daemonObserver.Contains(".ObserveDaemon()", StringComparison.Ordinal) || - daemonObserver.Contains("return new AetheriaRuntimeObservedDaemonState(frame, soaView, zoneRender);", StringComparison.Ordinal) || + daemonObserver.Contains("return new AetheriaRuntimeDaemonRenderView(frame, soaView, zoneRender);", StringComparison.Ordinal) || daemonObserver.Contains("DisposeObservedDaemonSession()", StringComparison.Ordinal) || daemonObserver.Contains("DisposeReactiveObservedDaemonDocuments()", StringComparison.Ordinal)) { diff --git a/Assets/Scripts/Gameplay/ActionGameManager.cs b/Assets/Scripts/Gameplay/ActionGameManager.cs index e46b794c0..eff4bb62b 100644 --- a/Assets/Scripts/Gameplay/ActionGameManager.cs +++ b/Assets/Scripts/Gameplay/ActionGameManager.cs @@ -64,7 +64,7 @@ public class ActionGameManager : MonoBehaviour SetCurrentEntity = entity => CurrentEntity = entity, GetViewDirection = () => _viewDirection, SetViewDirection = direction => _viewDirection = direction, - ResolveZoneRender = () => ResolveDaemonObserver()?.LastObservedState?.ZoneRender, + ResolveZoneRender = () => ResolveDaemonObserver()?.LastRenderView?.ZoneRender, ApplyActionBarBindings = _ => _actionBarPresentation?.ApplyLocalBindings(), EnablePlayerInput = EnablePlayerInput, DisablePlayerInput = DisablePlayerInput, diff --git a/Assets/Scripts/Gameplay/AetheriaDaemonObserver.cs b/Assets/Scripts/Gameplay/AetheriaDaemonObserver.cs index b04a7a7df..3cc566b7f 100644 --- a/Assets/Scripts/Gameplay/AetheriaDaemonObserver.cs +++ b/Assets/Scripts/Gameplay/AetheriaDaemonObserver.cs @@ -25,21 +25,21 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour private CultMeshReactiveDocument _daemonSoaView; private CultMeshReactiveDocument _zoneRender; - public AetheriaRuntimeObservedDaemonState LastObservedState { get; private set; } + public AetheriaRuntimeDaemonRenderView LastRenderView { get; private set; } public AetheriaRuntimeDaemonObservationResult LastObservation { get; private set; } public long LastFrameId => _cursor.LastFrameId; public long LastSoaGeneration => _cursor.LastSoaGeneration; - public bool HasAuthoritativeState => LastObservedState != null && LastObservedState.IsAuthoritative; - public bool HasSoaView => LastObservedState != null && LastObservedState.HasSoaView; + public bool HasAuthoritativeState => LastRenderView != null && LastRenderView.IsAuthoritative; + public bool HasSoaView => LastRenderView != null && LastRenderView.HasSoaView; public AetheriaRuntimeDaemonSoaViewIndex LastSoaIndex => - LastObservedState?.SoaIndex ?? AetheriaRuntimeDaemonSoaViewIndex.Empty; + LastRenderView?.SoaIndex ?? AetheriaRuntimeDaemonSoaViewIndex.Empty; public AetheriaDaemonSoaMemoryMap LastSoaMemoryMap => _soaMemoryMap; public AetheriaDaemonRenderNativeView LastRenderNativeView => _renderNativeView; public bool HasRenderNativeView => _renderNativeView.IsCreated; public AetheriaClient Client => ResolveClient(); public AetheriaControl Control => Client.Control; - public event Action ObservedDaemonStateChanged; + public event Action DaemonRenderViewChanged; private void Update() { @@ -54,7 +54,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour public bool Poll() { - var observed = ReadObservedDaemonState(); + var observed = ReadDaemonRenderView(); if (observed == null) { LastObservation = _cursor.Observe(null); @@ -62,7 +62,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour } var result = _cursor.Observe(observed); - LastObservedState = observed; + LastRenderView = observed; LastObservation = result; if (result.SoaViewChanged) @@ -72,7 +72,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour if (result.Changed) { - ObservedDaemonStateChanged?.Invoke(observed, result); + DaemonRenderViewChanged?.Invoke(observed, result); if (logChanges) { Debug.Log( @@ -87,24 +87,24 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour public void ResetObservation() { _cursor.Reset(); - DisposeObservedDaemonDocuments(); + DisposeRenderViewDocuments(); DisposeSoaMemoryMap(); - LastObservedState = null; + LastRenderView = null; LastObservation = null; } private void OnDisable() { - DisposeObservedDaemonDocuments(); + DisposeRenderViewDocuments(); DisposeSoaMemoryMap(); } - private AetheriaRuntimeObservedDaemonState ReadObservedDaemonState() + private AetheriaRuntimeDaemonRenderView ReadDaemonRenderView() { try { - EnsureObservedDaemonDocuments(); - return AetheriaRuntimeObservedDaemonState.TryCreateCurrent( + EnsureRenderViewDocuments(); + return AetheriaRuntimeDaemonRenderView.TryCreateCurrent( _daemonFrame, _daemonSoaView, _zoneRender, @@ -118,7 +118,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour } } - private void EnsureObservedDaemonDocuments() + private void EnsureRenderViewDocuments() { if (_daemonFrame != null && _daemonSoaView != null && _zoneRender != null) { @@ -162,7 +162,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, clientId); } - private void RemapSoaView(AetheriaRuntimeObservedDaemonState observed) + private void RemapSoaView(AetheriaRuntimeDaemonRenderView observed) { DisposeSoaMemoryMap(); if (observed == null || !observed.HasSoaView) @@ -198,7 +198,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour _soaMemoryMap = null; } - private void DisposeObservedDaemonDocuments() + private void DisposeRenderViewDocuments() { _daemonFrame?.Dispose(); _daemonFrame = null; diff --git a/Assets/Scripts/Gameplay/AetheriaUnityObservedFrameApplier.cs b/Assets/Scripts/Gameplay/AetheriaUnityObservedFrameApplier.cs index 3caa0fe5e..2980b2249 100644 --- a/Assets/Scripts/Gameplay/AetheriaUnityObservedFrameApplier.cs +++ b/Assets/Scripts/Gameplay/AetheriaUnityObservedFrameApplier.cs @@ -60,7 +60,7 @@ public sealed class AetheriaUnityObservedFrameApplier return false; } - var render = observer.LastObservedState?.ZoneRender; + var render = observer.LastRenderView?.ZoneRender; if (render == null) { return false; diff --git a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs index 7b1d84bab..413661609 100644 --- a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs +++ b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs @@ -206,7 +206,7 @@ public class DaemonRuntimeDocumentTests using var catalogReactive = client.State.Document().Reactive(); using var daemonFrameReactive = client.State.Document().Reactive(); using var daemonSoaViewReactive = client.State.Document().Reactive(); - Assert.IsTrue(AetheriaRuntimeObservedDaemonState.TryCreateCurrent( + Assert.IsTrue(AetheriaRuntimeDaemonRenderView.TryCreateCurrent( daemonFrameReactive, daemonSoaViewReactive, zoneRenderReactive, @@ -2151,11 +2151,11 @@ public class DaemonRuntimeDocumentTests } [Test] - public void ObservedDaemonStateReadsManagedFrameAndSoaDocuments() + public void DaemonRenderViewReadsManagedFrameAndSoaDocuments() { var statePath = Path.Combine( Path.GetTempPath(), - "aetheria-observed-daemon-state-tests", + "aetheria-daemon-render-view-tests", Path.GetRandomFileName(), "state.cc"); var frame = AetheriaRuntimeDaemonFrameDocument.Create( @@ -2211,7 +2211,7 @@ public class DaemonRuntimeDocumentTests using var observedFrame = client.State.Document().Reactive(); using var observedSoaView = client.State.Document().Reactive(); using var observedZoneRender = client.State.Document().Reactive(); - Assert.IsTrue(AetheriaRuntimeObservedDaemonState.TryCreateCurrent( + Assert.IsTrue(AetheriaRuntimeDaemonRenderView.TryCreateCurrent( observedFrame, observedSoaView, observedZoneRender, @@ -2232,7 +2232,7 @@ public class DaemonRuntimeDocumentTests } [Test] - public void ManagedStateSamplesCurrentObservedDaemonFromReactiveDocuments() + public void ManagedStateSamplesCurrentDaemonRenderViewFromReactiveDocuments() { var statePath = Path.Combine( Path.GetTempPath(), @@ -2269,7 +2269,7 @@ public class DaemonRuntimeDocumentTests using var observedFrame = client.State.Document().Reactive(); using var observedSoaView = client.State.Document().Reactive(); using var observedZoneRender = client.State.Document().Reactive(); - var observed = AetheriaRuntimeObservedDaemonState.TryCreateCurrent( + var observed = AetheriaRuntimeDaemonRenderView.TryCreateCurrent( observedFrame, observedSoaView, observedZoneRender, @@ -2287,11 +2287,11 @@ public class DaemonRuntimeDocumentTests } [Test] - public void ObservedDaemonStateReadsManagedFrameWithoutSoaDocument() + public void DaemonRenderViewReadsManagedFrameWithoutSoaDocument() { var statePath = Path.Combine( Path.GetTempPath(), - "aetheria-observed-daemon-frame-only-tests", + "aetheria-daemon-render-view-frame-only-tests", Path.GetRandomFileName(), "state.cc"); var frame = AetheriaRuntimeDaemonFrameDocument.Create( @@ -2316,7 +2316,7 @@ public class DaemonRuntimeDocumentTests using var observedFrame = client.State.Document().Reactive(); using var observedSoaView = client.State.Document().Reactive(); using var observedZoneRender = client.State.Document().Reactive(); - Assert.IsTrue(AetheriaRuntimeObservedDaemonState.TryCreateCurrent( + Assert.IsTrue(AetheriaRuntimeDaemonRenderView.TryCreateCurrent( observedFrame, observedSoaView, observedZoneRender, @@ -2339,12 +2339,12 @@ public class DaemonRuntimeDocumentTests public void ObservationCursorTracksFrameAndSoaGenerationChanges() { var cursor = new AetheriaRuntimeDaemonObservationCursor(); - var observed = ObservedState(frameId: 10, soaGeneration: 20); + var observed = RenderView(frameId: 10, soaGeneration: 20); var first = cursor.Observe(observed); var second = cursor.Observe(observed); - var third = cursor.Observe(ObservedState(frameId: 11, soaGeneration: 20)); - var fourth = cursor.Observe(ObservedState(frameId: 11, soaGeneration: 21)); + var third = cursor.Observe(RenderView(frameId: 11, soaGeneration: 20)); + var fourth = cursor.Observe(RenderView(frameId: 11, soaGeneration: 21)); Assert.IsTrue(first.Observed); Assert.IsTrue(first.FrameChanged); @@ -2365,7 +2365,7 @@ public class DaemonRuntimeDocumentTests { var cursor = new AetheriaRuntimeDaemonObservationCursor(); - cursor.Observe(ObservedState(frameId: 12, soaGeneration: 22)); + cursor.Observe(RenderView(frameId: 12, soaGeneration: 22)); cursor.Reset(); var missing = cursor.Observe(null); @@ -2376,19 +2376,19 @@ public class DaemonRuntimeDocumentTests } [Test] - public void CommandClientSendsCommandAgainstObservedDaemonFrame() + public void CommandClientSendsCommandAgainstDaemonFrameDocument() { var statePath = Path.Combine( Path.GetTempPath(), "aetheria-daemon-command-client-tests", Path.GetRandomFileName(), "state.cc"); - var observed = ObservedState(frameId: 33, soaGeneration: 44); - observed.Frame.SessionId = "session-command-client"; - observed.Frame.Run.CurrentEntityKey = "entity:player"; + var frame = DaemonFrame(frameId: 33); + frame.SessionId = "session-command-client"; + frame.Run.CurrentEntityKey = "entity:player"; var client = new AetheriaRuntimeDaemonOperationClient(statePath, "unity-test", "unobserved-session"); - var envelope = client.FireWeaponGroup(observed, 2); + var envelope = client.FireWeaponGroup(frame, 2); Assert.AreEqual(AetheriaRuntimeDaemonCommandKinds.FireWeaponGroup, envelope.Kind); Assert.AreEqual("unity-test", envelope.ClientId); @@ -2406,10 +2406,10 @@ public class DaemonRuntimeDocumentTests "aetheria-daemon-command-client-tests", Path.GetRandomFileName(), "state.cc"); - var observed = ObservedState(frameId: 34, soaGeneration: 45); + var frame = DaemonFrame(frameId: 34); var client = new AetheriaRuntimeDaemonOperationClient(statePath, "", "session-default-client"); - var envelope = client.SensorPing(observed); + var envelope = client.SensorPing(frame); Assert.AreEqual(AetheriaRuntimeDaemonOperationClient.DefaultClientId, envelope.ClientId); Assert.AreEqual(AetheriaRuntimeDaemonCommandKinds.SensorPing, envelope.Kind); @@ -4058,7 +4058,7 @@ public class DaemonRuntimeDocumentTests } [Test] - public void CommandClientCanSendWithoutObservedState() + public void CommandClientCanSendWithoutRenderView() { var statePath = Path.Combine( Path.GetTempPath(), @@ -4271,15 +4271,9 @@ public class DaemonRuntimeDocumentTests return null; } - private static AetheriaRuntimeObservedDaemonState ObservedState(long frameId, long soaGeneration) + private static AetheriaRuntimeDaemonRenderView RenderView(long frameId, long soaGeneration) { - var frame = AetheriaRuntimeDaemonFrameDocument.Create( - new AetheriaRuntimeRunCheckpointCommit { RunId = "cursor-run" }, - "daemon", - "session", - frameId, - 0, - 0.02); + var frame = DaemonFrame(frameId); var soaView = AetheriaRuntimeDaemonSoaViewDocument.Create( "daemon", "session", @@ -4293,12 +4287,23 @@ public class DaemonRuntimeDocumentTests FrameId = frame.FrameId }; - return new AetheriaRuntimeObservedDaemonState( + return new AetheriaRuntimeDaemonRenderView( frame, soaView, zoneRender); } + private static AetheriaRuntimeDaemonFrameDocument DaemonFrame(long frameId) + { + return AetheriaRuntimeDaemonFrameDocument.Create( + new AetheriaRuntimeRunCheckpointCommit { RunId = "cursor-run" }, + "daemon", + "session", + frameId, + 0, + 0.02); + } + private static void PublishLatestFrameThroughVerseClient( string statePath, AetheriaRuntimeDaemonFrameDocument frame) diff --git a/GameCult.Aetheria.State.Unity.csproj b/GameCult.Aetheria.State.Unity.csproj index c13c06f8b..304ffe0e2 100644 --- a/GameCult.Aetheria.State.Unity.csproj +++ b/GameCult.Aetheria.State.Unity.csproj @@ -47,7 +47,6 @@ - @@ -71,6 +70,7 @@ + diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonObservationCursor.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonObservationCursor.cs index 3c9473c77..6441de358 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonObservationCursor.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonObservationCursor.cs @@ -38,7 +38,7 @@ namespace GameCult.Aetheria.State.Verse public string LastDaemonId { get; private set; } = ""; public string LastSessionId { get; private set; } = ""; - public AetheriaRuntimeDaemonObservationResult Observe(AetheriaRuntimeObservedDaemonState? observed) + public AetheriaRuntimeDaemonObservationResult Observe(AetheriaRuntimeDaemonRenderView? observed) { if (observed == null) { diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeObservedDaemonState.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderView.cs similarity index 87% rename from Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeObservedDaemonState.cs rename to Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderView.cs index 27836a331..b21bb9d3c 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeObservedDaemonState.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderView.cs @@ -5,9 +5,9 @@ using GameCult.Mesh; namespace GameCult.Aetheria.State.Verse { - public sealed class AetheriaRuntimeObservedDaemonState + public sealed class AetheriaRuntimeDaemonRenderView { - public AetheriaRuntimeObservedDaemonState( + public AetheriaRuntimeDaemonRenderView( AetheriaRuntimeDaemonFrameDocument frame, AetheriaRuntimeDaemonSoaViewDocument? soaView, AetheriaRuntimeZoneRenderDocument zoneRender) @@ -30,7 +30,7 @@ namespace GameCult.Aetheria.State.Verse CultMeshReactiveDocument frame, CultMeshReactiveDocument? soaView, CultMeshReactiveDocument zoneRender, - out AetheriaRuntimeObservedDaemonState? observed) + out AetheriaRuntimeDaemonRenderView? observed) { observed = null; try @@ -47,7 +47,7 @@ namespace GameCult.Aetheria.State.Verse currentSoaView = null; } - observed = new AetheriaRuntimeObservedDaemonState(currentFrame, currentSoaView, currentZoneRender); + observed = new AetheriaRuntimeDaemonRenderView(currentFrame, currentSoaView, currentZoneRender); return true; } catch diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeObservedDaemonState.cs.meta b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderView.cs.meta similarity index 100% rename from Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeObservedDaemonState.cs.meta rename to Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderView.cs.meta