Insert regions into links

Something I often think would be nice - when I want to insert an If region into an existing link, it should create the region with the right border control points. It would save a ton of clicks and refactoring steps.

Current situation:



Desired result:



Also would be awesome to automatically create the BCPs when surrounding something with an If region.



I come from Houdini where you can drag a node/region on any link and it autoinserts itself to the best of it’s ability.

You can also “shake” the nodes out of a link with it staying intact when possible.

And you can drag a connection from one connector to another to change inputs for instance.

VL feels extremely clicky and cumbersome to noodle with in comparison.
The tiny connectors don’t help either.

So yeah, a lot of opportunity in usability.



Well, the first is not quite right!
When you double click on a link and insert an If region, it assumes (correctly) that your are introducing a condition and it correctly connects it to the Condition input. Now when its up to you knowing what can be connected there and what cannot!

In case of surrending a bunch of nodes and expecting to get the right IO boxes in and out of the borders, also i disagree with the request! There are different scenarios which user might have on mind. Not always the same nodes’s IOs going in and out!

I personally would prefer to do a few clicks further rather removing extra steps which I didn’t ask for!

We have quite a different understanding of UX… but thats okay. Just leaving my thoughts here and how I am personally using this software and would like to use it.

1 Like

I really don’t get why you write:

The gesture of double-clicking a link is there to insert something into a link and to keep inputs and outputs, isn’t it? Why should this ever connect to the condition input?

1 Like

I agree with @chk’s thoughts on this. Perhaps the only time I might want an if region to automatically connect to the condition is if I double-click on a wire or start a link from something holding a boolean value. Otherwise I don’t think gamma should automatically create something that causes an error, as you can see here:

It should then rather do nothing. I think as a user you would assume that no automatic behavior should lead to an error.

While we are on the topic and in a similar vein, I really wish there was better behavior for ForEach as well. So many times I start a link, double click and type Foreach… then it actually deletes the link and nothing happens. If I double-click on an existing link and insert a foreach it now just connects the boolean break output to my original node, again causing an error. Here as well, if the link I am starting is a spread, it should connect to the slicer automatically or at least just place the foreach and not connect it.


This is actually what I wanted to express with this thread… that the behaviour of inserting regions into links can be improved in general. Therefore I renamed the thread. At the same time I am pretty sure, that the devvvvs are aware, and other things are more important right now. Just leaving them as suggestions.

1 Like

Interestingly, is it difficult to implement searching for the intersection of an arbitrary rectangle on the worksheet and node links?

I’m also very curious if it’s possible to implement region extraction as freely as wrapping?

I know that this is fantastic, but I think it would be cool to have something like this:

But what about corner cases where you want an accumulator instead of a splicer?

1 Like

In my opinion, we shouldn’t rely on the environment to automatically correct user behaviour. As a user, I should be aware of what I’m doing, right? I understand that some might argue for a text editor where you’re given a list of suggestions for your potential next steps but ene there one could choose an option by mistake!

Yet, I believe that this hopeful thinking becomes quite limited in visual programming environments!

Regarding the ‘If’ region, I think the arguments by @chk and @seltzdesign hold more water when starting a link and typing “Else” in the node browser. Perhaps this could automatically generate an ‘If’ region with your link inserted in (and only In) through the border.

Totally agree. These are little annoyances, but we can work around them. I’d rather we get a good node browser to insert nodes we actually were looking for in the first place and not have to dig out over and over again or have to scroll for ages to find it (looking at you I node!).

1 Like