diff options
| author | Adam Soltys <[email protected]> | 2026-10-15 09:37:42 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-15 09:37:42 -0700 |
| commit | 393d4d77f03b015e2c15be19642cdd01364a3153 (patch) | |
| tree | a198f94426aaf28748a631f8b8ddf51e1acc73cc /%2522%2520behind%2527,%2520%2521 | |
| parent | 92c8b758c7b1876f59d79bef65ea38dffc41ca4b (diff) | |
| download | coinosv3-master.tar.gz coinosv3-master.zip | |
Media pager: a picture flies in as the feed's copy and is sharpened at rest; one zoom layer, not one per slide. A flight through the pager stuttered on the phone (Adam, 2026-10-16: "a bit of choppiness as they scroll"): every slide within a screen and a half loaded its picture's ORIGINAL as it passed — camera files of several megapixels, decoded on the main thread and uploaded as textures mid-flight — and every slide's <img> carried will-change: transform (for the pinch), a full-size layer each. Now a slide's <img> starts on the copy the feed painted (1100px wide, decoded already: mediaReady's thumb), or the server's copy (pic.webp s=col, cached at the CDN), or failing both the original (onError falls back to it too); decoding async. The slide at rest is sharpened a moment after landing (pagerSharpen: the original fetched and decoded aside, then swapped in — same box, same aspect), so a pinch has the detail, and a slide paged past costs nothing. Only the current slide (mp-cur, set in pager.arrive) has the layer. tools/pager-sharpen-test.js (three 4-megapixel pictures: every slide opens on a blob copy, the one on screen alone has will-change, it is sharpened to the original within a moment while the others keep their copies, ArrowDown moves the layer and sharpens the next); feed-picture-pager, pager-resize, pager-wheel, thread-pager and pager-swipe-fly tests pass.HEADmaster
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01J1Kon8bxJoHRpJdSzshCkp
Diffstat (limited to '%2522%2520behind%2527,%2520%2521')
0 files changed, 0 insertions, 0 deletions
