memlnaut-nisps/scripts
monkey-w1n5t0n ffac04090c refactor(firmware): delete vendored daisysp and the input_router layer
Phase 1 group 8 (S8, ST2, L14).

- S8: the vendored src/daisysp tree (96 files, 41 .cpp compiled into every
  firmware build) and its sketch-tree symlink. Zero consumers — nisps replaced
  daisysp's PitchShifter with a custom granular implementation. Corrected
  firmware/README.md and setup-firmware-toolchain.sh, which called it a live
  submodule. The attribution comment in nisps/dsp/pitch_shift.hpp stays: it is
  an honest provenance note about a port, not a dependency.
  Noted while verifying: src/memllib/examples/KassiaAudioApp includes
  ../../daisysp/..., but examples/ is not symlinked into the sketch tree and is
  never compiled by the firmware build, so the deletion stands.
- ST2: input_router.hpp was a zero-logic speculative layer with one consumer;
  the .ino now calls bind_peripherals directly.
- L14: peripherals.hpp — deleted kAnalogInputCount, PeripheralBindings and the
  unused spread local, and extracted the duplicated commit-and-train block into
  one helper. The audit's suggested commit_and_train(mode, feedback) signature
  could NOT be behaviour-identical: repositioning() implies placing() (both
  live in ExploreState::Placing), so dispatching on feedback state inside the
  helper would silently reroute a TogB2 press mid-reposition from commit_place
  to commit_reposition, which differs (no snapshot restore, clears
  reposition_). Implemented as commit_and_train(mode, feedback, bool
  reposition) with the branch decided at the call site, preserving behaviour.

Firmware is not compiled by any gate yet (that arrives with the PlatformIO
migration, plan §5/S9), so this group is verified by reading and grep only.
Gates: run-all-tests.sh ALL GREEN.
2026-07-21 12:49:25 +02:00
..
build-and-flash-firmware.sh Add firmware variant selection to build scripts 2026-04-16 00:37:58 +09:00
build-cpp-tests.sh Stream 11: verification infrastructure (golden vectors + parity + lint + CI + Playwright migration) 2026-04-29 19:50:55 +03:00
build-firmware-arch.sh ci: restore verification — reachable submodule pin, codegen + WASM freshness gates 2026-07-21 11:57:32 +02:00
build-firmware.sh Preserve firmware variant capitalization 2026-04-16 00:46:02 +09:00
build-wasm.sh refactor(wasm): delete 12 dead C-API entries and the weights-publish channel 2026-07-21 12:48:50 +02:00
firmware-common.sh refactor(ml)!: P2.1 storage-policy split — MLPCore<Storage>, fixed + dynamic models 2026-07-13 23:47:03 +02:00
flash-firmware.sh Improve UF2 bootloader detection 2026-04-16 00:52:39 +09:00
lint-cpp.sh refactor(ml)!: P2.1 storage-policy split — MLPCore<Storage>, fixed + dynamic models 2026-07-13 23:47:03 +02:00
parity-check.sh chore(build): P0 plumbing — WASM build/parity retarget to manifold/public 2026-07-13 23:14:23 +02:00
run-all-tests.sh ci: restore verification — reachable submodule pin, codegen + WASM freshness gates 2026-07-21 11:57:32 +02:00
setup-firmware-toolchain.sh refactor(firmware): delete vendored daisysp and the input_router layer 2026-07-21 12:49:25 +02:00