One line, gated by another
A steady run:
run: 1 2 3 4 5 6 7 8
Thinned — keep every other step, rest the rest:
thin: { op: decimate, keep_every: 2 } # 1 . 3 . 5 . 7 .
Gated — a second line decides where the run sounds; where the gate is 0, the run goes silent:
gate: 1 1 0 0 1 1 0 0
gated: { op: mask, line: gate } # 1 2 . . 5 6 . .
Masking is the studio gate, written as one line shaping another point for point — the same primitive that pairs a value with its co-indexed context everywhere else in the engine.