Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visualise Relationships of Assets #159

Open
mottosso opened this issue Jun 8, 2017 · 3 comments
Open

Visualise Relationships of Assets #159

mottosso opened this issue Jun 8, 2017 · 3 comments

Comments

@mottosso
Copy link
Contributor

mottosso commented Jun 8, 2017

Goal

Gain oversight of what asset depends or related to what other asset.

Motivation

At the moment, pointcaches and curves have an implicit relation to the rig from which they were produced, but the information is hidden. As the number and complexity of relationships grow, we'll need a better understanding of what relates to what in order to develop it further, but also to debug things that happen because of this relationship.

Implementation

Draw a node graph in the Loader of the currently selected asset and what other assets it relates to and how.

image

We can try and take advantage of https://github.com/mfessenden/SceneGraph

@davidlatwe
Copy link
Collaborator

davidlatwe commented Jan 6, 2019

Has anyone tried this before ?

I am giving a try on this feature, and implemented a simple dependency data collect mechanism in my config, pretty rough right now.

The node graph was created from a Loader plugin.

image

Instead of using SceneGraph, I use NodeGraphQt, because it has much nicer looking, and the PySide2 was the only requirement (but cannot work with PyQt5).

Here's another node graph tool I have tried, Nodz, this one uses Qt.py ! But the feature was not much, and it's been a while since last commit (but Golaem/Nodz is pretty active).

I think I will continue this with NodeGraphQt, since no extra dependency plus rich feature is a good start, but there's a big issue that needs to be resolved is the ability to auto-layout node graph. Other tools that supports auto-layout all required networkx or graphviz, so I wonder if we could come up with a simple auto-layout algorithm to avoid installing heavy module just for drawing dependency graph.

@mottosso
Copy link
Contributor Author

mottosso commented Jan 8, 2019

I haven't, but have also been peeking at those libraries you mention. What you have there looks like a good start!

Laying out nodes isn't as easy as it seems.. I dove into that rabbit hole a while back, and can understand why someone would choose to use a third-party library. It wouldn't be the end of the world to vendor networkx with Avalon; so long as it's pure Python and doesn't complicate distribution.

@tokejepsen
Copy link
Collaborator

Re: autolayout
https://github.com/cb109/qtnodes/blob/develop/qtnodes/layout.py
https://gist.github.com/dbr/1255776

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants