static walk(node, fn, path) {
    if (!path) path = [];
    path.push(node.name);

    fn(node, path);
    if (!node.children) return;

    for (const child of node.children) {
      TreemapUtil.walk(child, fn, [...path]);
    }
  }
@param {LH.Treemap.Node} node
@param {(node: import('./main.js').NodeWithElement, path: string[]) => void} fn
@param {string[]=} path