pub fn flatten(nodes: &[BomNode]) -> Vec<FlatBomRow>
Flattens the tree into display rows (depth first).