upvote
Neither, really — it's closer to hand-rolled local search.

My first three phases are based on Sugiyama to produce a seed layout (which is broadly what Dagre does). Then I've added my new phases driven by a penalty score that grades candidate layouts using fourteen factors that I devised from my experience laying out graphs manually. The refinement phase is where the bulk of my work is. It applies targeted move types iteratively within a budget, trying to lower the penalty score.

Finally, the result goes through my own embedding and rendering with the theme system on top.

reply