I just wanted to give everyone a head’s up that we found a few bugs with variable evaluation that we are thinking of fixing, but they are pretty big changes so if anyone is expecting the ‘bugged’ behavior for their files to work, let us know (and we can figure out a solution). TUIK uses this bugged behavior a lot, but we are fixing it. Files should upgrade fine as long as any TUIK COMPS you use are still clones.
- If you use a variable in a COMP’s parameters, it would first search it’s component variables (inside itself) for variables, then search up. This is inconsistent because any other OP sitting right next to that COMP doesn’t follow the same search path, they would just search the COMP they are sitting in, and up. So for example
cvar -p /project1/mycomponent PATH = "mypath"
rvar PATH = "myrootpath"
If you use $PATH in the parameters of mycomponent, it used to return mypath, but in future builds it will return myrootpath. Nodes inside mycomponent would (and will) evaluate $PATH to mypath though.
The same is true for Path Variables.
If you want to use variables inside a COMP, you can use
var(".", "PATH")
- expressions used to evaluate component/root variables before script variables. So if you had
set PATH = "mypath"
in a script but PATH was also defined somewhere as a component/root variable (higher in the node tree), it would return the component/root variable. Commands such as
echo $PATH
would have returned the script variable (“mypath” in this example).
This is obviously inconsistent so we want to make it return the script variable, if available.
This was similarly true for node specific variables such as $TX in the Point SOP. It would have ignored the node specific $TX if it was defined as a Component/Root variable.
- We are adding better dependencies for component/root variables so nodes will recook when variables change/come into existence.
Will these changes (1 and 2 mostly) have a big impact on anyone?