Hey. I am the maintainer of React Flow. Thanks for the kind words here :) We built it as a foundation for our node-based data wrangling tool datablocks <a href="https://datablocks.pro/" rel="nofollow">https://datablocks.pro/</a>
I've been using this the last few weeks on a synthesizer side project and it's been absolutely fantastic. A well designed API and easy to customise, excellent docs and sane defaults. Bravo!<p><a href="https://dl.dropbox.com/s/kxlzlqypn0nz8bw/Screenshot%202021-04-18%20at%2018.26.37.png" rel="nofollow">https://dl.dropbox.com/s/kxlzlqypn0nz8bw/Screenshot%202021-0...</a>
Does it support auto positioning like in MindMaps? e.g. everytime I hit `tab` I get sub node then I hit several times let's say I have 10 sub nodes now, auto positioned.
So cool to see these kinds of in my mind pretty advanced interactive interfaces become easily reusable modules to integrate with any kind of application.
This is a great library. We have used it for a workflow report tool for our in-house Machine Learning pipeline (<a href="https://voxelytics.com" rel="nofollow">https://voxelytics.com</a>). Rendering a DAG with some interactivity works very well.
Pretty amazing that <a href="https://reactflow.dev/examples/" rel="nofollow">https://reactflow.dev/examples/</a> works so well on phone.
Looks awesome, have you thought about making it an actual React renderer (like react-three-fiber) instead of passing an array of elements to the component?
This is really, really impressive. Nice clear, and good looking examples, looks to have clear documentation, and nice informative README. I've been tossing some ideas around about using node-based editor flows for some of our work, will definitely be giving this a try.
Mortiz does some awesome stuff. I built a similar project called reaflow ( <a href="https://reaflow.dev/" rel="nofollow">https://reaflow.dev/</a> ) which handles some more complicated cases around nesting and layout.
Neat project, awful name. Overloading Flow, an already important part of the React ecosystem, just makes it harder to both find information about your project and find information about Flow.
As a non-JavaScript developer, I'm curious as to where the "magic" (things that aren't intuitive to implement) is.<p>The algorithm for drawing an edge between nodes, for instance, doesn't seem magical (just a spline or beizer curve) - but only because the library doesn't care about routing edges around nodes. Layout isn't magical because you're doing it manually - unlike graphviz/xdot, for instance.<p>Does this library have magic, or is it, instead, the product of a lot of elbow-grease?<p>If it was the latter, I'm not going to complain - I'll take a pre-written library over doing it myself in a heartbeat - but, as I'm not a web developer, I wonder if I'm missing something, and it's interesting for me to taxonomize things.