Architecture diagram

Controller

The collect of “signals” (audio, MIDI, keyboard and mouse) is done by the controller and sent to the worker (using the worker postMessage function).

Worker

The worker role is to collect and treat signal data from the controller, the setup persistence (in browser or gist) and web sockets.

It is possible (and advised for performance and timing) to run setup and animation scripts to process data which will be sent to the displays and controller (using the broadcast channel).

Displays

Like the worker, layers of a display have setup and animation scripts. The display renders by executing the animation sctipt reading a data buffer object. The data buffer object is updated independently (using the broadcast channel) from the rendering.