main
John Lauer Hero GLB rebuilt with adom/component-hero's hero_glb.py (the earlier independent build drew pad label 2 doubled in the… 9d5bb37 1d ago
{
 "manufacturer_reference": "https://yageogroup.com/products/productDetail/RC0402FR-07150RL",
 "symbol_source": "Original, written for this page (standard resistor graphic, non-polar). CC-BY-4.0.",
 "footprint_source": "KiCad standard library Resistor_SMD:R_0402_1005Metric (CC-BY-SA 4.0 with the KiCad library exception); renamed R_0402_1005Metric -> R_0402_1005Metric_RC0402FR-07150RL, model path set to ${KIPRJMOD}/RC0402FR-07150RL.step; copper unchanged",
 "footprint_upstream_sha256": "e05c7605248c220836f642ed1f526133edf0374acdfd5bb2631e58b4e377acfb",
 "footprint_upstream_url": "https://gitlab.com/kicad/libraries/kicad-footprints/-/raw/master/Resistor_SMD.pretty/R_0402_1005Metric.kicad_mod",
 "package_source": "KiCad packages3D Resistor_SMD.3dshapes/R_0402_1005Metric.step (CC-BY-SA 4.0 with the KiCad library exception)",
 "package_upstream_url": "https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/Resistor_SMD.3dshapes/R_0402_1005Metric.step",
 "package_bytes_unchanged": true,
 "manufacturer_step": {
  "found": false,
  "searched": "2026-10-21",
  "note": "YAGEO publishes CAD through interactive product pages; no direct STEP download for RC0402FR-07150RL was reachable without a browser session, so KiCad's library model was used and checked against the datasheet."
 },
 "geometry_status": "KiCad library package geometry, every printed dimension checked against the datasheet (docs/verify). Not manufacturer-issued CAD.",
 "frame": {
  "units": "mm (STEP), metres (GLB)",
  "up_axis": "Z",
  "seat_z": 0,
  "origin": "footprint origin",
  "transform": "none"
 },
 "glb": {
  "tool": "step2glb convert",
  "exit": 0,
  "stderr_tail": "Large file queued for async conversion (job 94bb0a4669d6e8b1). Polling...\nJob 94bb0a4669d6e8b1 complete (1s). Downloading GLB...\n"
 },
 "hero": {
  "tool": "step2glb thumbnail --width 1600 --height 1000 (iso, 16:10)",
  "path": "docs/hero.png"
 },
 "hero_glb": {
  "file": "rc0402fr-07150rl-hero.glb",
  "tool": "provenance/tools/hero.py (independent implementation of adom-hero 1.4; adom/component-hero's generator was not run)",
  "source_glb": "package-reference.glb",
  "footprint": "R_0402_1005Metric_RC0402FR-07150RL.kicad_mod",
  "glyphs": "provenance/tools/hero_glyphs.json (data from adom/component-hero)",
  "align": {
   "ok": true,
   "centre_offset_mm": 0.0,
   "tolerance_mm": 0.25,
   "orientation_flipped": false,
   "contacts_bbox_mm": [
    -0.4825,
    0.4825,
    -0.25,
    0.25
   ],
   "pads_bbox_mm": [
    -0.78,
    0.78,
    -0.32,
    0.32
   ],
   "seating_z_mm": -0.0
  },
  "sidecar": "rc0402fr-07150rl-hero.overlay.json"
 },
 "altium": {
  "files": [
   "altium/RC0402FR-07150RL.SchLib",
   "altium/RC0402FR-07150RL.PcbLib",
   "altium/RC0402FR-07150RL.adom-lbr.json"
  ],
  "tool": "adom-lbr import-kicad --sym --fp --mpn, then adom-lbr export-altium",
  "log_tail": "/rc0402fr-07150rl/RC0402FR-07150RL.lbr (2 pins, 6832 bytes)\nHINT: Lint PASSED with 0 error(s), 0 warning(s)\nOK: Lint passed with 0 error(s), 0 warning(s)\n{\n  \"passed\": true,\n  \"errors\": [],\n  \"warnings\": []\n}\nLINT_OK\nHINT: identity complete (MPN, Manufacturer, Datasheet, Description, Mouser, DigiKey, LCSC, Adom Wiki) - they become Altium parameters + Supplier links and EAGLE attributes.\nOK: wrote /tmp/claude-1001/rc0402esc/pages/rc0402fr-07150rl/altium/RC0402FR-07150RL.adom-lbr.json (adom-lbr JSON \u2014 the canonical hub)\nHint: verified /tmp/claude-1001/rc0402esc/pages/rc0402fr-07150rl/altium/RC0402FR-07150RL.adom-lbr.json (4237 bytes, sha256 73b544fed1b9d9b769605a328d7b90612d1dd9c57d8b4abb23423817b6f47a3c, read back identical)\nHint: convert it with `adom-lbr export-altium /tmp/claude-1001/rc0402esc/pages/rc0402fr-07150rl/altium/RC0402FR-07150RL.adom-lbr.json` or `export-intlib`.\nOK: wrote /tmp/claude-1001/rc0402esc/pages/rc0402fr-07150rl/altium/RC0402FR-07150RL.SchLib (2 pins) + /tmp/claude-1001/rc0402esc/pages/rc0402fr-07150rl/altium/RC0402FR-07150RL.PcbLib (2 pads)\nHint: verified /tmp/claude-1001/rc0402esc/pages/rc0402fr-07150rl/altium/RC0402FR-07150RL.SchLib (20480 bytes, sha256 3f3017cc9867115f1bf577c521e193d7dfa066998e41b2a4cfd6362a33811f46, read back identical)\nHint: verified /tmp/claude-1001/rc0402esc/pages/rc0402fr-07150rl/altium/RC0402FR-07150RL.PcbLib (126976 bytes, sha256 2b94f7493ac533e92c748737ccb11f08c7411d0c2d9e564ae122517cb1f075b7, read back identical)\nALTIUM_OK\n"
 },
 "datasheet_figures": {
  "index": "docs/figures/figures.json",
  "tool": "provenance/tools/figures.py (pdftoppm 150 dpi, PIL crop)"
 },
 "fusion_lbr": {
  "file": "RC0402FR-07150RL.lbr",
  "tool": "adom-lbr generate --sym --fp --part-metadata page.json",
  "lint": "passed"
 },
 "datasheet": {
  "file": "docs/rc0402fr-07150rl-datasheet.pdf",
  "sha256": "7b6f0ae72708ca4b38126f84b5407a3e970a94cb60bc1a0afdaeb25a23d839bb",
  "url": "https://yageogroup.com/content/datasheet/asset/file/PYU-RC_GROUP_51_ROHS_L",
  "title": "YAGEO General Purpose Chip Resistors RC_L series, product specification V.14, Nov. 14, 2025",
  "retrieved": "2026-10-21"
 },
 "supporting_documents": [
  {
   "file": "docs/yageo-chip-resistors-mounting-v10.pdf",
   "sha256": "591634ace247f61e9c6a263ca1ac98d7672fc163f5e87334c3460956f5c68b7b",
   "url": "https://yageogroup.com/content/Resource%20Library/Product%20Guide-Catalog/yageo_PYu-R_Mount_10_19050818_343.pdf",
   "title": "YAGEO Chip Resistors Mounting, product specification V.10, Feb. 13, 2018",
   "retrieved": "2026-10-21"
  }
 ],
 "datasheet_check": {
  "overlay": "docs/verify/rc0402fr-07150rl-overlay.png",
  "numbers": "docs/verify/rc0402fr-07150rl-check.json",
  "tools": "provenance/tools/ (ortho.py, overlay_chip.py, spec json)",
  "result": "PASS"
 },
 "land_pattern_check": {
  "readme": "land-pattern/README.md",
  "numbers": "land-pattern/land-check.json",
  "source": "YAGEO Chip Resistors Mounting V.10, p.4 Table 1 (reflow), size 0402",
  "result": "matches"
 },
 "marking": {
  "real_marking": null,
  "statement": "YAGEO states 'No Marking' for RC0402 (Fig. 1)",
  "source": "RC_L product specification V.14, p.3 'Marking'"
 },
 "distributors": {
  "tool": "adom-parts-search search RC0402FR-07150RL",
  "date": "2026-10-21",
  "mouser": {
   "part": "603-RC0402FR-07150RL",
   "url": "https://www.mouser.com/ProductDetail/YAGEO/RC0402FR-07150RL?qs=xND3kAPMIz%252Bsm0qc0jHyQQ%3D%3D",
   "stock": 35451
  },
  "digikey": {
   "part": "311-150LRTR-ND",
   "url": "https://www.digikey.com/en/products/detail/yageo/RC0402FR-07150RL/726543",
   "stock": 2947279
  },
  "lcsc": {
   "part": null,
   "note": "Not found on 2026-10-21: the Adom parts search (JLCPCB/LCSC catalog) returned no hit for this exact part number; LCSC's own web search refused plain HTTP (403). Check LCSC before ordering; a C number can be added later."
  }
 },
 "lod": {
  "manifest": "lod/manifest.json",
  "generator": "provenance/tools/lod.py",
  "source_sha256": "91507e5af4251cb4ef38e04889c9b98da29904432bd83786bba13ae9b605eacb"
 },
 "tools_note": "lod.py, ortho.py and overlay_chip.py come from the GRM155R71C104KA88D component page (overlay_chip.py extended for min/max ranges). build.py, parts.py, landcheck.py, records.py, figures.py, hero.py and finish.sh built this page; they are the same scripts as adom/rc0402fr-074k7l plus the hero, figure and Altium steps.",
 "files": {
  "verification.json": "45791e05f3f503c83c5cb6d792fb5a8681f0792a6f41b15f9269b84cd2e6ec58",
  "rc0402fr-07150rl-hero.overlay.json": "6dda1df10380ea6b86605195cf8e82fe25e260b2f154d376a74db53b15f17c96",
  "RC0402FR-07150RL.lbr": "8043d975f80228a9f5de5f3f1a86e0882ab69a38785a14e66811e3793aa25fd8",
  "package-reference.glb": "e0f0a1b3f86b307421456f2e9945d22b4d3e222a7ec62e602fc97c5e6a7f34c3",
  "rc0402fr-07150rl-hero.glb": "7c4fbdedbe4cf95f7a77207567de1bbcf60647c85f15dfaeeafa97a6818a90c0",
  "RC0402FR-07150RL.kicad_sym": "c6b1abbc497025b2e844b7265b169ddd8853d36f03eec86ce113387128f0525c",
  "package.json": "ba76fbe93de3560580e6ca84e037cf309e1cbbbd81cb2ca73ea0269aa346032e",
  "models.json": "721d6f2dabcebca500fa0c8e19b7c01eedeafdaf930b754b02f1a135037d4d9f",
  "RC0402FR-07150RL.step": "91507e5af4251cb4ef38e04889c9b98da29904432bd83786bba13ae9b605eacb",
  "LICENSE": "19e4bea2c4d17ef3805ec5fb5a7a850b414034744490e2541da487bd0ca8a668",
  "R_0402_1005Metric_RC0402FR-07150RL.kicad_mod": "73b97a0aa9fc7ea91ade3ed81d17ad3166c141dab81685f0677d3de217c20b6a",
  "page.json": "ffddb290683d7b722562dc0319d3b99129fe678e9410a055efa42c290cc0934b",
  "README.md": "93c679aafbea75ec41bd080c7c9f027b862d7c71125f734566659f3f53993e4d",
  "provenance/tools/figures.py": "5ce9ccf82cd932c238fdb2ad3ea33cc45d92ad348b5b7465dec87fb0abaa9bbb",
  "provenance/tools/parts.py": "fdd39614e9221e7a7272d163f7368d5dfd9a809c3fdd4ee09ce92eaaeeea1762",
  "provenance/tools/hero_glyphs.json": "da37b40cd710f17a5c78b5fdfbba529c052519dfee3b7774c1de99a0da1a3242",
  "provenance/tools/records.py": "f66fce56e448bc5b6c418eaaaf8af9b14cdc41c468c03351846a3ff217ee3351",
  "provenance/tools/landcheck.py": "a6141dcaa4992652e0caf3a7fdd51dcf8451fd630b7de7b873d1b910ae4a1d41",
  "provenance/tools/overlay_chip.py": "52617a63c9504e020e574ec63f39f518734032fcda7b14ad158e3f8907b31723",
  "provenance/tools/ortho.py": "c5a44e74fa447e1ece13190840c90d453cbb004f6c4608efb6e8cdb1ba2cbb6d",
  "provenance/tools/finish.sh": "92c68f529e64825c14be4320daea11db148b8ef6ce8ac1050938ede83488fd98",
  "provenance/tools/lod.py": "fc3eb9db56947d002d1dda328a6ee53032eae39f700521d00d18477f9915135c",
  "provenance/tools/push.sh": "da2b13bef5ca22ff4c931a767e455d528effcfaa9ffc5b071eba8db174d0ea25",
  "provenance/tools/hero.py": "ccd25e8b9a77ea6a5e040116a86d158e2c1b68589163d1693eafae8a7f35179a",
  "provenance/tools/rc0402fr-07150rl-overlay-spec.json": "1ef59a67f3a2a5423713da89f933c8dcaaee491a2913b95705db31b1b59ea039",
  "provenance/tools/build.py": "ca6a6cb1e4fa239463532c825bdaa307c13af62c791b3fc295e9ed9fef411312",
  "lod/low.png": "3128655e4b3ceb9eef7cf5c6c44e5a32d90d6c021e3202290a0a324d7705c82b",
  "lod/super-low.png": "2b5e64c2a87d0a650c6de41268667d5885ead95db8842584d8eef99773745415",
  "lod/low.glb": "f3013755941f82e4e223f8207c34b5b90a20de4ba4b21c70bd47c289cb237813",
  "lod/high.png": "095f270774d0289aaa735f205016d58064f1f04169cfd2d97c1a1c31fee7f3e2",
  "lod/manifest.json": "36991cc20636cd50da7a996e0331c5aa29604185f334eaed0e28e30d15757a7b",
  "lod/super-low.glb": "1d7c69ab9296a5d8249d0c80845a95df00de8469e6f5dc6e0a32e1b719ea9954",
  "lod/medium.glb": "6ab821c0f53911f8b53a6169efa071558e0e20843da9a9b52439083c0a32a25f",
  "lod/high.glb": "133de12e32ed12c0677e108b97bd68828c6d69132340dde3e5c6f423a8af5d97",
  "lod/medium.png": "e356705c3e76db346530dcafa2fb13d357a028b36d47463ed07e7caa89f6d1d3",
  "docs/rc0402fr-07150rl-datasheet.pdf": "7b6f0ae72708ca4b38126f84b5407a3e970a94cb60bc1a0afdaeb25a23d839bb",
  "docs/yageo-chip-resistors-mounting-v10.pdf": "591634ace247f61e9c6a263ca1ac98d7672fc163f5e87334c3460956f5c68b7b",
  "docs/hero.png": "9c403dd3dcb30ba7ebf8eec15f50cc837162292c0df4ab9d81cfd5c18c020850",
  "docs/models/package-reference-step.png": "aa00bd27011a835eaf7b224d87bb73bbaea48c7cd7a74bd3db28bf99701e9f1a",
  "docs/verify/rc0402fr-07150rl-hero-preview.png": "796f29d6c1ee00c0f8a36f5d8f10a00f7540ce9f68904471e8c06dc0661075ff",
  "docs/verify/rc0402fr-07150rl-check.json": "77b7926cf61a458a4bfa346050d64dba647758b988353eec5989e5fb5cb3927c",
  "docs/verify/rc0402fr-07150rl-overlay.png": "1eb0b6a4b3a58b752f451b05f0fcab5ce25636e6b496303142d46787588574f8",
  "docs/figures/mount-p4-land.png": "050e0445c4bf0bb552179e0e420675a23594806a31db72d8ddcf84d28d908cc6",
  "docs/figures/rc-p3-marking.png": "9c64c26c18edec1af06b6c6046a5616ce597b2bc94afd13e9a9a12a4123a58fa",
  "docs/figures/rc-p2-ordering.png": "cd0a6a5b28dd51571a3c6566c7db2ddbe035cd6ffc49628d0e2ec77fd4fe1d3e",
  "docs/figures/rc-p5-electrical.png": "16b739b6903c2a86d90d18dc6e1a50508573702ef55f06644b060be4b47671f7",
  "docs/figures/rc-p7-packing-power.png": "4c9d71868624912824638394d084375b22509c25fe4ffab4518fd1e4f544bec8",
  "docs/figures/figures.json": "1f6e3b1dec4604191439dd362129ae70b7b1566c66e59a9bd66742c6fce4dd27",
  "docs/figures/rc-p4-dimensions.png": "e9eb4a02cf65822fbcfeac3623075f31b50664dc701603df189ecf798dcc14a1",
  "land-pattern/land-check.json": "482bf09127d216a569b5d5d0e3f62e0a5799620c6c17a150e25bf7dce39e9390",
  "land-pattern/land-pattern-icon.png": "255beb3065f724af41332fcc126d4c20ed52f6ebbe76aee1942f4362ed6edabe",
  "land-pattern/land-pattern.png": "f515f5f76b819c4f73f0eb26f1d5b2f490c50c3e2fc7c400a78b13655e416f08",
  "land-pattern/README.md": "97af044494579561e78217e750c33d3c7ac1e74a773cba81b849c219dc5c9c14",
  "altium/RC0402FR-07150RL.adom-lbr.json": "73b544fed1b9d9b769605a328d7b90612d1dd9c57d8b4abb23423817b6f47a3c",
  "altium/RC0402FR-07150RL.SchLib": "3f3017cc9867115f1bf577c521e193d7dfa066998e41b2a4cfd6362a33811f46",
  "altium/RC0402FR-07150RL.PcbLib": "2b94f7493ac533e92c748737ccb11f08c7411d0c2d9e564ae122517cb1f075b7"
 },
 "files_note": "provenance.json itself is not listed.",
 "built_by": "Claude (AI agent) for John Lauer",
 "date": "2026-10-21"
}