feat(starbridge): publish commander and pilot surfaces

This commit is contained in:
Meta Vens 2026-07-11 00:51:50 +01:00
commit fdcff0f2d6
7 changed files with 142 additions and 17 deletions

View file

@ -1348,6 +1348,14 @@ static async Task PublishDaemonApiDocumentsAsync(
await node.MutableDocument<EveSurfaceDocument>(AetheriaRuntimeVerseRecordKeys.DaemonGameSurface)
.ReplaceAsync(AetheriaRuntimeSurfaceDocuments.ToPortableSurface(gameSurface))
.ConfigureAwait(false);
var commanderSurface = AetheriaRuntimeDaemonGameSurfaceBuilder.BuildCommander(
result.Frame,
result.Health ?? new AetheriaRuntimeDaemonHealthDocument(),
result.CommandBoundary ?? AetheriaRuntimeDaemonCommandBoundaryDocument.Create(options.DaemonId),
result.StarbridgeSessionSummary);
await node.MutableDocument<EveSurfaceDocument>(AetheriaRuntimeVerseRecordKeys.StarbridgeCommanderSurface)
.ReplaceAsync(AetheriaRuntimeSurfaceDocuments.ToPortableSurface(commanderSurface))
.ConfigureAwait(false);
if (result.GameTuiSurface != null)
await node.MutableDocument<EveSurfaceDocument>(AetheriaRuntimeVerseRecordKeys.DaemonGameTuiSurface)
.ReplaceAsync(AetheriaRuntimeSurfaceDocuments.ToPortableSurface(result.GameTuiSurface))
@ -1398,12 +1406,20 @@ static EveProviderAdvertisementDocument BuildCoreProviderAdvertisement(
new[]
{
new EveAdvertisedSurface(
AetheriaRuntimeDaemonGameSurfaceBuilder.SurfaceId,
AetheriaRuntimeDaemonGameSurfaceBuilder.PilotSurfaceId,
EveSurfaceDocument.SchemaId,
AetheriaRuntimeVerseRecordKeys.DaemonGameSurface.ToString(),
"cultmesh-record",
"active",
"interactive-world",
interaction),
new EveAdvertisedSurface(
AetheriaRuntimeDaemonGameSurfaceBuilder.CommanderSurfaceId,
EveSurfaceDocument.SchemaId,
AetheriaRuntimeVerseRecordKeys.StarbridgeCommanderSurface.ToString(),
"cultmesh-record",
"active",
"interactive-world",
interaction)
},
Array.Empty<EveAdvertisedCommand>());