State:New|TargetRelease:No Target|icon_bug|icon_katana|database:public|Resolution:Fixed|BugID:349498|
Problem summary
When opening a scene that contains a Render node (that is not locked), a sync of the output ports is triggered which ultimately also leads to Implicit Resolvers being applied to expanded locations (/root).
Customer reported version
Katana 2.1v1
Customer reported platform
Linux
Steps to reproduce
1) Register an Op that prints some debug output as an Implicit Resolver as follows:
from Katana import ( FnAttribute, Nodes3DAPI,)Nodes3DAPI.RegisterImplicitResolver( Nodes3DAPI.ImplicitResolverStage.AfterStandardResolvers, 'DebugOp', FnAttribute.GroupBuilder() .build(), False); 2) Create a simple project containing a CameraCreate node connected to a Render node. Note that the Implicit Resolver Op's output is printed to the console on connecting the Render node's input port.
3) Open a new project and then re-open the simple project created in step 2. Note that the Implicit Resolver Op's output is printed to the console.
Workaround
- Avoid setting custom Implicit Resolver Ops that are evaluated at /root
- The Implicit Resolvers aren't applied when the Render node is locked (i.e. it's 'lock' parameter checkbox is enabled). However, this also means the asset information for this Render node is no longer updated.
Reproduced by support
This bug has been reproduced in:
Katana 2.6v4 - CentOS 7.4
Katana 2.1v1 - CentOS 7.4
Katana 2.0v1 - CentOS 7.4
Earliest version tested
Katana 2.0v1
- The behaviour causing this issue was introduced in this version
Expected behaviour
Implicit Resolvers should only be applied when they are explicitly turned on or when rendering.
Actual behaviour
Implicit Resolvers are also applied when connecting a Render node and when opening a project with a connected Render node.
We're sorry to hear that
Please tell us why