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.name AS output_type, ot.transparent_bg,
|
||||||
ot.output_format, ot.is_animation,
|
ot.output_format, ot.is_animation,
|
||||||
ot.material_override AS ot_material_override,
|
ot.material_override AS ot_material_override,
|
||||||
ot.render_settings->>'width' AS ot_width,
|
COALESCE(ol.render_log->>'width', ot.render_settings->>'width') AS ot_width,
|
||||||
ot.render_settings->>'height' AS ot_height,
|
COALESCE(ol.render_log->>'height', ot.render_settings->>'height') AS ot_height,
|
||||||
ot.render_settings->>'engine' AS ot_engine,
|
COALESCE(ol.render_log->>'engine_used', ol.render_log->>'engine', ot.render_settings->>'engine') AS ot_engine,
|
||||||
ot.render_settings->>'samples' AS ot_samples,
|
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.material_override AS line_material_override,
|
||||||
ol.render_overrides,
|
ol.render_overrides,
|
||||||
ol.result_path, ol.id AS line_id,
|
ol.result_path, ol.id AS line_id,
|
||||||
@@ -775,6 +777,7 @@ async def _tool_find_product_renders(
|
|||||||
"order_number": r["order_number"],
|
"order_number": r["order_number"],
|
||||||
"order_id": str(r["order_id"]),
|
"order_id": str(r["order_id"]),
|
||||||
"output_type": r["output_type"],
|
"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"],
|
"output_format": overrides.get("output_format") or r["output_format"],
|
||||||
"transparent_bg": r["transparent_bg"],
|
"transparent_bg": r["transparent_bg"],
|
||||||
"is_animation": r["is_animation"],
|
"is_animation": r["is_animation"],
|
||||||
@@ -782,6 +785,7 @@ async def _tool_find_product_renders(
|
|||||||
"engine": overrides.get("engine") or r["ot_engine"],
|
"engine": overrides.get("engine") or r["ot_engine"],
|
||||||
"samples": overrides.get("samples") or r["ot_samples"],
|
"samples": overrides.get("samples") or r["ot_samples"],
|
||||||
"material_override": material,
|
"material_override": material,
|
||||||
|
"has_template": bool(r.get("template_used")),
|
||||||
"image_url": url,
|
"image_url": url,
|
||||||
"line_id": str(r["line_id"]),
|
"line_id": str(r["line_id"]),
|
||||||
"rendered_at": str(r["render_completed_at"]),
|
"rendered_at": str(r["render_completed_at"]),
|
||||||
|
|||||||
Reference in New Issue
Block a user