Route observed docking through managed sessions

This commit is contained in:
Meta Vens 2026-06-28 15:00:12 +01:00
commit 2c68dcc59e
3 changed files with 18 additions and 7 deletions

View file

@ -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<AetheriaRuntimeCurrentEntityDocument>", StringComparison.Ordinal) ||
observedDockingState.Contains("CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument>", StringComparison.Ordinal) ||
observedDockingState.Contains("CultMeshReactiveDocument<AetheriaRuntimeStationRefitDocument>", 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) ||