Describe the problem
get_frame_range_from_string() in vrscene_job_submission.py only returns a single
(start, end) tuple representing a contiguous frame range. The OpenJD job template
uses range: "{{Param.Frames}}" which also only supports contiguous ranges.
If a user submits a non-contiguous frame list like 1-10,20-30, the function parses
it incorrectly and the job renders the wrong frames.
Proposed Solution
Two options:
-
Expand non-contiguous ranges to the full bounding range (e.g. 1-10,20-30 →
render frames 1-30, skipping frames 11-19). Simple but renders extra frames.
-
Split non-contiguous ranges into multiple job submissions, one per contiguous
segment. More accurate but more complex.
Recommend option 1 as the simpler approach with a warning to the user that gaps
will be filled.
Example Use Cases
- Artist wants to re-render only specific frames
1-5,50-55,100 after a lighting
change without re-rendering the full sequence
- Studio pipeline generates frame lists with gaps for pickup renders
Related
Describe the problem
get_frame_range_from_string()invrscene_job_submission.pyonly returns a single(start, end)tuple representing a contiguous frame range. The OpenJD job templateuses
range: "{{Param.Frames}}"which also only supports contiguous ranges.If a user submits a non-contiguous frame list like
1-10,20-30, the function parsesit incorrectly and the job renders the wrong frames.
Proposed Solution
Two options:
Expand non-contiguous ranges to the full bounding range (e.g.
1-10,20-30→render frames
1-30, skipping frames11-19). Simple but renders extra frames.Split non-contiguous ranges into multiple job submissions, one per contiguous
segment. More accurate but more complex.
Recommend option 1 as the simpler approach with a warning to the user that gaps
will be filled.
Example Use Cases
1-5,50-55,100after a lightingchange without re-rendering the full sequence
Related
get_frame_range_from_string()invrscene_job_submission.pyline 206