Repository navigation
v0.5.0
Desktop touchscreen support + unified gesture physics (#9)
Touch, pen-on-glass, and mouse now share one gesture engine, so the physics are identical everywhere:
- Pan physics on every platform: panning a zoomed or overflowing page (including huge images at 1:1) glides on release and coasts to a stop, clamping at the page edges - on the desktop (touch and mouse drag) and now on Android too.
- Finger scroll in continuous-scroll mode with an inertial fling (tap to catch it). When zoomed, horizontal drags pan the strip and glide as well - this also fixes Android's zoomed scroll strip, which previously couldn't be finger-scrolled at all.
- Swipe to flip pages with flick-to-commit and snap-back, plus a drop shadow riding the dragged edge.
- Pinch-zoom anchored to the finger midpoint, with a detent at the fit scale.
- Robust on real digitizers: lift-off "bounce" contacts no longer kill flings, and burst-delivered events can't zero a release velocity.
- Taps follow each platform's existing rules (desktop: edge taps flip, middle double-tap toggles fullscreen).
- The desktop info overlay (key I) shows a live Touch row with release/glide velocity for diagnosing feel.
Also new:
- Scroll speed setting (Settings panel): scales mouse-wheel scrolling from 0.25x to 3.00x. Drags stay 1:1 with the content and flings keep the velocity you threw them with.
No changes to the decode/render pipeline - rendering and seek throughput are identical to v0.4.1 when no input is active. Includes the spine-shadow retune and stretch-fitting option from earlier on main (#11, #13).