Cathedral is an interactive music video. Interact with robotic musicians in a cathedral to create a musical composition.
You can play with Cathedral at https://jessegreenberg.github.io/cathedral/.
To set up and run this project on your local machine, follow these steps:
-
Begin by cloning the repository to your local machine.
-
Run
npm install
to install the necessary dependencies. -
Ensure you have a Bash shell installed. On Windows I use Git Bash.
-
Artwork Encoding: The project uses base64 encoded artwork for efficient packaging. To encode the artwork, execute the following commands:
cd tools
./modulifyImages.sh
./modulifySounds.sh
This process generates ModulifiedImageMap.ts and ModulifiedSoundMap.ts in the /js directory.
-
Run
npm run build
to build the project. -
Download and set up a local server like http-server to host the files.
-
Run the server in the root directory of the repository.
-
Open your browser and navigate to the server's address to view the project.
Cathedral utilizes SceneryStack, a collection of libraries from PhET Interactive Simulations, designed for creating multimodal web applications. The project primarily leverages Scenery and its CanvasNode to efficiently animate visuals with high performance.