crates/namir-clap/src/params_ext.rs:155, 178, src/audio.rs:189, src/ui_host.rs:183
ClapUiHost::set_param writes the mirror and the engine ring only. Both flush impls take _output_parameter_changes: &mut OutputEvents and ignore it, process() never touches events.output, no ParamGestureBegin/ParamGestureEnd is emitted anywhere, and HostParams::request_flush() is called by nothing in src/ (only the test host implements it).
A user turning a knob in the embedded editor therefore cannot have the move recorded as automation, and the host's generic parameter UI stays stale until it independently re-polls get_value. Not booked as a known gap in the FRS, architecture or roadmap.
Fix: queue GUI-originated changes and drain them into output_parameter_changes in both flush impls and into events.output in process(), wrapped in gesture events; call request_flush() from the main thread when inactive.
crates/namir-clap/src/params_ext.rs:155, 178,src/audio.rs:189,src/ui_host.rs:183ClapUiHost::set_paramwrites the mirror and the engine ring only. Bothflushimpls take_output_parameter_changes: &mut OutputEventsand ignore it,process()never touchesevents.output, noParamGestureBegin/ParamGestureEndis emitted anywhere, andHostParams::request_flush()is called by nothing insrc/(only the test host implements it).A user turning a knob in the embedded editor therefore cannot have the move recorded as automation, and the host's generic parameter UI stays stale until it independently re-polls
get_value. Not booked as a known gap in the FRS, architecture or roadmap.Fix: queue GUI-originated changes and drain them into
output_parameter_changesin bothflushimpls and intoevents.outputinprocess(), wrapped in gesture events; callrequest_flush()from the main thread when inactive.