memlnaut-nisps/tests/cpp
monkey-w1n5t0n c986377b4c feat(firmware): reposition gesture — relocate an existing example to a new input
Add a "grab → move → drop" gesture that moves an existing positive
example's output to a new input position, preserving the output. This is
the new core's home for upstream InterfaceRL's drag-store/reposition-commit,
distinct from Explore→Place (which places newly-auditioned scratchpad sounds).

- nisps/ml/feedback.hpp: begin_reposition()/commit_reposition()/repositioning().
  Reuses the Placing state (static_output holds the carried vector) but a
  reposition_ flag makes commit AND the mode-switch teardown SKIP the weight
  restore — the real net is never set aside here, so restoring snapshot_ would
  clobber the live trained net. Guards cancel_place + abort_explore_place.
- firmware glue: state-gate Toggle B. Exploring → reroll/nudge (unchanged);
  Idle → MomB1 grab, MomB2 drop (commit + add_example + train). The 4D variant
  has no joystick button, so the gesture lives on the momentary toggle. Also
  fix a stale top-of-file control-map comment that contradicted the bindings.
- tests: 4 reposition cases (hold without snapshot; commit stores carried
  output with no restore; mode-switch aborts without clobber; begin-only-Idle).
- MAP.md: document the full ExploreAndPlace lifecycle + reposition wiring.

