memlnaut-nisps/playground/js/ui
monkey-w1n5t0n 6072fe80ac fix(modular): restore matrix in paramMeta + bypass MLP when untrained
Previous fix pulled matrix cells out of paramMeta to avoid the
default-patch-clobbering silence issue. Side effect: paramCount dropped
from 512 to 32, the heatmap strip and synth visualizer shrank
dramatically, and moving the joystick no longer animated matrix cells
(the user's two most recent complaints).

Better approach: put matrix cells back in paramMeta (512 outputs), but
when iml.exampleCount === 0 substitute the normalised default-patch
vector for the raw MLP output in routeOutputs. The engine sees the
default patch exactly, audio works, and the user still sees 512 cells
in the heatmap / matrix grid. As soon as they capture their first
training example the MLP resumes driving everything normally.

ModularEngine.getDefaultNormalizedOutputs() returns the normalised
default value per paramMeta entry, reading from _lastRawByLabel first
(so user edits via click or _setRawByLabel propagate) and falling back
to the walk-entry init field.

modular-ui setCell now prefers engine.setParam over _setRawByLabel when
the cell is in paramMeta, so writes flow through the normal tracking
path and are visible to getDefaultNormalizedOutputs on the next tick.

Verified in headless Chromium: switching to modular, cold start, reading
engine._lastRawByLabel after routeOutputs ticks shows ampRaw=1,
attackRaw=0.01, enableRaw=1 — the default patch is preserved. paramCount
is 512 again. 0 console errors.
2026-04-11 08:50:59 +02:00
..
ab-compare.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00
auto-explore.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00
control-surface-ui.js hello come back to me 2026-03-30 17:05:45 +03:00
control-surface.js hello come back to me 2026-03-30 17:05:45 +03:00
controls.js feat(playground): unify learning modes, add MIDI input and gamepad support 2026-03-22 11:01:50 +02:00
dev-panel.js feat(playground): add MediaPipe hand tracking input with dev panel 2026-03-23 23:28:58 +02:00
engine-switcher.js feat(playground): engine switcher UI component (meml-phg) 2026-04-03 17:49:07 +01:00
eoc-chain-ui.js Merge EOC Delay + Saturation + Master Bus modules (meml-2sl, meml-2zm) 2026-04-03 18:22:00 +01:00
eoc-joystick.js feat(playground): EOC NISPS Independent mode — separate FX joystick (meml-vqo) 2026-04-03 18:21:59 +01:00
gamepad.js feat(playground): expand gamepad support with face buttons and Steam Deck fixes 2026-03-22 22:40:15 +02:00
gradient-flow.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00
hand-tracker.js feat(playground): add MediaPipe hand tracking input with dev panel 2026-03-23 23:28:58 +02:00
input-heatmap.js feat(playground): batch inference support in input heatmap 2026-04-03 17:18:01 +01:00
input-pipeline.js fix(playground): 3 bugs found during bug hunt 2026-04-03 17:30:26 +01:00
joy-map-enhanced.js hello come back to me 2026-03-30 17:05:45 +03:00
joystick.js style(playground): unify dark theme with orange accents and improve RL button layout 2026-03-22 01:36:00 +02:00
modular-ui.js fix(modular): restore matrix in paramMeta + bypass MLP when untrained 2026-04-11 08:50:59 +02:00
output-pipeline.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00
param-display.js style(playground): unify dark theme with orange accents and improve RL button layout 2026-03-22 01:36:00 +02:00
param-pin.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00
phase2-ui.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00
phase3-ui.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00
phase4-ui.js hello come back to me 2026-03-30 17:05:45 +03:00
pressure-feedback.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00
region-pin.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00
session-presets.js feat(shapeseq): session serialization + preset integration 2026-04-07 00:01:12 +01:00
snapshot-stack.js fix(playground): 3 bugs found during bug hunt 2026-04-03 17:30:26 +01:00
visualizer.js playground: add orbiting repulsor field controls 2026-02-11 15:50:06 +00:00
weight-health.js feat(playground): implement Phases 2-4 of control surface spec 2026-03-26 10:48:12 +02:00