From e26d76154b7dd6c18e51df6af8ab7d2bc4a22c91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hartmut=20N=C3=B6renberg?= Date: Sun, 15 Mar 2026 21:32:34 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20cinematic=20render=20arg=20order=20?= =?UTF-8?q?=E2=80=94=20match=20turntable=20positional=20layout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The service was sending (glb, frames_dir, width, height, engine, samples...) but the script expected turntable order (glb, frames_dir, frame_count, degrees, width, height, engine, samples...). Fixed by adding frame_count and degrees placeholders to match the expected positional layout. Co-Authored-By: Claude Opus 4.6 (1M context) --- backend/app/services/render_blender.py | 33 +++++++++++++++----------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/backend/app/services/render_blender.py b/backend/app/services/render_blender.py index 2f648c9..50ae7f5 100644 --- a/backend/app/services/render_blender.py +++ b/backend/app/services/render_blender.py @@ -612,20 +612,25 @@ def render_cinematic_to_file( "--background", "--python", str(script_path), "--", - glb_arg, - str(frames_dir), - str(width), str(height), - engine, str(samples), - json.dumps(part_colors or {}), - template_path or "", - target_collection, - material_library_path or "", - json.dumps(material_map) if material_map else "{}", - json.dumps(part_names_ordered) if part_names_ordered else "[]", - "1" if lighting_only else "0", - cycles_device, - "1" if shadow_catcher else "0", - str(rotation_x), str(rotation_y), str(rotation_z), + glb_arg, # [0] glb_path + str(frames_dir), # [1] frames_dir + str(frame_count), # [2] frame_count (480) + "0", # [3] degrees (unused, compat) + str(width), str(height), # [4] width, [5] height + engine, str(samples), # [6] engine, [7] samples + json.dumps(part_colors or {}), # [8] part_colors + template_path or "", # [9] template_path + target_collection, # [10] target_collection + material_library_path or "", # [11] material_library + json.dumps(material_map) if material_map else "{}", # [12] material_map + json.dumps(part_names_ordered) if part_names_ordered else "[]", # [13] part_names + "1" if lighting_only else "0", # [14] lighting_only + cycles_device, # [15] cycles_device + "1" if shadow_catcher else "0", # [16] shadow_catcher + str(rotation_x), str(rotation_y), str(rotation_z), # [17-19] rotation + "world_z", # [20] turntable_axis (unused) + "", # [21] bg_color (unused) + "1" if transparent_bg else "0", # [22] transparent_bg ] if use_usd: cmd += ["--usd-path", str(usd_path)]