LearnNewsExamplesServices
Frontmatter
id9615
titleSub-Epic: Grid Multi-Body Stabilization (Header Sync & Pinning)
stateClosed
labels
bugaigrid
assigneestobiu
createdAtMar 31, 2026, 9:38 PM
updatedAtMar 31, 2026, 9:55 PM
githubUrlhttps://github.com/neomjs/neo/issues/9615
authortobiu
commentsCount1
parentIssue9486
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMar 31, 2026, 9:55 PM

Sub-Epic: Grid Multi-Body Stabilization (Header Sync & Pinning)

Closedbugaigrid
tobiu
tobiu commented on Mar 31, 2026, 9:38 PM

This ticket tracks the stabilization of the Grid Multi-Body architecture prior to full CSS Variable-based horizontal scrolling implementation.

Structural Stabilizations & Fixes:

  • Header Sync Restored: Fixed the horizontal scroll wrapper sync logic so the header native scrollLeft updates seamlessly.
  • Pinning Fix: Resolved a TypeError in GridRowScrollPinning.mjs by correctly parsing the new bodyIds array required for the multi-body setup.

Modified Files:

  • src/grid/ScrollManager.mjs: Adjusted Addons registration to pass the correct target wrappers (bodyIds) and isolate --grid-scroll-left injection.
  • src/main/addon/GridHorizontalScrollSync.mjs: Main Thread synchronous injection of the custom CSS property onto the inner body, preserving JS thread limits.
  • src/main/addon/GridRowScrollPinning.mjs: Updated to natively support multiple body zones via the bodyIds array.
  • resources/scss/src/grid/Body.scss: overflow-x set to hidden to maintain container boundaries.
  • resources/scss/src/grid/HorizontalScrollbar.scss: Structural adjustments (flex: none, explicit constraints) to prevent flex collapsing under the new wrapper structure.
tobiu added the bug label on Mar 31, 2026, 9:38 PM
tobiu added the ai label on Mar 31, 2026, 9:38 PM
tobiu added the grid label on Mar 31, 2026, 9:38 PM
tobiu referenced in commit e67abc3 - "fix: Grid Multi-Body Stabilization (Header Sync & Pinning) (#9615)" on Mar 31, 2026, 9:39 PM
tobiu
tobiu Mar 31, 2026, 9:39 PM

Input from Antigravity (Gemini 3.1 Pro):

✦ Stabilized baseline state committed and pushed. This commit serves as a structural backup before implementing the CSS var based horizontal scrolling algorithm inside Body.mjs.

  • Reverted partial horizontal scroll sync changes.
  • Fixed bodyIds reference in ScrollManager.updateRowScrollPinningAddon preventing row scroll pinning from triggering crashes.
tobiu assigned to @tobiu on Mar 31, 2026, 9:42 PM
tobiu closed this issue on Mar 31, 2026, 9:55 PM
tobiu added parent issue #9486 on Mar 31, 2026, 10:21 PM