# supersplat | PlayCanvas | Knowledge Base | Instagit

3D Gaussian Splat Editor

GitHub Stars: 6.5k

Repository: https://github.com/playcanvas/supersplat

---

## Articles

### [How to Add New Edit Operations to the SuperSplat Editor](/playcanvas/supersplat/add-new-edit-operations-supersplat-system)

Learn to effortlessly add new edit operations to SuperSplat. Implement the EditOp interface with do and undo methods, then dispatch your operation to seamlessly integrate with the undo/redo system.

- Tags: how-to-guide
- Published: 2026-05-10

### [How Selection Highlight and Outline Rendering Work in SuperSplat](/playcanvas/supersplat/supersplat-selection-highlight-outline-rendering)

Explore how SuperSplat uses post-process outline rendering with fullscreen shaders to detect alpha discontinuities and draw selection highlights around splats.

- Tags: internals
- Published: 2026-05-10

### [How Supersplat Handles Version Compatibility Checks Between Dependencies](/playcanvas/supersplat/supersplat-dependency-version-compatibility-checks)

Discover how Supersplat ensures dependency version compatibility using npm's package management exact version pins peer dependencies and engine constraints for secure installations and builds.

- Tags: internals
- Published: 2026-05-10

### [How Supersplat Implements WebGL Render Passes in `render.ts`](/playcanvas/supersplat/supersplat-webgl-render-passes-implementation)

Learn how Supersplat implements WebGL render passes in render.ts using PlayCanvas off-screen cameras and WebCodecs API for efficient capture and encoding.

- Tags: how-to-guide
- Published: 2026-05-10

### [How the Timeline and Animation System in Supersplat Works: Event-Driven Architecture Explained](/playcanvas/supersplat/supersplat-timeline-animation-system-structure)

Explore Supersplat's event-driven timeline and animation system. Learn how its centralized Events hub synchronizes playback, keyframes, and UI across five layers for frame-accurate animation.

- Tags: internals
- Published: 2026-05-10

### [How SH (Spherical Harmonics) Colors Are Decoded and Processed in Supersplat](/playcanvas/supersplat/supersplat-sh-colors-decoding-processing)

Learn how Supersplat decodes SH colors from GPU textures, processes them with shaders, and handles CPU-side rotation for lighting contributions. Dive into the technical details.

- Tags: internals
- Published: 2026-05-10

### [How SuperSplat Implements Shader-Based Selection Operations for Real-Time Intersection Testing](/playcanvas/supersplat/shader-based-selection-intersection-testing-implementation)

Discover how SuperSplat leverages GPU shader-based selection for real-time intersection testing. Analyze millions of splats in parallel with mask, rectangle, sphere, or box selectors.

- Tags: how-to-guide
- Published: 2026-05-10

### [How Splat State Tracking Works in Supersplat: CPU, GPU, and History Layers](/playcanvas/supersplat/supersplat-splat-state-tracking-management)

Discover how Supersplat efficiently tracks splat state using CPU uint8 arrays, GPU R8 textures, and edit history for seamless undo/redo functionality in your 3D applications.

- Tags: internals
- Published: 2026-05-10

### [How to Publish and Export Data from SuperSplat: A Complete Technical Guide](/playcanvas/supersplat/supersplat-publishing-exporting-process)

Learn how to publish and export data from SuperSplat with this technical guide. Explore options for sharing PLY scenes or serializing splat data locally in various formats.

- Tags: how-to-guide
- Published: 2026-05-10

### [SuperSplat File Handling and Drag-and-Drop: How the Import Pipeline Works](/playcanvas/supersplat/supersplat-file-handling-drag-drop-functionality)

Discover how SuperSplat's unified import pipeline handles file imports and drag-and-drop. Learn about the virtual file system for Gaussian splat models.

- Tags: internals
- Published: 2026-05-10

### [How Supersplat Implements Localization and Multi-Language Support](/playcanvas/supersplat/supersplat-localization-multi-language-support)

Learn how Supersplat implements localization and multi-language support using i18next. Discover how translation bundles are loaded from static files and cached offline.

