SuperSplat: The Browser Editor That Makes 3D Gaussian Splats Feel Editable

How PlayCanvas built a web-native 3DGS tool that handles selection, cleanup, sorting, and export by treating splat state as GPU data, not expensive mesh edits.

11 min read • View on GitHub • More from playcanvas

A browser window acts like a sculptor’s workbench while millions of tiny points form a 3D object inside it. A hand selects a cluster, another panel suggests a data grid, and a thin pipeline routes state into the scene, showing that serious 3D editing can happen in the browser.
SuperSplat treats the browser like a production tool, not a viewer. The core idea is that interaction, state, and rendering stay close enough together that editing millions of splats still feels immediate.

Today, we are thrilled to announce the launch of SuperSplat Studio — a brand new application for authoring interactive Gaussian splat-based experiences. Built on the SuperSplat platform, Studio takes your published splats to the next level, letting you craft rich, engaging presentations that tell a story.

Will, Author/Maintainer (PlayCanvas) · PlayCanvas blog announcement
Key Takeaways

A 3D editor that lives in the browser

SuperSplat is easy to misunderstand if you call it a viewer. It is really a post-processing editor for 3D Gaussian splats, built to clean artifacts, crop scenes, reduce file size, and prepare assets for web delivery. The surprise is not that it runs in a browser. The surprise is that it behaves like a serious production tool anyway.

That matters because 3D Gaussian splatting is usually discussed as a rendering breakthrough or a research artifact. SuperSplat shifts the category. It shows that once the data model is tuned for the GPU, the browser can host real editing workflows instead of just passive inspection.

The problem: splats are simple to render, hard to edit

A splat scene can contain millions of tiny primitives. Rendering them is one problem. Selecting, hiding, deleting, transforming, and reordering them is a different problem entirely, because those operations can become expensive if the app treats every interaction like geometry surgery.

ProjectPrimary jobBrowser-based?Editing?Authoring / presentation?Best for
SuperSplatPost-process and edit splatsYesYesYesCleaning, cropping, export, guided experiences
Original Gaussian splatting codeTrain splats from imagesNoNoNoResearch workflows and model generation
NerfstudioNeRF and splat trainingMostly noLimitedSome viewer toolingTraining pipelines and experiment management
antimatter15/splatView splatsYesNoNoLightweight inspection and demos

That distinction is the whole story. SuperSplat is not trying to be the source of truth for reconstruction. It is the layer between raw splat output and something a team can actually clean up, review, and ship.

The trick: state is stored like GPU data, not rebuilt geometry

SuperSplat’s core architecture is an event chain, not a pile of direct mutations. User intent flows through edit history, lands in splat state, and becomes visible only when the shader reads the updated texture.

The most interesting file in the repo is the one that makes state feel cheap. Instead of constantly rebuilding heavy structures, SuperSplat pushes splat state into GPU-readable textures and lets the shader interpret those bits in real time. Selection, deletion, locking, and highlighting become data changes, not expensive mesh rewrites.

That is why the editor feels responsive even when the scene is huge. The app does not need to pretend the splats are ordinary meshes. It accepts that they are a different kind of asset and builds the editing model around that fact.

A close-up mechanical cross-section shows a lasso selecting a small splat cluster, then those splats being written into a texture-like state grid, and finally a shader reading the grid to change their appearance. The image explains how a user action becomes a GPU-visible state change without brute-force geometry edits.
This is the architectural hinge. The editor routes intent through state, then state through the GPU, so the on-screen result updates without a full rebuild of the splat scene.

That model also keeps undo and redo tractable. The editor can treat interactions as discrete operations instead of a tangle of direct mutations, which is exactly what you want once the scene graph is large and the user starts chaining edits.

Will Eastcott as a hedcut-style portrait derived from a verified GitHub avatar, rendered in black ink on white. This portrait identifies the maintainer behind the project and anchors the editorial quote to a real source photo.

Why the editor feels instant

SuperSplat’s responsiveness comes from the separation between events, state, and rendering. UI actions fire events. Events are recorded into edit history. The state changes are then pushed to the GPU so the visual result follows immediately.

That pattern matters more than it sounds. When an app is built this way, the user is not editing pixels or meshes directly. They are editing a model of intent, and the renderer is just the last consumer in the chain.

Rendering is specialized because splats are not meshes

Gaussian splats behave differently from polygon meshes, especially when transparency and depth sorting enter the picture. SuperSplat leans into that difference with custom rendering paths, custom sorting, and a PlayCanvas setup trimmed down to the parts that matter for splats.

The result is a narrow but powerful runtime. It is not a generic 3D engine pretending to understand splats. It is a splat-focused application that uses the engine as a foundation and then narrows the stack around one job.

Why SuperSplat is different from viewers and training tools

The cleanest way to place SuperSplat in the field is by category. Research repos train splats. Viewers display them. SuperSplat edits them and prepares them for use, which is a different job from both.

ProjectCategoryStrengthLimitationWhy SuperSplat is different
graphdeco-inria/gaussian-splattingTraining researchCreates the splatsNot built as an editorSuperSplat starts after training output exists
NerfstudioTraining frameworkFlexible research workflowFocuses on model generationSuperSplat is for cleanup and delivery
Luma AICommercial platformCapture and hostingClosed ecosystemSuperSplat is open and browser-native
antimatter15/splatViewerSimple playbackNo serious editingSuperSplat supports post-processing and export

That distinction is why the project feels bigger than its feature list. It is showing that the browser can host a production-grade authoring layer for a data format that used to look too dense for interactive editing.

What PlayCanvas is really building

SuperSplat is not just a tool, it is a proof of category. If a browser app can manage selection, sorting, cleanup, and export for millions of splats, then web-native 3D authoring is no longer a compromise story.

The broader implication is obvious. Once the editor, the renderer, and the interaction model are designed together, the browser can do serious creative work without pretending to be a desktop clone. SuperSplat is one of the clearest examples of that idea in open source.