"Meta nodes" aka pre-configured inputs UX idea

…where “input nodes” and “data type” nodes are combined into single components:

Example with Value list: (sorry for not very readable text)

different inputs can be as “meta node” at the same time

Some may have different switchable “Styles”. example: Number as slider\scroller\knob. Can be switched in right-click menu
They would be separately listed in components menu though.

Pass-through mode:
(if input of "input node" is connected) aka read-only mode: just preview (like “Panel” node currently does);
everything else works same (can be as: separate, “meta node” mode, internalized, etc.)
For example: if an input of “input node” has wire:
Degree number slider can still become “meta node” and extracted from parent “create nurbs curve”.

In gh settings: auto pin/unpin inputs:
if on: (as shown on drawed example)
click on input to show input’s node (as pop-up)
auto-hide if click outside
if off: no pin button; clicking on input’s name switches to/from: “meta node mode”/“internalized”

Preview options for “input nodes”:
on
off
auto: if separate - on; if “meta node” or internalized - off (but still will be previewed if selected)

Clusters:
inside cluster: input node: if connected to cluster input
=>
outside cluster: use it’s settings in cluster’s node’s input

If input is data list:
can be as vertically snapped and collapsed into one (with collapse\expand button)
when expanded:
button to combine\separate inputs\outputs:
if combined: as data list

Edited to fix some mistakes.

I’d say it’s more like binded closure…

Not sure if I get it, but to me it looks like integrate source objects to component inputs via GUI. Like this

The problem of these… is the space. With the same logic of drawing the inputs, this stretches the objects too much, which is annoying in large definitions, especially if you include a slider that requires certain pixels for a certain precision. In a dropdown or in a button, you don’t have space to put the name of the parameter and the chosen value (it would limit to be able to visualize if you choose more than one). For me this would make sense with another logic of drawing the inputs, for example reactivate the zoom to display the input if the field of view is too close or with the mouse wheel to change whether to display the name or the source or something like that to avoid making huge components.

Karamba solves this (not exactly, I guess they are internal parameters, not inputs) by displaying it vertically, but it is the same problem of widening the definitions (which results in having to make exponentially more clicks to navigate on the canvas).

The easy solution in my opinion is to include a right click menu option (or any other way) in the input to externalize the default source object, defined by the developer who registered the parameter in the component. I’m not sure if you mentioned something like that. But I can assure you that this works very well, especially being able to externalize each default source in all parameters at the same time. It’s a must have for GH2.
image

Although I also hope to be able to include source objects in the inputs without fattening the components.

Yes, so then maybe in pop-up and meta modes it should not have name doubled (only from parent visible);
pop-up mode in my idea is a part of internalized mode.

Use example:
You place Interpolate.
Capture

connect something to vertices

you plan to sometimes change degree manually. Right now you would probably either:

  • manually place slider, and to make more comfortable to use will go to settings and exclude even numbers (since they are not supported here).
  • each time: right click > set integer > enter it

In my idea you would need to just left-click on input and already configured slider as pop-up will appear.


Since it is pop-up it won’t need additional free space on canvas (but will need if you pin it (change to “meta” mode).
After change number, it gets automatically closed after you click anywhere else (or on “degree” again).

Meta mode would be also useful in case you want to always see the value:


this slider would here just pass through data as is (like node from Params > Primitive > Integer) and also preview the data. For such case there would be also “simple” style(see first post):