- Tags: how-to-guide
- Published: 2026-05-10

### [How to Use the SuperSplat Iframe API for External Integration](/playcanvas/supersplat/supersplat-iframe-api-external-integration)

Integrate SuperSplat into your projects with the iframe API. Communicate with the editor via postMessage to query scene state and receive typed responses.

- Tags: how-to-guide
- Published: 2026-05-10

### [How Supersplat Edit History and Undo/Redo Functionality Works](/playcanvas/supersplat/supersplat-edit-history-undo-redo-functionality)

Learn how Supersplat's Edit History and Undo/Redo works. Discover its async-aware manager that serializes mutations via Promises to prevent race conditions.

- Tags: internals
- Published: 2026-05-10

### [Supersplat Transform System Implementation: Transform and SplatsTransformHandler Explained](/playcanvas/supersplat/supersplat-transform-system-implementation)

Explore the Supersplat transform system. Learn how Transform and SplatsTransformHandler utilize a three-phase lifecycle to efficiently apply matrices to per-point splat selections.

- Tags: internals
- Published: 2026-05-10

### [How Camera Poses and Gizmos Are Handled and Rendered in Supersplat](/playcanvas/supersplat/supersplat-camera-poses-gizmos-handling)

Discover how Supersplat handles camera poses and gizmos. Learn about CameraAnimTrack, CameraPoseGizmos, and synchronized rendering via an event bus for efficient visualization.

- Tags: deep-dive
- Published: 2026-05-10

### [How the SuperSplat UI System Integrates with the PlayCanvas Engine](/playcanvas/supersplat/supersplat-ui-playcanvas-integration)

Discover how the SuperSplat UI system integrates with PlayCanvas using a custom PCApp class, events bus, and canvas element for seamless WebGL rendering and PCUI component communication.

- Tags: how-to-guide
- Published: 2026-05-10

### [How Serialization and Deserialization of .splat Files Works in Supersplat](/playcanvas/supersplat/supersplat-splat-file-serialization-deserialization)

Learn how Supersplat serializes Gaussian splat data to a 32-byte binary format and deserializes using the @playcanvas/splat-transform library for efficient rendering.

- Tags: how-to-guide
- Published: 2026-05-10

### [How Scene State Management Works in Supersplat: A Deep Dive into the Diffing Architecture](/playcanvas/supersplat/supersplat-scene-state-management-implementation)

Discover how Supersplat manages scene state with efficient diffing and snapshots. Learn about selective rendering and UI updates in this deep dive.

- Tags: deep-dive
- Published: 2026-05-10

### [Supersplat Selection Tools: A Complete Guide to 8 Interactive Methods](/playcanvas/supersplat/supersplat-selection-tools-operation)

Explore 8 interactive supersplat selection tools. Learn how tools like lasso, brush, and 3D sphere efficiently select Gaussian splats using geometric masks or color matching.

- Tags: how-to-guide
- Published: 2026-05-10

### [How the SuperSplat Splat Shader Rendering Pipeline Works: GSplat Technical Architecture](/playcanvas/supersplat/splat-shader-rendering-pipeline-structure)

Explore the SuperSplat splat shader rendering pipeline. Discover how GSplat architecture projects Gaussians, evaluates fall-off and color, and writes to dual render targets for advanced 3D rendering.

- Tags: architecture
- Published: 2026-05-10

### [GPU-Based Splat Data Processors in SuperSplat: Implementation and Architecture](/playcanvas/supersplat/supersplat-gpu-data-processor-implementation)

Explore the GPU-based splat data processors in SuperSplat. Discover how Intersect, CalcBound, and CalcPositions workers leverage the GPU for efficient data processing, preventing race conditions with promise chains.

- Tags: architecture
- Published: 2026-05-10

### [How the PlayCanvas Supersplat Tool System Architecture Works: ToolManager and Individual Tools](/playcanvas/supersplat/playcanvas-supersplat-tool-system-architecture)

Explore the PlayCanvas supersplat tool system architecture. Learn how ToolManager and individual tools use an event-driven system for exclusive activation and simple lifecycle methods.

- Tags: architecture
- Published: 2026-05-10

