Restore daemon-backed Unity launch

This commit is contained in:
Meta Vens 2026-08-07 21:10:44 +01:00
commit 023a35944c
28 changed files with 130 additions and 93 deletions

View file

@ -1,6 +1,5 @@
{
"dependencies": {
"com.gamecult.brokkr": "file:../../Brokkr/surfaces/unity/Packages/com.gamecult.brokkr/",
"com.unity.2d.sprite": "1.0.0",
"com.unity.2d.tilemap": "1.0.0",
"com.unity.ai.navigation": "2.0.12",
@ -20,7 +19,7 @@
"com.unity.xr.legacyinputhelpers": "3.0.1",
"org.gamecult.aetheria.eve-runtime": "file:org.gamecult.aetheria.eve-runtime",
"org.gamecult.aetheria.state": "file:org.gamecult.aetheria.state",
"org.gamecult.cultmath": "https://github.com/GameCult/CultMath.git?path=/unity/org.gamecult.cultmath#cultmath-unity-v0.1.1",
"org.gamecult.cultmath": "https://github.com/GameCult/CultMath.git?path=/unity/org.gamecult.cultmath#cultmath-unity-v0.1.2",
"org.gamecult.cultlib": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.43",
"org.gamecult.eve.surface": "file:../../EveUnity/packages/org.gamecult.eve.surface",
"org.gamecult.eve.plugin-fields": "https://github.com/GameCult/EvePlugins.git?path=/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields#eve-plugin-fields-unity-v0.2.3",

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 5f127e58b7fe83d41aae3d2c07e92b93

View file

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

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 65b37579114393648b8c881ae488399b

View file

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

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 479d0ef759b333b4dae8052bad70eca7

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 7a04293019e69804188e0fd89165928e

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 56b9ad6cb6412fb43a3bca09816f3c1e

View file

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

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 59cfb14aacc657e42840ff07db266e6d

View file

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

View file

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

View file

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 5437add74c5d2fb45b81299b41aa999d

View file

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

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 7250563f73fb3f0489c35f3bac88a8ce

View file

@ -256,6 +256,9 @@ namespace GameCult.Aetheria.State.Verse
var fullPath = Path.GetFullPath(statePath);
var effectiveRuntimeId = string.IsNullOrWhiteSpace(runtimeId) ? DefaultRuntimeId : runtimeId;
var registry = AetheriaRuntimeVerseContractRegistry.CreateCultCacheRegistry();
var runtimeSchemaIds = new HashSet<string>(
registry.AllDescriptors.Select(descriptor => descriptor.SchemaId),
StringComparer.Ordinal);
var node = await CultMesh.CreateNodeAsync(
fullPath,
new CultMeshNodeOptions
@ -267,7 +270,12 @@ namespace GameCult.Aetheria.State.Verse
Registry = registry,
PullOnOpen = pullOnOpen,
StoreFlushOnDispose = true,
UseDirectoryStore = true
UseDirectoryStore = true,
// A thin runtime shares the daemon's physical CultCache, but it does not
// own or understand catalog, migration, Hangar, or other daemon schemas.
// Hydrate only the contract it can deserialize; untouched records remain
// owned by the backing store and are not projected into this client cache.
DirectoryStoreHydrationFilter = metadata => runtimeSchemaIds.Contains(metadata.SchemaId)
},
DatabaseOptions = new CultNetDatabaseOptions
{

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 13dee70f7b1b8ef4eabd7f3d572b02f1

View file

@ -14,6 +14,7 @@
"overrideReferences": true,
"precompiledReferences": [
"ConcurrentCollections.dll",
"CultMath.dll",
"GameCult.Caching.MessagePack.dll",
"GameCult.Caching.dll",
"GameCult.Logging.dll",
@ -28,6 +29,7 @@
"Microsoft.NET.StringTools.dll",
"MessagePack.Annotations.dll",
"MessagePack.CultMesh.dll",
"MessagePack.dll",
"R3.dll",
"System.Collections.Immutable.dll",
"System.ComponentModel.Annotations.dll",

View file

@ -5,7 +5,6 @@
"unity": "2021.3",
"description": "Unity runtime boundary for Aetheria typed CultCache/CultMesh state.",
"dependencies": {
"com.gamecult.brokkr": "0.1.0",
"org.gamecult.eve.surface": "0.1.0"
},
"keywords": [

View file

@ -1,13 +1,5 @@
{
"dependencies": {
"com.gamecult.brokkr": {
"version": "file:../../Brokkr/surfaces/unity/Packages/com.gamecult.brokkr/",
"depth": 0,
"source": "local",
"dependencies": {
"org.gamecult.cultlib": "1.0.16"
}
},
"com.unity.2d.sprite": {
"version": "1.0.0",
"depth": 0,
@ -308,7 +300,6 @@
"depth": 0,
"source": "embedded",
"dependencies": {
"com.gamecult.brokkr": "0.1.0",
"org.gamecult.eve.surface": "0.1.0"
}
},
@ -320,11 +311,11 @@
"hash": "f67f5122ed1bd11da016e7b820ed60145ccd0299"
},
"org.gamecult.cultmath": {
"version": "https://github.com/GameCult/CultMath.git?path=/unity/org.gamecult.cultmath#cultmath-unity-v0.1.1",
"version": "https://github.com/GameCult/CultMath.git?path=/unity/org.gamecult.cultmath#cultmath-unity-v0.1.2",
"depth": 0,
"source": "git",
"dependencies": {},
"hash": "c4543b9443e96d848260ef00254d2d3c0fa6a9d2"
"hash": "fcdddda72f6aa33ae6eeff3bce6a2d3e26eb16f3"
},
"org.gamecult.eve.plugin-fields": {
"version": "https://github.com/GameCult/EvePlugins.git?path=/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields#eve-plugin-fields-unity-v0.2.3",