Skip to content

v0.5.0

Choose a tag to compare

@the-database the-database released this 18 Aug 04:58
· 36 commits to main since this release

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).