Spark v2.3.0 Fixes On-Demand Rendering for Paged LoD

Spark v2.3.0 fixes on-demand rendering for paged LoD Gaussian splats, adds credentialed and custom-header loading, and lets writeSpz export ExtSplats to SPZ.

Spark v2.3.0 fixes on-demand rendering for paged LoD Gaussian splats, adds credentialed and custom-header loading, and lets writeSpz export ExtSplats to SPZ.

Michael Rubloff

Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

Spark.js

World Labs has released Spark v2.3.0, which lets paged LoD scenes finish streaming in applications that only render on demand.

Spark is World Labs' MIT licensed gaussian splatting renderer for three.js. Paged LoD arrived with Spark 2.0 in April, fetching .RAD chunks in background workers as the camera moves. In on-demand mode, where Spark draws a frame only when something requests one, decoded chunks did not trigger a redraw on their own, so a scene stalled partway until the viewer moved the camera.

Spark v2.3.0 has SplatPager request a redraw from SparkRenderer when new pages decode, and follow up fixes address a race with late chunk arrival and a paged root eviction issue. The release documents on-demand rendering and adds an examples/on-demand scene that now loads to completion on its own. The same work added headless browser tests that render basic, LoD and paged LoD scenes in Chromium through SwiftShader and compare them against reference images.

SplatMesh, PackedSplats and ExtSplats now accept withCredentials and requestHeader and pass both to the fetch, paged or not, so splats can load from authenticated URLs. writeSpz, which previously took only PackedSplats, now also takes ExtSplats. SPZ v3 is restored as the default output after a regression, and non-finite rotations are written as the identity.

Two SparkRenderers drawing different viewpoints at once now each use their own encoding. SparkRenderer.dispose() releases geometry and material, fixing a GPU memory leak, and cancels scheduled sorting and updates. PagedSplats now honors its maxSh option, which the SplatPager limit had overridden, and paged ext splats allocate the SH3 texture whose absence threw a RangeError.

Tree shaking now drops SplatSkinning and its shader chunks, SplatEdit and SplatEditSdf, and SparkXr unless an application imports them. JointEnum changes from a TypeScript enum to a const object as part of that work. The release notes give no bundle size figures.

The 56 commits follow Spark v2.2.0 earlier this month, and @sparkjsdev/spark on npm now resolves to 2.3.0. AMD signed an agreement to acquire World Labs this week, with closing expected by the end of 2026. Spark v2.3.0 is available now on GitHub and npm.

Featured

Recents

Platforms

360 Gaussian Pro 1.1.0 Adds Denser Alignment and GPS EXIF

360 Gaussian Pro 1.1.0 keeps two-view points for denser COLMAP alignment and writes focal length and GPS positions into EXIF for RealityScan and Metashape.

Michael Rubloff

Sep 30, 2026

Platforms

360 Gaussian Pro 1.1.0 Adds Denser Alignment and GPS EXIF

360 Gaussian Pro 1.1.0 keeps two-view points for denser COLMAP alignment and writes focal length and GPS positions into EXIF for RealityScan and Metashape.

Michael Rubloff

Platforms

Spirula Studio v2026.9.30 Trains Large Scenes in Parts and Merges Them

Spirula Studio v2026.9.30 splits large reconstructions into parts that train separately and merge, and adds text-prompted SAM 2.1 masking and VRAM forecasting.

Michael Rubloff

Sep 30, 2026

Platforms

Spirula Studio v2026.9.30 Trains Large Scenes in Parts and Merges Them

Spirula Studio v2026.9.30 splits large reconstructions into parts that train separately and merge, and adds text-prompted SAM 2.1 masking and VRAM forecasting.

Michael Rubloff

Platforms

ColmapView v0.15 Publishes COLMAP and Gaussian Splat Projects to Hugging Face in One Click

ColmapView v0.15 adds one-click publishing of COLMAP and Gaussian splat projects to Hugging Face and loads PlayCanvas SOG splat bundles through Spark.

Michael Rubloff

Sep 30, 2026

Platforms

ColmapView v0.15 Publishes COLMAP and Gaussian Splat Projects to Hugging Face in One Click

ColmapView v0.15 adds one-click publishing of COLMAP and Gaussian splat projects to Hugging Face and loads PlayCanvas SOG splat bundles through Spark.

Michael Rubloff

Platforms

MetalSplat v0.3.0 Trains 3DGS and 2DGS on Apple Silicon

MetalSplat v0.3.0 trains 3D and 2D Gaussian splatting on Apple Silicon through PyTorch and hand-written Metal kernels, and aligns training with reference code.

Michael Rubloff

Sep 30, 2026

Platforms

MetalSplat v0.3.0 Trains 3DGS and 2DGS on Apple Silicon

MetalSplat v0.3.0 trains 3D and 2D Gaussian splatting on Apple Silicon through PyTorch and hand-written Metal kernels, and aligns training with reference code.

Michael Rubloff

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

360 Gaussian Pro 1.1.0 Adds Denser Alignment and GPS EXIF

360 Gaussian Pro 1.1.0 keeps two-view points for denser COLMAP alignment and writes focal length and GPS positions into EXIF for RealityScan and Metashape.

Michael Rubloff

Sep 30, 2026

360 Gaussian Pro

Platforms

360 Gaussian Pro 1.1.0 Adds Denser Alignment and GPS EXIF

Michael Rubloff

Sep 30, 2026

360 Gaussian Pro

Platforms

360 Gaussian Pro 1.1.0 Adds Denser Alignment and GPS EXIF

360 Gaussian Pro 1.1.0 keeps two-view points for denser COLMAP alignment and writes focal length and GPS positions into EXIF for RealityScan and Metashape.

Michael Rubloff

Sep 30, 2026

360 Gaussian Pro

Platforms

Spirula Studio v2026.9.30 Trains Large Scenes in Parts and Merges Them

Spirula Studio v2026.9.30 splits large reconstructions into parts that train separately and merge, and adds text-prompted SAM 2.1 masking and VRAM forecasting.

Michael Rubloff

Sep 30, 2026

Spirula Studio

Platforms

Spirula Studio v2026.9.30 Trains Large Scenes in Parts and Merges Them

Michael Rubloff

Sep 30, 2026

Spirula Studio

Platforms

Spirula Studio v2026.9.30 Trains Large Scenes in Parts and Merges Them

Spirula Studio v2026.9.30 splits large reconstructions into parts that train separately and merge, and adds text-prompted SAM 2.1 masking and VRAM forecasting.

Michael Rubloff

Sep 30, 2026

Spirula Studio

Platforms

Spark v2.3.0 Fixes On-Demand Rendering for Paged LoD

Spark v2.3.0 fixes on-demand rendering for paged LoD Gaussian splats, adds credentialed and custom-header loading, and lets writeSpz export ExtSplats to SPZ.

Michael Rubloff

Sep 30, 2026

Spark.js

Platforms

Spark v2.3.0 Fixes On-Demand Rendering for Paged LoD

Michael Rubloff

Sep 30, 2026

Spark.js

Platforms

Spark v2.3.0 Fixes On-Demand Rendering for Paged LoD

Spark v2.3.0 fixes on-demand rendering for paged LoD Gaussian splats, adds credentialed and custom-header loading, and lets writeSpz export ExtSplats to SPZ.

Michael Rubloff

Sep 30, 2026

Spark.js

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.