I would like to change default format of function’s parameters to numbers instead of string.
And in the dialog “Launch Function” renumber Parameters beginning with ‘0’.
String was chosen as it can be used to pass numbers and arbitrary strings, contrary to number that limit you to… number
But I agree that it can affect performances quite a lot if you use function intensively… The function extension should be reworked from scratch I think.
Or maybe you could do support for “variant” variable types? It’d work quite like dynamic typing in script languages - pass as number string or structure depending which one variable is. Then this “variant mode” could be used when it makes sense to add possibility to pass all types of variables, such as function.
In fact GD’s variables are already “variant”: they can be used as strings or numbers, and avoid unnecessary conversions.
So I think the best thing to do would be to simply rework a bit the extension so that the parameters passed to a function are scene variables. It would be more powerful than the current system (i.e: passing strings for parameters) and more flexible (variables can be structure and hold any arbitrary complex information, even data translated from JSON) and more efficient (no conversion to number to be made, because the variables you’ll use would already be holding numbers).