Assigning nodes to layers and columns in LayeredDigraphLayout

OK. I started with the Beat Paths sample, Beat Paths.

The only changes I made were in the creation of the model and specifying a Group template:

    myDiagram.groupTemplate =
      $(go.Group,
        $(go.Placeholder),
        { layout: $(go.GridLayout) }
      );

    // create the model and assign it to the Diagram
    var model =
      $(go.GraphLinksModel,
        { // automatically create node data objects for each "from" or "to" reference
          // (set this property before setting the linkDataArray)
          archetypeNodeData: {},
          // process all of the link relationship data
          linkDataArray: linkDataArray
        });

    // add a bunch of nodes that are linked normally,
    // but all those nodes also belong to a transparent Group:
    var groupdata = { isGroup: true };
    model.addNodeData(groupdata);

    for (var i = 0; i < 20; i++) {
      var nodedata = { group: groupdata.key };
      model.addNodeData(nodedata);
      model.addLinkData({ from: nodedata.key, to: "CAR" });
    }
    myDiagram.model = model;
  }

That results in this screenshot:

Note that the Group has no visuals, so you only see its member Nodes.