- Check that recalculating the zoom transform in fact has a relative error of 10^-15, not absolute error. If latter, rethink transform.
- Slider positions need to be updated during zoom; have not figured out a "clean" way to do this that doesn't involve signals or unnecessary inter-object communication. I may remove the event filter completely.
- Fix FitToView and ZoomToFit idempotency.
- Related to slider-to-pixel transform having an offset of slider_width/2 pixels.
- At large zooms, the sliders start taking the wrong positions due to floating point errors?
- Remove asserts (or catch AssertionFailure) and just refuse to honor zooms at some point.
- Implement offset/magnitude visualization properly, as it seems to get stuck.
- Need to add a "max number of ticks to display" to ticker class to avoid label overlap.
- Scroll wheel zoom needs to be fixed per the following discussion with sb0:
- sb0: Just to reiterate, the behavior you want is that if you zoom the mouse if the cursor is in the center of two overlapped sliders, the sliders should separate equal distance (in pixels) relative to the center of your zoom.
- Make zoom, label precision, dynamic range, min ticks user-settable, exposed in ScanWidget methods.
- Change slider behavior so that sliders can cross/overlap.
- Implement slider hiding when zoom causes sliders to disappear.
- Convert FitToView and ZoomToFit to context menu, add Reset.
- Axis widget should capture scroll events from slider.
- Add number of points functionality+shift-drag.
- Add tick mark visualization for number of points.