The EXPAND functionality in #87 is basic, and works, but has a couple of shortcomings:
When scrolling in CENTER mode, the bandscope data that was "offscreen" isn't rendered, so we lose the main advantage of EXPAND mode in CENTER.
Spectrum/waterfall data seems to be "chunkier" than on the radio. I think the radio does some interpolation/averaging between points.
The solution seems to be to do most of the work client-side
Back out the changes in #87 to make the server-side expand functionality done in the client.
Broadcast a new event for EXPAND mode state, and handle it in the Bandscope Hook in JS.
This is challenging because the spectrum points are all just jammed straight into the resulting SVG, and none of the functionality for the spectrum is drawn in JS.
Interpolate/average the points, rather than simply duplicating them.
Figure out a way to draw the bandscope "offscreen" and then scroll the offscreen pixels into view when changing frequency in CENTER mode.
The EXPAND functionality in #87 is basic, and works, but has a couple of shortcomings:
The solution seems to be to do most of the work client-side