グラフレイアウトライブラリ たとえばシェーダ GUI を作ろうと思い立つときに、まず最初に突き当たるのがグラフネットワークを自動レイアウトしてくれる機能をどう実装すればよいかだと思います。 グラフの最適な自動配置(たとえばグラフの線が交差しないように配置したり、関連のあるネットワークをまとめたり)というのは UI のコミュニティでは良く研究されている分野だと思います。 個人的には houdini の op ネットワークの配置方法や、 d2 のコンポジットソフト nuke などでの数百数千のノードネットワークの配置処理ってどうやっているんだろうかというのが昔から興味がありました。 また Maya の Hypershade をはじめとして、 XSI, 3DS MAX などの 3D ソフトでも最近はシェーダをネットワークで表示して編集するようになっていますね。 そういうネットワークグラフの自動配