Pattern Pop parameter size 2 grayed out

I noticed that setting a parameter size of 2 in the Pattern POP results in grayed-out controls for that second parameter.

I thought maybe it is because you haven’t yet decided what to do with the 3d component of the resulting 3D vector if one does not explicitly state what to do with it in the output attribute scope. Is that why? But maybe I’m overthinking it, and is just a bug :sweat_smile:

In any case, here’s my opinion: setting parameter size to 1 results in the first vector component copied to P(1) and P(2), when the output attribute scope is set to P. If one sets the parameter size to 2 with attribute scope P, the most natural to me in the current would be that the the third component of the resulting vector is a copy of P(1).

That being said, I think the very most natural thing would be that if one sets the output attribute scope to P (or any other 3D vector), the non explicitly used components are set to zero, not copies of the used component(s). So with parameter size 1, P(0) is the pattern, P(1) = 0 and P(2) = 0, with parameter size 2, P(0) and P(1) are the pattern, and P(2) = 0

Best,
Darien

Hello @Darien.Brito
I believe the current logic is that we disable parameters columns if we don’t have N to N correspondence between the parameter size and the number of output components (Output Attribute scope).
When the parameter size if smaller than the number of components, we only enable one parameter column and copy the values to all the attribute components. When the parameter size is bigger than the number of attribute components, we disable the extra columns.

Currently, to output patterns only to the first two P components, you can specify P(0) and P(1) in the Output attribute scope parameter.

Maybe this logic can be improved. I’ll pass on your suggestions.

Yeah as Guillaume pointed out using the () to specify components is the expected workflow.
Otherwise mapping N to N works, 1 to N indeed copies the single component into all the destination ones, and the other cases you get warning or errors.

Current logic facilitates creating a grayscale Color for example

Got it @Guillaume.L and @vincentDev. Good to know about the expected workflow :wink:
Will do!