Skip to content

Experiment with mutation-boundary anchor capture#1694

Draft
tlongwell-block wants to merge 1 commit into
mainfrom
wren/anchor-capture-boundary
Draft

Experiment with mutation-boundary anchor capture#1694
tlongwell-block wants to merge 1 commit into
mainfrom
wren/anchor-capture-boundary

Conversation

@tlongwell-block

Copy link
Copy Markdown
Collaborator

Summary

  • add a flag-gated diagnostic that removes computeAnchor's full DOM-row geometry walk from each scrolled-up scroll event
  • retain cheap bottom-state tracking in the hot path
  • capture the exact visible row once at the older-history fetch boundary so prepend restoration keeps its existing contract

Test plan

  • desktop check (one existing unrelated useOptionalChain warning)
  • desktop typecheck
  • desktop unit suite (2,269 passing)
  • desktop production build
  • focused Playwright scroll-history tests: reflow, single-page-per-gesture, prepend stability (3/3)
  • pre-push desktop/mobile/Tauri suites
  • buzz-db unit suite cannot start locally: Rust 1.89 is below sqlx 0.9's Rust 1.94 requirement
  • trackpad A/B in Tauri: Settings → Experiments → Mutation-boundary timeline anchoring

Context

This is intentionally a standalone reversible diagnostic after #1691 showed no perceptible change. The hypothesis is that, while scrolled up, scanning all accumulated rows from oldest forward and reading rects on every native scroll event stalls WebKit momentum.

Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant