Live data from Hacker News

Vizdom: Diagrams as Code

vizdom.dev

11–20 of 68 posts

Re: Vizdom: Diagrams as Code

#12
post #4

"Diagrams as Code" has been around a long time (e.g. DOT), not sure what this is really bringing as an improvement, especially as seems to require an account (at least it does when I click "get started" and, as someone else points out, is closed source.

Looks like this uses DOT? Click on "Editor" at the top

Re: Vizdom: Diagrams as Code

#13
post #6

I’m the author, I just got tired of using a DSL and wanted a way to programmatically write/build a graph and quickly see the rendering. 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 a bit of a pain point."

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.

[0] https://www.ilograph.com

Re: Vizdom: Diagrams as Code

#14
post #4

"Diagrams as Code" has been around a long time (e.g. DOT), not sure what this is really bringing as an improvement, especially as seems to require an account (at least it does when I click "get started" and, as someone else points out, is closed source.

Looks like this uses DOT? Click on "Editor" at the top

I wrote some functionality to parse DOT to feed it into the layout engine before I got everything working. It was a great way to validate more complex graphs with a DSL that is already prevalent. So for now it’s only present in the webapp.

DOT parsing isn’t part of the npm package, but I’m not totally opposed to include it! It may add 1-2Mb more to the wasm bundle.

Re: Vizdom: Diagrams as Code

#15
post #6

I’m the author, I just got tired of using a DSL and wanted a way to programmatically write/build a graph and quickly see the rendering. 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.

A minor nitpick on the editor page https://vizdom.dev/editor/

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.

Re: Vizdom: Diagrams as Code

#16

How does this compare to D2 and Mermaid?

I’d say for the majority use-case (as I see it), they’re excellent for manual diagram curation. Especially, D2 for software arch diagrams. Mermaid is great at many things.

It’s kind of hard to write up a fair comparison - it’s apples to oranges.

I can say that vizdom performs very fast hierarchical layouts (currently the only supported type). Example 14 in the live editor runs in about 1 second on my M1 Mac - but if you refresh the page it CloudFront will complain since the graph state is all in the URL and it’s too long.

Re: Vizdom: Diagrams as Code

#17
Other than Graphviz (can try one of its other visual editors[3]), other generic text to diagram tools/langs in this space are Pikchr[1] and D2[2].

UPDATE: Just realized that Vizdom here is not a new language, but a Graphviz editor.

[1]: https://pikchr.org/home/pikchrshow

[2]: https://play.d2lang.com/

[3]: http://magjac.com/graphviz-visual-editor/

Re: Vizdom: Diagrams as Code

#18
post #6

I’m the author, I just got tired of using a DSL and wanted a way to programmatically write/build a graph and quickly see the rendering. 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.

Congrats on the launch! I'm the author of D2 (Terrastruct). I won't comment on comparisons you want to make as it's your launch, but just to clarify, we do have a programmatic API: - https://terrastruct.com/blog/post/generate-diagrams-programm... - https://d2lang.com/tour/api/

Thanks! Love your product! I didn’t mean to say you don’t have it. I’ll edit my other post.

Re: Vizdom: Diagrams as Code

#19
post #3

How does this compare to D2 and Mermaid?

One thing is they're open source. > the Rust WebAssembly binary included in this library is closed-source.

D2 is open, they just have an optional proprietary layout algo. Of course one might contend that the rest is ‘just’ tooling but I find D2 provides a very quick and easy way to rough out diagrams without touching a mouse. The open source algorithms are good enough for me.

Re: Vizdom: Diagrams as Code

#20
post #6

I’m the author, I just got tired of using a DSL and wanted a way to programmatically write/build a graph and quickly see the rendering. 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.

A minor nitpick on the editor page https://vizdom.dev/editor/ 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.

Ah yeah, it’s been bugging me as well lol.

I definitely need to update that at some point.

Post reply on HN