← Commit history

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

John Lauer ·b55853b6a9 ·1mo ago ·parent 3f33647
6 files changed +98−2
README.md+5
@@ -90,3 +90,8 @@ plated and fabricated to the drill spec below. The main 3D viewer uses [machinecontactlarge-hero-mpn.glb](machinecontactlarge-hero-mpn.glb), derived from the reviewed [machinecontactlarge-mpn.glb](machinecontactlarge-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](machinecontactlarge-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+18
@@ -0,0 +1,18 @@+{+  "symbol": {+    "pins": [+      {+        "number": "1",+        "name": "",+        "electrical_type": "passive"+      }+    ]+  },+  "connect": [+    {+      "pin": "1",+      "pad": "1"+    }+  ],+  "provenance": "Explicit KiCad symbol pin-number/name mapping; unmatched footprint number remains number, never a project net."+}\ No newline at end of file
machinecontactlarge-hero-footprint.glbadded
⋯ 1 unchanged line ⋯
machinecontactlarge-hero-footprint.overlay.jsonadded+57
@@ -0,0 +1,57 @@+{+  "source_glb_sha256": "0e3ab3523f318d78f4391f3ae580979e9a2f5a0cf72d14f62442462aa0fe24df",+  "footprint_sha256": "83d1c07631f8776e81138b5a7af04970cf105d38a66ad14f687b32faa611b13c",+  "derivative_sha256": "88b114207325cf3d2ee785aca37f900a2df7b3d3b0a447dc3da96a58870bb8cf",+  "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": "703696ab0c3195555e9d9aa4ebb65b77d404cb5cd6820b27d9706da89a679821",+  "pads": [+    {+      "number": "1",+      "signal_name": "1",+      "display_name": "1",+      "pad_number_fallback": false,+      "active_low_overbar": false,+      "center_mm": [+        0.0,+        -0.0+      ],+      "copper_size_mm": [+        4.4,+        4.4+      ],+      "copper_outline_bounds_mm": [+        [+          -2.2,+          -2.2+        ],+        [+          2.2,+          2.2+        ]+      ],+      "label_position_mm": [+        0,+        -2.85+      ]+    }+  ],+  "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
package.json+9−1
@@ -29,7 +29,7 @@     "parts": {       "symbol": "MachineContactLarge.kicad_sym",       "footprint": "MachineContactLarge.kicad_mod",-      "model_3d": "machinecontactlarge-hero-mpn.glb",+      "model_3d": "machinecontactlarge-hero-footprint.glb",       "step": "machinecontactlarge-mpn.step"     },     "series": "Machine Contacts",@@ -48,6 +48,14 @@       "animate": false,       "shadows": false,       "tooltips": "authored"+    },+    "reference_artwork": {+      "contract": "eda-component-hero",+      "footprint": "MachineContactLarge.kicad_mod",+      "pinMap": "hero-pin-map.json",+      "evidence": "machinecontactlarge-hero-footprint.overlay.json",+      "nonphysical": true,+      "boardUse": false     }   },   "author": {
page.json+9−1
@@ -29,7 +29,7 @@     "parts": {       "symbol": "MachineContactLarge.kicad_sym",       "footprint": "MachineContactLarge.kicad_mod",-      "model_3d": "machinecontactlarge-hero-mpn.glb",+      "model_3d": "machinecontactlarge-hero-footprint.glb",       "step": "machinecontactlarge-mpn.step"     },     "series": "Machine Contacts",@@ -48,6 +48,14 @@       "animate": false,       "shadows": false,       "tooltips": "authored"+    },+    "reference_artwork": {+      "contract": "eda-component-hero",+      "footprint": "MachineContactLarge.kicad_mod",+      "pinMap": "hero-pin-map.json",+      "evidence": "machinecontactlarge-hero-footprint.overlay.json",+      "nonphysical": true,+      "boardUse": false     }   },   "author": {