Skip to content

Core - Keep the last good outputs of a node that fails to evaluate - #917

Merged
RobertBeekman merged 1 commit into
masterfrom
fix/failing-node-keeps-outputs
Oct 27, 2026
Merged

RobertBeekman merged 1 commit into
masterfrom
fix/failing-node-keeps-outputs

Conversation

@RobertBeekman

@RobertBeekman RobertBeekman commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Partly reverts a change from #911. A node that failed to evaluate reset its outputs to their default values, so a node breaking for a few frames made everything after it jump to defaults. That's more noticeable than carrying on with the last good values for a moment.

Changed

  • A node that fails to evaluate keeps the outputs of its last successful run, like it did before Core - Fix node script and pin bugs found by the tests #911.
  • The other half of that fix stays: the failing node marks its outputs as evaluated, so it is evaluated once per run instead of once for every pin reading from it.
  • Removed Pin.SetDefaultValue, nothing else used it.

Difference with before #911

Before #911 a failing node was tried again for every input reading from it. A node that only fails sometimes could succeed on a later read in the same frame, now that waits until the next frame.

A node that failed to evaluate reset its outputs to their default values, so a node breaking for a few frames made
everything after it jump to defaults. It now keeps the outputs of its last successful run, like before #911, and still
marks them as evaluated so it isn't evaluated again for every pin reading from it.
@RobertBeekman
RobertBeekman merged commit 8d2927a into master Oct 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant