World Labs' Spark 2.4.0 Reads SPZ v4 Files and Lets Developers Supply Their Own Paged LoD Fetcher

Spark 2.4.0 adds SPZ v4 read support to World Labs' three.js Gaussian splatting renderer and lets developers supply custom chunk fetchers for paged LoD.

Spark 2.4.0 adds SPZ v4 read support to World Labs' three.js Gaussian splatting renderer and lets developers supply custom chunk fetchers for paged LoD.

Michael Rubloff

Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

World Labs Spark

World Labs has released Spark 2.4.0, which lets its three.js gaussian splatting renderer read SPZ version 4 files.

Niantic Spatial released SPZ 4 in May, replacing the single GZip stream of earlier versions with a plaintext NGSP header and separate ZSTD streams per attribute class. Spark's Rust SPZ decoder handled only versions 1 through 3 until now. Contributor mrxz built the v4 read path from an earlier pull request by udwinj, who is credited as co-author. Decompression uses the ruzstd crate, which builds for WASM with Spark's existing Rust toolchain, and starts once every compressed stream has been buffered. Write support is left to a future pull request.

Spark 2.4.0 rejects SPZ files carrying spherical harmonics above degree 3, which v4 permits, and skips v4 extension data with a warning that the unpacked splats may be incorrect.

Spark v2.3.0 fixed on-demand rendering for paged LoD three weeks ago, but PagedSplats still fetched its own data from a rootUrl or in-memory fileBytes. Spark 2.4.0 moves that logic behind a PagedSplatsFetcher interface with three methods, fetchRange, fetchChunkFile and fetchChunkById. A new fetchSource option accepts a custom implementation, such as one that decrypts chunks as they arrive, and then requires an explicit fileType. The rootUrl and fileBytes options work unchanged.

RAD deflate compression moves from miniz_oxide to the flate2 crate with the zlib-rs backend, and SPZ gzip follows, removing miniz_oxide as a dependency. In the pull request author's basic tests, compression time fell about 50%, output shrank 2 to 5%, and decoding ran about 20% faster.

Spark 2.4.0 also stops sorting a stale splat mapping again when a new LoD mapping arrives mid sort. On a rotating 10M splat scene with lodSplatCount at 2.5M, a trace in the pull request puts the median time from LoD result to first drawn frame at 105 ms, down from 151 ms.

In WebXR, the LoD pixel limit now derives from the camera projection matrix, and splat size and antialiasing blur, previously drawn at half width because they were sized to the whole two eye render target, are now sized to each eye's own viewport. Other fixes restore dropped degree 3 spherical harmonics, stop unwanted coefficient clamping, correct long thin splats drawn off axis, replace workers that crash, and stop retrying a failed LoD tree on every update.

Spark 2.4.0 is available now on npm under the MIT license.

Featured

Recents

Platforms

Gaussian Splat Patch Merges Splat Objects and Bakes Edits Permanently in Blender

Gaussian Splat Patch v0.1.15 adds Merge Splat Objects and Bake Edits to Blender, combining several splat models into one PLY and making erasures permanent.

Michael Rubloff

Oct 20, 2026

Platforms

Gaussian Splat Patch Merges Splat Objects and Bakes Edits Permanently in Blender

Gaussian Splat Patch v0.1.15 adds Merge Splat Objects and Bake Edits to Blender, combining several splat models into one PLY and making erasures permanent.

Michael Rubloff

Platforms

The Pixel Lab Ships More Than 100 Pirate Gaussian Splat Assets in Davy Jones's Locker

The Pixel Lab's Davy Jones's Locker pack ships more than 100 pirate-themed Gaussian splat .ply assets for $69, plus an Octane and C4D caustics scene.

Michael Rubloff

Oct 20, 2026

Platforms

The Pixel Lab Ships More Than 100 Pirate Gaussian Splat Assets in Davy Jones's Locker

The Pixel Lab's Davy Jones's Locker pack ships more than 100 pirate-themed Gaussian splat .ply assets for $69, plus an Octane and C4D caustics scene.

Michael Rubloff

Platforms

FreeGaussian Trains Gaussian Splats From Raw Insta360 .insv Files and Ships Sim-Ready Meshes for Robot Simulators

FreeGaussian now trains Gaussian splats from raw Insta360 .insv fisheye files, using IMU data for level, metric-scale scenes and shipping sim-ready meshes.

