pub(super) fn encode_batch(
meshes: &[MeshData],
layout: ParquetLayout,
baked_basis: Option<&[f64; 16]>,
planner: Option<&mut StreamShapePlanner>,
cache_writer: &Mutex<Option<StreamingParquetCacheWriter>>,
) -> Result<(Bytes, Option<(u32, u32)>), ParquetError>Expand description
Append meshes to the cache fill and encode the client’s blob.
Cross-batch (planner is Some): ONE plan feeds both the client blob and
the cache row group, so the two cannot disagree on a range. Batch-local:
the cache writer plans whole-stream offsets and the client blob stays
batch-local, as before. A cache-writer error drops the cache fill (the slot
goes None) and never the client’s batch.