New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve Robustness of Input Connection Setting #1770
base: dev_1.39
Are you sure you want to change the base?
Improve Robustness of Input Connection Setting #1770
Conversation
…move the value attribute. Add new unit test case, and fix invalid color management test case.
@JGamache-autodesk, @zicher3d. I believe the change should address both the lack of validation and make the interface more robust in general and in the node editor. |
@@ -1869,7 +1869,6 @@ void Graph::copyInputs() | |||
} | |||
|
|||
copyNode->inputPins[count]->setConnected(true); | |||
copyNode->inputPins[count]->_input->removeAttribute(mx::ValueElement::VALUE_ATTRIBUTE); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just removing the value can actually leave a state of no value and no connection.
resources/Materials/TestSuite/stdlib/color_management/color_management.mtlx
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very good. Thanks!
Issue Addressed
This change adds detection for the case where both a connection and a value are specified, adds and update connection APIs to enforce not creating invalid documents.
Changes
Input::setInterfaceInput()
interface which clears thevalue
attributes to avoid accidently creating invalid documents.value
attribute appropriately.mxvalidate.py
to be able to handle a folder as input.Tests
color_management.mtlx
).mxvalidate.py
and code generation tests caught this error. Ranmxvalidate
on everything inlibraries
andresources
.node
unit test to check interface setting and validity checking.value
andinterfacename
clearing calls.