https://futureofcoding.org/ logo
#present-company
Title
# present-company
a

abeyer

11/18/2023, 7:15 AM
So I know the "node based"/"boxes and arrows" style interfaces come up a lot around here... Is there any current consensus on good/best options for a library to support building/prototyping them? Does everyone just roll their own from scratch?
a

Alex McLean

11/18/2023, 9:30 AM
I haven't used it but this looks nice https://reactflow.dev/
g

guitarvydas

11/18/2023, 11:22 AM
This isn’t what you’re asking for... I (we) use existing diagram editors and “make do” with what they are able to draw. The editor(s) we use save diagrams as XML. We parse the XML and compile to executable code. Some day, we’ll write a proper box-and-arrow editor using a box-and-arrow programming language (properly reactive). Currently, we’re using draw.io by force of momentum. I’ve used yEd and have looked at Excalidraw (both would be suitable).
m

Michael Olmsted

11/18/2023, 4:30 PM
Are you trying to implement the node editor UI into some other user-facing aspect of your project, or are you trying to use the node diagram for something internal to the project?
a

Arvind Thyagarajan

11/18/2023, 4:32 PM
We went home-grown for our main programming interface. We also have an embedded state machine diagramme editor which is constrained enough that we use graphviz for that and let it auto-layout.
i

Ivan Reese

11/18/2023, 6:00 PM
I always roll my own 🤷 The interface is where I can do interesting work. If someone has an off the shelf solution for the semantics of a node-wire interface, I would take that :)
a

abeyer

11/18/2023, 9:26 PM
Are you trying to implement the node editor UI into some other user-facing aspect of your project, or are you trying to use the node diagram for something internal to the project?
I'm way more in the "prototype" than "project" phase... but my goal is to explore some ideas for tools/interfaces/experiences around building and managing these types of things, somewhat in general, though hopefully with some demos actually working on/with some real systems. So I suppose the answer is a little of both.
The interface is where I can do interesting work.
I agree in some sense, but also see potential value in hewing close enough to the current state of technical implementation to make specific differences stand out as distinct, since part of my goal is to drive/encourage changes in existing projects vs just building something completely novel.