Revert "Compile all UI nodes to static methods" #7186
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reverts #7178 as it changes nodes' behavior.
Previously, for a instance method node, say
Surface.PointAtParameter
, if its lacing is cross-product, the node will be compiled to codesurface<1>.PointAtParameters(us<2>, vs<3>)
. AsPointAtParameter(u:double, v:double)
is an instance method, the replication guide<1>
after inputsurface
will simply be discarded, so the result will be a 2D list ifus
andvs
both are 1D list andsurface
is a single object.In #7178, node is compiled to static method, that is,
Surface.PointAtParameter(s:surface, u:double, v:double)
, the replication guide<1>
will be used. According to replication guide behavior, it forces to promote inputs
to a list, therefore the result will be a 3D list.Though the new behavior is correct, to avoid breaking backward compatibility, #7178 is reverted.