master
John Lauer MPN laser etch: etched STEP is the default, plain kept as -unetched.step; hero GLB with footprint and silkscreen; hero… 551f987 20d ago
{
 "schema": "adom/basic-part-etch-pass@1",
 "mpn": "CR0402-FX-2201GLF",
 "date": "2026-09-30",
 "request": "John: chip-laser-etch every component we put on wiki pages; the best STEP (with the etch) is the default",
 "step": {
  "default": {
   "file": "CR0402-FX-2201GLF.step",
   "sha256": "8416a250a0a5b7df884ce5fb462a9183d46aeb76b279f8c4a72fdf08674491a4",
   "content": "the page STEP (same frame, colours kept) + one flat laser_etch part: the virtual MPN on the top face, seated on the body",
   "source": "hero-proposals/cr0402-fx-2201glf/etched.step (reviewed)"
  },
  "unetched": {
   "file": "CR0402-FX-2201GLF-unetched.step",
   "sha256": "91507e5af4251cb4ef38e04889c9b98da29904432bd83786bba13ae9b605eacb",
   "note": "the STEP this page shipped before, byte for byte"
  }
 },
 "mark": {
  "kind": "virtual",
  "text": "CR0402-FX-2201GLF",
  "color_linear_rgb": [
   0.78,
   0.78,
   0.76
  ],
  "color_reason": "light mark on a dark body",
  "flat": "zero-thickness sheet (glyph top faces only)",
  "note": ""
 },
 "etch": {
  "file": "etched.step",
  "sha256": "8416a250a0a5b7df884ce5fb462a9183d46aeb76b279f8c4a72fdf08674491a4",
  "frame": "same as the original STEP (drop-in)",
  "source_sha256": "91507e5af4251cb4ef38e04889c9b98da29904432bd83786bba13ae9b605eacb",
  "tool": "aiflow-work/merged/tools/laser-etch/etch_part.py (adom-chip-laser service + merge_etch.py flat) [+ _tools/seat_mark.py where the body top sits below the terminations]",
  "note": ""
 },
 "pose": {
  "frame": "Adom Z-up footprint seating frame, metres in GLB, seating plane Z = 0",
  "transform": "library model is already Z-up in the footprint frame (footprint carries no model transform); identity",
  "xcaf_transform": "\u001b[0m"
 },
 "page_glbs": {
  "method": "swap_part.py: only the part mesh is replaced by the step2glb conversion of the etched STEP (posed Z-up); board, pads, solder, silk, node names, the insertion animation and every other node copied unchanged; the mark is a child node Adom.LaserEtch.MPN of the part node, so it rides the insertion animation",
  "files": {
   "CR0402-FX-2201GLF.glb": {
    "sha256": "f77184a991f81d6fc3d0da0faa973d062a920fe941b0b6d02865dbc462056642",
    "bytes": 20488,
    "bytes_before": 19888,
    "tris_before": 244,
    "tris_after": 483,
    "swap": {
     "out": "CR0402-FX-2201GLF.glb",
     "bytes": 20488,
     "sha256": "f77184a991f81d6fc3d0da0faa973d062a920fe941b0b6d02865dbc462056642",
     "part_node": "R_0402_1005Metric",
     "old_part_tris": 244,
     "new_part_tris": 244,
     "old_part_bbox_mm": [
      [
       -0.5,
       -0.25,
       -0.0
      ],
      [
       0.5,
       0.25,
       0.3499999940395355
      ]
     ],
     "new_part_bbox_mm_local": [
      [
       -0.5,
       -0.25,
       -0.0
      ],
      [
       0.5,
       0.25,
       0.35
      ]
     ],
     "node_scale_z": 1,
     "rendered_top_mm": 0.35,
     "laser_etch": {
      "tris": 239,
      "rgb_linear": [
       0.78,
       0.78,
       0.76
      ],
      "z_mm": [
       0.355,
       0.355
      ]
     }
    }
   },
   "CR0402-FX-2201GLF.insertion.glb": {
    "sha256": "d7725a989179045a91e3238e1cf5c9f16b23f52571a8ebc2ad5c8d8079bedf08",
    "bytes": 42164,
    "bytes_before": 54344,
    "tris_before": 1200,
    "tris_after": 1439,
    "swap": {
     "out": "CR0402-FX-2201GLF.insertion.glb",
     "bytes": 42164,
     "sha256": "d7725a989179045a91e3238e1cf5c9f16b23f52571a8ebc2ad5c8d8079bedf08",
     "part_node": "CR0402-FX-2201GLF",
     "old_part_tris": 244,
     "new_part_tris": 244,
     "old_part_bbox_mm": [
      [
       -0.5,
       -0.25,
       0.0
      ],
      [
       0.5,
       0.25,
       0.3499999940395355
      ]
     ],
     "new_part_bbox_mm_local": [
      [
       -0.5,
       -0.25,
       -0.0
      ],
      [
       0.5,
       0.25,
       0.35
      ]
     ],
     "node_scale_z": 1,
     "rendered_top_mm": 0.35,
     "laser_etch": {
      "tris": 239,
      "rgb_linear": [
       0.78,
       0.78,
       0.76
      ],
      "z_mm": [
       0.355,
       0.355
      ]
     }
    }
   }
  }
 },
 "hero_glb": {
  "file": "cr0402-fx-2201glf-hero.glb",
  "sha256": "edf87db25b394fba56b1574146e0b4352b9e35fc3e3bb7de8ebc640dbd8f7d0d",
  "source": "hero-proposals/cr0402-fx-2201glf/hero.glb (reviewed)",
  "provenance": "provenance/cr0402-fx-2201glf-hero.provenance.json"
 },
 "hero_png": {
  "file": "screenshots/hero.png",
  "sha256": "d807b8d69acc642a17578c7c1ba73a82e548a159d7e49a3baccb867327c92dc6",
  "source": "hero-proposals/cr0402-fx-2201glf/after-hero.png (shared basic-part hero template)"
 }
}