Mosaic es un entorno de programación visual y live coding implementado por Emanuele Mazza en colaboración con el Laboratorio de Luz de la UPV. Está basado en openFrameworks 0.11.0, es open-source y está disponible para Mac OSX (10.13 o superior) y para Linux [Ubuntu (a partir de 16.04), Mint, Debian (desde Debian 9 stretch), Arch y Fedora (a partir de Fedora 29)], aunque es más lógico que las aplicaciones open source se utilicen en sistemas operativos también open source.
¿Qué significa entorno de programación visual y live coding? En el sistema de programación visual por objetos, el flujo de datos se trasmite por medio de cables, la estructura de los objeto en el patch (archivo de Mosaic) facilita la comprensión del proceso como en un diagrama de flujos. Entre estos objetos hay algunos específicos de scripting para programar en distintos lenguajes (Lua, BASH, GLSL), vinculados a un editor de código para escribir la programación. Estos objetos pueden activarse simultáneamente lo que permite una programación con multi-lenguajes al mismo tiempo.
Mezclar los paradigmas de programación visual y scripting facilita la programación creativa. Cada objeto visual genera/gestiona flujos de datos en un proceso dinámico que proporciona plasticidad al desarrollo de la programación y la hace más intuitiva. La hibridación con la programación por scripting propicia una situación fértil de aprendizaje, una polinización cruzada entre la comprensión intuitiva de los objetos y el feedback que se recibe por comparación de todo el proceso de programación.