← Commit history

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

John Lauer ·ef42191360 ·1mo ago ·parent 3c21546
6 files changed +136−2
README.md+5
@@ -26,3 +26,8 @@ Ships the KiCad symbol, footprint, STEP + GLB 3D model, and the canonical **adom The main 3D viewer uses [cl10a106kp8nnnc-hero-mpn.glb](cl10a106kp8nnnc-hero-mpn.glb), derived from the reviewed [cl10a106kp8nnnc-mpn.glb](cl10a106kp8nnnc-mpn.glb). The exact MPN is AI-added identification artwork, not a factory marking. [Marking inputs, fit and licensing](MPN-MARKING.md) and [source provenance](PROVENANCE.md) remain applicable.  The hero applies only a 180-degree Z display rotation; no geometry is scaled. Use the original-frame marked STEP/GLB downloads for board assemblies. The rendered package and readable mark were reviewed; that does not establish manufacturer-exact dimensions, polarity, or native-tool qualification. [Binding and file hashes](hero-binding.json).+++## 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](cl10a106kp8nnnc-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.
cl10a106kp8nnnc-hero-footprint.glbadded
⋯ 1 unchanged line ⋯
cl10a106kp8nnnc-hero-footprint.overlay.jsonadded+86
@@ -0,0 +1,86 @@+{+  "source_glb_sha256": "3a0206875dd34dfcb8e27a1ec70f6d21aa4f0558880d136f53f260a4fe3b19c3",+  "footprint_sha256": "f5d9a05990a6d8ec133140429e4d43d51bc2336cdb1f1a4af82430cfa5850eb4",+  "derivative_sha256": "12fc5817e6d5c0dd16dd358e8684233f51da124e262775460a099ab00ecb8ec6",+  "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": "21a6e156f02f88c599f086bdfcb767085767ac78e81191cb7d84a78b89e0cc4b",+  "pads": [+    {+      "number": "1",+      "signal_name": "~",+      "display_name": "1",+      "pad_number_fallback": true,+      "active_low_overbar": false,+      "center_mm": [+        -0.775,+        -0.0+      ],+      "copper_size_mm": [+        0.9,+        0.95+      ],+      "copper_outline_bounds_mm": [+        [+          -1.225,+          -0.475+        ],+        [+          -0.325,+          0.475+        ]+      ],+      "label_position_mm": [+        -1.5978483072916667,+        -0.0+      ]+    },+    {+      "number": "2",+      "signal_name": "~",+      "display_name": "2",+      "pad_number_fallback": true,+      "active_low_overbar": false,+      "center_mm": [+        0.775,+        -0.0+      ],+      "copper_size_mm": [+        0.9,+        0.95+      ],+      "copper_outline_bounds_mm": [+        [+          0.325,+          -0.475+        ],+        [+          1.225,+          0.475+        ]+      ],+      "label_position_mm": [+        1.5964095052083336,+        -0.0+      ]+    }+  ],+  "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
hero-pin-map.jsonadded+27
@@ -0,0 +1,27 @@+{+  "symbol": {+    "pins": [+      {+        "number": "1",+        "name": "~",+        "electrical_type": "passive"+      },+      {+        "number": "2",+        "name": "~",+        "electrical_type": "passive"+      }+    ]+  },+  "connect": [+    {+      "pin": "1",+      "pad": "1"+    },+    {+      "pin": "2",+      "pad": "2"+    }+  ],+  "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
@@ -25,7 +25,7 @@     "parts": {       "symbol": "CL10A106KP8NNNC.kicad_sym",       "footprint": "CL10A106KP8NNNC.kicad_mod",-      "model_3d": "cl10a106kp8nnnc-hero-mpn.glb",+      "model_3d": "cl10a106kp8nnnc-hero-footprint.glb",       "step": "cl10a106kp8nnnc-mpn.step"     },     "viewer_3d": {@@ -33,6 +33,14 @@       "animate": false,       "shadows": false,       "tooltips": "authored"+    },+    "reference_artwork": {+      "contract": "eda-component-hero",+      "footprint": "CL10A106KP8NNNC.kicad_mod",+      "pinMap": "hero-pin-map.json",+      "evidence": "cl10a106kp8nnnc-hero-footprint.overlay.json",+      "nonphysical": true,+      "boardUse": false     }   },   "hero": {
page.json+9−1
@@ -39,7 +39,7 @@     "parts": {       "symbol": "CL10A106KP8NNNC.kicad_sym",       "footprint": "CL10A106KP8NNNC.kicad_mod",-      "model_3d": "cl10a106kp8nnnc-hero-mpn.glb",+      "model_3d": "cl10a106kp8nnnc-hero-footprint.glb",       "step": "cl10a106kp8nnnc-mpn.step"     },     "viewer_3d": {@@ -47,6 +47,14 @@       "animate": false,       "shadows": false,       "tooltips": "authored"+    },+    "reference_artwork": {+      "contract": "eda-component-hero",+      "footprint": "CL10A106KP8NNNC.kicad_mod",+      "pinMap": "hero-pin-map.json",+      "evidence": "cl10a106kp8nnnc-hero-footprint.overlay.json",+      "nonphysical": true,+      "boardUse": false     }   },   "discovery_triggers": [