← Commit history

Add dashed copper, silk and pin-map inspection layers to component hero

John Lauer ·573e79c6ad ·1mo ago ·parent 12a469d
6 files changed +212−2
README.md+5
@@ -21,3 +21,8 @@ Ships the KiCad symbol, footprint, STEP + GLB 3D model, and the canonical **adom   [Optional MPN-marked model, preview and provenance](MPN-MARKING.md)+++## Footprint-aware inspection hero++The current hero adds separate nonphysical reference layers: teal dashed copper boundaries at50% opacity, silkscreen at30% opacity and actual symbol pin names (unique pad numbers when unnamed) at50% opacity. Orbit underneath to compare physical terminals, copper and pin1 marks. Copper outlines are not soldermask/paste. Existing MPN, materials, animations and lights are preserved. These helpers are excluded from board-use STEP/GLB files. [Geometry, mapping and source hashes](skrpace010-hero-footprint.overlay.json); [pin-map input](hero-pin-map.json). Physical body can occlude seating-plane artwork; inspect the underside or isolate it. Generated display-font contours are not native fab artwork.
hero-pin-map.jsonadded+45
@@ -0,0 +1,45 @@+{+  "symbol": {+    "pins": [+      {+        "number": "1",+        "name": "A",+        "electrical_type": "passive"+      },+      {+        "number": "2",+        "name": "A",+        "electrical_type": "passive"+      },+      {+        "number": "3",+        "name": "B",+        "electrical_type": "passive"+      },+      {+        "number": "4",+        "name": "B",+        "electrical_type": "passive"+      }+    ]+  },+  "connect": [+    {+      "pin": "1",+      "pad": "1"+    },+    {+      "pin": "2",+      "pad": "2"+    },+    {+      "pin": "3",+      "pad": "3"+    },+    {+      "pin": "4",+      "pad": "4"+    }+  ],+  "provenance": "Explicit KiCad symbol pin-number/name mapping; unmatched footprint number remains number, never a project net."+}\ No newline at end of file
package.json+9−1
@@ -26,7 +26,7 @@     "package": "SKRP 4.2 x 3.2 x 2.5 mm",     "pin_count": 4,     "parts": {-      "model_3d": "skrpace010-ai-hero.glb",+      "model_3d": "skrpace010-hero-footprint.glb",       "step": "skrpace010-ai-mpn.step",       "symbol": "SKRPACE010.kicad_sym",       "footprint": "SKRPACE010.kicad_mod"@@ -36,6 +36,14 @@       "animate": false,       "shadows": false,       "tooltips": "authored"+    },+    "reference_artwork": {+      "contract": "eda-component-hero",+      "footprint": "SKRPACE010.kicad_mod",+      "pinMap": "hero-pin-map.json",+      "evidence": "skrpace010-hero-footprint.overlay.json",+      "nonphysical": true,+      "boardUse": false     }   },   "hero": {
page.json+9−1
@@ -40,7 +40,7 @@     "package": "SKRP 4.2 x 3.2 x 2.5 mm",     "pin_count": 4,     "parts": {-      "model_3d": "skrpace010-ai-hero.glb",+      "model_3d": "skrpace010-hero-footprint.glb",       "step": "skrpace010-ai-mpn.step",       "symbol": "SKRPACE010.kicad_sym",       "footprint": "SKRPACE010.kicad_mod"@@ -50,6 +50,14 @@       "animate": false,       "shadows": false,       "tooltips": "authored"+    },+    "reference_artwork": {+      "contract": "eda-component-hero",+      "footprint": "SKRPACE010.kicad_mod",+      "pinMap": "hero-pin-map.json",+      "evidence": "skrpace010-hero-footprint.overlay.json",+      "nonphysical": true,+      "boardUse": false     }   } }\ No newline at end of file
skrpace010-hero-footprint.glbadded
⋯ 1 unchanged line ⋯
skrpace010-hero-footprint.overlay.jsonadded+144
@@ -0,0 +1,144 @@+{+  "source_glb_sha256": "642d81f191f7207ccd69bdd0afb3f4a7d172695207a42b7dad1c531f4911ebee",+  "footprint_sha256": "203736cd13540cda8e82bbb22103f9025c5d4a246b163b7137572737a03f1893",+  "derivative_sha256": "f1611388c9c324747989815ba611562a50e7840f5358ac85b5c9762b983341e4",+  "manufacturer_geometry_buffer_prefix_unchanged": true,+  "units": "metre",+  "upAxis": "Z",+  "plane_z_mm": -0.02,+  "pad_outline": "copper perimeter, not solder mask or paste",+  "dash_mm": 0.07,+  "gap_mm": 0.045,+  "silkscreen_opacity": 0.3,+  "pad_outline_opacity": 0.5,+  "pad_outline_color": "teal #00E6DC",+  "uninstantiated_reference_placeholder": "omitted from component display",+  "pad_name_opacity": 0.5,+  "pad_names": "signal names resolved through canonical pin-to-pad mapping; active-low overbars preserved",+  "library_sha256": "77246d34f35914cc3bc046f64c6d43b102210b47f28c74994c8775941972f04d",+  "pads": [+    {+      "number": "1",+      "signal_name": "A",+      "display_name": "A",+      "pad_number_fallback": false,+      "active_low_overbar": false,+      "center_mm": [+        -2.075,+        1.075+      ],+      "copper_size_mm": [+        1.05,+        0.65+      ],+      "copper_outline_bounds_mm": [+        [+          -2.6,+          0.75+        ],+        [+          -1.5500000000000003,+          1.4+        ]+      ],+      "label_position_mm": [+        -2.9841373697916667,+        1.075+      ]+    },+    {+      "number": "2",+      "signal_name": "A",+      "display_name": "A",+      "pad_number_fallback": false,+      "active_low_overbar": false,+      "center_mm": [+        2.075,+        1.075+      ],+      "copper_size_mm": [+        1.05,+        0.65+      ],+      "copper_outline_bounds_mm": [+        [+          1.5500000000000003,+          0.75+        ],+        [+          2.6,+          1.4+        ]+      ],+      "label_position_mm": [+        2.9841373697916667,+        1.075+      ]+    },+    {+      "number": "3",+      "signal_name": "B",+      "display_name": "B",+      "pad_number_fallback": false,+      "active_low_overbar": false,+      "center_mm": [+        -2.075,+        -1.075+      ],+      "copper_size_mm": [+        1.05,+        0.65+      ],+      "copper_outline_bounds_mm": [+        [+          -2.6,+          -1.4+        ],+        [+          -1.5500000000000003,+          -0.75+        ]+      ],+      "label_position_mm": [+        -2.9776074218749997,+        -1.075+      ]+    },+    {+      "number": "4",+      "signal_name": "B",+      "display_name": "B",+      "pad_number_fallback": false,+      "active_low_overbar": false,+      "center_mm": [+        2.075,+        -1.075+      ],+      "copper_size_mm": [+        1.05,+        0.65+      ],+      "copper_outline_bounds_mm": [+        [+          1.5500000000000003,+          -1.4+        ],+        [+          2.6,+          -0.75+        ]+      ],+      "label_position_mm": [+        2.9698600260416668,+        -1.075+      ]+    }+  ],+  "overlay_nodes": 3,+  "limitations": [+    "Nonphysical reference lines, not a manufacturing layer or manufacturer STEP geometry.",+    "Silkscreen text follows source text/placement but uses the supplied display font.",+    "Physical body can occlude artwork on the seating plane; inspect underside or hide the body."+  ],+  "scope": "Nonphysical component wiki hero only; do not use as board component model."+}\ No newline at end of file