Isolate runtime bootstrap document seeds

This commit is contained in:
Meta Vens 2026-06-28 11:49:27 +01:00
commit de13ea89ea
5 changed files with 46 additions and 10 deletions

View file

@ -10988,11 +10988,15 @@ static void RequireAetheriaRuntimeVerseClientContract(string root)
{
"BootstrapCatalogDocument(",
"CatalogBootstrapSource(",
"legacy catalog store bootstrap seed for managed Aetheria state",
"managed Aetheria document bootstrap seed",
"BootstrapRuntimeCatalogSnapshot()",
"BootstrapLoadoutTemplatesDocument()",
"BootstrapPlayerSettingsDocument()",
"BootstrapVerseHostSettingsDocument()"
"BootstrapVerseHostSettingsDocument()",
"AetheriaRuntimeBootstrapDocuments.RuntimeCatalog(StatePath)",
"AetheriaRuntimeBootstrapDocuments.LoadoutTemplates(StatePath)",
"AetheriaRuntimeBootstrapDocuments.PlayerSettings(StatePath)",
"AetheriaRuntimeBootstrapDocuments.VerseHostSettings(StatePath)"
};
var missingClientBootstrapSymbols = requiredClientBootstrapSymbols
.Where(symbol => !client.Contains(symbol, StringComparison.Ordinal))
@ -11008,6 +11012,10 @@ static void RequireAetheriaRuntimeVerseClientContract(string root)
{
"return Task.FromResult(AetheriaRuntimeCatalogStore.ReadPlayerSettings(StatePath));",
"return Task.FromResult(AetheriaRuntimeCatalogStore.ReadVerseHostSettings(StatePath));",
"AetheriaRuntimeCatalogStore.OpenReadOnly(StatePath)",
"AetheriaRuntimeCatalogStore.ReadLoadoutTemplates(StatePath)",
"AetheriaRuntimeCatalogStore.ReadPlayerSettings(StatePath)",
"AetheriaRuntimeCatalogStore.ReadVerseHostSettings(StatePath)",
"ReadRuntimeCatalogSnapshot()",
"ReadLoadoutTemplatesDocument()",
"ReadPlayerSettingsDocument()",

View file

@ -83,6 +83,7 @@
<Compile Include="Packages\org.gamecult.aetheria.state\Runtime\AetheriaRuntimeEveCommandClient.cs" />
<Compile Include="Packages\org.gamecult.aetheria.state\Runtime\AetheriaRuntimeAssetDocuments.cs" />
<Compile Include="Packages\org.gamecult.aetheria.state\Runtime\AetheriaRuntimeDaemonTradeItemQueries.cs" />
<Compile Include="Packages\org.gamecult.aetheria.state\Runtime\AetheriaRuntimeBootstrapDocuments.cs" />
<Compile Include="Packages\org.gamecult.aetheria.state\Runtime\AetheriaRuntimeClientTargetSurfaceBuilder.cs" />
<Compile Include="Packages\org.gamecult.aetheria.state\Runtime\AetheriaRuntimePlayerSettingsSurfaceBuilder.cs" />
<Compile Include="Packages\org.gamecult.aetheria.state\Runtime\AetheriaRuntimeTradeValuePolicySurfaceBuilder.cs" />

View file

@ -0,0 +1,28 @@
namespace GameCult.Aetheria.State.Verse
{
public static class AetheriaRuntimeBootstrapDocuments
{
public static AetheriaRuntimeCatalogSnapshot RuntimeCatalog(string statePath)
{
return AetheriaRuntimeCatalogStore.OpenReadOnly(statePath);
}
public static AetheriaRuntimeLoadoutTemplatesDocument LoadoutTemplates(string statePath)
{
return new AetheriaRuntimeLoadoutTemplatesDocument(
AetheriaRuntimeCatalogStore.ReadLoadoutTemplates(statePath));
}
public static AetheriaRuntimePlayerSettingsDocument PlayerSettings(string statePath)
{
return AetheriaRuntimePlayerSettingsDocument.FromSnapshot(
AetheriaRuntimeCatalogStore.ReadPlayerSettings(statePath));
}
public static AetheriaRuntimeVerseHostSettingsDocument VerseHostSettings(string statePath)
{
return AetheriaRuntimeVerseHostSettingsDocument.FromSnapshot(
AetheriaRuntimeCatalogStore.ReadVerseHostSettings(statePath));
}
}
}

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 2cbb2fbe4bd64f4ab8fb3183b59b42d3

View file

@ -775,7 +775,7 @@ namespace GameCult.Aetheria.State.Verse
{
return CultMesh.ProjectionSource(
sourceId,
description: "legacy catalog store bootstrap seed for managed Aetheria state");
description: "managed Aetheria document bootstrap seed");
}
private sealed class AetheriaRuntimeReactiveProjectionInputs : IDisposable
@ -829,25 +829,22 @@ namespace GameCult.Aetheria.State.Verse
private AetheriaRuntimeCatalogSnapshot BootstrapRuntimeCatalogSnapshot()
{
return AetheriaRuntimeCatalogStore.OpenReadOnly(StatePath);
return AetheriaRuntimeBootstrapDocuments.RuntimeCatalog(StatePath);
}
private AetheriaRuntimeLoadoutTemplatesDocument BootstrapLoadoutTemplatesDocument()
{
return new AetheriaRuntimeLoadoutTemplatesDocument(
AetheriaRuntimeCatalogStore.ReadLoadoutTemplates(StatePath));
return AetheriaRuntimeBootstrapDocuments.LoadoutTemplates(StatePath);
}
private AetheriaRuntimePlayerSettingsDocument BootstrapPlayerSettingsDocument()
{
return AetheriaRuntimePlayerSettingsDocument.FromSnapshot(
AetheriaRuntimeCatalogStore.ReadPlayerSettings(StatePath));
return AetheriaRuntimeBootstrapDocuments.PlayerSettings(StatePath);
}
private AetheriaRuntimeVerseHostSettingsDocument BootstrapVerseHostSettingsDocument()
{
return AetheriaRuntimeVerseHostSettingsDocument.FromSnapshot(
AetheriaRuntimeCatalogStore.ReadVerseHostSettings(StatePath));
return AetheriaRuntimeBootstrapDocuments.VerseHostSettings(StatePath);
}
}
}