memlnaut-nisps/playground/js
w1n5t0n e3b94d644f feat(shapeseq): implement Layer 0 foundation modules
Five independent modules with no interdependencies:

- event-bus.js: namespaced pub/sub (seq.*/ml.*/ui.*) with wildcard
  subscriptions and automatic AudioContext/performance.now timestamps
- prng.js: seedable mulberry32 PRNG with pure-functional API, fork()
  for independent per-primitive streams, serializable state for freeze
- pattern.js: symbolic pattern description data structure with
  create/clone/merge/validate, additive and multiplicative merge modes
- param-map.js: maps fixed 16-output MLP to variable-count primitive
  params via linear interpolation, with optional per-param min/max scaling
- seq-iml.js: factory for second WasmIML instance (2 inputs, 16 outputs,
  [16,16,16] hidden layers) following existing imlJoy/imlHand pattern

All modules are ES modules with no build step. PRNG, pattern, and
param-map are port-ready (explicit state, typed arrays, no closures).
2026-03-24 01:57:59 +02:00
..
nisps feat(playground): replace JS ML engine with WASM nisps-core 2026-03-23 23:23:07 +02:00
shapeseq feat(shapeseq): implement Layer 0 foundation modules 2026-03-24 01:57:59 +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 fix(playground): move arpeggiator to Worker thread, throttle synth params 2026-03-24 01:42:37 +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