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. |
||
|---|---|---|
| .. | ||
| egtest | ||
| gtauri | ||
| ttimg | ||
| tttest | ||