diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index 2fb33e01e..19a26694a 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -8018,6 +8018,9 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root var observedDockingState = File.ReadAllText(observedDockingStatePath); if (!observedDockingState.Contains("public sealed class AetheriaRuntimeObservedDockingState", StringComparison.Ordinal) || !observedDockingState.Contains("public static bool TryCreateCurrent(", StringComparison.Ordinal) || + !observedDockingState.Contains("AetheriaRuntimeCurrentEntitySession? entity", StringComparison.Ordinal) || + !observedDockingState.Contains("AetheriaRuntimeCurrentDockingSession docking", StringComparison.Ordinal) || + !observedDockingState.Contains("AetheriaRuntimeStationRefitSession refit", StringComparison.Ordinal) || !observedDockingState.Contains("new AetheriaRuntimeObservedDockingState(", StringComparison.Ordinal) || !observedDockingState.Contains("TryResolveCurrentDockingBayRow(", StringComparison.Ordinal)) { @@ -8025,6 +8028,15 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root "Observed docking state must compose current entity, docking, and station-refit documents inside the managed state package."); } + if (observedDockingState.Contains("CultMeshReactiveDocument", StringComparison.Ordinal) || + observedDockingState.Contains("CultMeshReactiveDocument", StringComparison.Ordinal) || + observedDockingState.Contains("CultMeshReactiveDocument", StringComparison.Ordinal) || + observedDockingState.Contains("using GameCult.Mesh;", StringComparison.Ordinal)) + { + throw new InvalidOperationException( + "Observed docking state must sample named managed sessions instead of owning raw reactive CultMesh documents."); + } + if (observedDaemonState.Contains("state.LatestFrame.ReactiveAsync", StringComparison.Ordinal) || observedDaemonState.Contains("state.LatestSoaView.ReactiveAsync", StringComparison.Ordinal) || observedDaemonState.Contains("AetheriaRuntimeReactiveObservedDaemonState", StringComparison.Ordinal) || diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaClientState.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaClientState.cs index 5c421faa8..d35b848d7 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaClientState.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaClientState.cs @@ -309,9 +309,9 @@ namespace GameCult.Aetheria.State.Verse public AetheriaRuntimeObservedDockingState? CurrentDocking( CultMeshReactiveDocumentOptions? options = null) { - using var entity = Current.ReactiveEntity(options); - using var docking = Current.ReactiveDocking(options); - using var refit = ReactiveStationRefit(options); + using var entity = Current.ObserveEntity(options); + using var docking = Current.ObserveDocking(options); + using var refit = ObserveStationRefit(options); return AetheriaRuntimeObservedDockingState.TryCreateCurrent(entity, docking, refit, out var current) ? current : null; diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeObservedDockingState.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeObservedDockingState.cs index 9a0836e5a..c3e0c29b9 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeObservedDockingState.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeObservedDockingState.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using GameCult.Mesh; #nullable enable @@ -46,9 +45,9 @@ namespace GameCult.Aetheria.State.Verse } public static bool TryCreateCurrent( - CultMeshReactiveDocument? entity, - CultMeshReactiveDocument docking, - CultMeshReactiveDocument refit, + AetheriaRuntimeCurrentEntitySession? entity, + AetheriaRuntimeCurrentDockingSession docking, + AetheriaRuntimeStationRefitSession refit, out AetheriaRuntimeObservedDockingState? observed) { observed = null;