This is a Next.js project bootstrapped with create-next-app.
Audio-Reactive 3D Scene Editor built with Next.js, React Three Fiber, and Three.js WebGPU/TSL## Getting Started
First, run the development server:
Create stunning audio-reactive 3D visualizations with a professional, modular editor.yarn dev
---pnpm dev
- ๐จ **Intuitive UI** - Scene tree, inspector, timeline, and 3D viewport
- ๐ต **Audio-Reactive** - Sync visuals to audio with waveform analysisOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.
- ๐ฌ **Keyframe Animation** - Full keyframing powered by AnimeJS
- ๐ฎ **WebGPU/TSL** - Modern, high-performance 3D renderingYou can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
- ๐ฆ **Modular Architecture** - Clean, feature-based organization
- ๐ฏ **Type-Safe** - 100% TypeScript with strict modeThis project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
- ๐จ **Dark UI** - Beautiful, minimalistic interface
- ๐ **Well Documented** - Comprehensive guides and references## Learn More
---To learn more about Next.js, take a look at the following resources:
## ๐ Quick Start- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
```bash
# Install dependenciesYou can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
pnpm install
## Deploy on Vercel
# Run development server
pnpm devThe easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
# Open your browserCheck out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
# http://localhost:3000/editor
Start here: DOC-INDEX.md - Complete documentation index
| Document | Description |
|---|---|
| DOC-INDEX.md | ๐ Documentation navigation guide |
| PROJECT-COMPLETE.md | ๐ฏ Complete project overview |
| ARCHITECTURE.md | ๐๏ธ System architecture |
| README-EDITOR.md | ๐ User guide |
| QUICK-REFERENCE.md | โก Developer recipes |
| DIAGRAMS.md | ๐ Visual diagrams |
| CHECKLIST.md | โ Implementation status |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Compose Bar โ
โ [Cube] [Pyramid] [Torus] [Shader] [Waveform] โ
โโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโค
โ Scene โ โ Inspector โ
โ Tree โ 3D Viewport โ Panel โ
โ โ โ โ
โ โก Cube โ [Scene] โ - Transform โ
โ โ Cam โ โ - Material โ
โ โ โ - Keyframes โ
โโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโค
โ Timeline Controls & Keyframes โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Scene Tree - Manage objects, toggle visibility, delete
- Inspector - Edit transforms, materials, add keyframes
- Compose Bar - Create primitives, shaders, cameras
- Timeline - Play/pause, scrub, visualize keyframes
- Viewport - Real-time 3D preview with orbit controls
- Next.js 15 - React framework
- React Three Fiber - 3D in React
- Three.js WebGPU/TSL - Modern shaders
- AnimeJS - Keyframe animation
- ToneJS - Audio analysis
- Jotai - State management
- Tailwind CSS - Styling
- TypeScript - Type safety
src/
โโโ app/ # Next.js pages
โ โโโ page.tsx # Landing page
โ โโโ editor/page.tsx # Editor app
โโโ components/ui/ # Shared UI components
โโโ features/ # Feature modules
โ โโโ audio/ # Audio handling
โ โโโ canvas/ # 3D rendering
โ โโโ compose/ # Object creation
โ โโโ inspector/ # Property editor
โ โโโ keyframes/ # Animation system
โ โโโ scene/ # Scene state
โ โโโ timeline/ # Timeline UI
โโโ lib/ # Utilities & shaders
- Primitives - Cube, Pyramid, Torus, Cylinder (with materials)
- GLB Models - Import 3D models with animations
- Shaders - TSL-based shader planes (Rainbow shader included)
- Waveform Instancer - Audio-reactive object instancing
- Waveform Lines - Audio-reactive line visualizations
- Cameras - Keyframeable cameras with active state
- Lights - Ambient, Directional, Point, Spot, Environment
- Postprocessors - TSL post-effects framework
- Particles - Audio and Dynamic particle systems with force fields
- Transform: Position (XYZ), Rotation (XYZ), Scale (XYZ)
- Material: Color, Roughness, Metalness, Emissive Color, Emissive Intensity
- Visibility: Boolean
- Camera: isActive (Boolean)
- GLB Model: activeAnimation (String - switches between animations)
// lib/myShader.ts
import { Fn, time, vec3 } from "three/tsl";
import * as THREE from "three/webgpu";
export function createMyShader() {
const myUniform = uniform(0);
const fragment = Fn(() => {
const t = time.mul(0.5);
return vec3(t.sin(), t.cos(), myUniform);
});
const material = new THREE.NodeMaterial();
material.fragmentNode = fragment();
return { material, uniforms: { myUniform } };
}See QUICK-REFERENCE.md for more examples.
- Scene management system
- Object creation & editing
- Keyframe system
- Timeline UI
- Audio integration
- 3D rendering (WebGPU)
- Comprehensive documentation
- Wire AnimeJS timeline execution
- Audio playback sync
- Waveform visualization
- More shader presets
- Save/Load projects
See CHECKLIST.md for detailed status.
Contributions welcome! Please follow our modular architecture:
- Create features in
src/features/ - Keep files small and focused
- Colocate related code
- Use TypeScript
- Update documentation
See QUICK-REFERENCE.md for development patterns.
MIT License
Built with:
- Next.js by Vercel
- Three.js by Mr.doob
- React Three Fiber by Poimandres
- AnimeJS by Julian Garnier
- ToneJS by Yotam Mann
- Jotai by Daishi Kato
- Tailwind CSS by Tailwind Labs
Version: 1.0.0 (Foundation Complete)
- โ Core Features: Complete
- โ UI Components: Complete
- โ Documentation: Complete
- โณ Integration: 95%
Ready to create stunning audio-reactive 3D visualizations! ๐จ๐ต๐ฌ
Made with โค๏ธ using Next.js, React Three Fiber, and WebGPU
Documentation โข Architecture โข Quick Start