Landmark 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.