fn serialize_to_parquet_optimized(
meshes: &[MeshData],
include_normals: bool,
baked_basis: Option<&Matrix4<f64>>,
) -> Result<(Bytes, usize, usize), ParquetError>Expand description
Serialize mesh data to optimized Parquet format (ara3d BOS-compatible):
instances table (entity → mesh/material index, origin, rotation), meshes
table (unique geometries), materials table, vertices table (quantized
integers), indices table. Dedup covers both bit-identical placements
(content hash) and, as of issue #3575, one shape at DIFFERENT rotations
(IfcMappedItem / shared IfcRepresentationMap reuse — furniture, pipe
runs, repeated structural members).
Not pub: serialize_to_parquet_optimized_with_stats below is the only
caller, wrapping this to report the unique mesh/material counts THIS same
dedup pass produces. A separate content-hash-only stats pass used to live
here and would have kept mesh_reuse_ratio pinned at ~1.0 even after this
fix started deduplicating rotated instances — exactly the blind spot
#3575 closes.