cosmos / cosmos-sdk

:chains: A Framework for Building High Value Public Blockchains :sparkles:
https://cosmos.network/
Apache License 2.0
6.24k stars 3.61k forks source link

depinject graph visualization improvements #12454

Closed kocubinski closed 2 weeks ago

kocubinski commented 2 years ago

Problem Definition

As mentioned in #11910 we'd like the decisions made by depinject as to explicit and implicit interface binding to be noted in the generated graphviz.

A different visualization algorithm may also be required for non-trivial dependency graphs (e.g. SimApp) for the visualization to be useful.

Proposal

Add interface binding data to graphviz output. Re-evaluate visualization algorithm or possibly tool.

aaronc commented 2 years ago

Do you have any alternative visualization algorithms in mind?

kocubinski commented 2 years ago

Nothing specific right now. The Graphviz/dot implementation seems to be Sugiyama-style graph drawing.

aaronc commented 2 years ago

Do you notice any specific problems which you think could be solved by a better layout algorithm?

kocubinski commented 2 years ago

The amount of edge overlap, the length of rendered edges, size (width) of the graph makes it difficult to follow edges between nodes and at the same time read a node label.

julienrbrt commented 2 weeks ago

Closing this as won't do, as no other user has complained about it (are they even looking at the graph :D)