Skip to content

v0.4.2

Choose a tag to compare

@physwkim physwkim released this 02 Jul 03:25
· 260 commits to main since this release

Follow-up patch to the 0.4.1 trackpad-momentum fix. siplot, sidm, and adl2sidm published to crates.io in lockstep; only siplot has a functional change.

Added — siplot

Plot::scroll_zoom flag (default true) to disable wheel/trackpad zoom per plot. When false the whole wheel handler is skipped — no scroll is read, no momentum guard runs, no zoom happens — while box-drag zoom, the toolbar Home/Zoom buttons, and the context menu are unaffected. Opt out with plot.plot_mut().scroll_zoom = false.

Fixed — siplot

  • Wheel-zoom no longer stops working on plots that refit to data on every update. The 0.4.1 momentum guard was armed inside the low-level reset_zoom_to_data_range, which the widget also funnels its autoscale-refit-on-content-change through (apply_auto_limits → apply_limits_from_data_bounds). A plot rebuilding its curves each update re-armed the guard every frame, so the handler swallowed every scroll and wheel-zoom stopped entirely (box-drag zoom and Zoom Back were unaffected). The arm now lives on the user-facing reset verbs (Plot::reset_zoom arms after the refit; Plot::zoom_back already armed its own) and the shared low-level path no longer arms.
  • Context-menu "Reset Zoom" refits to the live data range instead of restoring a stale home snapshot. For a long-lived plot whose content is rebuilt while zoomed in, home_limits was re-captured as the zoomed view, so Reset Zoom reverted to the zoom (a no-op). It now calls Plot::reset_zoom — refit the autoscale-on axes to live data, matching the toolbar Home button and silx resetZoom.

Full changelog: v0.4.1...v0.4.2