pub struct ChunkStage {
pub desc_bytes: Vec<u8>,
pub realize_count: u32,
pub instance_bytes: Vec<u8>,
pub instance_count: u32,
pub surface_enabled: f32,
pub surface_height_scale: f32,
pub surface_patches: Vec<(u32, Vec<u8>, Vec<f32>, Vec<u8>)>,
pub scatter_aux_bytes: Vec<u8>,
pub scatter_vis_bytes: Vec<u8>,
pub scatter_vis_count: u32,
pub scatter_layer_params: Vec<Vec<u8>>,
}Expand description
One chunk batch’s CPU-staged data, handed from the main thread to the render
thread. desc_bytes is pack_chunks output; instance_bytes is
pack_instances output.
Fields§
§desc_bytes: Vec<u8>§realize_count: u32§instance_bytes: Vec<u8>§instance_count: u32§surface_enabled: f32Global CPU-surface toggle (1.0 once the provider’s base is ready, else 0.0).
surface_height_scale: f32Per-metre displaced-radius factor for CPU-surface heights.
surface_patches: Vec<(u32, Vec<u8>, Vec<f32>, Vec<u8>)>Per realized chunk: (slot, rgba8 color [tile_res²·4], elevation metres [tile_res²], rgba8-packed world normal [tile_res²·4]).
scatter_aux_bytes: Vec<u8>CEL-73 scatter: per-realize-chunk {path_lo, path_hi, face, pad} aux
(pack_scatter_aux), parallel to desc_bytes. Empty when no layers.
scatter_vis_bytes: Vec<u8>CEL-73 scatter: per-visible-instance {slot, depth} list
(pack_scatter_vis) the compact pass gathers from.
scatter_vis_count: u32§scatter_layer_params: Vec<Vec<u8>>CEL-73 scatter: one packed ScatterParamsGpu snapshot per layer —
re-read every stage so density/height edits flow through as pure
uniform updates.