fix: cinematic render is_cinematic detection and usd_path str/Path handling

Three bugs causing all cinematic renders to silently fall through to the
turntable path and then immediately crash:

1. is_cinematic read from filtered invocation-override dict — 'cinematic' key
   is not in the allowed override key list for turntable_video, so it gets
   stripped. Fixed: read directly from output_type.render_settings.

2. render_turntable_to_file and render_cinematic_to_file both call
   usd_path.exists() but receive a str from the caller. Added the same
   isinstance str→Path conversion that render_still_to_file already had.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 22:32:16 +02:00
co-authored by Claude Sonnet 4.6
parent 6459b9e62d
commit bb2b0f51b5
2 changed files with 7 additions and 1 deletions
@@ -953,7 +953,7 @@ def build_order_line_render_invocation(
output_filename=output_filename,
output_path=str(output_dir / output_filename),
is_animation=bool(output_type and output_type.is_animation),
is_cinematic=bool(output_type and render_settings.get("cinematic")),
is_cinematic=bool(output_type and output_type.render_settings and output_type.render_settings.get("cinematic")),
width=width,
height=height,
engine=str(engine) if engine not in (None, "") else None,
+6
View File
@@ -566,6 +566,9 @@ def render_turntable_to_file(
t0 = time.monotonic()
if isinstance(usd_path, str) and usd_path.strip():
usd_path = Path(usd_path)
# 1. GLB conversion (OCC) — skipped when usd_path is provided
use_usd = bool(usd_path and usd_path.exists())
@@ -804,6 +807,9 @@ def render_cinematic_to_file(
t0 = time.monotonic()
if isinstance(usd_path, str) and usd_path.strip():
usd_path = Path(usd_path)
# 1. GLB conversion (OCC) — skipped when usd_path is provided
use_usd = bool(usd_path and usd_path.exists())