Welcome to Cubes in Space, an interactive digital art project which uses Three.js for in-browser 3D rendering and HTML5 Canvas for performant pixel control.
Cubes in Space uses the Three.js library to render and animate a 3D world, along with HTML5 Canvas for 2D rendering. The decision to integrate the two libraries was motivated by the desire to keep each operation as computationally simple as possible, allowing the app to render a large number of entities without overloading the browser engine.
Since the scope and functionality of the project are quite limited, files are served by Rack, an ultra-lightweight server written in Ruby.
Three.js objects are extended via classes like Cube and BackgroundPattern to keep code DRY and modular.