# Your First Splat App

Welcome to building your first Gaussian splat application! This section provides step-by-step tutorials to create a simple application that loads a splat of a cute toy cat that users can orbit around, pan, and zoom.

## Choose Your Path

We offer **four different approaches** to build the same app. Pick the one that matches your background and project needs:

### 🔧 [Using the Engine API](https://developer.playcanvas.com/user-manual/gaussian-splatting/building/your-first-app/engine.md)

**Best for:** Experienced JavaScript developers who want full control

- **What:** Direct PlayCanvas Engine API usage with ES6 modules
- **Files:** `index.html` + `main.js`
- **Pros:** Maximum flexibility, full engine access, smallest footprint
- **Cons:** More code to write, requires engine knowledge

### 🎨 [Using the Editor](https://developer.playcanvas.com/user-manual/gaussian-splatting/building/your-first-app/editor.md)

**Best for:** Designers, artists, and visual learners

- **What:** Point-and-click interface with Asset Store integration
- **Files:** PlayCanvas project (cloud-based)
- **Pros:** No coding required, visual tools, team collaboration, publishing features
- **Cons:** Requires PlayCanvas account, less programmatic control

### ⚛️ [Using PlayCanvas React](https://developer.playcanvas.com/user-manual/gaussian-splatting/building/your-first-app/react.md)

**Best for:** React developers and teams using React ecosystems

- **What:** JSX components that map to PlayCanvas entities and components
- **Files:** React component
- **Pros:** React integration, state management, TypeScript support, component composition
- **Cons:** Requires React knowledge and build setup

### 🌐 [Using Web Components](https://developer.playcanvas.com/user-manual/gaussian-splatting/building/your-first-app/web-components.md)

**Best for:** Web developers familiar with HTML and modern standards

- **What:** Declarative HTML using `<pc-app>`, `<pc-entity>`, `<pc-gsplat>` tags
- **Files:** Single HTML file
- **Pros:** No build tools needed, familiar HTML syntax, quick prototyping
- **Cons:** Limited to web component capabilities
