Forum

Instance of class from a process node can't be added to a spread if used as a region

Hello there,

Sorry for the vague title, I’ll try to describe what’s going on here.

We’re adding new components to Elementa, and one of those is Subdividable. It allows a widget to be made of several “sub-rectangles” that you can interact with (think of the “up” and “down” buttons on an IntegerUpDown).

For that, we’re providing a Subdividable process node whose Invoke pin is exposed, resulting in a new Subdividable region available in the node browser. The widget designer can then patch the logic to calculate the sub-rectangles, which are then accessible for the logic and the drawer of the widgets (since they’re part of the components).

Click here to show the Subdivisible class

image

So ideally, a patch would look like this :

You patch how you describe the rectangles composing your widgets (here we’re looking at a Vector2D), and you connect the State Output of the region to the Add node, adding this component to all the others.

Unfortunately, when doing so, the component does not show up in the spread of components. Here, we’re looking at the GetComponents node of the Vector2D Drawer :

image

There are two things that allow us to add it to the spread : either adding a pad after the Subdividable region :

image

Or using the node version of the process node :

image

Only when doing one of those two things, the instance of Subdividable is added to the spread.

What could be wrong here ?

Hope that was not too long :)

Cheerz !
seb

This looks like a bug to me - can you point us to the patch/git commit?

Yep, it’s there (27b4d001b129cfee0b087d88789d86ef91dd12be). Peek inside Vector2D and try to replace the Subdividable node with its region counterpart.