serialize_to_parquet_optimized

Function serialize_to_parquet_optimized 

Source
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.