diff options
| author | Adam Soltys <[email protected]> | 2026-09-04 07:24:52 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-04 07:24:52 -0700 |
| commit | 2f6d30ebe9100fd6767858cb755445cd7a25cf84 (patch) | |
| tree | 0a1bd828dc00105c108c0ad8bca174f2243bff52 /src | |
| parent | 0a34c1d0981c65ebba0551904ad598704036d725 (diff) | |
| download | coinosv3-2f6d30ebe9100fd6767858cb755445cd7a25cf84.tar.gz coinosv3-2f6d30ebe9100fd6767858cb755445cd7a25cf84.zip | |
TEMP: trace scrollLeft per frame into window.__scroll to catch a position jump during a flick (a stutter that isn't a dropped frame)
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01MrkLsNScXe9b6BviUSdmMr
Diffstat (limited to 'src')
| -rw-r--r-- | src/app.js | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -3191,11 +3191,21 @@ function dlog(s) { } // TEMP: continuously watch for dropped frames and log any >40ms gap, so a // real drag's jank shows up in __dl next to the release/settle it overlaps. +// Also trace scrollLeft every frame into __scroll to catch a position JUMP +// (a stutter that isn't a dropped frame). try { let _lastFrame = performance.now(); + window.__scroll = []; const _fw = (t) => { const gap = t - _lastFrame; _lastFrame = t; if (gap > 40) dlog('FRAME-DROP ' + Math.round(gap) + 'ms'); + try { + const el = document.querySelector('.bal-carousel'); + if (el) { + window.__scroll.push([Math.round(t), Math.round(el.scrollLeft), Math.round(gap)]); + if (window.__scroll.length > 400) window.__scroll.shift(); + } + } catch {} requestAnimationFrame(_fw); }; requestAnimationFrame(_fw); |
