refactor: clean up Render Settings — remove 11 unused settings, fix Blender status

Removed from UI (saved to DB but never read by any service):
- Max Concurrent Renders, Stall Timeout, Thumbnail Format, Product Thumbnail Priority
- Render Linear/Angular Deflection (only Scene deflections are used)
- GLB Scale Factor, Smooth Normals, GLB Material Mode, PBR Roughness, PBR Metallic

Fixed Blender status check:
- Old: called is_blender_available() in backend container (Blender not installed there)
- New: dispatches Celery task on asset_pipeline queue → runs in render-worker container
- Returns: available=true, version="Blender 5.0.1", binary path
- Status card moved to System Tools tab with refresh button

Kept active: engine, device, samples, smooth angle, tessellation, scene deflections,
3D viewer zoom limits

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-15 09:37:54 +01:00
parent 9a794ff2da
commit 2c7eb81aab
3 changed files with 137 additions and 418 deletions
+8 -14
View File
@@ -723,20 +723,14 @@ async def seed_workflows(
async def renderer_status(
admin: User = Depends(require_global_admin),
):
"""Check health of renderer services."""
from app.services.render_blender import find_blender, is_blender_available
blender_available = is_blender_available()
blender_bin = find_blender()
return {
"blender": {
"available": blender_available,
"note": (
f"render-worker subprocess ({blender_bin})"
if blender_available
else "Blender not found — check render-worker container and BLENDER_BIN"
),
},
}
"""Check Blender availability on the render-worker via Celery task."""
from app.tasks.gpu_tasks import check_blender_status
try:
result = check_blender_status.apply_async()
data = result.get(timeout=10)
except Exception as exc:
data = {"available": False, "blender_bin": "", "version": "", "error": str(exc)}
return {"blender": data}
@router.post("/import-media-assets")