The Problem

3D Gaussian Splatting is an emerging technique for photorealistic 3D scenes, but the ecosystem lacks accessible editing tools. Most workflows require desktop software or custom scripts, making it hard to inspect, clean up, and optimize splat data before deployment. SuperSplat addresses this by providing a browser-based editor that runs entirely client-side, with no installation or server dependency.

What This Does

SuperSplat is a web-based editor for 3D Gaussian Splats, built on the PlayCanvas engine and written in TypeScript (120 files) with SCSS styling (26 files). The src/ directory is organized around core editing operations (src/edit-ops.ts, src/edit-history.ts), file I/O (src/io/read/loader.ts, src/io/write/writer.ts), and a substantial tool suite (src/tools/) covering selection, transformation, and measurement.

The UI layer in src/ui/ includes panels for scene management, splat lists, timelines, and view controls, all driven by a custom event system (src/events.ts) rather than a full React architecture—React is detected but the app uses imperative DOM manipulation. The editor supports import/export of .ply files, camera pose management, and publishing directly from the browser.

How To Use It

Setup requires Node.js 18+ and npm. From the repo root, the documented workflow is:

git clone https://github.com/playcanvas/supersplat.git cd supersplat npm install npm run develop

Then open http://localhost:3000. The develop script (defined in package.json) builds the project and starts a local server with hot reload. No environment variables or API keys are required—everything runs client-side. The live instance is available at https://superspl.at/editor.

Real-World Use

A typical workflow: load a .ply file captured from photogrammetry or LiDAR, use the selection tools (src/tools/brush-selection.ts, src/tools/lasso-selection.ts) to remove unwanted artifacts like floating geometry or background noise, then export the cleaned splat for use in a web viewer or game engine. The src/publish.ts module handles direct publishing, and src/io/write/writer.ts manages the export pipeline.

Code Health & Issues

Med - No test files detected - The repository has zero test files across 200 files. Core logic in src/edit-ops.ts and src/data-processor/ (which handles geometry calculations) is entirely untested. This is a significant risk for a tool that manipulates 3D data. Med - Single-file UI components - Several UI modules (src/ui/about-popup.ts, src/ui/shortcuts-popup.ts) mix markup, styling, and logic in single TypeScript files. This works but makes maintenance harder as the UI grows. Low - No license file - The README shows a license badge, but no LICENSE file exists in the root directory. This creates ambiguity about usage rights. Low - Dependency hygiene - renovate.json is present for automated dependency updates, but with no tests, dependency bumps carry higher regression risk.

The Bottom Line

SuperSplat is a well-architected, feature-complete editor for a niche but growing format. The browser-based approach is genuinely useful—no install, cross-platform, and it handles the full edit-export-publish pipeline. The lack of tests is the main concern for anyone integrating it into a production workflow, and the imperative UI approach will feel unfamiliar to React developers. It's best suited for teams working with Gaussian Splats who need a reliable editing tool rather than a codebase to extend heavily.