Little progress. I focused only on the graph nodes and their connections for now - the actual node content is random. I'm generating the graph in layers from the bottom, where each node decides if it wants to merge, stay the same, or split into more nodes on the next layer. Works quite well for now.