Module parquet_mesh_tables

Module parquet_mesh_tables 

Source
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_offset seed the mesh-table vertex_start / index_start columns 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.