About landmark-fit-repair
landmark-fit-repair is a skill for repairing mascot and logo geometry by turning named landmark differences into recipe edits. It provides a report script and export checks that keep silhouette, facial features, and aura validation distinct.
Key features
- 01Named landmark comparison by view
- 02Repair deltas for geometry recipes
- 03Separate checks for face and silhouette
- 04Export gate for structural landmark tolerance
- 05Aura landmarks excluded from base GLB checks
Use cases
- 01Correcting mascot or logo shape against a reference
- 02Finding geometry edits from landmark mismatches
- 03Checking structural fit before final export
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ roble3/ cc-blender-skill --skill landmark-fit-repairAfter installing, type/landmark-fit-repairin Claude Code to confirm it loaded.
Bundled filesscripts/landmark_fit_report.py
Details
From the project READMELandmark Fit Repair
Bbox and IoU are too coarse for final mascot/logo matching. This skill turns named feature drift into recipe edits.
Landmark classes
structural_tip: outer part tips and extrema;shell_corner: face/shell/rim corners;feature: eyes, smile, brows, decals;ring: aura center/radius/dots;depth_marker: side/back/top thickness markers.
Workflow
- Define a landmark JSON for the source reference.
- Detect or render corresponding product landmarks.
- Compare by name and view.
- Convert deltas into repair actions: move boundary control point, scale one component, shift feature curve, tune depth, or adjust aura radius.
- Rebuild from recipe; do not hand-edit final geometry without updating the recipe/manifest.
Hard gates
- No final export when named structural landmarks exceed tolerance.
- Face features must be validated separately from body silhouette.
- Aura/context landmarks must not affect base GLB acceptance.
Script
scripts/landmark_fit_report.pycompares two named-landmark JSON files and emits repair deltas.
Landmark JSON schema
{
"schema": "landmarks.v1",
"image_size": [width, height],
"landmarks": [
{"view":"front", "name":"leaf_top_tip", "class":"structural_tip", "x":627, "y":130}
]
}
For part masks, generate initial landmarks from extrema: top/bottom/left/right, centroid, and contour inflection points. Then rename them to semantic names before repair.
Comments
Markdown supported