# Project export: Live-it

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: UC Berkeley AI Hackathon 2025
- Tagline: Live your imagination
- Devpost: https://devpost.com/software/live-it
- GitHub: https://github.com/ekagra1602/live-it
- Video: https://www.youtube.com/embed/w1VfuJ7uLtk?enablejsapi=1&hl=en_US&rel=0&start=&version=3&wmode=transparent
- Result: winner (Nitrode: Nitrode Turbo Mode Award)
- Team: 3 GitHub contributor(s) — ekagra1602 (13 commits), eattie (5 commits), Kevin Xiang Li (2 commits)

## Devpost submission (written by the team)

### Overview

We wanted to give people the power to experience any image—real or imagined—as an explorable 3D world. Whether it's a childhood photo, a city street, or a prehistoric jungle, users should be able to reimagine the setting and step into it. This idea led us to build Live-it: a pipeline that lets users modify an image via prompt, generate a cinematic video using Veo 3, and turn that into a walkable 3D scene. Live-it allows users to: Enter or upload an image, and optionally rewrite it using a creative prompt. Generate a stylized video from that image using Veo 3 (Gemini API). Reconstruct the scene into 3D using fast and high-quality Gaussian Splatting. Walk through the scene in a real-time 3D engine (Nitrode or web-based renderer). Frontend: React + TypeScript for the UI, including prompt editing, video preview, and 3D scene interaction. Backend: Node.js server that handles prompt submission, Veo 3 API calls, and routes for rendering. Veo 3 Integration: Gemini API for generating high-quality, 8-second stylized cinematic videos. 3D Reconstruction: Started with NeRFStudio but shifted to 3D Gaussian Splatting due to speed and quality. Used VGGT, a recent vision model, to infer accurate camera trajectories from Veo videos. Languages and Infra: Python, CUDA, C++, and Node.js running on a cloud instance (T4/Colab Pro/own server). Slow convergence of NeRF on T4 GPUs caused rendering lags and noisy outputs. COLMAP camera estimations were highly inaccurate on synthetic Veo videos, producing distorted splats. Integrating multiple models (Gemini → VGGT → GSP) in one unified pipeline required careful output formatting. Latency between prompt → video → 3D posed difficulty for live previewing during a 36-hour hackathon. Integrated end-to-end prompt-to-3D generation in a single user-friendly web app. Achieved real-time 3D previews using Gaussian Splatting + VGGT for fast camera estimation. Built a modular backend that can scale to new input modalities (videos, text descriptions, photos). Enabled scene-level creativity: users can style their environment before walking through it. Prompt engineering for Veo 3 affects not just visual tone, but downstream mesh quality. NeRF is powerful but impractical for hackathon-paced iteration—Gaussian Splatting wins on speed/quality tradeoff. VGGT-style direct trajectory inference significantly improves 3D fidelity on synthetic content. Splat rendering is a game-changer for demo-ready NeRF-based workflows. Add VR or headset support to explore scenes with full immersion. Support temporal continuity (multi-video, scene stitching). Implement prompt-driven re-styling after 3D generation: switch from forest to cyberpunk in real-time. Experiment with Volumetric Audio + Soundscape AI to add dynamic sound layers to the 3D world. Extend to multiplayer walkthroughs—collaboratively explore a memory or place.

## README (from the GitHub repository)

