[LOGGED] JavaScript Type Specification
-
I dream of a day when I can manually set the format for each output to 'text', 'int' (with MIN MAX specified), 'float', etc. with intention.
I recently needed int in a range of 0 - >10800 and spent much time finding the unrelated actor I needed to mutate for my needs (in this case Counter did the trick).
It feels... hacky to add actors to change type and remove the actor.
Many thanks for your fine work.
Best,
Chad
-
@clafarge A huge Plus 1 here. Super important keep type moving correctly through the system
-
I dream of a day when I can manually set the format for each output to 'text', 'int' (with MIN MAX specified), 'float', etc. with intention.
We know. This request is already logged.
The reason I've hesitated on this previously is because of the conflicts that can be created by allowing it.
Let's say you specify that output 1 is a float, range 0 to 100. And then you specify that output 2 is text. You would do this in the source code of the Javascript actor, as it is now done with the output names.
So, when you close the editor, the Javascript actor happily changes its mutable outputs. Output 1 becomes a float from 0 to 100, and output 2 is text. Now you connect those outputs to actors that accept those data types, e.g., a Calculator for output 1 and a Trigger Text actor for output 2.
Now you go in and edit the source code, changing the type specifications so that output 1 is text and output 2 is a float from 0 to 100. But the outputs are already connected in such a way that output 1 must be a float, and output 2 must be text.
You could attempt to do a conversion. Converting a number to text will always work, but you can't convert the text "Mark" into a number, forcing you to output a zero. This option seems bad to me because users would could become confused by this behavior.
The other solution is to throw an error in the editor, telling you that you can't use the data types you've specified because the outputs are already connected to something else. I suppose this is the direction I would go, because the editor is sort of in a different "space" than the Scene Editor where you make connections.
Anyway, the complexities of managing this are the reason it hasn't been done already. But if more people indicate that this is a top priority for them, we can try to prioritize this feature.
Best Wishes,
Mark