Feature request
Allow users to move the currently selected canvas nodes, including selected Frames and their nested descendants, from the current Space into another Space.
The destination should be selectable from existing Spaces. If it does not yet exist, the flow should allow creating a new destination Space and then completing the move.
User outcome
Users can reorganize work across Spaces without recreating a selected cluster manually or losing its internal structure.
Scope
- Support moving one or more selected nodes.
- Support selected Frames as subtree roots: move the Frame and every descendant while preserving nesting, parent-child relationships, node content, geometry relative to its parent, and visual styling.
- When both a parent Frame and one of its descendants are selected, move that subtree once rather than duplicating it.
- Provide an existing-Space picker and a "create new Space" option in the same flow.
- After a successful move, remove the transferred nodes from the source Space and place them in the destination Space in a coherent layout.
Cross-Space relationship and asset handling
- Preserve edges whose endpoints are both transferred.
- Define an explicit UX for edges that cross the move boundary (for example, omit them with a clear result summary rather than retaining broken references).
- Ensure referenced/uploaded assets required by transferred nodes remain available in the destination Space.
- Do not transfer unrelated nodes, assets, permissions, tasks, or agent runs merely because they are nearby or linked.
Safety and reliability
- Show a confirmation summarizing the destination and the selected roots/subtrees before mutation.
- Validate that the destination is writable before starting.
- Make the operation atomic from the user's perspective: on a failure, retain the source nodes unchanged and avoid partial destination copies.
- Handle node-ID/path conflicts without overwriting destination data.
- Report a durable, actionable result summary: transferred nodes/Frames, preserved edges, omitted boundary edges, and any skipped items.
Acceptance criteria
- A user can move selected standalone nodes to an existing Space.
- A user can create a destination Space during the flow and move the selection there.
- Moving a selected Frame preserves all of its descendants, hierarchy, and internal geometry.
- Mixed selections containing both Frame roots and descendants do not duplicate content.
- Internal edges and required assets remain usable in the destination Space; boundary-edge behavior is explicit and non-destructive.
- The source and destination remain consistent if validation or transfer fails.
- Add regression coverage for nested Frames, mixed selections, new-Space creation, cross-boundary edges, assets, and failure rollback.
Feature request
Allow users to move the currently selected canvas nodes, including selected Frames and their nested descendants, from the current Space into another Space.
The destination should be selectable from existing Spaces. If it does not yet exist, the flow should allow creating a new destination Space and then completing the move.
User outcome
Users can reorganize work across Spaces without recreating a selected cluster manually or losing its internal structure.
Scope
Cross-Space relationship and asset handling
Safety and reliability
Acceptance criteria