Skip to content

vibe-stack/vibeviz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

36 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Vibeviz

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

TypeScriptFirst, run the development server:

Next.js

WebGPU```bash

Licensenpm run dev

or

Create stunning audio-reactive 3D visualizations with a professional, modular editor.yarn dev

or

---pnpm dev

or

โœจ Featuresbun 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

๐Ÿ“– Documentation

Start here: DOC-INDEX.md - Complete documentation index

Quick Links

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

๐ŸŽจ Editor Overview

Layout

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  Compose Bar                      โ”‚
โ”‚  [Cube] [Pyramid] [Torus] [Shader] [Waveform]   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Scene  โ”‚                      โ”‚   Inspector     โ”‚
โ”‚  Tree   โ”‚    3D Viewport       โ”‚   Panel         โ”‚
โ”‚         โ”‚                      โ”‚                 โ”‚
โ”‚  โ–ก Cube โ”‚      [Scene]         โ”‚   - Transform   โ”‚
โ”‚  โ—‹ Cam  โ”‚                      โ”‚   - Material    โ”‚
โ”‚         โ”‚                      โ”‚   - Keyframes   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚         Timeline Controls & Keyframes             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Features

  • 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

๐Ÿ› ๏ธ Tech Stack

  • 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

๐Ÿ“ฆ Project Structure

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

๐ŸŽฏ Object Types

  • 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

๐ŸŽน Keyframeable Properties

  • 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)

๐ŸŽจ Creating Custom Shaders

// 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.


๐Ÿš€ Roadmap

โœ… Completed (Foundation)

  • Scene management system
  • Object creation & editing
  • Keyframe system
  • Timeline UI
  • Audio integration
  • 3D rendering (WebGPU)
  • Comprehensive documentation

โณ Next Steps

  • Wire AnimeJS timeline execution
  • Audio playback sync
  • Waveform visualization
  • More shader presets
  • Save/Load projects

See CHECKLIST.md for detailed status.


๐Ÿค Contributing

Contributions welcome! Please follow our modular architecture:

  1. Create features in src/features/
  2. Keep files small and focused
  3. Colocate related code
  4. Use TypeScript
  5. Update documentation

See QUICK-REFERENCE.md for development patterns.


๐Ÿ“ License

MIT License


๐Ÿ™ Credits

Built with:


๐ŸŽฏ Status

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

About

generate music visualizations in the browser with threejs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages