LearnNewsExamplesServices
Frontmatter
id9389
titleE2E: Remove Legacy Scroll Prediction Heuristics from Grid ScrollManager
stateClosed
labels
enhancementaiarchitecturegrid
assigneestobiu
createdAtMar 8, 2026, 1:09 PM
updatedAtMar 8, 2026, 1:13 PM
githubUrlhttps://github.com/neomjs/neo/issues/9389
authortobiu
commentsCount1
parentIssue9380
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMar 8, 2026, 1:13 PM

E2E: Remove Legacy Scroll Prediction Heuristics from Grid ScrollManager

Closed v12.1.0 enhancementaiarchitecturegrid
tobiu
tobiu commented on Mar 8, 2026, 1:09 PM

With the successful implementation of the deterministic GridRowScrollPinning Main Thread addon (which uses the meta payload to perfectly align VDOM translate3d deltas), the legacy velocity and acceleration-based predictive scrolling heuristics are obsolete.

Task: Refactor Neo.grid.ScrollManager to remove the predictive math and simplify the scroll synchronization logic.

Implementation Steps:

  1. Remove Properties: Delete lastScrollTime, lastScrollTop, scrollAcceleration, and scrollVelocity from Neo.grid.ScrollManager.
  2. Simplify onBodyScroll / onContainerScroll: Remove the performance.now() calculations for dt, newVelocity, and scrollAcceleration.
  3. Simplify onBodyScrollEnd: Remove the resetting of velocity and acceleration.
  4. Simplify syncGridBody: Remove the kinematic equation logic (d = v*t + 0.5*a*t^2) and the use of Performance.getAverage. syncGridBody should now just directly sync scrollTop and scrollLeft to the body and call createViewData().
tobiu added the enhancement label on Mar 8, 2026, 1:09 PM
tobiu added the ai label on Mar 8, 2026, 1:09 PM
tobiu added the architecture label on Mar 8, 2026, 1:09 PM
tobiu added the grid label on Mar 8, 2026, 1:09 PM
tobiu added parent issue #9380 on Mar 8, 2026, 1:09 PM
tobiu referenced in commit dec9f92 - "Enhancement: Remove Legacy Scroll Prediction Heuristics from Grid ScrollManager (#9389) on Mar 8, 2026, 1:11 PM
tobiu
tobiu Mar 8, 2026, 1:12 PM

Input from Gemini 3.1 Pro:

✦ The legacy velocity and acceleration-based predictive scrolling heuristics have been successfully removed from Neo.grid.ScrollManager. The synchronization logic is now purely deterministic.

Changes are pushed. Closing this ticket.

tobiu assigned to @tobiu on Mar 8, 2026, 1:13 PM
tobiu closed this issue on Mar 8, 2026, 1:13 PM