# LiveIt
[Demo](https://www.youtube.com/watch?v=w1VfuJ7uLtk&ab_channel=EtaiAbukasis)

An app for generating cinematic videos using the Veo 3 API and proceeding to 3D rendering using multiple AI 3D rendering techniques.

## Features

- **Text Prompt Input**: Enter video descriptions via textarea or upload text files
- **Veo 3 API Integration**: Generate 8-second cinematic videos using veo-3.0-generate-preview
- **Real-time Loading**: Beautiful spinner animations during video generation
- **Video Preview**: In-browser MP4 video player with controls
- **Regeneration**: Edit prompts and regenerate videos
- **3D Processing**: Proceed to 3D rendering with finalized videos
- **Modern UI**: Clean, responsive design with gradient backgrounds

## Project Structure

```
live-it/
├── client/                 # React frontend
│   ├── public/
│   ├── src/
│   │   ├── App.tsx        # Main application component
│   │   ├── App.css        # Application styles
│   │   ├── index.tsx      # React entry point
│   │   └── index.css      # Global styles
│   ├── package.json
│   └── tsconfig.json
├── server/                 # Node.js backend
│   ├── index.js           # Express server
│   ├── package.json
│   └── .env               # Environment variables
├── package.json           # Root package.json
└── README.md
```

## Setup Instructions

### Prerequisites

- Node.js (v16 or higher)
- npm or yarn
- Veo 3 API key

### Installation

1. **Clone the repository**
   ```bash
   git clone <repository-url>
   cd epicvideo3d
   ```

2. **Install root dependencies**
   ```bash
   npm install
   ```

3. **Install server dependencies**
   ```bash
   cd server
   npm install
   cd ..
   ```

4. **Install client dependencies**
   ```bash
   cd client
   npm install
   cd ..
   ```

5. **Environment Configuration**
   ```bash
   cd server
   cp .env.example .env
   ```
   
   Edit `server/.env` with your API credentials:
   ```
   PORT=5000
   VEO3_API_KEY=your_actual_veo3_api_key
   VEO3_API_URL=https://api.veo3.com/v1/generate-preview
   ```

## Running the Application

### Development Mode

Run both frontend and backend simultaneously:
```bash
npm run dev
```

This will start:
- Frontend: http://localhost:3000
- Backend: http://localhost:5000

### Individual Services

**Backend only:**
```bash
npm run server
```

**Frontend only:**
```bash
npm run client
```

## API Endpoints

### Backend Routes

- `POST /api/generate-video` - Generate video from text prompt
- `GET /api/video-status/:jobId` - Check video generation status
- `POST /api/proceed-to-3d` - Initiate 3D rendering process
- `GET /api/health` - Health check endpoint

## Usage Flow

1. **Enter Prompt**: Type a video description or upload a text file
2. **Generate**: Click "Generate Video" to call Veo 3 API
3. **Wait**: Loading spinner shows while video is being generated
4. **Preview**: Generated MP4 video appears in the player
5. **Edit/Regenerate**: Modify prompt and regenerate if needed
6. **Proceed**: Click "Proceed to 3D" to send video for 3D processing

## Technology Stack

### Frontend
- React 18 with TypeScript
- Modern CSS with gradients and animations
- Responsive design for mobile/desktop
- File upload handling

### Backend
- Node.js with Express
- Axios for API calls
- CORS enabled
- Environment variable configuration
- Error handling and logging

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `PORT` | Server port | `5000` |
| `VEO3_API_KEY` | Veo 3 API authentication key | Required |
| `VEO3_API_URL` | Veo 3 API endpoint | `https://api.veo3.com/v1/generate-preview` |

##Production Deployment

1. **Build the frontend:**
   ```bash
   cd client
   npm run build
   ```

2. **Start the server:**
   ```bash
   cd server
   npm start
   ```

3. **Configure environment variables** for production

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test thoroughly
5. Submit a pull request

## License

# IMPORTANT NOTES

Make sure you run gh repo clone donmccurdy/three-gltf-viewer in the root node. We used this open source project for our basic preview 

MIT License


## Detected evidence (automated analysis)

Indexed codebase: 213 recognized source files, 2723 KB.
- C (language) — detected in the code
- C++ (language) — detected in the code
- CSS (language) — detected in the code
- Express (technology) — detected in the code
- Google Gemini (technology) — detected in the code
- HTML (language) — detected in the code
- JavaScript (language) — detected in the code
- Python (language) — detected in the code
- PyTorch (technology) — detected in the code
- React (technology) — detected in the code
- TypeScript (language) — detected in the code
- Node.js (technology) — claimed on Devpost, not found in the code

## Codebase structure (from repository index)

### Files (120 of 302)

```
.bash_history
.gitignore
.idea/this_studio.iml
.pixi/bin/pixi
.vscode/settings.json
cd
client/package.json
client/public/demo-model.glb
client/public/gltf-viewer/assets/index-BROXldRp.css
client/public/gltf-viewer/assets/index-CUJcYfpt.js
client/public/gltf-viewer/custom-viewer.html
client/public/gltf-viewer/embedded-viewer.html
client/public/gltf-viewer/index.html
client/public/index.html
client/src/App.css
client/src/App.tsx
client/src/components/AnimatedBackground.css
client/src/components/AnimatedBackground.tsx
client/src/components/Dashboard.css
client/src/components/Dashboard.tsx
client/src/components/Header.css
client/src/components/Header.tsx
client/src/components/ImageUpload.css
client/src/components/ImageUpload.tsx
client/src/components/Navigation.css
client/src/components/Navigation.tsx
client/src/components/ParticleBackground.css
client/src/components/ParticleBackground.tsx
client/src/components/ProgressStepper.css
client/src/components/ProgressStepper.tsx
client/src/components/ProjectCard.css
client/src/components/ProjectCard.tsx
client/src/components/PromptEditor.css
client/src/components/PromptEditor.tsx
client/src/components/PromptInput.css
client/src/components/PromptInput.tsx
client/src/components/Sidebar.css
client/src/components/Sidebar.tsx
client/src/components/StatusCards.css
client/src/components/StatusCards.tsx
client/src/components/ThreeDPreview.css
client/src/components/ThreeDPreview.tsx
client/src/components/TopBar.css
client/src/components/TopBar.tsx
client/src/components/VideoPreview.css
client/src/components/VideoPreview.tsx
client/src/components/Workspace.css
client/src/components/Workspace.tsx
client/src/index.css
client/src/index.tsx
client/src/lib/gltf-viewer/environments.js
client/src/lib/gltf-viewer/viewer.d.ts
client/src/lib/gltf-viewer/viewer.js
client/tsconfig.json
components.json
epicvideo3d-server@1.0.0
epicvideo3d@1.0.0
extract_frames.py
gsplat/.clang-format
gsplat/.clangd_template
gsplat/.github/workflows/building.yml
gsplat/.github/workflows/core_tests.yml
gsplat/.github/workflows/cuda/Linux-env.sh
gsplat/.github/workflows/cuda/Linux.sh
gsplat/.github/workflows/cuda/Windows-env.sh
gsplat/.github/workflows/cuda/Windows.sh
gsplat/.github/workflows/doc.yml
gsplat/.github/workflows/generate_simple_index_pages.py
gsplat/.github/workflows/generate_simple_index_pages.yml
gsplat/.github/workflows/publish.yml
gsplat/.gitignore
gsplat/.gitmodules
gsplat/assets/test_garden.npz
gsplat/CITATION.bib
gsplat/docs/3dgut.md
gsplat/docs/batch.md
gsplat/docs/DEV.md
gsplat/docs/INSTALL_WIN.md
gsplat/docs/Makefile
gsplat/docs/requirements.txt
gsplat/docs/source/_templates/sidebar/brand.html
gsplat/docs/source/apis/compression.rst
gsplat/docs/source/apis/rasterization.rst
gsplat/docs/source/apis/strategy.rst
gsplat/docs/source/apis/utils.rst
gsplat/docs/source/conf.py
gsplat/docs/source/conventions/data_conventions.rst
gsplat/docs/source/examples/colmap.rst
gsplat/docs/source/examples/image.rst
gsplat/docs/source/examples/large_scale.rst
gsplat/docs/source/index.rst
gsplat/docs/source/migration/migration_inria.rst
gsplat/docs/source/migration/migration_legacy.rst
gsplat/docs/source/references.bib
gsplat/docs/source/tests/eval.rst
gsplat/docs/source/tests/profile.rst
gsplat/docs/source/tests/tests.rst
gsplat/examples/benchmarks/3dgut/mcmc_zipnerf.sh
gsplat/examples/benchmarks/3dgut/mcmc.sh
gsplat/examples/benchmarks/basic_2dgs.sh
gsplat/examples/benchmarks/basic_4gpus.sh
gsplat/examples/benchmarks/basic.sh
gsplat/examples/benchmarks/bilarf/mcmc_bilarf.sh
gsplat/examples/benchmarks/compression/mcmc_tt.sh
gsplat/examples/benchmarks/compression/mcmc.sh
gsplat/examples/benchmarks/compression/results/MipNeRF360.csv
gsplat/examples/benchmarks/compression/results/TanksAndTemples.csv
gsplat/examples/benchmarks/compression/summarize_stats.py
gsplat/examples/benchmarks/fisheye/mcmc_zipnerf_undistorted.sh
gsplat/examples/benchmarks/fisheye/mcmc_zipnerf.sh
gsplat/examples/benchmarks/mcmc.sh
gsplat/examples/datasets/colmap.py
gsplat/examples/datasets/download_dataset.py
gsplat/examples/datasets/normalize.py
gsplat/examples/datasets/traj.py
gsplat/examples/gsplat_viewer_2dgs.py
gsplat/examples/gsplat_viewer.py
gsplat/examples/image_fitting.py
gsplat/examples/lib_bilagrid.py
gsplat/examples/requirements.txt
[182 more files omitted for size]
```

### Dependencies

- client/package.json: @react-three/drei@^9.122.0, @react-three/fiber@^8.18.0, @testing-library/jest-dom@^5.16.4, @testing-library/react@^13.3.0, @testing-library/user-event@^13.5.0, @types/jest@^27.5.2, @types/node@^16.11.56, @types/react@^18.0.17, @types/react-dom@^18.0.6, @types/three@^0.177.0, dat.gui@^0.7.9, framer-motion@^12.18.1, lucide-react@^0.522.0, react@^18.2.0, react-dom@^18.2.0, react-scripts@5.0.1, simple-dropzone@^0.8.3, three@^0.176.0, typescript@^4.7.4, web-vitals@^2.1.4
- gsplat/docs/requirements.txt: furo, sphinx, sphinx-copybutton, sphinx-design, sphinxcontrib-bibtex, sphinxcontrib-video
- gsplat/examples/requirements.txt: git@+https://github.com/harry7557558/fused-bilagrid@90f9788e57d3545e3a033c1038bb9986549632fe, imageio[ffmpeg], matplotlib, numpy@<2.0.0, opencv-python, Pillow, pyyaml, scikit-learn, splines, tensorboard, tensorly, torchmetrics[image], tqdm, tyro@>=0.8.8, viser
- package.json: @google/generative-ai@^0.24.1, concurrently@^8.2.2
- server/package.json: @google/genai@^1.6.0, axios@^1.6.0, cors@^2.8.5, dotenv@^16.3.1, express@^4.18.2, multer@^1.4.5-lts.1, nodemon@^3.0.1
- three-gltf-viewer/package.json: dat.gui@^0.7.9, gltf-validator@^2.0.0-dev.3.10, prettier@^3.2.5, query-string@^8.1.0, simple-dropzone@^0.8.3, three@^0.176.0, vhtml@^2.2.0, vite@^5.1.8
- vggt/pyproject.toml: einops, gradio@==5.17.1, huggingface_hub, hydra-core, matplotlib, numpy@<2, omegaconf, onnxruntime, opencv-python, opencv-python, Pillow, requests, safetensors, scipy, tqdm, trimesh, viser@==0.2.23
- vggt/requirements.txt: einops, huggingface_hub, numpy@==1.26.1, Pillow, safetensors, torch@==2.3.1, torchvision@==0.18.1

### Recent commits (newest first)

- Update README.md
- Update README.md
- Removed Unnecessary Files
- Removed Unnecessary Files
- Removed Unnecessary Files
- Removed Unnecessary Files
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Merge video2glb branch with video-to-3D conversion tools
- Started tracking gsplat and vggt
- Convert nested repos to regular directories and add video2glb and three-gltf-viewer folders
- Added videotoglb
- Initial commit
- Added demo paths
- Added gradio API call
- Fixed video generation logic
- Changed API calls
- Fixed bug in server index

## Key source files (fetched from GitHub, selected and truncated for size)

### vggt/CONTRIBUTING.md

```markdown
# Contributing to vggt
We want to make contributing to this project as easy and transparent as
possible.

## Pull Requests
We actively welcome your pull requests.

1. Fork the repo and create your branch from `main`.
2. If you've added code that should be tested, add tests.
3. If you've changed APIs, update the documentation.
4. Ensure the test suite passes.
5. Make sure your code lints.
6. If you haven't already, complete the Contributor License Agreement ("CLA").

## Contributor License Agreement ("CLA")
In order to accept your pull request, we need you to submit a CLA. You only need
to do this once to work on any of Facebook's open source projects.

Complete your CLA here: <https://code.facebook.com/cla>

## Issues
We use GitHub issues to track public bugs. Please ensure your description is
clear and has sufficient instructions to be able to reproduce the issue.

Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe
disclosure of security bugs. In those cases, please go through the process
outlined on that page and do not file a public issue.

## License
By contributing to vggt, you agree that your contributions will be licensed
under the LICENSE file in the root directory of this source tree.
```

### gsplat/EXPLORATION.md

```markdown
# Exploration For Better 3D Gaussian Splatting

- AbsGrad: Uses absolute gradients in the image plane as the criterion for pruning. See [this paper](https://arxiv.org/pdf/2404.10484) for more details.
- Antialiasing: Applies a low pass filter on the projected covariance and scale the opacity accordingly. See [this paper](https://niujinshuchong.github.io/mip-splatting/) for more details. It might slightly hurt the metrics on in-distribution views but seem to improve the visual quality on view out of training distribution.

| Garden at 7k steps (TITAN RTX)       | T(train) | T(render) | Memory  | SSIM   | PSNR  | LPIPS | #GS.  |
| ------------------------------------ | -------- | --------- | ------- | ------ | ----- | ----- | ----- |
| default args                         | 7m07s    | 0.021s/im | 7.54 GB | 0.8332 | 26.29 | 0.123 | 4.46M |
| `--absgrad --grow_grad2d 8e-4`       | 5m50s    | 0.012s/im | 3.80 GB | 0.8365 | 26.44 | 0.121 | 2.17M |
| `--absgrad --grow_grad2d 8e-4` (30k) | --       | 0.013s/im | 4.04 GB | 0.8639 | 27.33 | 0.079 | 2.35M |
| `--antialiased`                      | 6m43s    | 0.020s/im | 6.74 GB | 0.8265 | 26.13 | 0.137 | 3.99M |

| U1 at 7k steps (RTX 2080 Ti)         | T(train) | T(render) | Memory  | SSIM   | PSNR  | LPIPS | #GS.  |
| ------------------------------------ | -------- | --------- | ------- | ------ | ----- | ----- | ----- |
| default args                         | 7m39s    | 0.013s/im | 4.94 GB | 0.6102 | 20.69 | 0.615 | 2.47M |
| default args (30k)                   | --       | 0.019s/im | --      | 0.7518 | 24.67 | 0.385 | 4.18M |
| `--absgrad --grow_grad2d 8e-4`       | 7m16s    | 0.011s/im | 3.41 GB | 0.6055 | 20.29 | 0.636 | 1.72M |
| `--absgrad --grow_grad2d 8e-4` (30k) | --       | 0.014s/im | 4.15 GB | 0.7494 | 24.65 | 0.390 | 2.37M |
| `--absgrad --grow_grad2d 6e-4`       | 8m58s    | 0.011s/im | 4.42 GB | 0.5966 | 19.58 | 0.654 | 2.21M |
| `--absgrad --grow_grad2d 6e-4` (30k) | --       | 0.016s/im | 5.09 GB | 0.7439 | 24.28 | 0.400 | 2.92M |

| U4 at 7k steps (RTX 2080 Ti)                 | T(train) | T(render) | Memory  | SSIM   | PSNR  | LPIPS | #GS.  |
| -------------------------------------------- | -------- | --------- | ------- | ------ | ----- | ----- | ----- |
| `--grow_grad2d 5e-5`                         | 7m30s    | 0.014s/im | 1.68 GB | 0.6271 | 20.86 | 0.583 | 0.61M |
| `--grow_grad2d 5e-5` (30k)                   | --       | 0.026s/im | 4.21 GB | 0.7402 | 24.05 | 0.299 | 2.44M |
| `--absgrad --grow_grad2d 2e-4`               | 8m30s    | 0.018s/im | 2.21 GB | 0.6251 | 20.68 | 0.587 | 0.89M |
| `--absgrad --grow_grad2d 2e-4` (30k)         | --       | 0.030s/im | 5.25 GB | 0.7442 | 24.12 | 0.291 | 2.62M |

Note: default args means running `CUDA_VISIBLE_DEVICES=0 python simple_trainer.py default --data_dir <DATA_DIR>` with:

- Garden ([Source](https://jonbarron.info/mipnerf360/)): `--result_dir results/garden`
- U1 (a.k.a University 1 from [Source](https://localrf.github.io/)): `--re
[truncated — 208 more characters]
```

### package.json

```
{
  "name": "epicvideo3d",
  "version": "1.0.0",
  "description": "React web app for generating 3D videos using Veo 3 API",
  "main": "server/index.js",
  "scripts": {
    "dev": "concurrently \"npm run server\" \"npm run client\"",
    "server": "cd server && npm run dev",
    "client": "cd client && npm start",
    "build": "cd client && npm run build",
    "start": "cd server && npm start"
  },
  "keywords": [
    "react",
    "veo3",
    "video",
    "3d"
  ],
  "author": "",
  "license": "MIT",
  "devDependencies": {
    "concurrently": "^8.2.2"
  },
  "dependencies": {
    "@google/generative-ai": "^0.24.1"
  }
}

```

### vggt/requirements.txt

```
torch==2.3.1
torchvision==0.18.1
numpy==1.26.1
Pillow
huggingface_hub
einops
safetensors

```

### server/package.json

```
{
  "name": "epicvideo3d-server",
  "version": "1.0.0",
  "description": "Express server for EpicVideo3D with Veo 3 API integration",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js"
  },
  "dependencies": {
    "@google/genai": "^1.6.0",
    "axios": "^1.6.0",
    "cors": "^2.8.5",
    "dotenv": "^16.3.1",
    "express": "^4.18.2",
    "multer": "^1.4.5-lts.1"
  },
  "devDependencies": {
    "nodemon": "^3.0.1"
  }
}

