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

A soft, hazy Gaussian splat render of San Francisco seen from Telegraph Hill, with Coit Tower rising in the centre of the frame and the downtown skyline behind it

The framework under deck.gl just shipped a Gaussian splat renderer

3 hours ago

Two rows of underwater reef photographs, each showing a raw teal-cast frame, a SeaSplat restoration and NemoSplat's restoration, in which the water's colour cast lifts and pink and orange coral becomes visible

Where the light fails, optical flow still beats the foundation models

6 hours ago

A grid comparing a reconstructed electric fan at t = -0.5, 0, 0.5, 1.0 and 3.0. The upper row, from conventional dynamic splatting, is marked unavailable at negative time and shows a smeared, collapsing fan at t = 3.0. The lower row, from LagrangeGS, renders the fan cleanly at every timestep with orange arcs marking particle velocity, and adds a physics-editing column

These dynamic splats run backwards, and the round trip loses 1.3%

10 hours ago

Three grayscale novel views of the International Space Station's Kibō module — a stowage corridor, an airlock hatch and a crew workstation — above their corresponding rainbow-coloured depth maps

A free-flyer rebuilt the ISS interior from photos it took five years ago

Yesterday

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