multiview-constraint-solverlisted
Install: claude install-skill MAX-786/claude-3d-harness
# 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_cons