I'm wondering if there is a conditional to check if the final result exists already and stop all processing if it does. It would then simply load as final result and move on to check the next frame.
I'm looking at the write node and don't see an overwrite checkbox, which would imply this functionality and is the place people would expect to find that ability.
It might not be as simple as it sounds, but ultimately every linked node should be caching and know if it needs processing or not, so if the final node is checked first and it has unprocessed dependencies down it's source chain. I imagine the original coder would start with the read node and move through the dependencies in a output way, but this would be the wrong approach. The lack of the checkbox on the write node implies this mistake was made day one and never resolved.
Anyway I would speculate, I'm asking how to do this under help but I'm guessing this should be raised to a feature request because it's not a bug but a fundamental design flaw and somewhat potentially transformative issue.
To reiterate if the final output file is already rendered and maybe it should just load that resource. Now if the user switched the viewer to some node in the source chain dependency tree then yes that would trigger a reload of the original read files and all nodes needed to get there.
In the case of some sequence with time blur and retime with say god rays per frame etc. it sure would be nice to come back later after rendering some more source frames and not have to repeat compute times. The truth is this example reveals something I would consider challenging and that is to manage the caching required but ultimately if a write node follows a retime node it should be able to use the write result/cache if it's saved to disk and save the processing of possibly countless frames chained together from before.
Anyway it would be nice if I could just ask a conditional node does the read file exist and then say use that branch direct to write (?) and if not use the other 'else' node dependency branch. Of course if the system doesn't understand dependencies and thinks it needs all the other nodes computed per frame anyway this would be pointless, so it seems to me not knowing how Natron is fundamentally coded, if this is simple or pretty much fundamentally impossible or not? If anyone could mention that there is some kind of intelligent caching of node dependencies build into the Natron code base that would be useful to know so I'm not deeply concerned about the future of Natron that this simple missing of a don't overwrite checkbox in the write node implies to me otherwise, thanks.
Since I don't see it there hopefully we can easily switch this "User Help" topic to a feature request, if not something more important as it seems a pretty important fundamental ability to save literally hours.