---
name: "Photo → editable 3D rebuild"
description: "Use when a user photo or reference must become an editable Blender scene matched back to the photo."
---

# Photo → editable 3D rebuild

## When
Use when the input is a photograph or still reference and the output must be an editable 3D scene (not a one-shot image edit). Typical: product, room corner, prop, set piece.

## Stop
- Do not skip look-lock — the photo (or a cleaned plate derived from it) is the lock.
- Do not claim photogrammetry if you only grayboxed; label the method honestly.
- Do not invent unseen backsides as "accurate" — mark inferred geometry.
- Never ship without screenshot-match against the source photo.

## OVEN
Default: Grok Bot tools — GenerateImage / computerUse / browserUse / Shell / Blender MCP if connected / Screenshot. (Swap this one line for Astra / Fable / Claude.)

## Steps
1. Ingest the user photo. Copy to `refs/source.jpg`. Note focal length / perspective cues if known.
2. Look-lock: treat the photo as plate-01 (optionally generate a cleaned/cropped plate). Write `look/LOOK-LOCK.md` from photo cues (palette, light direction, materials).
3. Block major geometry in Blender (MCP preferred): volumes, silhouettes, proportions. Keep topology simple.
4. Build materials from photo cues — sample colors, match roughness/metalness visually. Name materials clearly.
5. Match lighting: key direction, soft/hard shadow, ambient. Align camera FOV and position to the photo framing.
6. Render or viewport Screenshot. Run screenshot-match-loop against the photo until pass or N iters.
7. Mark inferred vs observed parts in `scene/NOTES.md`. Export `.blend` + glTF/FBX.

## Done when
- Editable `.blend` exists with named objects/materials.
- Final vs-photo pair saved under `match/`.
- Inferred geometry is labeled.
- Export paths documented.

## Cross-model
Recipe is fixed: photo as lock → block → materials → light/camera → match → export. Only the OVEN line swaps — image ingest and Blender drive bind to the host; honesty about inferred geo and the match gate stay identical across Astra, Grok Bot, Fable, and Claude.
