dagrejs / dagre

Directed graph layout for JavaScript
MIT License
4.61k stars 600 forks source link

Implement Coffeman-Graham sorter #305

Open alexec opened 4 years ago

alexec commented 4 years ago

In Argo Workflows, we have stopped using Dagre for laying out our DAGs, and instead implemented the Coffeman-Graham Sorter (CGS). Why? Because Dagre would take too long to render large (2000+ node) graphs:

https://github.com/argoproj/argo/issues/2367

The flip-side of this is that for complex graph, CGS doesn't produce an easy to understand layout:

https://github.com/argoproj/argo/issues/3595

Would the Dagre team be interested in accepting a pull request to leverage CGS as another layout algorithm?

https://github.com/argoproj/argo/tree/master/ui/src/app/workflows/components/workflow-dag

alexec commented 4 years ago

@lutzroeder can you confirm if Dagre is still being maintained please? If not, maybe we fork to add this.

abitrolly commented 1 year ago

@alexec maintained, yep. https://github.com/dagrejs/dagre/issues/352