It seems confusing that CLI modules ignore the parent transform and users need to harden the transform to get the results that they expect. See this discussion for a recent example:
Does anyone know the reason why CLI modules are implemented like this?
Should we transform to/from RAS space before sending a node to a CLI module and convert outputs from RAS to the node’s parent transform’s space?
Or should we at least display a warning when a node under a transform is used as CLI module input or output?
As I recall transforms were being added and improved around the same time CLIs were being developed and I think this feature just never got implemented. It would definitely be nice to handle this automatically at the CLI GUI/logic layer by assuming that CLIs expect all their inputs to be in the same space (RAS).
We could do this by extending the node combo box to have a method like currrentNodeInWorldSpace that would do the clone/harden step if needed. If a transformable node has a nonlinear transform parent, then the combo box could have a submenu that selects a reference volume to define the desired resampling (and maybe the option not to delete the clone volume in case you want to reuse it).