feat: render metadata from render_log for past renderings
find_product_renders now reads actual render metadata from the render_log JSONB (stored at render time) via COALESCE fallback: - engine: render_log.engine_used > render_log.engine > output_type setting - width/height: render_log > output_type.render_settings - samples: render_log > output_type.render_settings - render_type: still/turntable/cinematic from render_log.type - has_template: whether a .blend template was used All past renderings now have correct metadata without re-processing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -731,10 +731,12 @@ async def _tool_find_product_renders(
|
||||
ot.name AS output_type, ot.transparent_bg,
|
||||
ot.output_format, ot.is_animation,
|
||||
ot.material_override AS ot_material_override,
|
||||
ot.render_settings->>'width' AS ot_width,
|
||||
ot.render_settings->>'height' AS ot_height,
|
||||
ot.render_settings->>'engine' AS ot_engine,
|
||||
ot.render_settings->>'samples' AS ot_samples,
|
||||
COALESCE(ol.render_log->>'width', ot.render_settings->>'width') AS ot_width,
|
||||
COALESCE(ol.render_log->>'height', ot.render_settings->>'height') AS ot_height,
|
||||
COALESCE(ol.render_log->>'engine_used', ol.render_log->>'engine', ot.render_settings->>'engine') AS ot_engine,
|
||||
COALESCE(ol.render_log->>'samples', ot.render_settings->>'samples') AS ot_samples,
|
||||
ol.render_log->>'type' AS render_type,
|
||||
ol.render_log->>'template' AS template_used,
|
||||
ol.material_override AS line_material_override,
|
||||
ol.render_overrides,
|
||||
ol.result_path, ol.id AS line_id,
|
||||
@@ -775,6 +777,7 @@ async def _tool_find_product_renders(
|
||||
"order_number": r["order_number"],
|
||||
"order_id": str(r["order_id"]),
|
||||
"output_type": r["output_type"],
|
||||
"render_type": r.get("render_type") or ("animation" if r["is_animation"] else "still"),
|
||||
"output_format": overrides.get("output_format") or r["output_format"],
|
||||
"transparent_bg": r["transparent_bg"],
|
||||
"is_animation": r["is_animation"],
|
||||
@@ -782,6 +785,7 @@ async def _tool_find_product_renders(
|
||||
"engine": overrides.get("engine") or r["ot_engine"],
|
||||
"samples": overrides.get("samples") or r["ot_samples"],
|
||||
"material_override": material,
|
||||
"has_template": bool(r.get("template_used")),
|
||||
"image_url": url,
|
||||
"line_id": str(r["line_id"]),
|
||||
"rendered_at": str(r["render_completed_at"]),
|
||||
|
||||
Reference in New Issue
Block a user