findById function
Find a node anywhere in the tree.
Implementation
Node? findById(CanvasSceneDocument doc, NodeId id) {
Node? walk(Node n) {
if (n.id == id) return n;
if (!n.isGroup) return null;
for (final c in n.childrenOrEmpty) {
final hit = walk(c);
if (hit != null) return hit;
}
return null;
}
for (final c in doc.children) {
final hit = walk(c);
if (hit != null) return hit;
}
return null;
}