```

### three-gltf-viewer/package.json

```
{
	"private": true,
	"version": "1.5.1",
	"description": "Preview glTF models using three.js and a drag-and-drop interface.",
	"author": "Don McCurdy <dm@donmccurdy.com> (https://www.donmccurdy.com)",
	"license": "MIT",
	"main": "public/app.js",
	"browserslist": [
		">1%",
		"not dead"
	],
	"staticFiles": {
		"staticPath": [
			{
				"staticPath": "assets",
				"staticOutDir": "assets"
			}
		]
	},
	"scripts": {
		"dev": "vite --port 3000",
		"build": "vite build",
		"clean": "rm -rf dist/* || true",
		"test": "node test/gen_test.js",
		"deploy": "npm run build && vercel --local-config vercel.json --prod",
		"postversion": "git push && git push --tags"
	},
	"dependencies": {
		"dat.gui": "^0.7.9",
		"gltf-validator": "^2.0.0-dev.3.10",
		"query-string": "^8.1.0",
		"simple-dropzone": "^0.8.3",
		"three": "^0.176.0",
		"vhtml": "^2.2.0"
	},
	"devDependencies": {
		"prettier": "^3.2.5",
		"vite": "^5.1.8"
	}
}

```

### vggt/pyproject.toml

```
[project]
authors = [{name = "Jianyuan Wang", email = "jianyuan@robots.ox.ac.uk"}]
dependencies = [
    "numpy<2",
    "Pillow",
    "huggingface_hub",
    "einops",
    "safetensors",
    "opencv-python",
]
name = "vggt"
requires-python = ">= 3.10"
version = "0.0.1"

