Simple Layout for directed acyclic graphs (DAGs).
Plugin Owner’s Notes
The nodes are arranged in discrete layers so that the edges will always point downwards (if no loop exists). The nodes are arranged as far to the top as possible, minimizing the number of layers used. The horizontal layout is done by assigning the nodes to discrete slots in each layer (the biggest layer defines the number of availabe slots for each layer). While running, slots are chosen randomly and swapped if this would make the edges shorter to generate a more compact graph. These optimizations are only local and will not generate an overall opimal layout.
DAG (directed acyclic graph, a directed grah without loops)
If the graph contains loops, it is treated as a DAG as far as possible and all “leftover” edges are ignored. Which edges in circles are ignored may be different on each run because of the randomization in the initialization phase.
Sometimes, the layout refuses to optimize the order of the nodes in the layers. Restart gephi in this case.