Audio-hold (carrying the sound audibly during the move) remains the existing
unwired static_output() TODO and affects Explore→Place identically.
Firmware compile unverified (no arduino-cli); host tests + lint pass.
2026-06-28 23:45:27 +02:00
..
.gitignore Stream 11: verification infrastructure (golden vectors + parity + lint + CI + Playwright migration) 2026-04-29 19:50:55 +03:00
engine_impulse.cpp Stream 11: verification infrastructure (golden vectors + parity + lint + CI + Playwright migration) 2026-04-29 19:50:55 +03:00
engine_impulse_baseline.bin Stream 11: verification infrastructure (golden vectors + parity + lint + CI + Playwright migration) 2026-04-29 19:50:55 +03:00
ml_golden_vectors.cpp Stream 11: verification infrastructure (golden vectors + parity + lint + CI + Playwright migration) 2026-04-29 19:50:55 +03:00
parity_check.cpp feat(manifold): MIDI + game controller inputs; widen ML net to N-D 2026-06-28 21:05:48 +02:00
parity_diff.mjs feat(nisps/ml): crystallise Explore-and-place into shared FeedbackController 2026-06-28 04:14:12 +02:00
parity_wasm.mjs feat(manifold): MIDI + game controller inputs; widen ML net to N-D 2026-06-28 21:05:48 +02:00
test_dsp_biquad.cpp feat(nisps/dsp): lean DSP primitives ported from maximilian (meml-1v6) 2026-04-29 16:08:49 +03:00
test_dsp_delay.cpp feat(nisps/dsp): lean DSP primitives ported from maximilian (meml-1v6) 2026-04-29 16:08:49 +03:00
test_dsp_pitch_shift.cpp feat(nisps/dsp): lean DSP primitives ported from maximilian (meml-1v6) 2026-04-29 16:08:49 +03:00
test_dsp_reverb.cpp feat(nisps/dsp): lean DSP primitives ported from maximilian (meml-1v6) 2026-04-29 16:08:49 +03:00
test_engine_analysis.cpp feat(nisps/engines): port firmware audio engines to AudioEngine concept (meml-1v6) 2026-04-29 16:09:12 +03:00
test_engine_breakor.cpp feat(nisps/engines): port firmware audio engines to AudioEngine concept (meml-1v6) 2026-04-29 16:09:12 +03:00
test_engine_channel_strip.cpp feat(nisps/engines): port firmware audio engines to AudioEngine concept (meml-1v6) 2026-04-29 16:09:12 +03:00
test_engine_elysiamorf.cpp feat(nisps/engines): port firmware audio engines to AudioEngine concept (meml-1v6) 2026-04-29 16:09:12 +03:00
test_engine_memlcelium.cpp feat(nisps/engines): port firmware audio engines to AudioEngine concept (meml-1v6) 2026-04-29 16:09:12 +03:00
test_engine_no_op.cpp feat(nisps/engines): port firmware audio engines to AudioEngine concept (meml-1v6) 2026-04-29 16:09:12 +03:00
test_engine_paf_synth.cpp feat(nisps/engines): port firmware audio engines to AudioEngine concept (meml-1v6) 2026-04-29 16:09:12 +03:00
test_engine_verb_fx.cpp feat(nisps/engines): port firmware audio engines to AudioEngine concept (meml-1v6) 2026-04-29 16:09:12 +03:00
test_engine_xiasri.cpp feat(nisps/engines): port firmware audio engines to AudioEngine concept (meml-1v6) 2026-04-29 16:09:12 +03:00
test_fixed_buffer.cpp feat: nisps build + host test harness 2026-04-29 15:22:01 +03:00
test_helpers.hpp feat: nisps build + host test harness 2026-04-29 15:22:01 +03:00
test_main.cpp feat: nisps build + host test harness 2026-04-29 15:22:01 +03:00
test_math.cpp feat: nisps build + host test harness 2026-04-29 15:22:01 +03:00
test_mlp_feedback.cpp feat(firmware): reposition gesture — relocate an existing example to a new input 2026-06-28 23:45:27 +02:00
test_mlp_inference.cpp feat(nisps/ml): MLP library with fixed-architecture template + spread-aware RL (meml-wmh) 2026-04-29 15:55:43 +03:00
test_mlp_init.cpp feat(nisps/ml): MLP library with fixed-architecture template + spread-aware RL (meml-wmh) 2026-04-29 15:55:43 +03:00
test_mlp_jolt.cpp feat(slp-workshop): new MEMLCelium-based mode + port Jolt & OU-noise RL learning 2026-06-28 22:15:36 +02:00
test_mlp_loss.cpp feat(nisps/ml): MLP library with fixed-architecture template + spread-aware RL (meml-wmh) 2026-04-29 15:55:43 +03:00
test_mlp_ou_noise.cpp feat(slp-workshop): new MEMLCelium-based mode + port Jolt & OU-noise RL learning 2026-06-28 22:15:36 +02:00
test_mlp_rl.cpp feat(nisps/ml): MLP library with fixed-architecture template + spread-aware RL (meml-wmh) 2026-04-29 15:55:43 +03:00
test_mlp_serialize.cpp feat(nisps/ml): MLP library with fixed-architecture template + spread-aware RL (meml-wmh) 2026-04-29 15:55:43 +03:00
test_mlp_training.cpp feat(nisps/ml): MLP library with fixed-architecture template + spread-aware RL (meml-wmh) 2026-04-29 15:55:43 +03:00
test_mode_breakor_events.cpp test(nisps/modes): host C++ tests for stream 4 mode layer (meml-beb) 2026-04-29 16:27:03 +03:00
test_mode_concepts.cpp feat(slp-workshop): new MEMLCelium-based mode + port Jolt & OU-noise RL learning 2026-06-28 22:15:36 +02:00
test_mode_learning.cpp feat(slp-workshop): new MEMLCelium-based mode + port Jolt & OU-noise RL learning 2026-06-28 22:15:36 +02:00
test_mode_paf_synth.cpp feat(modes): ModeBase input-pin API for single/dual joystick 2026-06-28 21:17:51 +02:00
test_mode_voice_space.cpp test(nisps/modes): host C++ tests for stream 4 mode layer (meml-beb) 2026-04-29 16:27:03 +03:00
test_ring_buffer.cpp feat: nisps build + host test harness 2026-04-29 15:22:01 +03:00
test_rng.cpp feat: nisps build + host test harness 2026-04-29 15:22:01 +03:00