Our graph layout algorithm currently uses d3-hierarchy to position vertices and edges. The object that is used to construct this layout is a JSON object with a single root node. The Marquez API outputs DAGs which often do not have the property. Therefore, we are limited in our ability to render a layout that reflects the full knowledge of the Marquez data model. We plan on sunsetting the use of d3-hierarchy and use dagre in its place, which allows us to render real DAGs and configure layout flows.
In addition to improving our layout positioning, we also plan on incorporating Airbnb's excellent visualization library visx to assist with zooming, edge layouts, and enable future iterations on supplemental graph interactions.
There are many tickets in the backlog that allude to this issue and we hope to rectify the shortcomings with our upcoming changes.
Our graph layout algorithm currently uses d3-hierarchy to position vertices and edges. The object that is used to construct this layout is a JSON object with a single root node. The Marquez API outputs DAGs which often do not have the property. Therefore, we are limited in our ability to render a layout that reflects the full knowledge of the Marquez data model. We plan on sunsetting the use of
d3-hierarchy
and use dagre in its place, which allows us to render real DAGs and configure layout flows.In addition to improving our layout positioning, we also plan on incorporating Airbnb's excellent visualization library visx to assist with zooming, edge layouts, and enable future iterations on supplemental graph interactions.
There are many tickets in the backlog that allude to this issue and we hope to rectify the shortcomings with our upcoming changes.