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.