ourselves by having the Diagram's model
    // be different than the "real" model.
    myDiagram.model = // this only holds nodes that should be in the viewport
      new go.TreeModel(); // must match the model, above

    // for now, we have to implement virtualization ourselves
    myDiagram.isVirtualized = true;
    myDiagram.addDiagramListener('ViewportBoundsChanged', onViewportChanged);

    myDiagram.delayInitialization((diagram) => spinDuring(diagram, 'mySpinner', load));
  }

  // implement a wait s