TransWikia.com

Node editor and visual programming

Mathematica Asked on November 19, 2020

Node editors are all the rage especially in image processing pipelines and shader programming in game engines. For example, here’s a stackoverflow question about implementing a Blender-like node editor for python. They also appear in data science, such as in KNIME and Orange.

I’m wondering if Mathematica would benefit from a node editor in some cases. I rushed into creating something visually similar, but there are many quirks in Mathematica’s graphics and there are also other things to consider like what data structures to use for the nodes and connections. Then there is the problem of being able to dynamically move around the nodes and drag nodes, extend out connections / delete connections etc.

  • Are there existing implementations? If not, is there a way to build a more dynamically adjustable Graph and ‘execute’ it? We can get TreeForm[Plus[Times[x, y], z]] for instance, but how could we build up that graph in a drag-and-drop way?
  • Is it worth pursuing in Mathematica, or would it be better to implement in Python, compile the graph down into Mathematica expressions, and call via the client library?

One Answer

Are there existing implementations?

There are two implementations that come to mind.

The first one has been "in development" for a long time now, and has yet not been released, but it might be worth taking a look at for someone headed down this path.

Is it worth pursuing in Mathematica, or would it be better to implement in Python, compile the graph down into Mathematica expressions, and call via the client library?

My personal opinion is that a visual interface would be better off being implemented as for example an Electron app, that could run on top the Wolfram Engine. Introducing a dependency on the notebook interface doesn't seem very beneficial, but at the end of the day it's all about what technologies you want to work with.

Correct answer by C. E. on November 19, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP