Keep Aetheria editor control responsive

This commit is contained in:
Meta Vens 2026-07-18 18:42:44 +01:00
commit 20bb10f5ce
3 changed files with 36 additions and 10 deletions

View file

@ -25,7 +25,7 @@ public sealed class AetheriaUnityClient : MonoBehaviour
_provider.Configure(
endpoint,
replicaPath,
providerId: "aetheria",
providerId: "aetheria.daemon",
surfaceId: surfaceId,
requiredSurfaceKind: "interactive-world",
clientRuntimeId: "aetheria-unity");
@ -38,7 +38,25 @@ public sealed class AetheriaUnityClient : MonoBehaviour
{
yield return null;
_status = "Connecting to the advertised Eve surface...";
yield return null;
while (true)
{
var preparation = _provider.PrepareAsync();
while (!preparation.IsCompleted)
yield return null;
Exception preparationError = null;
try
{
preparation.GetAwaiter().GetResult();
}
catch (Exception error)
{
preparationError = error;
}
if (preparationError == null)
break;
_status = "Waiting for Aetheria daemon: " + preparationError.Message;
yield return new WaitForSecondsRealtime(0.5f);
}
var presentation = _bootstrap.Mount();
_status = $"Connected: {_provider.Selection.ProviderId} / {_provider.Selection.SurfaceId} / {presentation.ActiveEntities} entities";
}

View file

@ -1,14 +1,15 @@
{
"dependencies": {
"com.gamecult.brokkr": "file:E:/Projects/Brokkr/surfaces/unity/Packages/com.gamecult.brokkr",
"com.unity.test-framework": "1.6.0",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0",
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.uielements": "1.0.0",
"com.unity.render-pipelines.universal": "17.4.0",
"org.gamecult.cultlib": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.16",
"org.gamecult.cultlib": "file:E:/Projects/CultLib-codex-cultmesh-reliability/artifacts/unity/org.gamecult.cultlib-brokkr-dev",
"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",
"org.gamecult.eve.surface": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.surface#eveunity-surface-v0.2.4",
"org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.67"
"org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.68"
}
}

View file

@ -1,5 +1,13 @@
{
"dependencies": {
"com.gamecult.brokkr": {
"version": "file:E:/Projects/Brokkr/surfaces/unity/Packages/com.gamecult.brokkr",
"depth": 0,
"source": "local",
"dependencies": {
"org.gamecult.cultlib": "1.0.16"
}
},
"com.unity.burst": {
"version": "1.8.29",
"depth": 2,
@ -119,11 +127,10 @@
}
},
"org.gamecult.cultlib": {
"version": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.16",
"version": "file:E:/Projects/CultLib-codex-cultmesh-reliability/artifacts/unity/org.gamecult.cultlib-brokkr-dev",
"depth": 0,
"source": "git",
"dependencies": {},
"hash": "69caf2d027c49227e62ffa24452fc7d717f86ca5"
"source": "local",
"dependencies": {}
},
"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",
@ -144,7 +151,7 @@
"hash": "e08fa08335f99e9edddeb706912eecfad07cb281"
},
"org.gamecult.eve.unity-scene": {
"version": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.67",
"version": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.68",
"depth": 0,
"source": "git",
"dependencies": {
@ -155,7 +162,7 @@
"com.unity.render-pipelines.universal": "17.4.0",
"com.unity.modules.particlesystem": "1.0.0"
},
"hash": "884b58683c7b04e33fe0211cd63faaea8c7c9f1b"
"hash": "f75468e7f434ef3bc89516a3d9df863b2b7e9ecd"
},
"com.unity.modules.assetbundle": {
"version": "1.0.0",