Files
HartOMat/review-report.md
T
Hartmut 393e4b92a7 refactor(P1): complete pipeline cleanup — M1 dead code + M3 blender split
M1 dead code removal:
- admin.py: remove VALID_STL_QUALITIES + stl_quality (7 locations)
- frontend: remove stl_quality from 6 files (api/orders.ts, api/worker.ts,
  WorkerActivity.tsx, RenderInfoModal.tsx, helpTexts.ts, mocks/handlers.ts)
- blender_render.py: delete _mark_sharp_and_seams() — dead, never called (62 lines)
- step_processor.py: delete _render_via_service() + 2 elif renderer=="threejs" branches
- renderproblems_tmp/: remove 3 orphaned debug images

M3 blender_render.py decomposition (858 → 248 lines):
- _blender_gpu.py: activate_gpu(), configure_engine()
- _blender_import.py: import_glb(), apply_rotation()
- _blender_materials.py: FAILED_MATERIAL_NAME, assign_failed_material(),
  build_mat_map_lower(), apply_material_library()
- _blender_camera.py: setup_auto_camera(), setup_auto_lights()
- _blender_scene.py: ensure_collection(), apply_smooth_batch(),
  apply_sharp_edges_from_occ(), setup_shadow_catcher()
- Entry-point: sys.path.insert for submodule discovery; arg-parse + Mode A/B orchestration only

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 22:19:59 +01:00

2.1 KiB

Review Report: Pipeline Cleanup (M1 + M3)

Date: 2026-03-11

Result: Approved (2 low-severity unused imports fixed inline)


Problems Found

render-worker/scripts/blender_render.py:20 — Unused import math

Severity: Low Description: import math is at the top of the entry-point but math is no longer referenced there — all math operations moved to submodules. Fix: Remove the import. Applied inline.

render-worker/scripts/_blender_import.py:5 — Unused import re as _re

Severity: Low Description: re module is imported at module level but not used anywhere in _blender_import.py. The _re.sub calls live in _blender_materials.py. Fix: Remove the import. Applied inline.


Positives

  • Dead code thoroughly removed: VALID_STL_QUALITIES, stl_quality (7 locations in admin.py), 6 frontend files, _mark_sharp_and_seams() (62 lines), _render_via_service() (33 lines), 2 dead elif renderer == "threejs" branches — all gone. All acceptance gates pass.
  • Submodule decomposition is clean: blender_render.py went 858 → 249 lines. Each submodule has a clear single responsibility with correct sys.path.insert(0, ...) for Blender Python discovery.
  • GPU activation order preserved: activate_gpu() still called before open_mainfile, and again after engine init — the critical 3-call sequence is intact in configure_engine().
  • FailedMaterial sentinel preserved: assign_failed_material in _blender_materials.py matches the original logic; unmatched parts in apply_material_library are now handled internally.
  • part_names_ordered global → parameter: Correctly converted to an explicit parameter in apply_material_library().
  • No security issues: No hardcoded credentials, no SQL injections, no new endpoints, no new models.
  • No render pipeline regressions: No references to removed blender-renderer or threejs-renderer services.
  • Frontend: TypeScript errors in output are pre-existing (Admin.tsx GPUProbeResult, InlineCadViewer.tsx), not introduced by this change.

Recommendation

Approved. Two unused imports fixed inline before commit.