Three ideas. Everything else in these pages is a detail of one of them.
Layers
Every sketch you add is a layer. Layers stack, and the stack is composited on the GPU into one picture that goes to the wall.
The stack reads bottom-up: the layer at the bottom of the list is drawn first, and everything above it is composited on top. Each layer has an opacity and a blend mode, and can be switched off without being removed.
Compositing happens on the graphics card, not in JavaScript and not through a copy back to the processor. That is why a heavy layer costs you frames in that layer rather than in the show, see the output.
Parameters
Each layer has parameters. There are two kinds and they are grouped separately on the surface.
- The ones Sialk gives every layer, scale, position, rotation. They act on the picture, not on the work inside it, so they exist even for a sketch that has never heard of Sialk. (These arrive with v1.)
- The ones your sketch declares, whatever you chose to expose. A number becomes a fader, a switch becomes a toggle, a menu becomes buttons, a colour becomes a swatch, a trigger becomes a FIRE button.
If a sketch declares nothing, the second group is simply absent. See declaring parameters for how to fill it.
Modulation
Every parameter can be modulated: pushed around by the music, or by a shape running in time.
The model is worth stating precisely, because it is the part that makes this an instrument rather than a control panel:
You set where a value rests. Something else decides where it goes.
The value you set by hand is the base. A modulator does not replace it, it carries the value away from it and lets it fall back. So a fader you have set to 0.3 with bass modulation on it still lives at 0.3, and visits 0.8 when the kick lands.
Modulation controls arrive with v1. In the beta the moving is done by the sketch itself: one that reads the audio contract reacts to the music on its own, with no modulators involved.
How the three fit together
A show is a stack of layers; a layer is a sketch plus its parameters; a parameter is a resting value plus whatever is pushing it. Save all of it with ⌘S and the whole arrangement comes back, see saving a show.