[project.optional-dependencies]
demo = [
    "gradio==5.17.1",
    "viser==0.2.23",
    "tqdm",
    "hydra-core",
    "omegaconf",
    "opencv-python",
    "scipy",
    "onnxruntime",
    "requests",
    "trimesh",
    "matplotlib",
]

# Using setuptools as the build backend
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

# setuptools configuration
[tool.setuptools.packages.find]
where = ["."]
include = ["vggt*"]

# Pixi configuration
[tool.pixi.workspace]
channels = ["conda-forge"]
platforms = ["linux-64"]

[tool.pixi.pypi-dependencies]
vggt = { path = ".", editable = true }

[tool.pixi.environments]
default = { solve-group = "default" }
demo = { features = ["demo"], solve-group = "default" }

[tool.pixi.tasks]

```

### client/package.json

```
{
  "name": "epicvideo3d-client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@react-three/drei": "^9.122.0",
    "@react-three/fiber": "^8.18.0",
    "@testing-library/jest-dom": "^5.16.4",
    "@testing-library/react": "^13.3.0",
    "@testing-library/user-event": "^13.5.0",
    "@types/jest": "^27.5.2",
    "@types/node": "^16.11.56",
    "@types/react": "^18.0.17",
    "@types/react-dom": "^18.0.6",
    "@types/three": "^0.177.0",
    "dat.gui": "^0.7.9",
    "framer-motion": "^12.18.1",
    "lucide-react": "^0.522.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-scripts": "5.0.1",
    "simple-dropzone": "^0.8.3",
    "three": "^0.176.0",
    "typescript": "^4.7.4",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "proxy": "http://localhost:3001"
}

```

### gsplat/docs/requirements.txt

```
furo
sphinx
sphinx-copybutton
sphinx-design
sphinxcontrib-bibtex
sphinxcontrib-video
```

### gsplat/examples/requirements.txt

```
# assume torch is already installed

# pycolmap for data parsing
git+https://github.com/rmbrualla/pycolmap@cc7ea4b7301720ac29287dbe450952511b32125e
# (optional) nerfacc for torch version rasterization 
# git+https://github.com/nerfstudio-project/nerfacc

viser
git+https://github.com/nerfstudio-project/nerfview@4538024fe0d15fd1a0e4d760f3695fc44ca72787
imageio[ffmpeg]
numpy<2.0.0
scikit-learn
tqdm
torchmetrics[image]
opencv-python
tyro>=0.8.8
Pillow
tensorboard
tensorly
pyyaml
matplotlib
git+https://github.com/rahul-goel/fused-ssim@328dc9836f513d00c4b5bc38fe30478b4435cbb5
git+https://github.com/harry7557558/fused-bilagrid@90f9788e57d3545e3a033c1038bb9986549632fe
splines

```

[201 more indexed source files omitted to keep this export small. The full file list is in the Codebase structure section above.]