Decode one BVC-in-glTF .glb tile into a CPU-side gaussian-splat cloud.
The complete .glb tile bytes (the BVC-compressed splat buffer).
The GltfSplatCloud: numPoints, shDegree, the 4×4 column-major
nodeMatrix, and de-interleaved attribute arrays — positions (metres, xyz per
splat, length numPoints*3), scales (xyz, *3), rotations (quaternion, *4),
alphas (numPoints), colors (rgb, *3), and sh spherical-harmonics.
Decodes a 3D-Tiles
.glbgaussian-splat tile whose splat buffer is compressed with BVC (theBITRUVIUS_gaussian_splatting_bvcglTF extension), via the vendored BVC wasm.Remarks
Implements core's codec-agnostic
GltfSplatDecoderseam, so the same@bitruvius/tiles3dstreaming engine + MapLibre layer that consume Esri/Cesiumspz_2tiles (@bitruvius/turbo-spz) also consume BVC-in-glTF tiles — only the injected decoder changes. Decode-only: BVC encode is a separate licensed capability, not shipped in the browser wasm. For heavy scenes prefer WorkerBvcGltfSplatDecoder (samedecode(glb)contract, off the main thread).Wire the BVC splat codec into the tiles3d glTF mesh/splat decoder:
Example