The
libs/bellona/area: ~40 Nx libraries that make up Bellona, Oshun's engine-bridge / DCC-automation / remote-creative-control-plane domain — the code that drives Unreal, Unity, Blender, Houdini, Maya, Godot, DaVinci and friends, moves assets between them, and exposes that whole surface to agents.
What this area is#
Bellona is Oshun's "make a real game / film / 3D asset" domain. Where most Oshun
libraries push JSON around services, Bellona reaches out of process to running
creative tools — game engines, DCC (Digital Content Creation) applications,
audio/video hardware — drives them, and shuttles assets through interchange
formats. The libs/bellona/ tree is not one package but ~40 separate Nx
libraries, almost all tagged scope:bellona, that fall into a few distinct
generations and families.
The largest family is the per-engine / per-DCC adapter set:
@bellona/unreal, @bellona/unity, @bellona/godot, @bellona/blender,
@bellona/houdini, @bellona/davinci, plus the @bellona/maya and
@bellona/3dsmax runtime foundations. These are mostly TypeScript bridges that
speak each tool's remote protocol (WebSocket, Remote Control API, batchmode
stdio) and provide managers for scenes, assets, materials, animation and
rendering. @bellona/unreal and @bellona/unity-agent additionally ship real
native plugins (a 3900-line UE5 C++ command dispatcher; a Unity Package Manager
MCP server in C#). On top of the adapters sits a shared bridge layer —
@bellona/adapters, bellona-bridge-core — and an asset-interchange layer
— @bellona/interchange, @bellona/interchange-models,
@bellona/asset-export, @bellona/openusd, @bellona/mocap — that converts
and validates assets between GLTF/USD/FBX and the engines.
The second large family is the Phase 180 Remote Creative Control Plane: a
remote-agent stack that lets a (possibly cloud) agent drive a creative host
machine safely. @bellona/remote-protocol owns the canonical command/event
contracts; @bellona/remote-adapters is the adapter SDK + conformance suite;
@bellona/mcp-gateway exposes the plane as MCP tools/resources;
@bellona/host-runtime is the cross-platform host abstraction with tamper
detection; @bellona/artifact-store, @bellona/creative-flows,
@bellona/release-evidence, @bellona/cross-dcc-consistency and
@bellona/editor-productization provide artifact provenance, cross-app
orchestration flows, SBOM/release evidence, and editor-plugin productization.
Two SDKs (bellona-sdk-cpp, bellona-sdk-python) and a TS client
(bellona-client) let external code talk to the gateway/platform API.
The rest are domain/infra pieces: @bellona/database (Prisma schema for
builds/exports), @bellona/event-publisher + @bellona/event-handlers (the
event-bus seam to the rest of Oshun), bellona-gameplay-systems (runtime game
systems), bellona-audio / bellona-video / @bellona/virtual-production /
bellona-xr (media + virtual-production + XR adapters), @bellona/metahuman,
@bellona/text-to-3d (generative 3D), and @bellona/integration (Hathor/Isis
ingestion).
How it fits the wider system#
Bellona consumes content from other Oshun domains and turns it into engine-ready
assets and builds. @bellona/event-handlers subscribes to Hathor
(world-published), Isis (asset-generated) and Yemaya (build/export-requested)
events; @bellona/integration ingests Hathor lore and Isis assets directly; and
@bellona/event-publisher emits Bellona's own session/build/export events back
onto @oshun/event-bus using BellonaEventTypes from @oshun/contracts. The
adapter and interchange libraries compose with each other — e.g.
@bellona/asset-export imports AssetFormat/ExportConfig from
@bellona/interchange, and @bellona/text-to-3d runs GLB through
@bellona/interchange then @bellona/unreal to author a .uasset. Externally,
the remote-control-plane libraries are consumed by the apps/bellona
remote-gateway and host apps, and the SDKs (bellona-sdk-cpp,
bellona-sdk-python, bellona-client) are the public clients of that gateway.
Walk the "used by" edges on any node below to see exactly who depends on it.
Entity catalog (41)#
The 41 tracked Nx projects in bellona, each a code-linked entity node — package, type, source path, declared targets, and its internal dependency graph (depends-on / used-by, resolved from the package manifests, §6/§8), read from the project graph. Grouped by architectural layer; walk the dependency links to travel the system. 40 of these carry an authored deep-dive (what / why / how it fits); the rest are generated scaffolds awaiting one.
clients (1)#
TypeScript client SDK for Bellona game development platform
The TypeScript client SDK for the Bellona platform (libs/bellona/client/src,
package @oshun/bellona-client). It wraps the platform REST API
(BellonaApiClient, generated types in api/generated.ts) with build/export/
engine-sync helpers (triggerBuild, waitForBuild, exportForUnity, …), and a
remote/ sub-client + transport that targets the Phase-180 remote gateway. It
also carries OpenAPI/cross-service contract specs (src/contracts/) that assert
the SDK stays in sync with the gateway schema.
BellonaClient67createBellonaClient501BellonaApiClient513BellonaApiError513createApiClient513data (1)#
Database schema and Prisma client for Bellona engine/build services
The Prisma data layer for Bellona's engine/build/export services
(libs/bellona/database). It owns prisma/schema.prisma with migrations
(initial Phase-8 schema + a batch-export on-delete change), generated SQL, and
seed scripts; src/client.ts exports a configured client plus connect/
disconnect/transaction/executeRaw/queryRaw, and src/index.ts
re-exports the generated model types (Build, BuildArtifact, ExportJob,
EngineProject, BridgeSession, SyncConflict, …). It is the persistence backbone
the build/export side of Bellona writes to.
domain (32)#
3ds Max bridge runtime and workflow foundations for Bellona
3ds Max bridge runtime + workflow foundation (libs/bellona/3dsmax/src). It is
a deterministic planning layer, not a live MaxScript driver: a library manifest
and supported-release policy (bootstrap.ts, version-support-policy.ts), a
typed bridge-runtime plan builder (createBellona3dsMaxBridgeRuntimePlan over
execution-channel/transport enums), a typed action schema, and import/export,
send-import, rigging-animation and UI-hook plan builders. Each module is a
create*Plan that returns a validated plan structure with matching .test.ts
coverage; the actual 3ds Max execution is left to a downstream bridge.
BELLONA_3DSMAX_DOMAIN_ID6BELLONA_3DSMAX_LIBRARY_MANIFEST6BELLONA_3DSMAX_MODULE_IDS6BELLONA_SUPPORTED_3DSMAX_RELEASES6BELLONA_3DSMAX_VERSION12VERSION12createBellona3dsMaxVersionSupportPolicy14BELLONA_3DSMAX_EXECUTION_CHANNEL_VALUES22BELLONA_3DSMAX_TRANSPORT_VALUES22DEFAULT_BELLONA_3DSMAX_BRIDGE_CONFIG22createBellona3dsMaxBridgeRuntimePlan22BELLONA_3DSMAX_ACTION_DOMAIN_VALUES33createBellona3dsMaxActionSchema33createBellona3dsMaxImportExportPlan43 +7 moreBase engine adapter infrastructure for Bellona game engine bridges
The base engine-adapter infrastructure shared by the Godot/Unreal/Unity/Blender
bridges (libs/bellona/adapters/src). It provides the reusable building blocks:
BaseBridge with heartbeat, reconnection and a message codec (src/bridge/); a
command pipeline (command-queue, command-batcher, command-executor); state
management with history and sync (src/state/); and a process launcher with a
version manager (src/launcher/). Concrete engine libs extend BaseBridge
rather than re-implementing connection/command/state plumbing.
CommandPriority64DEFAULT_BRIDGE_CONFIG64BaseBridge70BridgeEvents70WebSocketLike70WebSocketFactory70MessageEncoder77MessageDecoder77MessageDecodeError77generateMessageId77defaultEncoder77defaultDecoder77HeartbeatManager86HeartbeatOptions86 +58 moreBellona remote artifact store (S3/MinIO + local), asset dependency graph, reference-integrity queries, and impact preview (180.C.22.05/.11/.12/.13)
The Phase-180 remote artifact store (libs/bellona/artifact-store/src,
180.C.22.05/.11/.12/.13). It is real: createLocalArtifactStore composes
@oshun/storage's LocalStorageClient to write bytes to disk, verify hashes on
put and persist JSON-sidecar records; on top sit an asset dependency-graph, a
reference-integrity query layer (broken refs / missing source / stale /
upstream-invalidation), and an impact-preview consumed by the dry-run plans.
oshun-storage-store.ts is the S3/MinIO/local-backed implementation.
BELLONA_ARTIFACT_STORE_PACKAGE_NAME15BELLONA_ARTIFACT_STORE_VERSION16createLocalArtifactStore35Bellona CGI scene asset export readiness and conversion planning for USD, GLTF, GLB, and FBX
A small, single-module CGI-scene export-readiness and conversion planner
(libs/bellona/asset-export/src/index.ts). It types a source asset
(mesh/material/ texture/animation/skeleton counts, unit scale, up-axis) and
produces an export plan across usd/usda/usdc/usdz/gltf/glb/fbx
targets, each carrying readiness flags (geometry-quality, material-binding,
texture-relink, animation-retarget, skeleton, coordinate/unit conversion,
package + checksum manifests). It reuses AssetFormat, ExportConfig,
TransformPipeline and ValidationResult from @bellona/interchange rather
than redefining them.
BELLONA_ASSET_EXPORT_FORMATS9BellonaAssetExportFormat19BellonaAssetExportStatus20BellonaAssetExportSourceAsset22BellonaAssetExportTarget37BellonaAssetExportPlan55BellonaAssetExportTargetIssue63BellonaAssetExportTargetEvaluation81BellonaAssetExportPlanReport91BellonaAssetExportManifestTarget102BellonaAssetExportManifest112evaluateBellonaAssetExportTarget142buildBellonaAssetExportManifest282evaluateBellonaAssetExportPlan305 +2 moreBellona Blender adapter for 3D content generation, rendering, and pipeline automation
The Blender integration adapter (libs/bellona/blender/src) and its Python
addon (python/bellona_addon/). The TS side exports a WebSocket bridge
(BlenderConnection, CommandQueue, StateManager, BlenderClient), scene/
object/collection managers, asset managers (material/image/file/geometry-nodes),
and animation + render modules. A real Blender addon (server.py,
handlers.py, events.py) provides the Blender-side counterpart, and a large
set of addon-*.test.ts files cover onboarding, packaging, update channels,
recovery and session-resilience for that addon.
BlenderConnection18CommandQueue18StateManager18BlenderClient18createBlenderBridge18SceneManager30ObjectManager30CollectionManager30createSceneManager30createObjectManager30createCollectionManager30MaterialManager43ImageManager43FileManager43 +34 moreBlender-native agent runtime foundation for Bellona
The Phase-71 Blender-native agent runtime (libs/bellona/blender-agent/src, 62
files). It is a substantial deterministic agent surface: a Blender RPC bridge
over WebSocket-addon or headless stdin/stdout sessions
(blender-rpc-bridge.ts), a typed action schema, a natural-language →
typed-action planner (natural-language-action-planner.ts) plus an LLM planner
with a StructuredPlanner seam that throws LlmPlannerNotConfiguredError when
no model is wired (llm-action-planner.ts), and a large library of authoring
workflows (geometry-nodes authoring/diff-merge/templates, groom/hair macros,
kitbash, blend packaging, headless batch, execution-audit log). The README
documents the boundary honestly.
BLENDER_AGENT_VERSION3VERSION3LlmPlannerNotConfiguredError4LLM_PLAN_SCHEMA4buildBlenderPlannerSystemPrompt4summarizeSceneContext4lanBlenderActionsWithLlm4runBlenderLlmAgentLoop4lanBlenderActions4StructuredPlanner4StructuredPlannerResult4StructuredPlannerUsage4LlmPlanStep4LlmActionPlan4 +549 moreBellona cross-app creative-orchestration flows (Isis->Blender, Blender->Unreal, Unreal->Yemaya, browser->asset) and the optional production-tracking integration (180.C.22.06/.07/.08/.09/.14)
Cross-app creative-orchestration flows for the Remote Creative Control Plane
(libs/bellona/creative-flows/src, 180.C.22.06–.09/.14). Each flow orchestrates
existing command families plus @bellona/artifact-store provenance:
Isis→Blender, Blender→Unreal, Unreal-render→Yemaya, and
browser-research→asset-action (with a hard approval gate). Every
engine/cross-domain boundary is an injectable fail-loud seam (provider.ts,
test-doubles.ts); the optional production-tracking integration
(Flow/ftrack/Kitsu) returns a fail-loud provider_not_configured rather than
faking a connection.
Cross-DCC workflow consistency, compatibility, telemetry, and enterprise delivery contracts for Bellona bridges
Cross-DCC workflow-consistency contracts for the bridges
(libs/bellona/cross-dcc-consistency/src). A deterministic plan-builder
library: a bridge-UX specification, cross-DCC handoff profiles, a compatibility
registry, telemetry-health and documentation/runbook plans, an enterprise
offline-delivery plan, a secrets/permission policy
(createBellonaSecretsPermissionPolicy over permission scopes + token-storage
modes), and a regression-benchmark suite. Like the other bootstrap.ts-style
libs, each module is a typed create* factory with test coverage.
BELLONA_CROSS_DCC_CONSISTENCY_DOMAIN_ID6BELLONA_CROSS_DCC_CONSISTENCY_MANIFEST6BELLONA_CROSS_DCC_MODULE_IDS6BELLONA_DCC_HOST_VALUES6BELLONA_CROSS_DCC_CONSISTENCY_VERSION12VERSION12createBellonaBridgeUxSpecification18createBellonaCrossDccHandoffPlan23createBellonaCompatibilityRegistry28createBellonaTelemetryHealthPlan30createBellonaDocumentationRunbooksPlan35createBellonaEnterpriseOfflineDeliveryPlan37BELLONA_PERMISSION_SCOPE_VALUES46createBellonaSecretsPermissionPolicy46 +1 moreDaVinci Resolve adapter for Bellona framework - video editing, color grading, and compositing
The DaVinci Resolve adapter (libs/bellona/davinci/src). It exposes a
ResolveClient bridge plus managers for projects/databases/timeline-lists
(project/), timeline operations (timeline/), a ColorGrader (nodes/curves/
qualifiers/power-windows), a media pool manager, and a Fusion compositing
manager. It is a TypeScript orchestration layer over Resolve's scripting API;
actual color/ edit operations execute inside a running Resolve instance.
CreateFusionNodeConfig37FusionManager52FairlightTrackSettings239FairlightEQBand247FairlightCompressorSettings255FairlightLimiterSettings265FairlightManager278CreateRenderJobConfig458RenderManager479DaVinciAdapterConfig618DaVinciAdapter632createDaVinciAdapter796CommandQueue805ResolveClient805 +64 moreCross-editor release, onboarding, recovery, and diagnostics contracts for Bellona host plugins
Cross-editor release/onboarding/recovery/diagnostics contracts for Bellona's
host plugins (libs/bellona/editor-productization/src). Deterministic plan
builders keyed by BellonaEditorHost: plugin-distribution plans with release
channels, a connection wizard, an asset-browser plan, send-import workflows,
recovery-UX, update-channel and diagnostics plans. It productizes the
editor-plugin experience (install, connect, recover, diagnose) as typed,
testable plans.
BELLONA_EDITOR_HOST_VALUES6BELLONA_EDITOR_PRODUCTIZATION_DOMAIN_ID6BELLONA_EDITOR_PRODUCTIZATION_LIBRARY_MANIFEST6BELLONA_EDITOR_PRODUCTIZATION_MODULE_IDS6BELLONA_EDITOR_PRODUCTIZATION_VERSION12VERSION12createBellonaEditorDistributionPlan18createBellonaEditorConnectionWizardPlan23createBellonaEditorAssetBrowserPlan28createBellonaEditorSendImportWorkflowPlan34createBellonaEditorRecoveryPlan36createBellonaEditorUpdateChannelPlan38createBellonaEditorDiagnosticsPlan40createBellonaEditorSmokeSuite42Godot game engine adapter for Bellona
The Godot engine adapter (libs/bellona/godot/src). It provides a WebSocket
GodotBridge with version discovery and process launching (bridge/), real
project.godot parsing/writing (project/project-parser.ts,
project-writer.ts), and .tscn scene parsing/writing
(scene/scene-parser.ts, scene-writer.ts), plus export and scripting modules.
Unlike the pure-bridge adapters, it can read and emit Godot's text project/scene
formats directly.
GodotBridge75GodotBridgeEvents75GodotVersionDiscoverer77DiscoveryOptions77VersionDiscoveryFileSystem77getDefaultSearchPaths77getSteamPaths77getLinuxContainerPaths77createGodotVersionDiscoverer77GodotLauncher87GodotLaunchOptions87createGodotLauncher87ProjectParser97ParseOptions97 +14 moreBellona cross-platform host runtime: platform-neutral permission/process/screen-capture abstraction (180.C.26.16) + host-integrity tamper detection (180.C.26.12) and continuous DCC plugin integrity (180.C.26.15) for macOS/Linux/Windows hosts
The cross-platform host runtime for the Remote Creative Control Plane
(libs/bellona/host-runtime/src, 180.C.26.16/.12/.15, 180.C.27.18,
180.C.37.02). A platform-neutral permission/process/screen-capture contract so
macOS/Linux/ Windows hosts plug in without duplicating adapter code, a Linux
Wayland/X11 capture strategy with a LINUX_COMPOSITOR_MATRIX, host tamper
detection (hash-integrity over binaries/helpers/plugins/update-manifests),
continuous DCC plugin-integrity verification on session start, and a continuous
integrity monitor that fails closed (refuses new sessions) on drift.
Security-oriented and real, with dedicated tests for each integrity concern.
Houdini adapter for Bellona framework - procedural generation and VFX integration
The Houdini adapter (libs/bellona/houdini/src). A WebSocket HoudiniClient
bridge plus managers for the node network (SOP/DOP/VOP/CHOP), parameters and
takes, scene access, simulation (Vellum/Pyro/FLIP) and rendering, with a
documented PDG (Procedural Dependency Graph) surface. It is a TypeScript
orchestration layer over Houdini's Python/HOM API; procedural work runs inside a
live Houdini session.
HoudiniConnection20CommandQueue20StateManager20HoudiniClient20createHoudiniBridge20NodeManager32ParameterManager32TakeManager32SceneManager32createNodeManager32createParameterManager32createTakeManager32createSceneManager32GeometryManager47 +21 moreIntegration adapters for connecting Bellona with Hathor and Isis
Integration adapters connecting Bellona to the Hathor and Isis domains
(libs/bellona/integration/src). hathor/ consumes Hathor lore artifacts and
compiles them to engine formats (artifact-consumer.ts, lore-compiler.ts);
isis/ consumes Isis-generated assets and converts them to engine-specific
formats (asset-consumer.ts, asset-converter.ts). It is the direct-ingestion
counterpart to the event-driven @bellona/event-handlers.
HathorArtifactConsumer82createHathorConsumer82LoreToEngineCompiler82createLoreCompiler82HathorConsumerConfig82LoreCompilerConfig82LoreCompilerResult82IsisAssetConsumer113createIsisConsumer113AssetConverter113createAssetConverter113IsisConsumerConfig113AssetConversionConfig113ConversionResult113Asset interchange pipelines for Bellona framework - GLTF, USD, FBX import/export and asset transformation
The universal 3D-asset interchange pipeline (libs/bellona/interchange/src).
Real import/export modules for GLTF, USD and FBX (gltf/, usd/, fbx/) with
round-trip tests, a transform pipeline, and a validation module — including a
usdc-geometry-fail-loud.test.ts that asserts the USDC path fails loud rather
than emitting bogus geometry. It owns the Asset/AssetFormat/ExportConfig/
ValidationResult types reused across @bellona/asset-export and others.
GltfImporter31GltfExporter31createGltfImporter31createGltfExporter31importGltf31xportGltf31UsdImporter40UsdExporter40createUsdImporter40createUsdExporter40importUsd40xportUsd40FbxImporter49FbxExporter49 +27 moreInterchange model definitions for cross-engine asset conversion
Engine-agnostic data models for cross-engine interchange
(libs/bellona/interchange-models/src). Type-safe builders and managers for
scenes (SceneModelBuilder, SceneNodeBuilder), animations
(clip/track/blend-tree builders), and materials, plus converters — the neutral
in-memory representation that asset conversion targets before it is serialized
to a concrete format. It pairs with @bellona/interchange (the format I/O) as
the model half of the interchange split.
createNode21createScene21createSceneModelManager21SceneModelBuilder21SceneModelManager21SceneNodeBuilder21AnimationClipBuilder34AnimationModelBuilder34AnimationModelManager34AnimationTrackBuilder34BlendTreeBuilder34createAnimation34createAnimationModelManager34createBlendTree34 +47 moreMaya adapter and bridge runtime foundation for Bellona
The Maya adapter + bridge-runtime foundation (libs/bellona/maya/src).
Structured exactly like @bellona/3dsmax: a library manifest and
supported-release policy, a typed bridge-runtime plan builder
(createBellonaMayaBridgeRuntimePlan over execution-channel/transport enums), a
typed action schema, and import/export, send-import, rigging-animation and
UI-hook plan builders, each with smoke-test coverage. It is the deterministic
planning/contract layer for Maya; live MEL/ Python execution is downstream.
BELLONA_MAYA_DOMAIN_ID6BELLONA_MAYA_LIBRARY_MANIFEST6BELLONA_MAYA_MODULE_IDS6BELLONA_SUPPORTED_MAYA_RELEASES6BELLONA_MAYA_VERSION12VERSION12createBellonaMayaVersionSupportPolicy14BELLONA_MAYA_EXECUTION_CHANNEL_VALUES22BELLONA_MAYA_TRANSPORT_VALUES22DEFAULT_BELLONA_MAYA_BRIDGE_CONFIG22createBellonaMayaBridgeRuntimePlan22BELLONA_MAYA_ACTION_DOMAIN_VALUES33createBellonaMayaActionSchema33createBellonaMayaImportExportPlan43 +7 moreMetaHuman integration for character creation and animation
MetaHuman integration for character creation/animation
(libs/bellona/metahuman/src). It models MetaHuman identity, mesh types/LODs,
skeleton, textures/materials and a face rig (ARKit blendshape mapping,
face-board controls), with body presets and face customization, and provides a
real mesh importer and face-rig mapper (import/mesh-importer.ts,
import/face-rig-mapper.ts) with tests and Blender transcript fixtures, plus a
Live Link client and appearance editor. (Its index.ts doc-comment still reads
@yemaya/metahuman, but the project/package name is @bellona/metahuman.)
VERSION6MetaHumanMeshImporter49createMetaHumanMeshImporter49MetaHumanSourcePaths49MeshImportProgress49FaceRigMapper49createFaceRigMapper49ARKIT_BLENDSHAPES49DEFAULT_ARKIT_MAPPINGS49ARKitBlendshape49AppearanceEditor62createAppearanceEditor62BODY_TYPE_PRESETS62AppearanceChangeRequest62 +8 moreOpenUSD pipeline integration for Bellona framework - USD asset management, composition, and pipeline tools
OpenUSD pipeline integration (libs/bellona/openusd/src). A USD
stage/layer/prim type model, a stage manager, an LIVRPS composition manager
(with a composition-livrps.spec.ts), variant management, MaterialX shader
support, an asset-IO manager, and pipeline tools — plus a USDA attribute/variant
serialization suite and a real-runtime test gated on a pxr install.
io/usdc-fail-loud.test.ts keeps the binary-USDC path honest (fails loud rather
than faking geometry).
StageManager93InMemoryStageStorage93FileSystemUsdSdkProvider93AssetIOManager112InMemoryAssetStorage112FileSystemFormatConverterProvider112FileSystemAssetResolverProvider112FileSystemDependencyAnalyzerProvider112CliThumbnailGeneratorProvider112DEFAULT_IMPORT_CONFIG112DEFAULT_EXPORT_CONFIG112CompositionManager140InMemoryCompositionArcProvider140FileSystemSceneAssemblyProvider140 +70 moreBellona Remote Creative Control Plane release evidence: CycloneDX SBOM generation, license-policy compliance, and a vuln/malware scan + release-evidence aggregation model for the host app, gateway, Control Room, Blender addon, Unreal plugin, browser helper, and native helpers (180.C.26.10)
Release-evidence generation for the seven Remote-Control-Plane components
(libs/bellona/release-evidence/src, 180.C.26.10). The SBOM + license logic is
real: sbom.ts builds CycloneDX SBOMs (buildPurl, generateSbom,
serializeSbom) from installed-package manifests, license-policy.ts enforces
license compliance, and a release-evidence.ts aggregates per-component
evidence (host app, gateway, Control Room, Blender addon, Unreal plugin, browser
helper, native helpers). The live vuln/malware scanners are injected fail-loud
seams, as the header states.
BELLONA_RELEASE_EVIDENCE_PACKAGE_NAME12BELLONA_RELEASE_EVIDENCE_VERSION13buildPurl15generateSbom15normalizeLicenseField15serializeSbom15stringifySbom15BellonaComponentEcosystem15BellonaComponentType15BellonaReleaseComponent15BellonaSbom15BellonaSbomComponentRecord15BellonaSbomDependency15BellonaSbomDependencyEdge15 +34 moreBellona Remote Creative Control Plane Adapter SDK (180.C.32.01): a stable RemoteAdapter contract (capability handshake, command dispatch, progress/result emission, audit hooks, policy preflight, rollback metadata, health reporting), a conformance test suite every adapter must pass (180.C.32.02), and a reference text-file example adapter (180.C.32.07)
The Remote-Creative-Control-Plane adapter SDK
(libs/bellona/remote-adapters/src, 180.C.32). It defines a stable
RemoteAdapter contract (capability handshake, command dispatch,
progress/result emission, audit hooks, policy preflight, rollback metadata,
health reporting), a conformance test suite every adapter must pass,
define-adapter/dcc-adapter-kit helpers, host-compat, hot-reload, packaging,
distribution, telemetry-hooks and a policy-sandbox. It ships reference adapters
(a text-file example plus Maya/Houdini/Cinema4D/Nuke/Substance/Resolve/
Figma/Photoshop-AfterEffects reference adapters built on the adapter kit with
injected fail-loud host-backend seams) exercising the contract.
Text/image-to-3D mesh generation (Phase 10.1): a real provider transport client (Tripo) -> glTF/GLB, parsed through @bellona/interchange, validated with @oshun/content-eval, and piped to @bellona/unreal StaticMesh authoring -> .uasset. Fail-loud when no provider; never emits empty meshes.
Text/image-to-3D mesh generation (libs/bellona/text-to-3d/src, audit Phase
10.1). Real provider transports — createMeshyTransport, createTripoTransport
— speak the Meshy/Tripo REST contracts (submit → poll → download GLB) over an
injectable fetch, Bearer-authenticated, throwing TextTo3dCredentialsError
when no API key is present. TextTo3dGenerator drives a wired transport to real
GLB bytes (never empty; EmptyMeshError/TextTo3dProviderNotConfiguredError
otherwise), then the pipe parses GLB through @bellona/interchange, validates
with @oshun/content-eval, and authors a byte-valid .uasset via
@bellona/unreal on-box.
TextTo3dProviderNotConfiguredError21TextTo3dCredentialsError21TextTo3dGenerationError21EmptyMeshError21createTripoTransport34mapTripoStatus34FetchLike34ProviderTransportConfig34TextTo3dGenerator40GenerateOptions40arseGeneratedGlb41valuateGeneratedMesh41oStaticMeshAuthoringSpec41ParsedGeneratedMesh41 +8 moreUnity Engine adapter for Bellona - comprehensive Unity Editor integration
The Unity Engine adapter (libs/bellona/unity/src). A WebSocket UnityBridge
plus asset import/generation, multi-platform build automation, scene assembly,
C# code generation and project management. It additionally ships a real
Gaussian-splatting Unity package (plugin/com.bellona.gaussian-splatting/) with
a compute-shader sort, splat asset importer/renderer and HLSL shader, surfaced
through src/gaussian-splatting/. Live editor work runs inside Unity; the TS
side orchestrates it.
UnityBridge20createUnityBridge20UnityAssetImporter36createUnityAssetImporter36UnityBuildManager45createUnityBuildManager45UnitySceneManager71createUnitySceneManager71UnityScriptGenerator94createUnityScriptGenerator94UnityProjectManager121createUnityProjectManager121PlyParser130PlySerializer130 +12 moreUnity Editor MCP server package and orchestration wrapper for Bellona
The Unity-native MCP foundation (libs/bellona/unity-agent, 464 files, Phase
71). Two parts: a thin TypeScript MCP client wrapper + batchmode launch-plan
helper (src/), and a real Unity Package Manager package at
plugin/com.bellona.agent implementing a C# MCP server — server
bootstrap/host/session, HTTP and stdio transport hosts, an attribute-driven tool
registry, async execution over EditorApplication.update with progress
notifications, multi-scene editing, serialized-property bridge, semantic
selection, build pipeline, permission policy and an execution audit log. It is
the Unity counterpart to @bellona/mcp-gateway's agent surface.
BELLONA_UNITY_AGENT_VERSION1VERSION1LlmComponentSynthesizerNotConfiguredError2UNITY_PLAN_SCHEMA2synthesizeUnityComponentsWithLlm2buildUnityBuildObservation2runUnityLlmAgentLoop2UnityStructuredPlanner2UnityStructuredPlannerResult2UnityStructuredPlannerUsage2UnityComponentSpec2UnityComponentPlan2UnitySynthesisTurnResult2SynthesizeUnityOptions2 +1478 moreUnreal Engine adapter for Bellona
The Unreal Engine adapter (libs/bellona/unreal, 134 files) — the most complete
engine integration in the area. The TS side provides a Remote-Control-API
WebSocket UnrealBridge, version discovery, .uproject management, actor/
Blueprint/asset operations and a Linux cook container. The native side is a
real, compiled UE5 C++ editor plugin (plugin/BellonaUnrealEditor/) whose
~3900-line BellonaCommandDispatcher.cpp + author-commandlet authors .uassets
(static-mesh/material/material-instance/blueprint), driven headlessly via the
onbox/python/ commandlet scripts. This is the path @bellona/text-to-3d lands
generated meshes on.
UnrealBridge89UnrealBridgeEvents89UnrealBridgeState89UnrealVersionDiscoverer95DiscoveryOptions95VersionDiscoveryFileSystem95getLauncherPaths95getSourceBuildPaths95getEditorExecutable95createUnrealVersionDiscoverer95UnrealLauncher105UnrealLaunchOptions105UnrealLaunchResult105createUnrealLauncher105 +162 moreVirtual production adapter for LED wall control, camera tracking, and real-time compositing
The virtual-production adapter (libs/bellona/virtual-production/src). Camera-
tracking integration (Ncam/Mo-Sys/OptiTrack/Vicon/Stype), LED-wall control and
calibration (nDisplay/Disguise/Brompton), ICVFX compositing config
(frustum/inner- frustum/chromakey/light-cards), genlock + timecode sync, and
multi-system coordination — with a real virtual-camera module
(virtual-camera/index.ts + tests). It coordinates the physical/virtual
elements of an LED-volume stage.
VirtualProductionBridge130createVirtualProductionBridge130createUnrealICVFXBridge130createNDisplayBridge130createDisguiseBridge130TrackingDataProcessor142TrackingCalibrator142TrackingManager142createTrackingManager142createTrackingProcessor142createTrackingCalibrator142getDefaultCapabilities142LEDSectionBuilder162LEDWallBuilder162 +36 moreAudio capture, processing, and output adapter for professional audio workflows
A professional audio adapter (libs/bellona/audio/src, package
@bellona/audio). The DSP here is genuinely real, not stubbed:
processing/index.ts (~1300 lines) implements ITU-R BS.1770-4 K-weighting
biquads with exact reference coefficients, plus
gain/compressor/parametric-EQ/limiter processors and an LUFS-style meter. Around
it sit capture (SystemAudioCapture, AudioRingBuffer), output, and a
routing/mixer module (AudioMixer, channel strips, bus nodes), with an Ardour
integration module.
AudioRingBuffer16AudioCaptureConfig16AudioCaptureDevice16SystemAudioCapture16VirtualAudioCapture16AudioCaptureManager16createAudioCaptureDevice16AudioOutputConfig27AudioOutputDevice27SystemAudioOutput27VirtualAudioOutput27AudioOutputManager27createAudioOutputDevice27AudioProcessor37 +74 moreRuntime game systems (libs/bellona/gameplay-systems/src, package
@bellona/gameplay-systems). Real, sizeable TypeScript gameplay logic rather
than engine bridging: an input system (keyboard/mouse/gamepad/touch/VR with an
action/ context builder DSL), a save system with pluggable storage, an
inventory/item database, a ~1200-line CombatSystem with an AbilityBuilder,
and an AI-behavior module (behavior trees, utility AI, GOAP, perception). The
project.json description is empty, but the code is substantive.
InputManagerConfig18InputManager18createInputManager18InputActionBuilder18action18InputContextBuilder18context18SaveSystemConfig29SaveStorage29MemorySaveStorage29SaveSystem29createSaveSystem29RequirementChecker38ItemDatabase38 +33 moreMotion capture adapter for streaming, recording, retargeting, and skeletal animation
The motion-capture adapter (libs/bellona/mocap/src, package @bellona/mocap).
Multi-vendor streaming (OptiTrack/Vicon/Xsens/Rokoko), skeleton templates and
skeleton-to-skeleton retargeting with bone mapping, recording/playback,
coordinate transforms, and BVH/C3D/TRC parsing + Unity/Unreal clip generation.
It also includes an auto-rig module, a frame-snap aligner (with spec tests),
and an audio2face module — a real animation-data toolkit, not a thin bridge.
MocapStreamProcessor115CoordinateTransformer115MocapBridge115OptiTrackBridge115ViconBridge115XsensBridge115RokokoBridge115WebSocketMocapBridge115MocapManager115createMocapBridge115createMocapManager115createStreamProcessor115createCoordinateTransformer115CoordinateSystemPresets115 +69 moreBELLONA_STUDY_ADAPTER_CONTRACT_VERSION1BELLONA_STUDY_CAPABILITIES1createBellonaStudyAdapter5BellonaStudyAdapter5ReplayIntegrityResult5SessionValidationResult5Video capture, streaming, and processing adapter for NDI, SDI, and IP-based video workflows
The video adapter (libs/bellona/video/src, package @bellona/video). Multi-
protocol capture (NDI/SDI/HDMI/USB/screen), output
(NDI/streaming/virtual-camera), and a processing pipeline (scaling, color
correction, compositing) with broadcast features (genlock, timecode, ancillary
data). It is the video counterpart to bellona-audio for
virtual-production/broadcast workflows; concrete I/O binds to real
capture/output backends at the device layer.
createVideoDeviceId211createVideoStreamId211createVideoRecordingId211createVideoSourceId211createVideoOutputId211createVideoPipelineId211createVideoEncoderId211createVideoDecoderId211VideoCaptureDevice226NdiCaptureDevice226CaptureCardDevice226ScreenCaptureDevice226UsbCameraDevice226VideoCaptureManager226 +57 moreCross-platform XR (Extended Reality) library supporting visionOS and Meta Quest
The cross-platform XR library (libs/bellona/xr/src, package @bellona/xr).
Supports visionOS (Apple Vision Pro), Meta Quest and WebXR with session
management, hand/eye tracking, spatial anchors, scene understanding, hit testing
and spatial audio. The spatial-ar/ sub-area is the most developed — real,
test-covered modules for world-scale spatial mapping, a visual positioning
system, and persistent AR content anchoring — alongside the quest/ and
visionos/ platform modules.
ImmersionLevel25VisionOSConfig25VisionOSSpace25VisionOSVolume25VisionOSImmersiveEnvironment25PersonaState25SharePlayActivity25VisionOSSessionConfig25VisionOSNativeBridge25VisionOSSessionManager25createVisionOSSession25defaultVisionOSConfig25QuestDevice41PassthroughStyle41 +63 moreinfrastructure (1)#
Core bridge infrastructure for engine communication
Core bridge infrastructure for engine communication
(libs/bellona/bridge-core/src/index.ts, package @bellona/bridge-core). A
single-module library built on ws: branded ConnectionId/MessageId types, a
BridgeMessage/BridgeRequest/BridgeResponse/ BridgeEvent protocol, and
WebSocket server/client + message-routing primitives. It is the lower-level
transport foundation that predates @bellona/adapters' higher-level
BaseBridge.
ConnectionId21MessageId22CommandType23createConnectionId25createMessageId29BridgeMessage37BridgeRequest45BridgeResponse49BridgeEvent55CommandHandler63CommandContext68CommandDefinition74ConnectionState85ConnectionInfo87 +11 moreintegration (1)#
Cross-domain event handlers for Bellona build/export system
The cross-domain event-subscription layer for Bellona's build/export system
(libs/bellona/event-handlers/src). It registers handlers for
hathor-world-published, isis-asset-generated, yemaya-build-requested and
yemaya-export-requested against @oshun/event-bus, with a
BELLONA_SUBSCRIPTIONS pattern map, a metrics module (withMetrics,
HandlerStatsTracker over @oshun/metrics), a world-data parser, and
Postgres/cache storage seams. This is how upstream domain events become Bellona
build/export jobs.
BELLONA_SUBSCRIPTIONS39BellonaSubscriptionEvent51BuildQueueInterface56ExportQueueInterface65BellonaEventHandlersConfig73BellonaEventHandlersHandle118setupBellonaEventHandlers164getHandlerRegistrations325mcp (1)#
Bellona remote-control MCP gateway server and local stdio transport scaffold
The Remote-Control MCP gateway (libs/bellona/mcp-gateway/src, 47 files). It
exposes the remote plane to local/cloud agents: a stdio MCP server,
gateway-backed tools (device.list, session.start/stop, blender.scene.info,
blender.object.create_primitive, browser.navigate/snapshot,
desktop.screenshot) and resources, optional/required MCP auth-session binding,
and a DccBridgeGateway + UeHttpCommandTransport. A large set of agent-*
modules implement the agent-safety policy surface (preflight checks, mutation
locking, dry-run cost/impact estimators, tool-selection and visual-verification
policies, autonomous stop criteria, capability memory). Policy/approval/audit
live in the gateway, not in transport code.
protocol (1)#
Canonical Bellona remote-control protocol contracts, version metadata, and schema ownership boundary
The canonical remote-control protocol package (libs/bellona/remote-protocol,
148 files, 180.C.03). It owns the typed contracts for the Phase-180 plane —
devices/ capabilities/adapters/permissions, sessions/participants/surfaces,
command envelopes (priority/timeout/risk/target), command
results/progress/errors/retry, and a large set of per-surface command modules
(blender.ts, browser.ts, audio-track.ts, color-management.ts,
audit-chain, actor-attribution, …). It also generates
JSON-Schema/OpenAPI/proto-manifest artifacts under contracts/. Gateway, host,
MCP, adapters and SDKs all import shapes from here rather than redefining them;
index.ts is a thin descriptor barrel over the per-module contracts.
BELLONA_REMOTE_PROTOCOL_PACKAGE_NAME1BELLONA_REMOTE_PROTOCOL_VERSION2BELLONA_REMOTE_PROTOCOL_SCHEMA_STATUS3BellonaRemoteProtocolDescriptor5createBellonaRemoteProtocolDescriptor13unclassified (3)#
Event publisher for the Bellona (Engine Bridge) domain
The outbound event publisher for the Bellona (Engine Bridge) domain
(libs/bellona/event-publisher/src). BellonaEventPublisher wraps
createEventBus from @oshun/event-bus, takes a typed config, and exposes
type-safe publish methods for session-started/ended, build-started/progress/
completed, and export-started/ready/asset-synced payloads, using
BellonaEventTypes from @oshun/contracts. It is the single seam through which
Bellona announces state to the rest of Oshun.
BellonaEventPublisher8getBellonaEventPublisher8createBellonaEventPublisher8resetBellonaEventPublisher8The Bellona C++ SDK (libs/bellona/sdk-cpp, project bellona-sdk-cpp). A real
CMake C++ library: a unified bellona/bellona.hpp umbrella header, a Client,
config/error/HTTP/types implementations under src/, and resource clients for
projects/assets/builds/exports/engines (both .hpp and .cpp), with example
programs (basic_example.cpp, async_example.cpp) and
test_config/test_types unit tests. It is the native-C++ client of the
Bellona platform/gateway API.
The Bellona Remote Creative Control Plane Python SDK (libs/bellona/sdk-python,
project bellona-sdk-python, package bellona-remote, 180.C.29.05). A typed
Python client over the remote gateway covering all twelve operation families
(devices/sessions/commands/stream/approvals/artifacts/audit + blender/unreal/
browser/desktop/file): client.py, transport.py, models.py,
compensating_actions.py, with py.typed and a real pytest suite
(test_client, test_http_transport, test_envelope_validity). The five
adapter families build a fully validated RemoteCommandEnvelope that fails loud
client-side before any network call, mirroring @bellona/remote-protocol.