SPZ (Niantic Labs) compressed Gaussian splat I/O.
On-disk SPZ layout (via spz::GaussianCloud / PackedGaussians):
- positions: xyz float (fixed-point when packed)
- scales: log-space xyz (exp to get linear axis lengths)
- rotations: xyzw unit quaternions (Open3D uses wxyz in memory)
- alphas: logit opacity (same as Open3D "opacity")
- colors: SH DC / f_dc (RGB)
- sh: higher-order SH, coefficient-major with RGB innermost
- antialiased: header flag for mip-splat density compensation. Write via WritePointCloudOption::gaussian_splat_antialias; on read, LogInfo reminds to set MaterialRecord::gaussian_splat_antialias for matching rendering. Not stored as a PointCloud attribute.
The packed SPZ format requires numPoints > 0 (loadSpzPacked rejects 0). Open3D in-memory Gaussian PointCloud keeps linear scales and wxyz quats.