
Michael Rubloff
Feb 20, 2026
It's been a busy week for World Labs. Fresh off the announcement of a one billion dollar fundraising round, World Labs is back already with an update to Spark, their three.js renderer for gaussian splatting, which was also named one of GitHub's 12 influential repositories from 2025.
Previous versions of Spark were constrained by GPU memory limits, browser buffer allocation ceilings, and the inability to efficiently stream multi gigabyte splat files. Spark 2.0 directly addresses these challenges with a new Level of Detail (LoD) system, a streamable file format, and memory paging mechanisms that enable massive splat worlds to render smoothly across devices, including mobile hardware.
This capability begins with the LoD Splat Tree, a hierarchical structure that converts any splat file into a coarse to fine representation. Instead of rendering every splat in a scene, Spark dynamically selects a fixed, tunable number of splats each frame based on viewpoint and distance. By capping the active splat count, typically between 500,000 and 2.5 million depending on device type, Spark maintains stable frame rates regardless of total scene size.
Spark 2.0 also supports composite LoD worlds, allowing multiple splat objects to be traversed and optimized together. Developers can assemble large environments from independent splat components while Spark computes a globally optimal subset of splats to render in real time.
To enable streaming, Spark introduces a new .RAD (RADiance field)(wow!!) file format. The format stores precomputed LoD trees and supports HTTP Range requests, allowing splats to load progressively. Scenes can appear instantly in coarse form and refine as bandwidth allows, avoiding the need to fully download multi gigabyte files before rendering begins.
Memory management has also been reworked. Spark 2.0 implements a shared LRU-based “splat pager” that pre-allocates a fixed GPU memory pool and dynamically fetches and evicts splat chunks based on viewpoint relevance. This paging system enables scenes containing hundreds of millions, or even billions, of splats to render on devices with limited GPU memory.
On the encoding side, Spark introduces ExtSplats, a higher precision 32-byte splat format with float32 center coordinates. This addresses quantization artifacts that could occur in large coordinate systems under the previous 16-byte encoding.
Additional updates include support for multiple independent renderers and viewpoints, customizable shader code, on demand LoD generation, a command line LoD builder, XR integration through the new SparkXr wrapper, and experimental support for covariance based splats and linear blend skinning for animated splat characters.
Spark 2.0 is currently available as a developer preview. While the underlying architecture has evolved significantly, the release remains largely backward compatible with Spark 0.1, with a migration guide provided for developers.
Learn more and try it out for yourself today!
- TRENDINGLoading...
- TRENDINGLoading...
- TRENDINGLoading...






