diff options
| author | Adam Soltys <[email protected]> | 2026-09-04 08:31:47 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-04 08:31:47 -0700 |
| commit | 90cf8a5bbae130899c74360b12b5f706a65b9000 (patch) | |
| tree | a71891816320ccd85eaf20b2c143cf0468de6005 /src/features/sync.js | |
| parent | 53b283837f6b8341602b17ff9210cb85d1ec8ae0 (diff) | |
| download | coinosv3-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
