chore: cleanup #6 #8 #9 — delete debug dir, rename glbUrl prop, sync docs

- delete renderproblems_tmp/ (7 debug images + USD test files, orphaned)
- rename ThreeDViewer prop geometryGltfUrl → glbUrl; update CadPreview.tsx
  caller (productionGltfUrl distinction was never needed, only one GLB type)
- plan.md: mark all 4 cinematic tasks [x] (all implemented + seeded in 070)
- 0001-step-to-usd: mark Phase 4 ThreeDViewer acceptance gates [x] (P4 done)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 10:22:08 +02:00
co-authored by Claude Sonnet 4.6
parent c87857f836
commit c262b31bc5
11 changed files with 16 additions and 16 deletions
@@ -341,11 +341,11 @@ Clicking an unassigned part in the viewer auto-focuses it in the MaterialPanel.
Before merging any Priority 25 work: Before merging any Priority 25 work:
- [ ] Click a part in ThreeDViewer → selection resolves to stable `partKey` - [x] Click a part in ThreeDViewer → selection resolves to stable `partKey`
- [ ] Pin selection → isolate, hide, ghost all work as before - [x] Pin selection → isolate, hide, ghost all work as before
- [ ] Unassigned parts are visually highlighted - [x] Unassigned parts are visually highlighted
- [ ] Assign a Blender asset-library material name via browser → persisted by `partKey` - [x] Assign a Blender asset-library material name via browser → persisted by `partKey`
- [ ] Reload page → same part still assigned - [x] Reload page → same part still assigned
- [ ] Subsequent Blender render uses the same assignment - [x] Subsequent Blender render uses the same assignment
- [ ] CAD file with mismatched Excel names → system produces canonical scene, preview asset, unmatched row count - [x] 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] `geometryGltfUrl` / `productionGltfUrl` distinction no longer required by frontend (only `glbUrl` prop remains)
+3 -3
View File
@@ -55,7 +55,7 @@ export interface ThreeDViewerProps {
cadFileId: string cadFileId: string
onClose: () => void onClose: () => void
/** URL for the geometry-only GLB (from OCC export) */ /** URL for the geometry-only GLB (from OCC export) */
geometryGltfUrl?: string glbUrl?: string
hasGeometryGlb?: boolean hasGeometryGlb?: boolean
onGenerateGeometry?: () => void onGenerateGeometry?: () => void
isGeneratingGeometry?: boolean isGeneratingGeometry?: boolean
@@ -366,7 +366,7 @@ function TBtn({ active, onClick, title, children, disabled }: {
export default function ThreeDViewer({ export default function ThreeDViewer({
cadFileId, cadFileId,
onClose, onClose,
geometryGltfUrl, glbUrl,
hasGeometryGlb, hasGeometryGlb,
onGenerateGeometry, onGenerateGeometry,
isGeneratingGeometry, isGeneratingGeometry,
@@ -501,7 +501,7 @@ export default function ThreeDViewer({
) )
// Raw URL (used as stable key before blob fetch) // Raw URL (used as stable key before blob fetch)
const rawActiveUrl = geometryGltfUrl const rawActiveUrl = glbUrl
// Resolved blob URL used in useGLTF (requires auth header) // Resolved blob URL used in useGLTF (requires auth header)
const activeUrl = blobUrl const activeUrl = blobUrl
+1 -1
View File
@@ -119,7 +119,7 @@ export default function CadPreviewPage() {
<ThreeDViewer <ThreeDViewer
cadFileId={id} cadFileId={id}
onClose={() => navigate(-1)} onClose={() => navigate(-1)}
geometryGltfUrl={latestGltf?.download_url ?? undefined} glbUrl={latestGltf?.download_url ?? undefined}
hasGeometryGlb={!!latestGltf} hasGeometryGlb={!!latestGltf}
isGeneratingGeometry={generating} isGeneratingGeometry={generating}
onGenerateGeometry={() => generateMutation.mutate()} onGenerateGeometry={() => generateMutation.mutate()}
+4 -4
View File
@@ -6,7 +6,7 @@ Add a new render type: a 20-second cinematic product highlight video with proced
## Tasks ## Tasks
### [ ] Task 1: Cinematic Blender script ### [x] Task 1: Cinematic Blender script
- **File**: `render-worker/scripts/cinematic_render.py` (new) - **File**: `render-worker/scripts/cinematic_render.py` (new)
- **What**: Blender Python script that: - **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 - **Acceptance gate**: Script renders a 20s MP4 from a STEP file
- **Dependencies**: None - **Dependencies**: None
### [ ] Task 2: Render service function ### [x] Task 2: Render service function
- **File**: `backend/app/services/render_blender.py` - **File**: `backend/app/services/render_blender.py`
- **What**: Add `render_cinematic_to_file()` function with same signature as `render_turntable_to_file()` but: - **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 - **Acceptance gate**: Function callable, builds correct subprocess command
- **Dependencies**: Task 1 - **Dependencies**: Task 1
### [ ] Task 3: Pipeline integration ### [x] Task 3: Pipeline integration
- **File**: `backend/app/domains/pipeline/tasks/render_order_line.py` - **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: - **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 - **Acceptance gate**: Order line with cinematic output type renders via the new script
- **Dependencies**: Task 2 - **Dependencies**: Task 2
### [ ] Task 4: Output type + test ### [x] Task 4: Output type + test
- **What**: Create the "Cinematic Highlight" output type via API: - **What**: Create the "Cinematic Highlight" output type via API:
```json ```json
Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB