Projector is a foundation to create 3D Scenes that can be used for Projection Mapping or just to visualize audio and/or midi in the browser. It does this by using Three.js , Webmidi.js and the Web Audio API. I'm not sure if this could be considered a framework or just a bunch of helpers 😆 , let's say it's a framework to keep it simple.
Check out these videos, to see it in action:
You can find the source for the videos above in their respective "project-*" branches.
All this is wrapped in Vue 3 Environment, for easy Hot Reloading during development and for ease of UI development.
It has everything you need, to start creating your own scenes in 3D or 2D and to analyze/visualize audio. At its heart it has a SceneController that can be either controlled programmatically or via midi to change scenes. An additional midi cc message can be used to send changes/parameters to a running scene to interact with. It includes a bunch of example scenes, so you can get a feel of how things work.
Some code is documented, some isn't. You are using this at your own peril 😆. Future improvements will be made available, when i keep improving and using this for my own projects.
See Vite Configuration Reference.
npm install
npm run dev
or
npm run serve
npm run build
Lint with ESLint
npm run lint