D2 Playground
play.d2lang.com
play.d2lang.com
TALA docs: https://d2lang.com/tour/tala/
TALA product page: https://terrastruct.com/tala/
It seems the 2 are distributed separately and D2 supports open-source layout engines also.
We set out to make our own layout engine, which we charge for, true. However to say it outcompetes the efforts of all open-source ones including ones used by Graphviz (dagre) and university researchers (ELK) is quite the compliment, and not one that we've ever made ourselves. There are simply different use cases for each: https://d2lang.com/tour/layouts .
In fact we specifically de-weight our own layout engine, making it a separate install and not referenced anywhere in the D2 project. The vast majority of D2 users aren't paying a penny.
And like another comment says, we make it abundantly clear our own layout engine is not open-source everywhere that it's mentioned.
Your claim that this is a commercial post is also unfounded. I opened HN today as a reader and was surprised to see this post.
I got this impression once I failed to reproduce the examples in your documentation with free backend.
> However to say it outcompetes the efforts of all open-source ones including ones used by
> Graphviz (dagre) and university researchers (ELK) is quite the compliment,
I did not mean to say that your engine outcompetes the open-source ones, but rather that d2 gives inferior results with them.
> Your claim that this is a commercial post is also unfounded.
I keep seeing thinly disguised d2 promos on the front page and this raises a few questions. This is fairly niche product, and far from unique in its capabilities. Why would it keep showing up among highest-ranked posts?
This is easily verifiably false. All the examples have direct links to the playground to reproduce, except the few explicitly called out in the layout section as belonging to TALA's. If you still claim this, simply provide a link to an example that doesn't explicitly say it's made with TALA in the docs (d2lang.com).
> I did not mean to say that your engine outcompetes the open-source ones, but rather that d2 gives inferior results with them.
I'm not sure you understand the role layout engines have. All languages like PlantUML etc just abstractly represent nodes and connections and choose some styles for them. The rest is layout engine.
> Why would it keep showing up among highest-ranked posts?
You're engaging in conspiracy theories and there's nothing further I can prove short of an HN mod telling you these are legitimate unrelated posters and upvoters.
I think you misunderstand how ChatGPT generates images. ChatGPT can only generate text: somebody at OpenAI wrote additional software to handle images, and connected it up to ChatGPT. (I believe ChatGPT is prompting an image model based on DALL-E, though who really knows what's going on in proprietary SaaSS?)
It's not a magic box that, left alone, will inevitably and inexorably transform into the solution to all the world's problems. If ChatGPT is ever capable of producing diagrams, it will be because of systems like this.
As far as telephones and sound go, it's more like when AutoCAD came along and all of a sudden it was hard to sell T-squares.
This problem is fundamentally different to (e.g.) computer chess, in that we have no algorithmic win condition. You can't brute-force a solution space when your only way of assessing whether candidates are any good is to ask a human. (Especially not when humans use heuristics to assess the quality of something at a glance, and find it tiring to process large quantities of data: that's a simple recipe for specification gaming if ever I saw one.)
Someone made it into wasm and put playground for pikchr here https://www.jakethaw.com/pikchr_webassembly_demo/
Can also try pikchr online here on https://kroki.io/#try which is hosting many other text to diagram tools as well.
I have a bunch of styles which I always dump in D2 to generate consistent looking diagrams. Might be useful if you have a design system and you want to give your diagrams branded look and feel.
I also tried to figure out how to write a custom layout engine but apparently I need more weekends of time to work on it.
Created a guide for it a while ago: https://victorbjorklund.com/build-diagrams-as-code-with-d2-d...
At some point, I'd like to commit it to sourcecode and require updates for PRs. Then have CI attach an image of the affected features when adding something new.
Was hoping this might have something like that, but doesn't look that way. I've also looked at MermaidJS and Lucid charts :\
the_show: { management: { cuddy -> house cuddy -> foreman }
wilson <-> management.house: friend
management.house <- taub
management.house <- chase
management.house <- thirteen
management.foreman -> management.house
management.foreman -- thirteen: dating
}Also the pricing for the TALA engine, which is presumed to be where the future of d2 and whatever future differentiating features it may get, is pretty crazy for personal use.