deleteSubtree static method

DeleteSceneSubtreeResult deleteSubtree(
  1. CanvasSceneDocument doc,
  2. NodeId id
)

Delete + return the full id set that was removed.

Implementation

static DeleteSceneSubtreeResult deleteSubtree(
  CanvasSceneDocument doc,
  NodeId id,
) {
  final node = findById(doc, id);
  if (node == null) return (doc: doc, deletedIds: const <NodeId>{});

  final deletedIds = collectAllNodeIds(root: node);
  final nextDoc = removeSubtree(doc, id);
  return (doc: nextDoc, deletedIds: deletedIds);
}