The use of d3.dispatch becomes necessary when you need two-way communication; hacking with mutable is possible but tricky.
Plot charts are redrawn systematically: there is no mechanism (yet) in Plot to update a chart. What's possible is to create a special mark that exposes an update() method which redraws just the one mark.
If you want to keep the same domains, just compute the scales (once) outside the reactivity, and reuse them explicitely?
Thanks! Ok then I will use d3.dispatch -:)
w.r.t update, noted I will try this approach (in the meantime I guess I can throttling event or just listening brush end events if too many data points).
w.r.t to domains yes obviously.
Thanks for your quick comment on this -:)