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.

leon

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: https://www.geeks3d.com/forums/index.php?topic=5171.0).

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:



https://github.com/ocornut/imgui/issues/123

JeGX

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: https://gist.github.com/ocornut/7e9b3ec566a333d725d4
I will look at it asap, I will probably learn new stuff about ImGui!

JeGX

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.