Files
phineas-pta-comfyui-auto-no…/README.md
T
2023-09-20 14:11:59 +02:00

2.2 KiB
Raw Blame History

ComfyUI auto nodes layout

a ComfyUI extension to apply better nodes layout algorithm to ComfyUI workflow (mostly for visualization purpose)

this repo is a working prototype of my proof-of-concept in comfyanonymous/ComfyUI#1547

short intro

there's already an 1-click auto-arrange graph but it relies on default arrange() of LiteGraph.js which positions the nodes according to level of dependencies, it's neat but imo the wires are very disorientated for visualization purpose

from my very limited understanding, most if not all ComfyUI workflows can be qualified as directed acyclic graph, so we can apply better graph drawing algorithm

credit: inspiration from this comment

disclaimer: personal preference, not always guarantee a better layout

implementation

requirements:

implemented algorithms:

other possible choices (but unsatisfied to me):

undo/redo possible with https://github.com/bmad4ever/ComfyUI-Bmad-DirtyUndoRedo

recommend: remove reroute nodes so the algorithms work better as it figures out the ranks/depth, after applied layout u can re-add reroute nodes for any wires partially hidden by nodes

TODO:

  • add UI options to change density

example

using noisy latent composition example

  • original workflow: Imgur remove groups coz nodes placed very differently

  • LiteGraph.js default auto-arrange: Imgur

  • Dagre.js layout: Imgur

  • ELK.js ‘layered’ layout: Imgur