DYN-10577: EvaluateDefineDataNode skips playerValue when inputValue is null#17154
Conversation
There was a problem hiding this comment.
See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-10577
| { | ||
|
|
||
| if (inputValue == null) | ||
| if (inputValue == null && string.IsNullOrEmpty(playerValue)) |
There was a problem hiding this comment.
What is playerValue? Is it an input value to the node that is serialized in the .dyn? Does player "magically" serialize the input value in the .dyn? How is that done? Is the expectation for tyto workflow builder to do the same - i.e. set the playerValue in the .dyn file?
There was a problem hiding this comment.
This is actually very confusing, for EvaluateDefineDataNode, inputValue is the upstream input value, and playValue is the the value injected into the node by Dynamo Player, if any.
What happened was, DaaS injects into playerValue (via InputValue in the .dyn). inputValue is null because there’s no wire. On master, the early return on null inputValue happens before playerValue is applied.
RobertGlobant20
left a comment
There was a problem hiding this comment.
LGTM, just retrigger Dynamo SelfServe job to see if now passes
|
@kalunkuo , looks like this has been approved. Is there anything pending or can we merge? |
We are still checking in with Craig to see whether if it is an intended behavior. |
…g tests Skip validation warnings for empty unconnected port defaults and null player-deserialized values so authoring info state is not overridden at runtime. Co-authored-by: Cursor <cursoragent@cursor.com>
|





Purpose
When DefineData’s > port is unwired, inputValue is null. The function returned early before reading playerValue (InputValue in the .dyn), so overrides were silently dropped and output stayed null. Headless consumers (e.g. DaaS) that inject geometry via InputValue without a .dyn connector hit this path.
Only treat DefineData as unused when both inputValue and playerValue are empty.
Apply ParseJSON(playerValue) before the single-value / list validation check.
Added unit tests in test/DynamoCoreTests/DSCoreDataTests.cs.
Tested manually by: unwired DefineData → Watch in Sandbox, "InputValue": "true" in the .dyn → Watch shows true on the fix branch vs null on master.
Declarations
Check these if you believe they are true
Release Notes
(FILL ME IN) Brief description of the fix / enhancement. Use N/A to indicate that the changes in this pull request do not apply to Release Notes. Mandatory section
Reviewers
(FILL ME IN) Reviewer 1 (If possible, assign the Reviewer for the PR)
(FILL ME IN, optional) Any additional notes to reviewers or testers.
FYIs
(FILL ME IN, Optional) Names of anyone else you wish to be notified of