memlnaut-nisps/playground/src/stores
w1n5t0n add05ea554 feat(playground): solid stores + signal bus
Seven Solid stores wired up around the architecture's reactivity model
(§7.1). Each store uses createStore for object state + createSignal for
Float32Arrays where appropriate; setters mutate the store and schedule a
debounced (200ms) localStorage write through src/stores/persistence.ts.

- bus.ts: typed signal bus with prefix wildcards (ml.*, ui.*, mode.*,
  pin.*, snap.*). Singleton coreBus for app-wide events.
- ml-store.ts: shape final, methods stub-throw "not implemented" until
  stream 7 wires WASM. Outputs and weights are separate Float32Array
  signals so the store proxy doesn't run on every audio-rate tick.
- input-store.ts: full input pipeline config (zoom, anchor, deadzone,
  curve, smoothing, momentum, invert) + persisted live state.
- output-store.ts: globalCurve, smoothing, slewRate, freezeOutput,
  freezeMask. Mask not persisted (engine-specific).
- mode-store.ts: activeModeId + per-mode { paramName → ParamOverride }.
- control-store.ts: Boldness/Memory/Precision compound axes with
  interpolation tables and offset-based overrides (trim-pot model).
  Tables and 6 built-in CONTROL_PRESETS mirror legacy
  js/ui/control-surface.js exactly. interpolateAxis() exposed for
  testing. Stream 10 wires resolveParams() into other stores.
- session-store.ts: ring-buffered snapshot stack (max 20), A/B
  capture/toggle/accept/revert, region pins (max 5), param pins
  (toggle + mask builder), named session presets.
- index.ts: public re-exports for components and modes.

Stream 8 of the rewrite (meml-911).
2026-04-29 15:38:05 +03:00
..
bus.ts feat(playground): solid stores + signal bus 2026-04-29 15:38:05 +03:00
control-store.ts feat(playground): solid stores + signal bus 2026-04-29 15:38:05 +03:00
index.ts feat(playground): solid stores + signal bus 2026-04-29 15:38:05 +03:00
input-store.ts feat(playground): solid stores + signal bus 2026-04-29 15:38:05 +03:00
ml-store.ts feat(playground): solid stores + signal bus 2026-04-29 15:38:05 +03:00
mode-store.ts feat(playground): solid stores + signal bus 2026-04-29 15:38:05 +03:00
output-store.ts feat(playground): solid stores + signal bus 2026-04-29 15:38:05 +03:00
persistence.ts feat(playground): solid stores + signal bus 2026-04-29 15:38:05 +03:00
session-store.ts feat(playground): solid stores + signal bus 2026-04-29 15:38:05 +03:00