Skip to main content

Module systems

Module systems 

Source
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 AudioPlaybackWriteback slot the SpatialMixingLane wrote into during the CLAD descent and applies the per-source playback-state updates back to AudioSource components.
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 current GlobalTransform for 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 with HandleComponent<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 — TransformGlobalTransform for the scene hierarchy. Runs in TickPhase::PostSimulation, after app.update has mutated local Transforms and before extraction reads GlobalTransform.