Expand description
The flat transport’s three Arrow tables, packed from a SHAPE PLAN
(parquet_shape_plan.rs) that decides which mesh row draws which block of
vertex/index rows.
Split out of parquet.rs, which keeps the wire framing and the writers.
The seam is the plan: above it decides what to emit, below it packs
columns. The default layout is the case where that decision is the identity
(row i owns block i); shared-shapes (#3888) adds the case where
several rows share one block and a per-row rotation places each of them,
and the cross-batch stream (#5407) the case where that block was written by
an earlier batch.
Functions§
- build_
mesh_ 🔒tables - Build the three Arrow tables (mesh metadata / vertices / indices) for a
slice of meshes under
plan.base_vertex_offset/base_index_offsetseed the mesh-tablevertex_start/index_startcolumns so an incremental caller (the streaming cache writer) emits GLOBAL whole-model offsets while the per-batch client blobs keep batch-local ones (bases 0/0). The Z-up to Y-up transform lives here, in one place, for both paths.