Michael Rubloff

Oct 20, 2026

Platforms

FreeGaussian Trains Gaussian Splats From Raw Insta360 .insv Files and Ships Sim-Ready Meshes for Robot Simulators

FreeGaussian now trains Gaussian splats from raw Insta360 .insv fisheye files, using IMU data for level, metric-scale scenes and shipping sim-ready meshes.

Michael Rubloff

Platforms

colmap-wasm Runs COLMAP's SIFT and the GLOMAP Mapper in the Browser to Produce Camera Poses for Splat Training

colmap-wasm 0.1.0 runs COLMAP 4.2.1 SIFT, WebGPU matching and the GLOMAP global mapper in the browser, returning camera poses for Gaussian splat training.

Michael Rubloff

Oct 20, 2026

Platforms

colmap-wasm Runs COLMAP's SIFT and the GLOMAP Mapper in the Browser to Produce Camera Poses for Splat Training

colmap-wasm 0.1.0 runs COLMAP 4.2.1 SIFT, WebGPU matching and the GLOMAP global mapper in the browser, returning camera poses for Gaussian splat training.

Michael Rubloff

Trending Articles
  1. TRENDING
    Loading...
  2. TRENDING
    Loading...
  3. TRENDING
    Loading...
Michael Rubloff

Written by Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

More from Michael Rubloff

More from Michael Rubloff

Platforms

World Labs' Spark 2.4.0 Reads SPZ v4 Files and Lets Developers Supply Their Own Paged LoD Fetcher

Spark 2.4.0 adds SPZ v4 read support to World Labs' three.js Gaussian splatting renderer and lets developers supply custom chunk fetchers for paged LoD.

Michael Rubloff

Oct 20, 2026

World Labs Spark

Platforms

World Labs' Spark 2.4.0 Reads SPZ v4 Files and Lets Developers Supply Their Own Paged LoD Fetcher

Michael Rubloff

Oct 20, 2026

World Labs Spark

Platforms

World Labs' Spark 2.4.0 Reads SPZ v4 Files and Lets Developers Supply Their Own Paged LoD Fetcher

Spark 2.4.0 adds SPZ v4 read support to World Labs' three.js Gaussian splatting renderer and lets developers supply custom chunk fetchers for paged LoD.

Michael Rubloff

Oct 20, 2026

World Labs Spark

Platforms

Gaussian Splat Patch Merges Splat Objects and Bakes Edits Permanently in Blender

Gaussian Splat Patch v0.1.15 adds Merge Splat Objects and Bake Edits to Blender, combining several splat models into one PLY and making erasures permanent.

Michael Rubloff

Oct 20, 2026

SplatPatch

Platforms

Gaussian Splat Patch Merges Splat Objects and Bakes Edits Permanently in Blender

Michael Rubloff

Oct 20, 2026

SplatPatch

Platforms

Gaussian Splat Patch Merges Splat Objects and Bakes Edits Permanently in Blender

Gaussian Splat Patch v0.1.15 adds Merge Splat Objects and Bake Edits to Blender, combining several splat models into one PLY and making erasures permanent.

Michael Rubloff

Oct 20, 2026

SplatPatch

Platforms

The Pixel Lab Ships More Than 100 Pirate Gaussian Splat Assets in Davy Jones's Locker

The Pixel Lab's Davy Jones's Locker pack ships more than 100 pirate-themed Gaussian splat .ply assets for $69, plus an Octane and C4D caustics scene.

Michael Rubloff

Oct 20, 2026

Pixel Lab Splats

Platforms

The Pixel Lab Ships More Than 100 Pirate Gaussian Splat Assets in Davy Jones's Locker

Michael Rubloff

Oct 20, 2026

Pixel Lab Splats

Platforms

The Pixel Lab Ships More Than 100 Pirate Gaussian Splat Assets in Davy Jones's Locker

The Pixel Lab's Davy Jones's Locker pack ships more than 100 pirate-themed Gaussian splat .ply assets for $69, plus an Octane and C4D caustics scene.

Michael Rubloff

Oct 20, 2026

Pixel Lab Splats

New to Gaussian Splatting? Start here

Radiance fields, explained from the ground up: what a Gaussian splat is, how to capture one, and which tools and gear to start with.

Newsletter

Keep up with the field.

New research, tools and captures from the Radiance Fields newsroom, in your inbox. Free, no spam.