Skip to content

Preserve Node IDs When Grouping Nodes #1112

@jesusmpc

Description

@jesusmpc

Summary

Currently, when nodes are grouped in Weave.js, new node IDs are generated (or existing IDs are not preserved), causing references, selections, connections, and external state mappings tied to the original node IDs to break.

Node IDs should remain stable across grouping operations whenever possible, ensuring that grouped nodes can still be reliably tracked and referenced.

Expected Behavior

  • Grouping nodes should preserve the original IDs of the contained nodes.
  • Any edges, selections, metadata, or external references using node IDs should continue to work after grouping.
  • Ungrouping should restore the same node IDs that existed before grouping.

Current Behavior

  • Grouping creates new IDs or otherwise changes node identifiers.
  • External state and references that depend on stable IDs become invalid.

Acceptance Criteria

  • Grouping nodes does not modify child node IDs.
  • Existing edges remain valid after grouping.
  • External state keyed by node ID remains functional.
  • Ungrouping restores nodes with their original IDs.
  • Existing tests cover grouping/ungrouping ID stability.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions