Pretty neat! I appreciate the time that went into making the graph render nicely.
I was recently having fun with Reactflow myself. It took a bit of time to figure out custom nodes and edges. I found that ELK 'layered' (with some tweaking of settings) produces very nice layouts, but of course, we can't use its edge routing in real time if we want to allow users to move nodes around. Thanks for pointing me to @tisoap/react-flow-smart-edge ! I also came up with a similar `wasManuallyMoved` logic. https://github.com/3rd/tsdiagram/blob/66b186e85bf176e47128d0...
Reactflow's docs have a decent example for using ELK but I wish it went into a bit more detail regarding these choices.
Glad we share the same pain!
I'm not happy with the edge routing, it's ok in most cases, but it could be so much better. It's definitely where most of the upcoming development time will go.
I'll bite the bullet and make something custom with what I can learn from react-fow-smart-edge and https://medium.com/swlh/routing-orthogonal-diagram-connector..., I really really want the edges not to overlap, but be a bit spaced out, so it's clear where each one goes.
That's super cool! Is there a way to save the editor and diagram state into a URL hash so we can share tsdiagram links with others, similar to how the TypeScript Playground works?
Wonderful tool! Reminds me of dbdiagram[1] we use at a project of mine, but that one is kinda slow and sometimes messes up the organization just because it felt like it.
Do you have plans on having something like export to SQL or import from SQL?
This is actually really nice! We deal with a lot of types - from our headless CMS, GraphQL, Knowledge Graph, etc - so having a visual tool for them help - typescript was the one area missing for it.
Having just done a bunch of Mermaid diagrams this looks very cool. I particularly like having the freedom to drag nodes around in yours to improve the layout.
This is wonderful! We also use typescript to define our data/database structure for our non-ts projects and this could be a very handy tool. I will definitely use it whenever I get a chance to.
One thing that could be improved are the overlapping lines. In the example, the Node->Node and Node->Task lines are undistinguishable.
The error it throws is:
I was recently having fun with Reactflow myself. It took a bit of time to figure out custom nodes and edges. I found that ELK 'layered' (with some tweaking of settings) produces very nice layouts, but of course, we can't use its edge routing in real time if we want to allow users to move nodes around. Thanks for pointing me to @tisoap/react-flow-smart-edge ! I also came up with a similar `wasManuallyMoved` logic. https://github.com/3rd/tsdiagram/blob/66b186e85bf176e47128d0...
Reactflow's docs have a decent example for using ELK but I wish it went into a bit more detail regarding these choices.
For tweaking ELK settings, this online editor is also super valuable: https://rtsys.informatik.uni-kiel.de/elklive/elkgraph.html?c...
Do you have plans on having something like export to SQL or import from SQL?
[1]https://dbdiagram.io/
https://github.com/hbcondo/revenut-app/wiki#data-models
Now if it can be exported as RDF or Cypher...
Is there a way to turn off the dot grid?
One thing that could be improved are the overlapping lines. In the example, the Node->Node and Node->Task lines are undistinguishable.