Expand description
Invariant systems of the Data layer (Substrate Pass).
Each module here defines one crate::ecs::DataSystemRegistration that
gets dispatched by the engine in its declared crate::ecs::TickPhase.
The dispatcher in khora-control discovers them automatically through
inventory; nothing else needs to know about a new system except its
own file.
Re-exports§
pub use transform_propagation::transform_propagation_system;
Modules§
- asset_
eviction - GPU asset eviction — reclaims orphaned GPU meshes/materials each frame.
- audio_
playback_ writeback - Drains the
AudioPlaybackWritebackslot theSpatialMixingLanewrote into during the CLAD descent and applies the per-source playback-state updates back toAudioSourcecomponents. - capture_
previous_ transform - Snapshots each simulated body’s world-space transform into the engine’s
[
TransformInterpolation] store so the render path can interpolate between the prior and currentGlobalTransformfor smooth motion at any frame rate. - ecs_
maintenance - ECS maintenance — drains the queued cleanup / vacuum work each frame.
- gpu_
material_ sync - CPU → GPU material sync — uploads each entity’s material (uniforms +
PBR textures + group-2 bind group) to the device cache and tags the
entity with
HandleComponent<GpuMaterial>. - gpu_
mesh_ sync - CPU → GPU mesh sync — uploads any newly-spawned
HandleComponent<Mesh>to the device cache and tags the entity withHandleComponent<GpuMesh>. - ibl_
bake - One-time IBL environment bake, wired as a data-driven system.
- physics_
debug_ extraction - Physics debug-render extraction — opt-in DataSystem.
- physics_
world_ writeback - Pulls per-body transforms, kinematic results, and collision events from the physics provider back into the ECS World.
- transform_
propagation - Transform propagation —
Transform→GlobalTransformfor the scene hierarchy. Runs inTickPhase::PostSimulation, afterapp.updatehas mutated localTransforms and before extraction readsGlobalTransform.