Spaces:
Sleeping
Sleeping
| 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. | |