multiview-constraint-solver — Claude Code skill: reconcile views
Checks whether front, side, back and top orthographic references can fit one rigid Blender model, then picks a canonical source policy before you rebuild.
npx skills add RobLe3/cc-blender-skill --skill multiview-constraint-solver -a claude-codeWhat multiview-constraint-solver does
Reach for this skill when your references disagree. Front width does not match top width, side height drifts from front height, part counts differ between views. The skill normalizes each view onto a shared axis contract — front gives width X and height Z, side gives depth Y and height Z, top gives width X and depth Y — then compares the axes they share.
When ratios fall outside tolerance, it writes a conflict report and picks a policy: front_side_canonical, front_top_canonical, corrected_templates_required or view_specific_cheats. That policy feeds into fit-repair-optimizer before any geometry, UV or lighting work starts. The bundled scripts/view_constraint_report.py reads a JSON file of per-view body bboxes and returns shared-axis compatibility plus a suggested policy.
The hard gates are worth reading twice. No restarting the model until a canonical policy exists. Aura and context on the top view are not body depth. Contradictory dimensions do not get averaged unless the user asks for an approximate stylized compromise. Part-count disagreements are recorded separately from bbox ones. Before the first Blender call the skill tells you to read ../text-to-blender/references/mcp-backends.md and keep the chosen backend for the whole task, so check which MCP server you already have wired up.
What it helps with
- decide whether four orthographic views can fit one rigid model
- pick which view is the source of truth before rebuilding
- write down dimension conflicts instead of holding them in your head
- keep part-count disputes apart from bbox disputes
- judge whether you need per-view variants rather than a single asset
Example prompts for the agent
- run multiview-constraint-solver on my front, side and top references and tell me if they agree
- write a view conflict report and suggest a canonical policy
- check body bboxes per view with scripts/view_constraint_report.py
How to install multiview-constraint-solver
1Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-constraint-solver -a claude-code2Manually: put the files in place
~/.claude/skills/multiview-constraint-solver/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/multiview-constraint-solver/
1Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-constraint-solver -a codex2Manually: put the files in place
.agents/skills/multiview-constraint-solver/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-constraint-solver -a cursor2Manually: put the files in place
.cursor/skills/multiview-constraint-solver/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install RobLe3/cc-blender-skill multiview-constraint-solver2Manually: put the files in place
.github/skills/multiview-constraint-solver/SKILL.md1Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-constraint-solver -a gemini-cli2Platform CLI
gemini skills install https://github.com/RobLe3/cc-blender-skill --path plugin/skills/multiview-constraint-solverManually: put the files in place
.devin/skills/multiview-constraint-solver/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill multiview-constraint-solver -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-constraint-solver
How do I install multiview-constraint-solver in Claude?
Run npx skills add RobLe3/cc-blender-skill --skill multiview-constraint-solver -a claude-code. The skill then sits at ~/.claude/skills/multiview-constraint-solver/SKILL.md.
What does multiview-constraint-solver do?
It compares shared axes across front, side, back and top views, writes a conflict report and selects a canonical policy before the model is rebuilt.
What tools does the skill need?
Its frontmatter allows Read, Bash, Glob and Grep. Before the first Blender call it asks you to read ../text-to-blender/references/mcp-backends.md and to keep the same backend for the rest of the task.
Source text
SKILL.md · MIT
--- name: multiview-constraint-solver description: Determine whether front/side/back/top reference templates can be satisfied by one rigid 3D Blender model, choose a canonical source policy, and emit constraints before rebuilding. Use when multiview bboxes, silhouettes, part counts, or depth ratios contradict each other. allowed-tools: Read Bash Glob Grep --- ## MCP backend Use when: Orthographic template conflict detection, canonical view policy, rigid-vs-cheat-view decision, front/side/top dimension ratios, source-of-truth negotiation before reconstruction. 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 Constraint Solver Use this before another rebuild when references disagree. A renderer cannot make one rigid mesh satisfy mutually incompatible orthographic dimensions unless you allow view-specific cheats. ## Workflow 1. Normalize every reference view into a common axis contract: - front: width X, height Z; - side: depth Y, height Z; - top: width X, depth Y; - back: width X, height Z. 2. Measure visible body bboxes, not labels/background/aura unless they are part of the model contract. 3. Compare shared axes: - front width vs top width; - front/back height vs side height; - side depth vs top depth. 4. If ratios differ beyond tolerance, write a conflict report and select a policy: - `front_side_canonical`: front brand read and side depth/height are authoritative; - `front_top_canonical`: front brand read and top footprint are authoritative; - `corrected_templates_required`: no rigid rebuild should claim final fit; - `view_specific_cheats`: separate camera/view variants allowed, not one rigid asset. 5. Feed the chosen policy into `fit-repair-optimizer` before any geometry, UV, or lighting work. ## Hard gates - Do not restart modeling until canonical policy exists. - Do not treat top-view aura/context as body depth. - Do not average contradictory dimensions unless the user explicitly asks for an approximate stylized compromise. - Record part-count disagreements separately from bbox disagreements. ## Script - `scripts/view_constraint_report.py` reads a JSON file of per-view body bboxes and emits shared-axis compatibility and a suggested canonical policy.
© RobLe3 · MIT · RobLe3/cc-blender-skill