SplatsThe evolution of media, in brief
RSS

Arrival.Space gave away the browser version of what it sells

The Tanks and Temples Truck scene — a pale blue vintage flatbed pickup parked on a pavement — rendered sharply inside the Splat.js browser interface, with a readout showing 579,748 splats and a Train button in the toolbar

Image: Arrival.Space · Industry

Tessa Marchetti

Tessa Marchetti

Aug 26, 2026, 4:05 PM ET-Industry

Arrival.Space sells hosted reconstruction: you upload video, their servers turn it into a splat, you get it back. A week ago the company published Splat.js under an MIT licence — a library that does the whole job in a browser tab, on the viewer's own GPU, without the photographs ever leaving the device. As of this afternoon it scores better on the standard benchmark than the 2024 papers it was presumably meant to be a toy beside.

Why it matters: The division of labour in splatting has been stable for two years: capture on a phone, solve and train on a server or a workstation with CUDA, view in a browser. The browser was the last mile, and everything upstream of it was somebody's compute bill.

Splat.js collapses that. Scale-space SIFT runs in a worker pool, brute-force matching runs on the GPU, and incremental registration with sparse Schur bundle adjustment recovers a shared focal length and radial distortion — all in JavaScript. The trainer is WebGPU throughout. The output is an ordinary INRIA-layout .ply that opens in any viewer.

The strategic oddity is who shipped it. This is a platform company publishing, for free, a client-side version of the service it charges for — and doing it well enough that the free version is now the one with the benchmark numbers.

By the numbers:

  • On the full 251-image Truck scene at native 979 px, holding out every eighth photograph: Splat.js scores 26.37 dB after 250,000 cycles and roughly an hour in one tab. 3DGS-MCMC scores 26.11, Scaffold-GS 25.77, Mip-Splatting 25.74, and the original 3DGS 25.18.
  • The only method above it in the project's own table is Student Splatting and Scooping, at 26.41 dB — a margin of 0.04 dB.
  • A ten-minute browser run at 40,000 cycles and 1.4 million Gaussians still scores 25.49 dB, which is already past the 2023 paper.
  • Camera poses on Truck are pixel-identical to COLMAP's: 0.00% absolute trajectory error over the path, with a maximum deviation of 0.006%.
  • On Playroom, 225 DSLR photographs of a room with blank painted walls, Splat.js registers 207. The project reports that stock COLMAP 3.11 manages 154 to 157 at the same resolution — and where both place a camera, they agree to within 0.03% of the path length.
  • Seven days old, 92 stars, 15 forks, and two outside pull requests already merged — one of them a security fix to model import.

Yes, but: The benchmark table is unusually honest about its own construction, which is the main reason to trust it. Training times exclude the in-browser camera solve, which adds about four minutes. The LichtFeld Studio row is flagged as a measurement the authors took themselves on the same desktop rather than a published figure. The published methods it is compared against train on native CUDA. And benchmark mode has to pin the native resolution, because the app otherwise trades resolution for memory on large sets and a PSNR at reduced resolution would not be comparable.

Only three rows of the pose table — synthetic, Truck and Camping — are asserted by the test suite on every change. Playroom and Bicycle, including that striking COLMAP comparison, sit outside the gates. The project says so in the README rather than leaving it to be discovered.

It also needs WebGPU, and an hour of sustained GPU work in a tab is not a phone-friendly proposition — phones were defaulted down to the Draft budget in a commit this afternoon. Video input exists in the library as extractSharpFrames and is deliberately switched off in the app until frame selection is good enough.

The numbers are also still moving, which is worth knowing if you go and read the table. It was re-measured on current main this afternoon, and a benchmark run logged a couple of hours ago found that pushing the same scene to 4,000,000 splats scored 26.29 dB — below the 2,000,000 row. More capacity, slightly worse result.

The big picture: This is the third story in two days about software routing around the COLMAP solve, after a cluster of Blender add-ons doing the same thing by other means. The difference here is that Splat.js does not avoid structure-from-motion; it reimplements it in JavaScript and then reports beating the reference implementation on the scene where the reference implementation struggles.

For anyone selling hosted reconstruction, the useful question is what remains defensible once a competent client-side pipeline is free and MIT-licensed. Scale, probably — the 360-panorama demo takes two and a half hours in a tab, and nobody is processing a survey that way. Collaboration, asset management, and the parts of the product that were never really about the GPU.

The privacy argument arrives free with the architecture. Photographs that never leave the device cannot be retained by a processing vendor, which is a sentence that matters more in some industries than others.

Go deeper:

  • Splat.js on GitHub
  • Try it in the browser
  • Radiance Fields' write-up
⟵ Back to the brief

More stories

The SuperSplat 3.3.0 editor with a Gaussian splat capture of a street cafe loaded — furled yellow umbrellas over metal tables, parked cars and a tree-lined street behind. The scene manager and transform panels sit at the left, the tool strip along the bottom, and the status bar reads two million splats

SuperSplat rewrote itself on WebGPU and deleted the fallback

Today

Two rows of photoacoustic reconstructions of a branching vascular phantom, shown for SlingBAG, for PAGS, and as the ground-truth digital phantom. The SlingBAG panels carry a mottled noise floor around the vessels; the PAGS panels are cleaner, with the vessel network closer to the crisp white tracery of the phantom

Splatting, but the light is sound and the camera is a transducer

Sep 1, 2026

A schematic of a scene divided into a wireframe grid of cells against black. One cell is outlined in yellow and holds a sharp green cylinder; a blurred blue slab sits behind it and a red slab in front, standing in for the frozen regions flattened into single background and foreground images

Their trick makes VRAM independent of scene size. The test scenes were too small to show it.

Aug 31, 2026

A fairground drop-tower ride rendered twice: on the left from a degraded reconstruction, where the tower and foliage dissolve into white streaks and smears, and on the right after refinement, sharp and photographic against a clear sky

Give it scattered keypoints and it matches a full splat reconstruction

Aug 29, 2026

splats

Short daily briefs on the evolution of media — gaussian splats, volumetric video, dome theaters, headsets, and the research underneath.

Newsroom

  • Latest
  • All stories
  • RSS feed
© 2026 Splats · Terms · Privacy