Skip to content

Commit 101889d

Browse files
author
AvatarOS Developer
committed
docs: Add GEMINI.md for project context
1 parent ec9db5d commit 101889d

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

GEMINI.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Project Overview
2+
3+
This is a 3D model stager for Gaussian Splatting models, built with Three.js and Vite. This application enables advanced visualization of 3D models with sophisticated post-processing effects and real-time parameter adjustment.
4+
5+
The project is structured with a clear separation of concerns, using a manager-based architecture to handle different aspects of the 3D scene, such as cameras, environments, and components. It uses Tweakpane for UI controls and has a clear entry point in `main.js`.
6+
7+
## Key Technologies
8+
9+
- **Core Engine**: Three.js with ES modules
10+
- **Build System**: Vite 5.4
11+
- **UI Controls**: Tweakpane 4
12+
- **Effects**: Post-processing 7.3.1
13+
- **Performance**: Stats.js
14+
- **Splatting**: Luma Web SDK
15+
16+
## Building and Running
17+
18+
### Development
19+
20+
To run the project in development mode with hot module replacement, use:
21+
22+
```bash
23+
npm run dev
24+
```
25+
26+
### Production Build
27+
28+
To build the project for production, use:
29+
30+
```bash
31+
npm run build
32+
```
33+
34+
This will create a `dist` directory with the optimized and minified assets.
35+
36+
### Preview
37+
38+
To preview the production build locally, use:
39+
40+
```bash
41+
npm run preview
42+
```
43+
44+
## Testing
45+
46+
The project includes a scene test that can be run with:
47+
48+
```bash
49+
npm run test
50+
```
51+
52+
## Development Conventions
53+
54+
### Linting and Formatting
55+
56+
The project uses ESLint for linting and Prettier for code formatting. To automatically fix linting issues and format the code, run:
57+
58+
```bash
59+
npm run lint
60+
npm run format
61+
```
62+
63+
### Code Structure
64+
65+
The project follows a modular structure with a clear separation of concerns. The `src` directory contains the core logic, components, managers, and assets.
66+
67+
- `src/core`: Contains the core components of the application, such as managers, generators, scenes, and renderers.
68+
- `src/gui`: Contains the Tweakpane UI manager.
69+
- `src/presets`: Contains presets for cameras, environments, and other components.
70+
- `src/assets`: Contains all the static assets, such as models, textures, and environment maps.

0 commit comments

Comments
 (0)