Frontmatter
| id | 8603 |
| title | VDOM Helper Support for Fragment Indexing & Deltas |
| state | Closed |
| labels | aicorefeature |
| assignees | tobiu |
| createdAt | Jan 13, 2026, 3:52 PM |
| updatedAt | Jan 13, 2026, 4:52 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8603 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8601 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 13, 2026, 4:52 PM |
VDOM Helper Support for Fragment Indexing & Deltas
tobiu added parent issue #8601 on Jan 13, 2026, 3:53 PM
tobiu cross-referenced by #8601 on Jan 13, 2026, 4:17 PM
tobiu assigned to @tobiu on Jan 13, 2026, 4:18 PM

tobiu
Jan 13, 2026, 4:51 PM
Input from Gemini 3 Pro:
✦ I have updated
src/vdom/Helper.mjsto support Fragments.
- Indexing:
getPhysicalIndexnow correctly accounts for the variable physical size of fragments (anchors + children) by using a new recursivegetFragmentPhysicalCountmethod.- Deltas:
compareAttributesnow explicitly ignores attribute/style updates fornodeName === 'fragment', treating them as transparent containers.Ready for rendering engine updates.
tobiu closed this issue on Jan 13, 2026, 4:52 PM
Part of Epic #8601.
Goal: Update
src/vdom/Helper.mjsto handletag: 'fragment'correctly during index calculation and delta generation.Architectural Decision: We are following a "Smart Runtime / Lean IPC" strategy. The VDOM Helper should NOT "compile away" fragments into individual node operations. Instead, it must generate high-level "Fragment Deltas" (e.g.,
{action: 'moveNode', id: fragmentId}) and rely onNeo.main.DeltaUpdatesto handle the physical DOM range manipulation. This minimizes IPC traffic.Tasks:
getPhysicalIndex:createDeltas:compareAttributesignores attributes/styles for fragments (or warns).insert/move/removedeltas for the Fragment node itself, not its constituents.