pub struct ChunkResult {
pub sum: Vec<Vec3>,
pub done: u32,
pub rate: Option<f64>,
pub error: Option<String>,
}Expand description
What one WorkerLane::render_chunk call produced.
done is always a PREFIX of the assigned range: sum holds exactly the samples
[first_sample, first_sample + done), never a gap and never anything past it. This
is the worker protocol’s own guarantee (a stream’s delivered FRAMEs cover the
request from its start), so a lane over a real connection gets it for free.
Fields§
§sum: Vec<Vec3>Per-pixel summed CIE XYZ radiance of the done traced samples, width * height long. May be empty when done == 0.
done: u32How many samples of the assigned range were traced: the valid prefix.
rate: Option<f64>The lane’s own steady-state throughput measurement for this chunk, in
samples per second, excluding one-time costs such as connection setup and scene
upload (for a remote lane: the marginal rate between the first and last
progress report). None lets the pool fall back to done / wall time.
error: Option<String>Why the chunk ended short, when it did. None together with done short of
the range is reported as “ended early”.