pub struct RenderSnapshot {
pub frame: FrameScalars,
pub ui: UiIntents,
pub ops: RenderOps,
pub models: Vec<(u32, [[f32; 4]; 4])>,
pub skinned_models: Vec<(u32, [[f32; 4]; 4])>,
pub poses: SpanBuffer<[[f32; 4]; 4]>,
pub morphs: SpanBuffer<f32>,
pub text_calls: Vec<TextDrawCall>,
pub lines: Vec<LineVertex>,
pub scene_ops: Vec<SceneOp>,
}Expand description
Everything one frame’s draw consumes, extracted from world state.
Fields§
§frame: FrameScalarsCamera and frame-wide scalars.
ui: UiIntentsWindow-interaction intents.
ops: RenderOpsBackend effects recorded by the simulation systems this tick (spawn slot ops, settings appliers, streaming uploads), replayed in record order before the frame’s draw.
models: Vec<(u32, [[f32; 4]; 4])>Changed static draw-slot model matrices, in push order (a slot pushed twice keeps both entries; the last write wins on the backend).
skinned_models: Vec<(u32, [[f32; 4]; 4])>Changed skinned-instance model matrices, in push order.
poses: SpanBuffer<[[f32; 4]; 4]>Updated skinned joint matrices, keyed by skinned instance index.
morphs: SpanBuffer<f32>Updated morph-target weights, keyed by skinned instance index.
text_calls: Vec<TextDrawCall>The frame’s overlay draw list (UI text + sprites), adopted whole from
the overlay build. clear leaves it untouched: extraction replaces the
list wholesale and hands the spent one back to the overlay build, so
its buffers recycle instead of dropping here.
lines: Vec<LineVertex>Expanded world-space line ribbons for this frame’s camera.
scene_ops: Vec<SceneOp>Scene fade / visibility effects recorded this frame.