Version 013 of Andiamo implements a stack of layers that can be edited in real-time. This system is based on the analogy of a drawing made of many semi-transparent sheets of paper. The sheets are stacked on top of one another to generate the final image. Layering is a very important technique that allows to create complex results from a relatively simple palette of effects. For example, starting with a video and applying a combination of edge detection, posterize, pixelation and bloom effects, a result like the following is obtained:
Note on the right side of the screen (click on the image to see it without cropping) the layer selection strip that allows to chose the current layer in the stack. Andiamo has 6 different types of layers: drawing, filter, shapes, image, text and clips. All layer types, except the filters, render something to the canvas. In this sense the filter layers are different, since they take the current content of the canvas and use it as the source image for the filter effect (implemented as GPU shaders). The resulting filtered image is drawn to the canvas, so the subsequent layers can draw on top of it.
The current stack mechanism allows the insertion and deletion of layers in real-time, and dynamic reordering of the stack is planned for future releases. This latter feature in fact depends more on the implementation of the interface elements to handle reordering, than in the improvement of the stack manager, since it is already based on the assumption of a dynamically changing stack.