aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/sync.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-09-04 08:31:47 -0700
committerAdam Soltys <[email protected]>2026-09-04 08:31:47 -0700
commit90cf8a5bbae130899c74360b12b5f706a65b9000 (patch)
treea71891816320ccd85eaf20b2c143cf0468de6005 /src/features/sync.js
parent53b283837f6b8341602b17ff9210cb85d1ec8ae0 (diff)
downloadcoinosv3-90cf8a5bbae130899c74360b12b5f706a65b9000.tar.gz
coinosv3-90cf8a5bbae130899c74360b12b5f706a65b9000.zip
The new account's history now loads the moment a carousel flick is released, not after the slide lands. The old model held ALL renders until the glide settled (a mid-glide morph used to strip the drag's inline snap-none and yank the card — so nothing could paint until rest, and the history switch waited out the whole animation). New model: the strip alone is frozen against the morph (_skipMorph short-circuits that subtree) while renders run freely, so the release can commit the account switch immediately — desktop knows the chosen card exactly (it computes the target itself), touch predicts it from the release position + scroll velocity (nearest card, pushed one over on a real flick — the same physics mandatory snap applies). settle stays the authority: it unfreezes the strip, runs a syncing render, and corrects a rare wrong touch guess when the snap actually lands. Renders stay held only while the finger is DOWN (pointermove writes scrollLeft on the main thread — a render there eats frames)
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01MGzU12QrAA4G6BYGzGVdXz
Diffstat (limited to 'src/features/sync.js')
0 files changed, 0 insertions, 0 deletions