Skip to main content

Module interpolation

Module interpolation 

Source
Expand description

Render-interpolation bookkeeping — the per-entity “previous pose” store.

The fixed-timestep simulation advances in whole steps while rendering happens once per (variable-rate) frame. To stay smooth between steps, the render path blends each simulated entity’s transform as it was before the latest step with its current [GlobalTransform] by the Time::interpolation_alpha.

Those “previous” poses live HERE, not in the ECS, on purpose: interpolation is a render-only representation (“adapt the HOW, never the WHAT”). Keeping it out of the component space means it never shows up in the editor inspector and is never written into scene files — it carries no game meaning. The store lives in Runtime::resources behind an Arc<RwLock<…>>, mirroring the CollisionPairs broadphase scratch: engine-owned per-entity data, keyed by EntityId, that no gameplay code authors.

Structs§

TransformInterpolation
Per-entity snapshots of the world-space transform before the latest simulation step, consumed by the render path for motion interpolation.

Type Aliases§

SharedTransformInterpolation
Shared, interior-mutable handle to the TransformInterpolation store as it lives in Runtime::resources: the data layer’s capture pass takes the write lock once per frame; the render projection takes a read lock while it projects.