diff --git a/backend/app/services/render_blender.py b/backend/app/services/render_blender.py index 7821020..d42e7e5 100644 --- a/backend/app/services/render_blender.py +++ b/backend/app/services/render_blender.py @@ -768,9 +768,9 @@ def render_cinematic_to_file( template_inputs: dict | None = None, log_callback: "Callable[[str], None] | None" = None, ) -> dict: - """Render a cinematic highlight animation: STEP -> GLB/USD -> 480 frames @ 24fps (Blender) -> mp4 (ffmpeg). + """Render a cinematic highlight animation: STEP -> GLB/USD -> 250 frames @ 25fps (Blender) -> mp4 (ffmpeg). - Fixed at 24fps, 480 frames (20 seconds). Uses cinematic_render.py which + Fixed at 25fps, 250 frames (10 seconds). Uses cinematic_render.py which creates a procedural 4-segment camera animation with varying focal lengths, elevations, and bezier-eased transitions. @@ -931,7 +931,7 @@ def render_cinematic_to_file( m = _re.search(r'frame_(\d+)', line) if m: fnum = int(m.group(1)) - log_callback(f"[cinematic_render] Frame {fnum}/480 rendered") + log_callback(f"[cinematic_render] Frame {fnum}/{frame_count} rendered") else: log_callback(line) else: @@ -943,10 +943,12 @@ def render_cinematic_to_file( proc.wait() if proc.returncode != 0: + stdout_tail = "\n".join(log_lines[-50:]) if log_lines else "" + stderr_tail = "\n".join(stderr_lines[-20:]) if stderr_lines else "" raise RuntimeError( f"cinematic_render.py exited with code {proc.returncode}.\n" - f"stdout: {(stdout or '')[-2000:]}\n" - f"stderr: {(stderr or '')[-500:]}" + f"stdout: {stdout_tail[-2000:]}\n" + f"stderr: {stderr_tail[-500:]}" ) render_duration_s = round(time.monotonic() - t_render, 2)