multiview-fit-loop — Claude Code skill: fit Blender models to view
Runs a render-compare-adjust loop until a Blender model matches supplied front, side, back and top templates across all dimensions.
npx skills add RobLe3/cc-blender-skill --skill multiview-fit-loop -a claude-codeWhat multiview-fit-loop does
Reach for this skill when the model still does not fit the templates or originals. It renders flat, material-independent silhouettes for every available view, extracts the template object mask while dropping labels, cyan guides and background, then compares each pair on bbox center and size, centroid drift, silhouette coverage and a visual overlay.
Measured deltas turn into adjustments of the model, camera or recipe, the model is rebuilt, and the loop runs again until the hard gates pass. Those gates: bbox center drift at or below 1.5% of image width, bbox size drift at or below 3% for front and 5% for side, top and back on the first pass, an exact structural part count, and texture UV regions still valid after geometry changes. scripts/multiview_fit_report.py writes the per-view comparison as JSON plus overlays.
Before forcing anything, the skill checks whether the orthographic templates contradict each other. One rigid 3D model cannot satisfy conflicting physical ratios at once, so on a conflict the loop stops, a conflict report is written, and you either get separate variants or a question about which view is canonical. Camera scale tricks are allowed only after model dimensions are correct.
What it helps with
- compare a render against front, side, back and top templates
- measure centroid drift and bbox size between template and render
- produce silhouette overlays and a JSON report per view
- catch contradictory orthographic templates before touching geometry
- drive the model to the fit gates before export
Example prompts for the agent
- compare the model to the front/side/back/top templates and adjust until every view passes
- run the multiview fit loop and show me the bbox and centroid report
- check whether the templates conflict before you change the geometry
How to install multiview-fit-loop
1Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-fit-loop -a claude-code2Manually: put the files in place
~/.claude/skills/multiview-fit-loop/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/multiview-fit-loop/
1Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-fit-loop -a codex2Manually: put the files in place
.agents/skills/multiview-fit-loop/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-fit-loop -a cursor2Manually: put the files in place
.cursor/skills/multiview-fit-loop/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install RobLe3/cc-blender-skill multiview-fit-loop2Manually: put the files in place
.github/skills/multiview-fit-loop/SKILL.md1Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-fit-loop -a gemini-cli2Platform CLI
gemini skills install https://github.com/RobLe3/cc-blender-skill --path plugin/skills/multiview-fit-loopManually: put the files in place
.devin/skills/multiview-fit-loop/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-fit-loop -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about multiview-fit-loop
How do I install multiview-fit-loop in Claude?
Run npx skills add RobLe3/cc-blender-skill --skill multiview-fit-loop -a claude-code. The skill lands at ~/.claude/skills/multiview-fit-loop/SKILL.md.
What does multiview-fit-loop do?
It loops render, compare and adjust until the model silhouettes match the templates on bbox, centroid and coverage.
What does the skill need to run?
A Blender MCP server exposing render and scene-info tools, plus the view templates. Before the first Blender call it reads ../text-to-blender/references/mcp-backends.md and keeps the chosen backend for the whole task.
Source text
SKILL.md · MIT
--- name: multiview-fit-loop description: Closed-loop compare-adjust-repeat workflow for fitting Blender models to supplied front/side/back/top templates and originals. Use when the user asks to compare the product to templates/originals and adjust until it fits across all dimensions, or when all views must pass measurable bbox/centroid/silhouette/edge validation before export. allowed-tools: Read Bash Glob Grep mcp__blender__execute_blender_code mcp__blender__get_scene_info mcp__blender__get_object_info mcp__blender__get_objects_summary mcp__blender__get_object_detail_summary mcp__blender__render_viewport_to_path mcp__blender__search_api_docs mcp__blender_official__execute_blender_code mcp__blender_official__get_objects_summary mcp__blender_official__get_object_detail_summary mcp__blender_official__render_viewport_to_path mcp__blender_official__search_api_docs --- ## MCP backend Use when: Multi-view validation and iterative fitting against reference templates, all-dimension mascot/object reconstruction, front/side/back/top overlay reports, fit deltas, automated adjustment loops. Before the first Blender call, read [../text-to-blender/references/mcp-backends.md](../text-to-blender/references/mcp-backends.md). Prefer official MCP for shared capabilities; preserve the selected backend for the whole task. Tool names in recipes are client/legacy examples: map them through that reference and its agent-host guide. # Multiview Fit Loop This skill closes the missing loop: **render → compare → adjust → render again**. It is mandatory when a user says the model still does not fit the templates/originals. ## Required loop 1. Render flat, material-independent silhouettes for every available template view: front, side, back, top. 2. Extract the template object mask, excluding labels, cyan guides, and background. 3. Compare template vs render per view: - bbox center and size - centroid drift - silhouette coverage/IoU where modality is valid - visual overlay 4. Convert measured deltas into model/camera/recipe adjustments. 5. Rebuild or transform the model. 6. Repeat until all hard gates pass or document the remaining conflict. ## Constraint inconsistency gate Before forcing adjustments, check whether the supplied orthographic templates are mutually consistent. A single rigid 3D model cannot simultaneously satisfy contradictory physical ratios, for example if side view says total depth is 0.39 of height but top view says depth is 0.98 of width. When this occurs, stop claiming final fit, write a conflict report, and create separate variants or ask which view is canonical. ## Hard gates - all required views have validation reports and overlays; - bbox center drift <= 1.5% of image width; - bbox size drift <= 3% for front, <= 5% for side/top/back first-pass depth; - structural part count exact; - texture UV regions still valid after geometry changes. ## View mask rule For annotated wireframes, choose a template mask mode that isolates the intended construction/object lines and excludes guide colors, labels, captions, and background annotations. For Blender validation renders, use a flat white silhouette on black, not beauty renders with glow/context elements. ## Scripts - `scripts/multiview_fit_report.py` compares view pairs and writes JSON + overlays. ## Adjustment rule Prefer changing recipe parameters or source geometry over camera scale tricks. Camera scale may be used only after model dimensions are correct.
© RobLe3 · MIT · RobLe3/cc-blender-skill