Docs · 03
Layers, chains and motifs
The three words the whole model is built from.
Chain
One layer is a linear chain: a source, then an effect, then another effect — mirroring Strudel’s method chaining exactly.
Edge order is method order. There is no hidden reordering, so the picture on the canvas and the line in the file say the same thing. A card shows its generator plus a component list of its effects; Add appends one, and Expand / Reduce switches between the collapsed view (generator plus an effect count) and every editor in place.
Motif
A motif is a named, reusable pattern fragment. In the generated code it is a let binding.
- Extract one from any pattern node with the scissors, and every layer referencing it follows your edits from then on.
- Delete one and its references are inlined first, so removing a motif can never silence a layer by surprise.
This is the feature that pays for the whole graph: a motif shared by four layers is edited once, and the file still reads as ordinary Strudel to anyone who opens it.
Arrangement
Each layer carries one on/off flag per song cycle, which compiles to a mask:
.mask("<1 1 0 1>")
The timeline edits those flags. See the arrangement timeline for what it draws inside each cycle and how it decides how long the song is.
Working on the canvas
| Gesture | Does |
|---|---|
| Left- or middle-hold | Pan |
| Right-click | The searchable action menu — new instruments, new submixes, bus outputs |
| Shift+drag | Box select |
| Ctrl/Cmd+click | Add to the selection |
| Delete | Remove the selection as a single undo step |
| Drag an output handle onto a bus | Route that instrument through the bus |
The raw-code drawer on the right follows whichever card is selected, so you can always see the lines your edit is about to print — and apply source edits back the other way when you want to.