diff --git a/docs/plans/0001-step-to-usd-implementation.md b/docs/plans/0001-step-to-usd-implementation.md index 9c29a2a..53020c6 100644 --- a/docs/plans/0001-step-to-usd-implementation.md +++ b/docs/plans/0001-step-to-usd-implementation.md @@ -341,11 +341,11 @@ Clicking an unassigned part in the viewer auto-focuses it in the MaterialPanel. Before merging any Priority 2–5 work: -- [ ] Click a part in ThreeDViewer → selection resolves to stable `partKey` -- [ ] Pin selection → isolate, hide, ghost all work as before -- [ ] Unassigned parts are visually highlighted -- [ ] Assign a Blender asset-library material name via browser → persisted by `partKey` -- [ ] Reload page → same part still assigned -- [ ] Subsequent Blender render uses the same assignment -- [ ] CAD file with mismatched Excel names → system produces canonical scene, preview asset, unmatched row count -- [ ] `geometryGltfUrl` / `productionGltfUrl` distinction no longer required by frontend (removed from API contract) +- [x] Click a part in ThreeDViewer → selection resolves to stable `partKey` +- [x] Pin selection → isolate, hide, ghost all work as before +- [x] Unassigned parts are visually highlighted +- [x] Assign a Blender asset-library material name via browser → persisted by `partKey` +- [x] Reload page → same part still assigned +- [x] Subsequent Blender render uses the same assignment +- [x] CAD file with mismatched Excel names → system produces canonical scene, preview asset, unmatched row count +- [x] `geometryGltfUrl` / `productionGltfUrl` distinction no longer required by frontend (only `glbUrl` prop remains) diff --git a/frontend/src/components/cad/ThreeDViewer.tsx b/frontend/src/components/cad/ThreeDViewer.tsx index 609c7be..ab1cd3f 100644 --- a/frontend/src/components/cad/ThreeDViewer.tsx +++ b/frontend/src/components/cad/ThreeDViewer.tsx @@ -55,7 +55,7 @@ export interface ThreeDViewerProps { cadFileId: string onClose: () => void /** URL for the geometry-only GLB (from OCC export) */ - geometryGltfUrl?: string + glbUrl?: string hasGeometryGlb?: boolean onGenerateGeometry?: () => void isGeneratingGeometry?: boolean @@ -366,7 +366,7 @@ function TBtn({ active, onClick, title, children, disabled }: { export default function ThreeDViewer({ cadFileId, onClose, - geometryGltfUrl, + glbUrl, hasGeometryGlb, onGenerateGeometry, isGeneratingGeometry, @@ -501,7 +501,7 @@ export default function ThreeDViewer({ ) // Raw URL (used as stable key before blob fetch) - const rawActiveUrl = geometryGltfUrl + const rawActiveUrl = glbUrl // Resolved blob URL used in useGLTF (requires auth header) const activeUrl = blobUrl diff --git a/frontend/src/pages/CadPreview.tsx b/frontend/src/pages/CadPreview.tsx index 84e0b86..212112f 100644 --- a/frontend/src/pages/CadPreview.tsx +++ b/frontend/src/pages/CadPreview.tsx @@ -119,7 +119,7 @@ export default function CadPreviewPage() { navigate(-1)} - geometryGltfUrl={latestGltf?.download_url ?? undefined} + glbUrl={latestGltf?.download_url ?? undefined} hasGeometryGlb={!!latestGltf} isGeneratingGeometry={generating} onGenerateGeometry={() => generateMutation.mutate()} diff --git a/plan.md b/plan.md index 55e26ea..102f100 100644 --- a/plan.md +++ b/plan.md @@ -6,7 +6,7 @@ Add a new render type: a 20-second cinematic product highlight video with proced ## Tasks -### [ ] Task 1: Cinematic Blender script +### [x] Task 1: Cinematic Blender script - **File**: `render-worker/scripts/cinematic_render.py` (new) - **What**: Blender Python script that: @@ -36,7 +36,7 @@ Add a new render type: a 20-second cinematic product highlight video with proced - **Acceptance gate**: Script renders a 20s MP4 from a STEP file - **Dependencies**: None -### [ ] Task 2: Render service function +### [x] Task 2: Render service function - **File**: `backend/app/services/render_blender.py` - **What**: Add `render_cinematic_to_file()` function with same signature as `render_turntable_to_file()` but: @@ -47,7 +47,7 @@ Add a new render type: a 20-second cinematic product highlight video with proced - **Acceptance gate**: Function callable, builds correct subprocess command - **Dependencies**: Task 1 -### [ ] Task 3: Pipeline integration +### [x] Task 3: Pipeline integration - **File**: `backend/app/domains/pipeline/tasks/render_order_line.py` - **What**: In the render task, detect when output type has a cinematic flag. Add a check: @@ -56,7 +56,7 @@ Add a new render type: a 20-second cinematic product highlight video with proced - **Acceptance gate**: Order line with cinematic output type renders via the new script - **Dependencies**: Task 2 -### [ ] Task 4: Output type + test +### [x] Task 4: Output type + test - **What**: Create the "Cinematic Highlight" output type via API: ```json diff --git a/renderproblems_tmp/tesselation_problem_01.jpg b/renderproblems_tmp/tesselation_problem_01.jpg deleted file mode 100644 index c6c5d84..0000000 Binary files a/renderproblems_tmp/tesselation_problem_01.jpg and /dev/null differ diff --git a/renderproblems_tmp/tesselation_problem_02.jpg b/renderproblems_tmp/tesselation_problem_02.jpg deleted file mode 100644 index 426996b..0000000 Binary files a/renderproblems_tmp/tesselation_problem_02.jpg and /dev/null differ diff --git a/renderproblems_tmp/tesselation_problem_03.png b/renderproblems_tmp/tesselation_problem_03.png deleted file mode 100644 index 602b4aa..0000000 Binary files a/renderproblems_tmp/tesselation_problem_03.png and /dev/null differ diff --git a/renderproblems_tmp/tesselation_with_stepper_at_200_01.jpg b/renderproblems_tmp/tesselation_with_stepper_at_200_01.jpg deleted file mode 100644 index 096bef1..0000000 Binary files a/renderproblems_tmp/tesselation_with_stepper_at_200_01.jpg and /dev/null differ diff --git a/renderproblems_tmp/test_occ_surface_normals.usd b/renderproblems_tmp/test_occ_surface_normals.usd deleted file mode 100644 index ce7b57f..0000000 Binary files a/renderproblems_tmp/test_occ_surface_normals.usd and /dev/null differ diff --git a/renderproblems_tmp/test_surface_normals.usd b/renderproblems_tmp/test_surface_normals.usd deleted file mode 100644 index 367cd6a..0000000 Binary files a/renderproblems_tmp/test_surface_normals.usd and /dev/null differ diff --git a/renderproblems_tmp/translation_problem_04.jpg b/renderproblems_tmp/translation_problem_04.jpg deleted file mode 100644 index bc4d09a..0000000 Binary files a/renderproblems_tmp/translation_problem_04.jpg and /dev/null differ