Route Unity settings reads through managed documents

This commit is contained in:
Meta Vens 2026-06-28 01:52:11 +01:00
commit 943a210bc5
12 changed files with 94 additions and 69 deletions

View file

@ -4160,7 +4160,10 @@ static void RequireRuntimeInputScreenUsesEveSurface(string root)
"AetheriaRuntimeEveCommandKind.SetActionBarEnabled",
"AetheriaClient",
".OpenAsync(",
"PlayerSettingsAsync()",
".Aetheria()",
".Settings",
".Player",
".Latest()",
"action.ApplyBindingOverride",
"new InputAction(\"Aetheria Input Capture\")",
"AetheriaRuntimeInputSettingsSurfaceBuilder.IsSupportedCapturePath(",
@ -4194,6 +4197,8 @@ static void RequireRuntimeInputScreenUsesEveSurface(string root)
"new EveUiToolkitSurfaceLowerer()",
"host.AddComponent<UIDocument>",
"AetheriaRuntimeStateCommitLog.QueuePlayerSettings",
"PlayerSettingsAsync()",
"VerseHostSettingsAsync()",
"ActionGameManager.CommitRuntimeInputBindingOverride",
"ActionGameManager.CommitRuntimeActionBarInput",
"BeginCapture(request.Payload)",
@ -4487,7 +4492,9 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
".Details",
".Zone(zoneIndex)",
"OpenRuntimeCatalog()",
"PlayerSettingsAsync()",
".Settings",
".Player",
".Latest()",
"AetheriaClient",
".OpenLocalAsync(",
"AetheriaRuntimeZoneDetailsSurfaceCommands.TryRead(request, out var command)",
@ -9858,7 +9865,9 @@ static void RequireMainMenuVerseHostProjection(string root)
var requiredMainMenuSymbols = new[]
{
"LatestVerseHostSettings(AetheriaRuntimeStateBootReport stateBoot)",
"VerseHostSettingsAsync()",
".Settings",
".VerseHost",
".Latest()",
"AetheriaRuntimeMainMenuSurfaceBuilder.ProjectRoot(",
"AetheriaRuntimeMainMenuSurfaceBuilder.BuildRoot("
};
@ -11412,7 +11421,8 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
!mapRenderer.Contains(".Viewports", StringComparison.Ordinal) ||
!mapRenderer.Contains(".Objects(viewport)", StringComparison.Ordinal) ||
!mapRenderer.Contains(".RenderSplats(viewport)", StringComparison.Ordinal) ||
!mapRenderer.Contains("PlayerSettingsAsync()", StringComparison.Ordinal) ||
!mapRenderer.Contains(".Settings", StringComparison.Ordinal) ||
!mapRenderer.Contains(".Player", StringComparison.Ordinal) ||
!sectorRenderer.Contains("private AetheriaClient _client", StringComparison.Ordinal) ||
!sectorRenderer.Contains(".Aetheria()", StringComparison.Ordinal) ||
!sectorRenderer.Contains(".SectorMap", StringComparison.Ordinal) ||
@ -11420,7 +11430,8 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
!sectorRenderer.Contains(".Details", StringComparison.Ordinal) ||
!sectorRenderer.Contains(".Zone(zoneIndex)", StringComparison.Ordinal) ||
!sectorRenderer.Contains("OpenRuntimeCatalog()", StringComparison.Ordinal) ||
!sectorRenderer.Contains("PlayerSettingsAsync()", StringComparison.Ordinal) ||
!sectorRenderer.Contains(".Settings", StringComparison.Ordinal) ||
!sectorRenderer.Contains(".Player", StringComparison.Ordinal) ||
!sectorMap.Contains("private AetheriaClient _client", StringComparison.Ordinal) ||
!sectorMap.Contains(".Aetheria()", StringComparison.Ordinal) ||
!sectorMap.Contains(".SectorMap", StringComparison.Ordinal) ||
@ -12871,7 +12882,10 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
"public static AetheriaClient ResolveClient(string stateFilePath, string runtimeId = \"\")",
"public static AetheriaClient CurrentClientForStateFile(string stateFilePath)",
"AetheriaClient",
"PlayerSettingsAsync()",
".Aetheria()",
".Settings",
".Player",
".Latest()",
"OpenAsync(",
"pullOnOpen: true",
"ApplyPlayerSettings(settings, stored)"

View file

