gallery/harnesses
Greg Pomerantz 029780cc09 gtauri viewer: two-image swipe commit — outgoing stays until off-screen
Fix: on release the old image vanished instantly and only the new one
slid in. Now both images live on the page strip for the whole commit:
vimg (outgoing) slides off-screen while vimg2 (incoming, the drag
preview) slides home, over a 200 ms smoothstep; only then do the
elements swap roles (vimg.src = the already-decoded preview image,
vimg2 hidden after the swap paints — no blank frame).

Details:
- navigate() returns whether it committed; at the library edges it
  refuses and the drag snaps back (previously a past-the-edge drag
  could leave the image stuck mid-strip).
- commit tweens are locked: pointer/dblclick input is ignored for the
  ~200 ms so a second gesture can't fight the animation.
- openViewer gains a keepVisible (promoted) path that skips the
  hide+thumb round-trip; vFullSeq reset per open (safety-net counter
  could previously exhaust after ~11 opens).
- removed the now-dead slideFrom slide-in mechanism (its purpose is
  subsumed by the two-image commit).

Verified on the emulator: mid-commit frame shows both images
(outgoing sliding off left, incoming from right); snap-back slides
both back; edge drag right on the first image snaps home.
2026-11-03 13:04:53 -05:00
..
egtest harness: sync egtest spin-driver build 2026-10-31 06:18:42 -04:00
gtauri gtauri viewer: two-image swipe commit — outgoing stays until off-screen 2026-11-03 13:04:53 -05:00
ttimg gtauri: pure-push watching only; one emit per burst; live swipe preview 2026-11-03 12:49:30 -05:00
tttest harness: tttest — Tauri 2 / WebView scroll-jank testbed (third stack) 2026-10-31 13:53:43 -04:00