memlnaut-nisps/playground/js
w1n5t0n d40711eb77 fix(shapeseq): fix 6 bugs found in fresh-eyes review
1. Pitch pipeline: IntervalLock stores midiNote/127, sequencer now
   converts back via pitch*127. Removed pitch RangeMap from projection
   presets (was double-mapping already-quantized values).

2. Clock step duration: changed from quarter-note grid (60/bpm) to
   16th-note grid (60/bpm/4). 8 steps at 120 BPM now = 1 second.

3. Method name: drawWeights → randomiseWeights (matching WasmIML API).

4. Dirty-check: setSequenceInputs now skips re-evaluation when inputs
   haven't changed (epsilon 1e-5). Avoids 60fps chain evaluation.

5. SwingGroove: swingGrid param now functional — selects 8th note
   (period 2), 16th note (period 4), or triplet (period 3) swing grid.

6. IntervalLock base octave: starts from C3 (MIDI 48) instead of C0,
   so default output is in a playable range.
2026-03-24 11:42:25 +02:00
..
nisps feat(playground): replace JS ML engine with WASM nisps-core 2026-03-23 23:23:07 +02:00
shapeseq fix(shapeseq): fix 6 bugs found in fresh-eyes review 2026-03-24 11:42:25 +02:00
synth fix(playground): move arpeggiator to Worker thread, throttle synth params 2026-03-24 01:42:37 +02:00
ui feat(playground): add MediaPipe hand tracking input with dev panel 2026-03-23 23:28:58 +02:00
a-app.js feat(shapeseq): integrate ShapeSeq into synth mode, replace arpeggiator 2026-03-24 02:17:32 +02:00
app.js fix(playground): prevent 1/2 keys being swallowed by focused sliders 2026-03-22 11:52:30 +02:00
b-app.js feat(playground): expand gamepad support with face buttons and Steam Deck fixes 2026-03-22 22:40:15 +02:00
c-app.js feat(playground): expand gamepad support with face buttons and Steam Deck fixes 2026-03-22 22:40:15 +02:00