@ -64,9 +64,10 @@ public static class AetheriaUnityRuntimeClientProvider
try
{
var stored = ResolveClient(AetheriaUnityRuntimePaths.RuntimeStateFilePath)
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.Player
.Latest();
if (stored == null)
return settings;
@ -99,7 +100,7 @@ public static class AetheriaUnityRuntimeClientProvider
private static void ApplyPlayerSettings(
RuntimePlayerSettings settings,
AetheriaRuntimePlayerSettingsSnapshot stored)
AetheriaRuntimePlayerSettingsDocument stored)
{
if (!string.IsNullOrWhiteSpace(stored.PlayerName))
settings.Name = stored.PlayerName;

View file

@ -72,7 +72,7 @@ public class SchematicDisplay : MonoBehaviour
private AetheriaClient _client;
private string _clientStatePath = "";
private AetheriaRuntimeCatalogSnapshot _catalog;
private AetheriaRuntimePlayerSettingsSnapshot _playerSettings;
private AetheriaRuntimePlayerSettingsDocument _playerSettings;
private AetheriaRuntimeDaemonRenderSettings? _renderSettings;
private AetheriaRuntimeCurrentEntityDocument _currentEntityDocument;
private float _currentEntityDocumentReadTime = float.NegativeInfinity;
@ -339,7 +339,7 @@ public class SchematicDisplay : MonoBehaviour
return _catalog;
}
private AetheriaRuntimePlayerSettingsSnapshot ResolvePlayerSettings()
private AetheriaRuntimePlayerSettingsDocument ResolvePlayerSettings()
{
if (_playerSettings != null)
return _playerSettings;
@ -347,9 +347,10 @@ public class SchematicDisplay : MonoBehaviour
try
{
_playerSettings = ResolveClient()
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.Player
.Latest();
}
catch (Exception ex)
{

View file

@ -16,7 +16,7 @@ public class InputDisplayLayout : MonoBehaviour
private AetheriaInput _ownedInput;
private AetheriaClient _client;
private string _clientStatePath = "";
private AetheriaRuntimePlayerSettingsSnapshot _playerSettings;
private AetheriaRuntimePlayerSettingsDocument _playerSettings;
private InputAction _captureAction;
private InputActionAsset _input;
private string _captureActionName = "";
@ -399,7 +399,7 @@ public class InputDisplayLayout : MonoBehaviour
_playerSettings = null;
}
private AetheriaRuntimePlayerSettingsSnapshot ResolvePlayerSettings()
private AetheriaRuntimePlayerSettingsDocument ResolvePlayerSettings()
{
if (_playerSettings != null)
return _playerSettings;
@ -407,9 +407,10 @@ public class InputDisplayLayout : MonoBehaviour
try
{
_playerSettings = ResolveClient()
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.Player
.Latest();
}
catch (Exception ex)
{

View file

@ -176,7 +176,7 @@ public class MainMenu : MonoBehaviour
}
}
private AetheriaRuntimePlayerSettingsSnapshot LatestPlayerSettings(AetheriaRuntimeStateBootReport stateBoot)
private AetheriaRuntimePlayerSettingsDocument LatestPlayerSettings(AetheriaRuntimeStateBootReport stateBoot)
{
if (!stateBoot.SupportsLocalStateFileRead || !stateBoot.StateFileExists)
return null;
@ -184,9 +184,10 @@ public class MainMenu : MonoBehaviour
try
{
return ResolveClient(stateBoot)
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.Player
.Latest();
}
catch (Exception ex)
{
@ -195,7 +196,7 @@ public class MainMenu : MonoBehaviour
}
}
private AetheriaRuntimeVerseHostSettingsSnapshot LatestVerseHostSettings(AetheriaRuntimeStateBootReport stateBoot)
private AetheriaRuntimeVerseHostSettingsDocument LatestVerseHostSettings(AetheriaRuntimeStateBootReport stateBoot)
{
if (!stateBoot.SupportsLocalStateFileRead || !stateBoot.StateFileExists)
return null;
@ -203,9 +204,10 @@ public class MainMenu : MonoBehaviour
try
{
return ResolveClient(stateBoot)
.VerseHostSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.VerseHost
.Latest();
}
catch (Exception ex)
{

View file

@ -34,7 +34,7 @@ public class InventoryMenu : MonoBehaviour
private AetheriaClient _client;
private string _clientStatePath = "";
private AetheriaRuntimeCatalogSnapshot _catalog;
private AetheriaRuntimePlayerSettingsSnapshot _playerSettings;
private AetheriaRuntimePlayerSettingsDocument _playerSettings;
private AetheriaUnityActionBarPresentation _actionBarPresentation;
private AetheriaUnityObservedFacadeIndex _observedFacadeIndex;
private readonly AetheriaEveUnitySurfaceChrome _shipSettingsSurfaceChrome = PanelChrome(360f, 420f);
@ -1048,7 +1048,7 @@ public class InventoryMenu : MonoBehaviour
return _catalog;
}
private AetheriaRuntimePlayerSettingsSnapshot ResolvePlayerSettings()
private AetheriaRuntimePlayerSettingsDocument ResolvePlayerSettings()
{
if (_playerSettings != null)
return _playerSettings;
@ -1056,9 +1056,10 @@ public class InventoryMenu : MonoBehaviour
try
{
_playerSettings = ResolveClient()
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.Player
.Latest();
}
catch (Exception ex)
{

View file

@ -104,7 +104,7 @@ public class InventoryPanel : MonoBehaviour, IPointerClickHandler
private AetheriaClient _client;
private string _clientStatePath = "";
private AetheriaRuntimeCatalogSnapshot _catalog;
private AetheriaRuntimePlayerSettingsSnapshot _playerSettings;
private AetheriaRuntimePlayerSettingsDocument _playerSettings;
private AetheriaRuntimeStationRefitEntityOption[] _dropdownStationRefitEntities =
Array.Empty<AetheriaRuntimeStationRefitEntityOption>();
private AetheriaRuntimeStationLoadoutRestoreOption[] _dropdownStationRefitLoadouts =
@ -1540,7 +1540,7 @@ private void Update()
return _catalog;
}
private AetheriaRuntimePlayerSettingsSnapshot ResolvePlayerSettings()
private AetheriaRuntimePlayerSettingsDocument ResolvePlayerSettings()
{
if (_playerSettings != null)
return _playerSettings;
@ -1548,9 +1548,10 @@ private void Update()
try
{
_playerSettings = ResolveClient()
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.Player
.Latest();
}
catch (Exception ex)
{

View file

@ -326,9 +326,10 @@ public class MapRenderer : MonoBehaviour
try
{
return ResolveClient()
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult()
.Aetheria()
.Settings
.Player
.Latest()
?.ShowAsteroidsInMinimap ?? false;
}
catch (Exception ex)

View file

@ -49,7 +49,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
private AetheriaClient _client;
private string _clientStatePath = "";
private AetheriaRuntimeCatalogSnapshot _catalog;
private AetheriaRuntimePlayerSettingsSnapshot _playerSettings;
private AetheriaRuntimePlayerSettingsDocument _playerSettings;
private readonly AetheriaEveUnitySurfaceChrome _zoneDetailsSurfaceChrome = new AetheriaEveUnitySurfaceChrome
{
RootAlignItems = Align.FlexEnd,
@ -237,7 +237,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
return _catalog;
}
private AetheriaRuntimePlayerSettingsSnapshot ResolvePlayerSettings()
private AetheriaRuntimePlayerSettingsDocument ResolvePlayerSettings()
{
if (_playerSettings != null)
return _playerSettings;
@ -245,9 +245,10 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
try
{
_playerSettings = ResolveClient()
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.Player
.Latest();
}
catch (Exception ex)
{

View file

@ -39,7 +39,7 @@ public class TradeMenu : MonoBehaviour
private AetheriaClient _client;
private string _clientStatePath = "";
private AetheriaRuntimeCatalogSnapshot _catalog;
private AetheriaRuntimePlayerSettingsSnapshot _playerSettings;
private AetheriaRuntimePlayerSettingsDocument _playerSettings;
private readonly AetheriaEveUnitySurfaceChrome _cargoSelectorSurfaceChrome = PanelChrome(360f, 420f, Align.FlexEnd);
private readonly AetheriaEveUnitySurfaceChrome _filterSurfaceChrome = PanelChrome(420f, 520f, Align.FlexStart);
private readonly AetheriaEveUnitySurfaceChrome _rowActionSurfaceChrome = PanelChrome(320f, 360f, Align.FlexStart);
@ -660,7 +660,7 @@ public class TradeMenu : MonoBehaviour
return _catalog;
}
private AetheriaRuntimePlayerSettingsSnapshot ResolvePlayerSettings()
private AetheriaRuntimePlayerSettingsDocument ResolvePlayerSettings()
{
if (_playerSettings != null)
return _playerSettings;
@ -668,9 +668,10 @@ public class TradeMenu : MonoBehaviour
try
{
_playerSettings = ResolveClient()
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.Player
.Latest();
}
catch (Exception ex)
{

View file

@ -56,7 +56,7 @@ public class VolumeCloudRenderer : EffectBase
private bool firstFrame = true;
private AetheriaClient _client;
private string _clientStatePath = "";
private AetheriaRuntimePlayerSettingsSnapshot _playerSettings;
private AetheriaRuntimePlayerSettingsDocument _playerSettings;
[SerializeField]
private Shader cloudShader;
@ -95,7 +95,7 @@ public class VolumeCloudRenderer : EffectBase
: fallback;
}
private AetheriaRuntimePlayerSettingsSnapshot ResolvePlayerSettings()
private AetheriaRuntimePlayerSettingsDocument ResolvePlayerSettings()
{
if (_playerSettings != null)
return _playerSettings;
@ -103,9 +103,10 @@ public class VolumeCloudRenderer : EffectBase
try
{
_playerSettings = ResolveClient()
.PlayerSettingsAsync()
.GetAwaiter()
.GetResult();
.Aetheria()
.Settings
.Player
.Latest();
}
catch (Exception ex)
{

View file

@ -92,7 +92,7 @@ namespace GameCult.Aetheria.State.Verse
{
public static AetheriaRuntimeMainMenuSurfaceState ProjectRoot(
AetheriaRuntimeStateBootReport stateBoot,
AetheriaRuntimePlayerSettingsSnapshot playerSettings,
AetheriaRuntimePlayerSettingsDocument playerSettings,
bool canOpenRuntimeInputScreen,
bool inGame,
string updatedAtUtc)
@ -109,8 +109,8 @@ namespace GameCult.Aetheria.State.Verse
false,
"",
-1,
playerSettings?.BindingOverrides?.Count ?? 0,
playerSettings?.ActionBarInputs?.Count ?? 0,
playerSettings?.BindingOverrides?.Length ?? 0,
playerSettings?.ActionBarInputs?.Length ?? 0,
canOpenRuntimeInputScreen,
updatedAtUtc);
}
@ -118,8 +118,8 @@ namespace GameCult.Aetheria.State.Verse
public static AetheriaRuntimeMainMenuSurfaceState ProjectRoot(
AetheriaRuntimeStateBootReport stateBoot,
AetheriaRuntimeDaemonFrameDocument daemonFrame,
AetheriaRuntimeVerseHostSettingsSnapshot verseHost,
AetheriaRuntimePlayerSettingsSnapshot playerSettings,
AetheriaRuntimeVerseHostSettingsDocument verseHost,
AetheriaRuntimePlayerSettingsDocument playerSettings,
bool canOpenRuntimeInputScreen,
bool inGame,
string updatedAtUtc)
@ -136,8 +136,8 @@ namespace GameCult.Aetheria.State.Verse
daemonFrame != null,
daemonFrame?.Run?.RunId ?? "",
daemonFrame?.FrameId ?? -1,
playerSettings?.BindingOverrides?.Count ?? 0,
playerSettings?.ActionBarInputs?.Count ?? 0,
playerSettings?.BindingOverrides?.Length ?? 0,
playerSettings?.ActionBarInputs?.Length ?? 0,
canOpenRuntimeInputScreen,
updatedAtUtc);
}
@ -145,8 +145,8 @@ namespace GameCult.Aetheria.State.Verse
public static AetheriaRuntimeMainMenuSurfaceState ProjectRoot(
AetheriaRuntimeStateBootReport stateBoot,
AetheriaRuntimeSectorMapDocument sectorMap,
AetheriaRuntimeVerseHostSettingsSnapshot verseHost,
AetheriaRuntimePlayerSettingsSnapshot playerSettings,
AetheriaRuntimeVerseHostSettingsDocument verseHost,
AetheriaRuntimePlayerSettingsDocument playerSettings,
bool canOpenRuntimeInputScreen,
bool inGame,
string updatedAtUtc)
@ -163,14 +163,14 @@ namespace GameCult.Aetheria.State.Verse
sectorMap != null,
sectorMap?.RunId ?? "",
sectorMap?.FrameId ?? -1,
playerSettings?.BindingOverrides?.Count ?? 0,
playerSettings?.ActionBarInputs?.Count ?? 0,
playerSettings?.BindingOverrides?.Length ?? 0,
playerSettings?.ActionBarInputs?.Length ?? 0,
canOpenRuntimeInputScreen,
updatedAtUtc);
}
public static AetheriaRuntimePlayerSettingsSurfaceState ProjectPlayerSettings(
AetheriaRuntimePlayerSettingsSnapshot playerSettings,
AetheriaRuntimePlayerSettingsDocument playerSettings,
string updatedAtUtc)
{
return new AetheriaRuntimePlayerSettingsSurfaceState(
@ -186,7 +186,7 @@ namespace GameCult.Aetheria.State.Verse
public static AetheriaRuntimeClientTargetSurfaceState ProjectVerseSettings(
AetheriaRuntimeStateBootReport stateBoot,
AetheriaRuntimeVerseHostSettingsSnapshot verseHost,
AetheriaRuntimeVerseHostSettingsDocument verseHost,
string updatedAtUtc)
{
return new AetheriaRuntimeClientTargetSurfaceState(