Do you want to risk that your diagram changes outside of your control? (i.e. GitHub changes a mermaid version)
The actual drawing engine sucks compared to something like Graphviz. Works fine up until a certain number of nodes but completely falls apart after that
[1] https://cursor.com/docs/configuration/tools/mermaid-diagrams
One thing that's missing from my perspective (and this is probably true for Homebrew packaging as well, but I don't do that) is Git tags / GitHub releases associated with your Cargo releases.
I can work around it for now by using an explicit release (`9ccd9bf53f9a309ccda42b5c17e9c1056493fb90` is what I'm assuming was your 0.1.0 release point).
I've also assumed that npm10 is sufficient (which currently installs node22 on MacPorts).
[1] https://github.com/halostatue/ports
[2] https://github.com/macports/macports-ports
[3] https://github.com/halostatue/ports/commit/e7331a7fcae362b0d...
Wait, no, node22 comes with npm10, not the other way around.
npm10 @10.9.3 (devel)
Description: npm is a package manager for node. You can use it to install and publish your node programs. It manages dependencies and does other cool stuff.
Homepage: https://www.npmjs.com/
Library Dependencies: nodejs22
Conflicts with: npm3, npm4, npm5, npm6, npm7, npm8, npm9, npm11
Platforms: any
License: MIT
Policy: openmaintainer
The Portfile that I created specifies that if `npm` is present in $PATH (which isn't the user's $PATH because MacPorts uses `sudo`) then it should be used and assumed correct; otherwise, it says that the `npm10` port must be installed (because the instructions for oxdraw indicate that one must run `npm install && npm build`).One feature I would love to see a declarative diagramming solution would support is a hover pop-up with more information or nested diagrams.
If I do "touch flow.mmd" then run oxdraw to edit the file, it doesn't give me an option to initialize it as a new diagram.
Project's Cargo.toml file says code is licensed under MIT license, but there's no license file in the repository, so Github doesn't show what the project is licensed under. Please add the license file so that people see it without having to dig through the code/configuration to determine that.
I use PlantUML for most diagramming but for anything with more than about 5 components in it I'm spending 20-30% of my time desperately trying to tweak the layout with hints.
It's an interesting approach to embed comments and then build that into the layout engine. I've always thought it would solve a lot of my issues if I could just lock the coordinates for certain components and then let the layout engine do the rest with those as hard constraints. This looks like something similar to that approach.
I really want this because the alternative is to spill over to completely manually maintained diagrams using GUI tools which then can't be easily integrated with source control - I want the same commit that changes the code to also change the architecture diagram for that code. Then it is part of code review and integrates to the whole process well.
The hassle of tweaking the layout in puml, such as pairing elements with an invisible connections and groups, adding or removing dashes from the arrows in class diagrams... is gone because Mermaid is simply inferior in that sense.
Mermaid always feels like it's in beta and I don't understand why GitHub ignores the request to support puml (1). It seems that adoption of diagrams as code is tied to what is supported by major vendors and they don't care enough. Or maybe it is because mermaidchart made an official vscode plugin, who knows.
While I agree that improvements are needed, I'm not convinced that creating a third standard is the answer. What I would like is to be able to assign weights to my elements and let the renderer do the work (not set x and y coordinates like in oxdraw).
It's precisely because I do like it that I want it to scale up better to more complex diagrams. I basically can't push it forward as a universal standard in my org because it fails above a certain complexity threshold and I really can't push for teaching everybody a thousand ways to tweak the diagrams to coax it into doing the right thing (and even then, one small change and it may completely rearrange the output).
Being able to express a workflow or diagram and then have AI implement would be awesome to have a tight loop.
But now I can interactively make changes to the diagram with this, it's very productive.
I don't see a button for it (on mobile currently, and will check thoroughly at my computer) -- is there a button to add a node?
Another feature I've always craved for code diagramming is "collapse downstream nodes" -- though it might be outside of your scope (and mermaids?).
There's also mermaidjs to excalidraw https://github.com/excalidraw/mermaid-to-excalidraw
The lack of this has been a sticking point making us lean to dropping mermaid, so very cool to see!
have you considered implementing your algorithm as a (better) auto-layout engine for mermaidjs ?