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 installnpm run devor
npm run servenpm run buildLint with ESLint
npm run lint