-
Notifications
You must be signed in to change notification settings - Fork 17
Using a different starting layout for the provenance graph #104
Description
Improvement Description
This change would involve using a different Cytoscape.js layout method for the provenance graph—in particular, one that is aware of the graph's DAG structure.
This is a relatively minor issue, but I think it could improve the user experience with view.qiime2.org a decent amount (especially since changes to the provenance graph layout get reset on switching to the visualization/peek tabs, as described in #74).
Current Behavior
The current layout used is the built-in grid layout, with precomputed (?) row and column positions for nodes in the graph.
This can lead to some mildly funky layouts that require manual fixing to see node/edge details—see e.g. the following screenshot, which I just took today:
Proposed Behavior
Using a Cytoscape.js layout extension like Dagre (example, GitHub) or Klay (example, GitHub) to lay out the graph in a more appealing way. Something like the built-in breadthfirst layout (example) might also be usable.
It may also be worth adjusting the edges to be normal bezier curves, instead of using the current "segments" style: (this might be worth creating a separate issue, though)
Comments
I tried to implement this in a clone of q2view a while back, but I couldn't figure out how to get Dagre to play nicely with React. (granted: I don't have a lot of experience with React.) I'm sure there's a way to get that working, though...
References
- List of Cytoscape.js built-in layouts (includes
grid, the currently-used layout) - List of Cytoscape.js layout extensions
Thanks!
