When the node update() method fails, this gets passed to the log ok, but the output values simply don't get updated. From a functional paradigm we want input and output to stay linked, so these should be updated (e.g. to None or some sort of custom NotData class).
This is done in #131 for the BulkStructure node where it works fine. Generalizing it might be a bit tricky though, as it's possible for nodes to have multiple outputs only some of which may get invalidated. Maybe the parent node class should implement an invalidation routine that by default sets all the output to None if any of the input is invalid (a reasonable base case) and the user can override this?
When the node
update()
method fails, this gets passed to the log ok, but the output values simply don't get updated. From a functional paradigm we want input and output to stay linked, so these should be updated (e.g. toNone
or some sort of customNotData
class).This is done in #131 for the
BulkStructure
node where it works fine. Generalizing it might be a bit tricky though, as it's possible for nodes to have multiple outputs only some of which may get invalidated. Maybe the parent node class should implement an invalidation routine that by default sets all the output toNone
if any of the input is invalid (a reasonable base case) and the user can override this?