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:
| Container | What lives here | Examples |
|---|---|---|
Services | Concrete stateful objects with rich business APIs | AssetService, SerializationService, TelemetryService, DccService |
Backends | Concrete impls of abstract traits defined in khora-core | dyn RenderSystem, dyn PhysicsProvider, dyn AudioDevice, dyn LayoutSystem |
Resources | Long-lived shared state without a service-style API | InputMap, 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).