DLS-based diagramming tools like Terrastruct, mermaid, or graphviz definitely have their perks and are very well established for manual graph curation. But I found the lack of programmatic tooling (except terrastruct) a bit of a pain point.
DLS-based diagramming tools like Terrastruct, mermaid, or graphviz definitely have their perks and are very well established for manual graph curation. But I found the lack of programmatic tooling (except terrastruct) a bit of a pain point.
- https://terrastruct.com/blog/post/generate-diagrams-programm...
Hi, creator of Ilograph[0] here. I agree with this if the DSL doesn't provide an IDE with autocomplete and instant-rendering (which I think applies to the technologies you mentioned).
With auto-complete and instant-rendering, I think a DSL is much preferable to Python (the most common "diagrams-as-code" language). Python is a programming language for writing, well, programs. It feels like complete overkill for creating static diagrams.
For me (and my narrow use-case), I just couldn’t find a simple tool to sync my graph to somewhere that I could view it easily - especially after I’ve instrumented my application and deployed to the cloud.
The example drop down should either have names instead of Example 1..n. Or it should be changeable via keyboard. I have reached example 10 so far I think, but I have to keep track of example number in my head, open the dropdown, scroll the list and click the next number every single time. Edit: Yup, can't just go through all examples like this.
I definitely need to update that at some point.
Maybe my landing page is terrible, but you don’t need an account to download the npm package and start doing things locally.
That being said, I’m more interested in helping individuals who want to programmatically generate graphs - hundred+ updates to them per day, similar to how an APM/telemetry libs work. You instrument once and get the benefits of a real-time graph.
It’s about 25k lines of rust code compiled to do the following:
- Layout/position a directed graph
- Compute a bounding box for text labels and produce font glyphs for the rendering engine
- Generate an SVG
- Optionally, sync to a Vizdom account
Fun fact, the majority of that wasm blob is what is powering the web application itself. You can see it in action using the editor view/diff on the site.