Can the Calculate node be changed to allow for integer arithmetic? I know the automatic type converters kick in when it's hooked up to nodes that take Integers, but being able to set the type of the Calculate to Integer node would cause less clutter, less time selecting how to round the result, and less processing time in a loop.
Additionally, can it be changed to also allow 2/3/4D Points? In the event that a 3D Point is being used in a calculation, and the result is another 3D Point, right now three Calculate nodes need to be used, one per dimension. A point could be constructed within an expression using [these] brackets. A number could be used in an expression without any change, but perhaps a 2D Point could be written with _XY as a suffix, a 3D Point with _XYZ, etc. A dimension could be used from a point with just that dimension (instead of all dimensions) specified in the suffix.
The node could either take a single expression to calculate all dimensions in the point, or it could take an expression per dimension. Allowing for a bit of vector-style arithmetic could further open up some flexibility too, for example, by allowing adding two points, multiplying a point by a constant, multiplying dimensions (as in X1*X2, Y1*Y2, etc.), dot/cross products, a magnitude function (perhaps with |this| syntax...
Expressions might look like this:
radius * [cos(theta), sin(theta)] //Point on a circle at angle theta
deltaTime * velocity_XY + location_XY //New location after applying velocity
[velocity_X, deltaTime * gravity + velocity_Y] //New velocity after applying gravity
Hm, the "Change Color with Button" example composition still works for me. Have you connected a cable to the Make Button node's Rendered Layers input port? If that doesn't solve it, could you post your composition?
I think there's a bug with Make Button node. When I click on the rendered button there are two events triggered on "Updated Layer" output (pressdown and pressup), but nothing is triggered on "Pressed" output.