phase 2 + 3 wrapped — then qa caught a bug i couldn't fix

Long stretch since the last entry. Heads down through Phase 2 and Phase 3.

Phase 2 shipped 3D extrusion of the 2D plan, the furniture catalog, material picker, the social loop (like / comment / follow), SSR for public surfaces, and twelve sub-tasks of editor polish.

Phase 3 added the procedural stick-man avatar customizer (avatars show up in owners’ 3D scenes), the branch system (fork a published project, attribution chain preserved, license-gated), the template browser, and thirteen official starter templates.

Then it was time to leave the codebase alone and actually use the thing. Asked Claude to scaffold per-phase manual QA — anything automated tests can’t cover. Two files, ~100 checkboxes.

First item: “Open a saved project → toggle from 2D to 3D — walls extrude correctly.”

Editor opened, 2D rendered, clicked 3D. Pure black.

Claude diagnosed a real bug along the way — 3D camera was fixed at world (8, 8, 8) looking at origin, ground plane at the same spot, no camera-framing in loadPlan. Walls drawn far from origin were off-camera. Wrote an auto-fit fix, added tests, all 422 specs still passed.

The fix lit up the §3.2 detail-page 3D preview. Same composable, same call. Walls visible.

The editor’s 3D toggle stayed pure black.

Canvas correctly sized, no JS errors, hard refresh useless. The black is bg-editor_bg, not the renderer’s clear color — WebGL never paints in the editor. Same loadPlan renders on the preview pane and not here. Probably specific to the editor’s two-canvas v-show split. Never got clean diagnostic data.

Committed everything and handed it to Codex. Codex couldn’t fix it either.

Claude generated the QA list. Claude tried to fix the first thing it caught. Codex tried after. Both failed. The list did its job. The models didn’t.

#gamahaus #ai