Brainstorm: a (recursive) node editor using GeeXLab

Started by leon, November 15, 2018, 04:45:01 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Just curious about how anyone would approach this.
This is more a though-experiment than something actionable.

These days, recursive node-editors are becoming more and more usual (compared to the traditional node-editors).
An example of a powerful recursive node-editor would obviously be TouchDesigner (TD):

A powerful feature of TD is that each node has an extendable UI.
In a sense, each block could represent a GeeXLab script (or internal node?), which could open a draggable imgui popup with properties when doubleclicked.
Any thoughts on how realistic it would be to create an STANDALONE node-editor app (like MadView3D)..or should it be just a drop-in lua-library (which visualizes the current 'state')?
Which would you prefer?

I already figured, that by imagining the editor from scratch (outside of GeeXLab) would be a misstake.
That could introduce so many challenges from a maintenance point of view.
I could imagine a super-simple first version, by visualizing nodes on the highest level(like representing lua- or python-scripts, and/or objects from this framework:

Later, simple oscillator nodes (sinus,saw,square) etc could be written in lua, to easily modulate/control values:


Later, one could always introduce 'zooming' into such node(s) (which would open a new node-editor, representing the internal GeeXLaB nodes), but i'm not sure whether that would add any value at all.

If anyone has any thoughts or advice on this let me know here!  :D

UPDATE: hm there seem to be people who've attempted a imgui node-editor widget:


Sure a node-based tool would be cool. But I'm not the best guy as soon as we talk about user interface  :P

The imgui-node editor you found sounds interesting. I think it can be coded with GeeXLab. I wonder how the splines have been done? With ImGui functions?

I found the code of the imgui node editor:
I will look at it asap, I will probably learn new stuff about ImGui!


I found the answer in the node editor source code. There are handy functions to draw some primitives with ImGui like AddLine(), AddBezierCurve(), etc.  I will try to add them in GeeXLab.