Skip to main content

Module runtime

Module runtime 

Source
Expand description

Runtime containers — engine-wide injection points for services, backends, and resources.

Replaces the legacy ServiceRegistry fourre-tout with three distinct containers, each with a clear admission criterion:

ContainerWhat lives hereExamples
ServicesConcrete stateful objects with rich business APIsAssetService, SerializationService, TelemetryService, DccService
BackendsConcrete impls of abstract traits defined in khora-coredyn RenderSystem, dyn PhysicsProvider, dyn AudioDevice, dyn LayoutSystem
ResourcesLong-lived shared state without a service-style APIInputMap, EditorViewportOverride, GpuCache, UiAtlasMap

Per-frame state (current viewport, frame deltas, lane outputs) does NOT belong in any of these containers — it flows through LaneContext, LaneBus, and OutputDeck.

Game devs and plugins are free to register their own entries in any of the three containers, applying the same admission criteria.

Structs§

Backends
Container of engine backends — concrete impls of abstract traits.
Resources
Container of engine resources — long-lived shared state that is principally data (with at most trivial accessors), not a service.
Runtime
Bundle of the three runtime containers.
Services
Container of engine services — concrete stateful objects with rich APIs (asset loading, serialization, telemetry, DCC orchestration).