memlnaut-nisps/playground/js/shapeseq
w1n5t0n b4b4025f59 feat(shapeseq): polyrhythm — per-generator step counts with LCM tiling
Generators can now have independent step counts. When merging patterns
of different lengths, both are tiled to their LCM. Chain exposes
setGeneratorStepCount/getGeneratorStepCount for polyrhythmic control.
2026-04-06 23:31:45 +01:00
..
tests feat(shapeseq): polyrhythm — per-generator step counts with LCM tiling 2026-04-06 23:31:45 +01:00
chain-ui.js feat(shapeseq): implement Layer 3 — chain builder UI and sequencer core 2026-03-24 02:10:04 +02:00
chain.js feat(shapeseq): polyrhythm — per-generator step counts with LCM tiling 2026-04-06 23:31:45 +01:00
clock.js feat(pattern): add midiNote field + trigger-aware merge 2026-04-06 23:28:01 +01:00
event-bus.js refactor(event-bus): extract to shared module 2026-04-06 23:18:47 +01:00
param-map.js feat(shapeseq): implement Layer 0 foundation modules 2026-03-24 01:57:59 +02:00
pattern.js feat(shapeseq): polyrhythm — per-generator step counts with LCM tiling 2026-04-06 23:31:45 +01:00
primitive.js feat(shapeseq): implement Layer 1 modules 2026-03-24 02:02:01 +02:00
primitives.js feat(pattern): add midiNote field + trigger-aware merge 2026-04-06 23:28:01 +01:00
prng.js feat(shapeseq): implement Layer 0 foundation modules 2026-03-24 01:57:59 +02:00
projection.js fix(shapeseq): fix 6 bugs found in fresh-eyes review 2026-03-24 11:42:25 +02:00
seq-iml.js feat(shapeseq): implement Layer 0 foundation modules 2026-03-24 01:57:59 +02:00
sequencer.js feat(pattern): add midiNote field + trigger-aware merge 2026-04-06 23:28:01 +01:00
step-viz.js feat(shapeseq): implement Layer 1 modules 2026-03-24 02:02:01 +02:00