File size: 2,512 Bytes
fa42b76
 
 
 
 
 
 
 
 
 
1829efb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4effff3
 
 
 
 
1829efb
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
---
title: SparkSplat
emoji: 🚀
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
app_port: 7860
---

# SparkSplat

SparkSplat is a fast, interactive, and professional multi-file 3D Gaussian Splatting viewer and sandbox environment. 

Unlike traditional static viewers, SparkSplat retains the power of a fully-fledged 3D engine right in your browser. Powered by the incredibly fast [Spark](https://github.com/sparkjsdev/spark) engine for high-performance WebGL Gaussian Splat rendering, it comes out-of-the-box with rigid body physics (`@react-three/rapier`), first-person character controllers, and a robust placement editor for creating dynamic and interactive 3D sandboxes.

## Features

- **Universal Format Support**: Natively supports uncompressed and compressed Gaussian Splat formats including `.ply`, `.spz`, `.splat`, `.ksplat`, and `.sog`.
- **External URL Loading (Cloud Ready)**: Pass any direct link to a model via the URL query parameter `?url=YOUR_SPLAT_LINK` (e.g., from Hugging Face Datasets or AWS S3). SparkSplat will instantly stream and render the remote model with a beautiful download progress UI, bypassing the need for local storage.
- **Drag-and-Drop Local Storage**: Simply drag your splat files directly into the window. SparkSplat will automatically save them to your local `models/` directory and load them instantly for fast iteration.
- **Interactive Sandbox**: Walk through your splats with a built-in character controller, place 3D objects (`.glb`, `.obj`), and edit the scene physics dynamically.
- **Standalone and Lightweight**: No heavy Python AI generation pipelines required. SparkSplat is fully decoupled and works universally with any valid Gaussian Splat file.

## Quickstart

1. Install dependencies:
   ```bash
   cd app
   npm install
   ```

2. Start the local development server:
   ```bash
   npm run dev
   ```

3. Open your browser to the local URL (typically `http://localhost:5173`).
4. **Usage Options**:
   - **Local**: Drag and drop any `.ply`, `.spz`, `.splat`, `.ksplat`, or `.sog` file into the window to begin exploring!
   - **Remote**: Just append `?model=[URL]` to load an external model:

```
https://huggingface.co/spaces/Junyueeeeee/SparkSplat-Viewer?model=https://huggingface.co/datasets/Junyueeeeee/SparkSplat_Model/resolve/main/my_model.ply
```

## License

This project is licensed under the MIT License. See [LICENSE.md](LICENSE.md) for the project license, and [THIRDPARTY.md](THIRDPARTY.md) for third-party open source notices.