I found the cause of the issue inside hrender_dl.py
renderNode.parm("f1").set(startFrame)
renderNode.parm("f2").set(endFrame)
renderNode.parm("f3").set(increment)
frameTuple = ( )
Frame parameters were set() without using deleteAllKeyframes() first.
This means that if any expression or $ variable ( like $FSTART, $FEND ) were present on those parms, the node.parm().set() would not do anything and the values would stay untouched.
Here is the fix:
### need to delete all parms keyframes before overriding it! GIMP FIX 08/05/2024
renderNode.parm("f1").deleteAllKeyframes()
renderNode.parm("f2").deleteAllKeyframes()
renderNode.parm("f3").deleteAllKeyframes()
renderNode.parm("f1").set(startFrame)
renderNode.parm("f2").set(endFrame)
renderNode.parm("f3").set(increment)
frameTuple = ( )
If you search the code for “).set(” you will find all other parms that are being set().
It’s always good practice to deleteAllKeyframes() before set() to avoid the failure when expressions are present. I did it for all of them, just in case.
BACKGROUND STORY:
The rop is being render using render() function.
At line 950+
rop.render( frameTuple, resolution, ignore_inputs=ignoreInputs )
if the rop is a regular output driver , the frameTuple is read in correctly.
if the rop is a wedge ROP the frameTuple is not interpreted correctly , to solve this Thinkbox sets the frameTuple to empty and instead overwrites the frame parameters on the rop driver ( I am linking the forum where this gets explained from Staff )