In order to get to the point shown in above videos, Scabbard has 3 different components working together.
For Scabbard, I had the following goals in mind.
GraphViz is a popular tool for drawing graphs and Scabbard primarly uses it for generating images. In addition to png files, Scabbard generates a raw dot file which can be analyzed in variety of tools (Gephi etc).
Project is fully written in Kotlin and it enabled me to build better APIs (DSL) allowing me to concentrate on expressing the graph cleanly instead of worrying about API specifics. Scabbard also ships a dot-dsl artifact for writing dot files easily with Kotlin, example:
There are a lot to cover, below are some selected highlights and examples.
Scabbard utilitizes hyperlinks available as part of SVG spec and enables navigation between @Component and @Subcomponent as shown below.