coq-tactician / coq-tactician-api

An API for interfacing with Coq through Tactician by external agents
https://coq-tactician.github.io/api/introduction
MIT License
2 stars 1 forks source link

Simplify dependency visualization #16

Closed LasseBlaauwbroek closed 2 years ago

LasseBlaauwbroek commented 2 years ago

This PR depends on #13.

I experimented with lots of different ways to visualize dependencies between files. Problem is that almost any 'fancy' visualization gets overwhelmed by too many nodes and edges. So here I'm going for something as simple as possible:

We can visualize all the direct subfolders and files within one directory, plus the non-transitive edges between those subfolders. Edges that connect to anything outside of the focused folder are unfortunately ignored (this gets too messy). Edges between subfolders a and b are created if any files within a depend on b. Note that with this setup, it is possible to create cycles between folders. We collapse any strongly connected components within the dependency graph into a single table-like node.

@mirefek can you take a look? What do you think? Any suggested improvements?