/Blender-Node-Layout-Organizer

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Blender-Node-Layout-Organizer

This is a work in progress Addon to help automatically organise node layouts based on the work of the Node Arrange an Official Addon. I am currently working on it in my freetime to improve/change some of its functionality. As of now I have not changed much of the original code and have been researching solutions and features that I wish to implement.

Features to be Implemented

  • 1) Implement Rudimentary Sugiyama Layout
  • 2) Add alignment options
  • 3) Make it compatible with groups/frames
  • 4) Add group/frame options

As of now these are the current possibile ways to arrange Nodes in Blender that I have found:

  1. Manual Arrangement (My Original Layout)

  1. Node Arrange Official Addon (After Hitting Arrange All Nodes)

  1. 3DSinghVFX Node Align a Community Addon (I hit shift+E on the group input node and selected the dependecies to the right)

  1. Node Wrangler an Official Addon (I hit the node align button. Its utility seems to be more in arranging all the nodes into either a single row or a column but it wont arrange for both.)

These are some sites I am using to research this:

  1. https://llimllib.github.io/pymag-trees/
  2. https://www.wikiwand.com/en/Layered_graph_drawing
  3. https://mindfusion.eu/graph-layout.html
  4. https://www.baeldung.com/cs/graph-auto-layout-algorithm
  5. https://crinkles.io/writing/auto-graph-layout-algorithm
  6. https://docs.yworks.com/yfiles-html/dguide/layout/layout-summary.html#layout_styles-hierarchical
  7. https://docs.yworks.com/yfiles-html/dguide/layout/hierarchical_layout.html#hierarchical_layout-grouping
  8. https://docs.yworks.com/yfiles-html/dguide/layout/layout-summary.html#_node_types_in_the_hierarchical_layout
  9. https://github.com/subhero24/sugiyama/tree/master/src
  10. https://www.youtube.com/playlist?list=PLubYOWSl9mIvxe_HwoSyT-oXgkOmB1u3V
  11. https://github.com/bdcht/grandalf