multiply, for example, doesn’t have this problem, is there some hidden initializing value added to add operation?
No there is not.
To see what is happening to you, you have to show a screenshot what you are doing but for example;
This adds 0 to the position. Result the position stays the same.
But if you plug it into the offset you are offsetting the positions of the outer verts by 0.5
Because the grid is 1m x 1m and the outer points are 0.5 away from the origin.
the result is a grid 2m by 2m
With multiply; This is multiplying the position by 0 so they all end up at the origin (0,0,0)
if you plug that into the offset it does nothing because you are offsetting by 0,0,0.
so in a way, for this set up, plug add with 0 value into offset always doubles the size?
Adding [0, 0, 0] sets the offset to be equal to the position, and that ends with the position multiplied by two. Offset is a vector that is added to the position, so the result is position+position (or position*2).
If you add 0,0,0 to the position the add node does nothing to the position values (adds 0), it’s output is the same position values for each point.
The default value for the position input of the set position node is the position of each point.
If you plug the position into the “position” input it will not change the positions.
But if you plug the position values into the offset input it will offset the position of each point by the value of its position.
The default value of the offset is 0,0,0 so any value you input will be added to it.
Not always, in this case yes, you are adding position+position (which is the same as position*2)
But if they were other values they add to the original position values.