memlnaut-nisps/playground/js
monkey-w1n5t0n 4507db00c8 fix(modular): matrix cells opt-in + per-group drawer for non-C15 engines
Two fixes driven by user reports:

1. MLP wasn't affecting the sound. Matrix cells are now opt-in to the
   MLP output vector rather than always-driven. Default modular paramMeta
   is 32 mod-source params (4 ADSR * A/D/S/R + 8 LFO * rate/morph), down
   from 512. The default patch's MM_Matrix/s00_d08_amp=1.0 now survives
   the first inference tick because it's not in paramMeta — ADSR1 stays
   routed to amp and the MLP drives envelope shape per joystick position.

   Matrix cells still clickable as direct-DSP knobs in modular-ui: setCell
   now routes through engine._setRawByLabel(). A later UI pass can add a
   "expose to MLP" menu entry that calls engine.setExposeMatrixCell(s,d).

   Also removes the earlier exampleCount-based routing gate; no longer
   needed now that the default patch is stable.

2. Per-group curve drawer (hover over section labels on the synth
   visualizer) is now available for all synth engines, not just C15.
   Refactored showGroupDrawer behind a getSectionView(sectionIndex)
   helper that returns a uniform view for either C15 (via SYNTH_SECTIONS
   + groupOverrides) or non-C15 (via nonC15Sections + nonC15GroupCurves
   + engineParamOverrides).

   Group-level curve persists across sub-engine swaps by group name, so
   e.g. tuning the "ADSR 1" curve survives a switch between subtractive
   and fm without being reset.

ModularEngine: adds setExposeMatrixCell(s,d,exposed) +
getExposedMatrixCells() + clears exposed cells on sub-engine swap.
2026-04-11 08:31:19 +02:00
..
audio feat(audio-canvas): per-file loop count, beat-synced lengths, param range groups, pitch lock 2026-04-03 20:36:24 +01:00
eoc Merge EOC Delay + Saturation + Master Bus modules (meml-2sl, meml-2zm) 2026-04-03 18:22:00 +01:00
midi feat(playground): engine-aware heatmap + MIDI CC storage on engine switch (meml-qaa) 2026-04-03 17:55:39 +01:00
nisps feat(playground/nisps): warm-start weight transfer on MLP resize (meml-8jc) 2026-04-03 17:27:54 +01:00
shapeseq test(shapeseq): add test runner + smoke tests 2026-04-07 00:03:29 +01:00
synth fix(modular): matrix cells opt-in + per-group drawer for non-C15 engines 2026-04-11 08:31:19 +02:00
ui fix(modular): matrix cells opt-in + per-group drawer for non-C15 engines 2026-04-11 08:31:19 +02:00
a-app.js fix(modular): matrix cells opt-in + per-group drawer for non-C15 engines 2026-04-11 08:31:19 +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
event-bus.js refactor(event-bus): extract to shared module 2026-04-06 23:18:47 +01:00