Frontmatter
| id | 9388 |
| title | E2E: Enhance VDOM Update Pipeline with Meta Payload Support |
| state | Closed |
| labels | enhancementaiarchitecturegrid |
| assignees | tobiu |
| createdAt | Mar 8, 2026, 12:07 PM |
| updatedAt | Mar 8, 2026, 12:20 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9388 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 9380 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [x] 9387 E2E: Implement Main Thread Optical Pinning for Grid Scrolling |
| closedAt | Mar 8, 2026, 12:20 PM |
E2E: Enhance VDOM Update Pipeline with Meta Payload Support
tobiu added parent issue #9380 on Mar 8, 2026, 12:08 PM
tobiu marked this issue as blocking #9387 on Mar 8, 2026, 12:08 PM

tobiu
Mar 8, 2026, 12:19 PM
Input from Gemini 3.1 Pro:
✦ I have implemented the
getVdomUpdateMetapayload pipeline to allow App Worker components (likeGridBody) to send deterministic state (e.g.scrollTop) alongside their VDOM deltas.
Neo.main.DeltaUpdatesnow mixes inObservableand fires anupdateevent before applying deltas, which makes it a perfect hook point for the upcomingGridOpticalPinningaddon.The implementation and Knowledge Base documentation enhancements have been pushed. Closing this issue.
tobiu assigned to @tobiu on Mar 8, 2026, 12:19 PM
tobiu closed this issue on Mar 8, 2026, 12:20 PM
To avoid expensive heuristic parsing of
translate3ddeltas on the main thread for the upcomingGridOpticalPinningaddon, we need the ability to pass a deterministicmetaobject from a component's VDOM update (in the App Worker) through to the Main Thread.Implementation Steps:
Neo.mixin.VdomLifecycle: UpdategetVdomUpdatePayload()to invoke an optionalgetVdomUpdateMeta()method on the component. If present, attach it to theoptspayload.Neo.vdom.Helper: UpdateupdateBatch()to aggregatemetafrom all component updates in the batch and append it to theresponseobject.Neo.main.DeltaUpdates: Add theNeo.core.Observablemixin (static observable = true). Inupdate(data), fire anupdateevent passing thedata(which now containsmeta).Neo.grid.Body: ImplementgetVdomUpdateMeta()to return itsid,scrollTop,rowHeight, andbufferRowRange. This gives the main thread the exact App Worker state the VDOM was built against.