memlnaut-nisps/playground/js/shapeseq
w1n5t0n 122bdb9843 feat(sequencer): generation counter forces re-eval on config changes
The dirty-check that skips re-evaluation when inputs haven't changed now
also checks a generation counter. Config changes (tempo, step count,
projection, chain edits) bump the counter, ensuring the pipeline re-runs
even when joystick position is static.
2026-04-06 23:51:57 +01:00
..
tests feat(sequencer): generation counter forces re-eval on config changes 2026-04-06 23:51:57 +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 refactor(PitchWalker): redesign as processor, add reEvalOnLoop 2026-04-06 23:37:32 +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 refactor(PitchWalker): redesign as processor, add reEvalOnLoop 2026-04-06 23:37:32 +01:00
primitives.js refactor(PitchWalker): redesign as processor, add reEvalOnLoop 2026-04-06 23:37:32 +01:00
prng.js feat(shapeseq): implement Layer 0 foundation modules 2026-03-24 01:57:59 +02:00
projection.js refactor(projection): simplify to 3 global knobs 2026-04-06 23:41:30 +01:00
seq-iml.js feat(seq-iml): configurable output count with scaled architecture 2026-04-06 23:45:55 +01:00
sequencer.js feat(sequencer): generation counter forces re-eval on config changes 2026-04-06 23:51:57 +01:00
step-viz.js feat(shapeseq): implement Layer 1 modules 2026-03-24 02:02:01 +02:00