Spent a bit of time this weekend adapting a 3d graph visualizer to render JGF files and am working on a tool to turn abstract syntax trees into JGF files. This way I can view code as a graph and work on tools to manipulate it at the graph layer instead of just text. Gonna work on better labelling and display next week and then work on connecting between source files and highlighting node types / quick searching them
@mauve Viz does nesting of things based on namespace hierarchy, like what you mentioned. The biggest drawback to this whole approach is that GraphViz doesn't (AFAIK) have the concept of dynamically adding/removing nodes, and so it would totally re-render for each slice you took, potentially moving things all over the place.
Ideally something like D3 would be able to handle this, but I think I was overwhelmed trying to get D3 to do a bunch of fancy things.
@mauve I went looking, but it appears that I didn't preserve the code. It wasn't much, just a D3 force-directed graph. I've got a video, but it's too big for me to upload here.
A related thing that I was working on was Viz (https://github.com/J3RN/viz) which scans an Elixir codebase and generates a GraphViz DOT file (or JSON, or CSV), which you can then put in Vizi (pending better name, https://github.com/J3RN/vizi), which is just an HTML+JS wrapper around GraphViz compiled to WASM.