← Commit history

Waleed nameplate: self-hosted 3D viewer, Z-up model, README.html

John Lauer ·525a01de27 ·3mo ago ·parent 4055bb9
3 files changed +100−76
README.html+24
@@ -138,4 +138,28 @@ from parametric tscircuit source. Board size, pin box, LED count and silkscreen from the name's ink box, so a new name is one command:</p> <p><code>scripts/make-nameplate.sh "Waleed"</code></p> +<script>+(function () {+  // The wiki renders README.html inside an iframe that does not know our+  // height, so it has to be told. Without this the page is clipped to the+  // default frame height and everything below the 3D viewer is unreachable.+  var wrap = document.getElementById('wrap');+  var last = 0;+  function post() {+    var h = wrap.offsetHeight + 24;+    if (h !== last) { last = h; parent.postMessage({ type: 'readme-height', height: h }, '*'); }+  }+  post();+  addEventListener('load', post);+  addEventListener('resize', post);+  // Images and the lazily-loaded viewer iframe land after first paint and each+  // one changes our height, so re-post as they arrive.+  document.querySelectorAll('img, iframe').forEach(function (el) {+    el.addEventListener('load', post);+  });+  if (window.ResizeObserver) new ResizeObserver(post).observe(wrap);+  // Belt and braces for late web-font swaps.+  [100, 400, 1200, 3000].forEach(function (t) { setTimeout(post, t); });+})();+</script> </div></body></html>\ No newline at end of file
viewer/circuit.json+74−74
@@ -59927,23 +59927,23 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_IRuVz5sxOt",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_wGdA7rsagP",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#414 name=\".R_CC1\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25900 (copper IoU 0.7741).",-    "source_component_id": "source_component_6",-    "pcb_component_id": "pcb_component_6",+    "message": "<resistor#644 name=\".R11\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_34",+    "pcb_component_id": "pcb_component_36",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",-    "supplier_part_number": "C25900",+    "supplier_part_number": "C25082",     "footprint_copper_intersection_over_union": 0.7741   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_XHsFa6twAB",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_HJ4YBI3sjv",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#566 name=\".R5\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_28",-    "pcb_component_id": "pcb_component_30",+    "message": "<resistor#592 name=\".R7\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_30",+    "pcb_component_id": "pcb_component_32",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -59951,11 +59951,11 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_1cwZotMamH",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_0acr1obaXQ",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#540 name=\".R3\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_26",-    "pcb_component_id": "pcb_component_28",+    "message": "<resistor#527 name=\".R2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_25",+    "pcb_component_id": "pcb_component_27",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -59963,23 +59963,23 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_4MLn26W3aA",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_wFieRsMiy6",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#670 name=\".R13\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_36",-    "pcb_component_id": "pcb_component_38",+    "message": "<resistor#414 name=\".R_CC1\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25900 (copper IoU 0.7741).",+    "source_component_id": "source_component_6",+    "pcb_component_id": "pcb_component_6",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",-    "supplier_part_number": "C25082",+    "supplier_part_number": "C25900",     "footprint_copper_intersection_over_union": 0.7741   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_0rUkfm7vLC",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_tTZNilTg2z",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#631 name=\".R10\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_33",-    "pcb_component_id": "pcb_component_35",+    "message": "<resistor#553 name=\".R4\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_27",+    "pcb_component_id": "pcb_component_29",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -59987,19 +59987,19 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_JUrM2RM4SK",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_dEMAXUqWt4",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#527 name=\".R2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_25",-    "pcb_component_id": "pcb_component_27",+    "message": "<capacitor#452 name=\".C2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C1525 (copper IoU 0.7249).",+    "source_component_id": "source_component_9",+    "pcb_component_id": "pcb_component_9",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",-    "supplier_part_number": "C25082",-    "footprint_copper_intersection_over_union": 0.7741+    "supplier_part_number": "C1525",+    "footprint_copper_intersection_over_union": 0.7249   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_VptYQREXLc",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_6bOa9HK2d0",     "warning_type": "supplier_footprint_mismatch_warning",     "message": "<resistor#514 name=\".R1\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",     "source_component_id": "source_component_24",@@ -60011,11 +60011,11 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_jDM0W6Qp75",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_f0IPkmkjMD",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#644 name=\".R11\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_34",-    "pcb_component_id": "pcb_component_36",+    "message": "<resistor#579 name=\".R6\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_29",+    "pcb_component_id": "pcb_component_31",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -60023,11 +60023,11 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_NDJXLngoX2",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_2y3KmlVsvL",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#592 name=\".R7\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_30",-    "pcb_component_id": "pcb_component_32",+    "message": "<resistor#670 name=\".R13\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_36",+    "pcb_component_id": "pcb_component_38",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -60035,23 +60035,23 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_h0Jtsc3idl",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_1w4AjQD921",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#553 name=\".R4\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_27",-    "pcb_component_id": "pcb_component_29",+    "message": "<resistor#427 name=\".R_CC2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25900 (copper IoU 0.7741).",+    "source_component_id": "source_component_7",+    "pcb_component_id": "pcb_component_7",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",-    "supplier_part_number": "C25082",+    "supplier_part_number": "C25900",     "footprint_copper_intersection_over_union": 0.7741   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_DnDPxI8hbd",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_bm7wwDUqsX",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#683 name=\".R14\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_37",-    "pcb_component_id": "pcb_component_39",+    "message": "<resistor#566 name=\".R5\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_28",+    "pcb_component_id": "pcb_component_30",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -60059,11 +60059,11 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_VCLnUvsPkH",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_OPP7FqwL0e",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#657 name=\".R12\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_35",-    "pcb_component_id": "pcb_component_37",+    "message": "<resistor#618 name=\".R9\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_32",+    "pcb_component_id": "pcb_component_34",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -60071,11 +60071,11 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_G4CYi2seUQ",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_l6FZ9UeEdc",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#605 name=\".R8\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_31",-    "pcb_component_id": "pcb_component_33",+    "message": "<resistor#657 name=\".R12\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_35",+    "pcb_component_id": "pcb_component_37",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -60083,35 +60083,35 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_CEUwd8ZdhC",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_JeD3FdnUhH",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#427 name=\".R_CC2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25900 (copper IoU 0.7741).",-    "source_component_id": "source_component_7",-    "pcb_component_id": "pcb_component_7",+    "message": "<resistor#540 name=\".R3\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_26",+    "pcb_component_id": "pcb_component_28",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",-    "supplier_part_number": "C25900",+    "supplier_part_number": "C25082",     "footprint_copper_intersection_over_union": 0.7741   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_v2HV1aQtUe",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_k1oK4t1nx6",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<capacitor#452 name=\".C2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C1525 (copper IoU 0.7249).",-    "source_component_id": "source_component_9",-    "pcb_component_id": "pcb_component_9",+    "message": "<resistor#605 name=\".R8\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_31",+    "pcb_component_id": "pcb_component_33",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",-    "supplier_part_number": "C1525",-    "footprint_copper_intersection_over_union": 0.7249+    "supplier_part_number": "C25082",+    "footprint_copper_intersection_over_union": 0.7741   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_ijvbcLyTBk",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_44QD5kmPjw",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#579 name=\".R6\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_29",-    "pcb_component_id": "pcb_component_31",+    "message": "<resistor#683 name=\".R14\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_37",+    "pcb_component_id": "pcb_component_39",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -60119,11 +60119,11 @@   },   {     "type": "supplier_footprint_mismatch_warning",-    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_INN04XANZr",+    "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_FELzwTXT6b",     "warning_type": "supplier_footprint_mismatch_warning",-    "message": "<resistor#618 name=\".R9\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",-    "source_component_id": "source_component_32",-    "pcb_component_id": "pcb_component_34",+    "message": "<resistor#631 name=\".R10\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+    "source_component_id": "source_component_33",+    "pcb_component_id": "pcb_component_35",     "subcircuit_id": "subcircuit_source_group_0",     "supplier_name": "jlcpcb",     "supplier_part_number": "C25082",@@ -60131,6 +60131,6 @@   },   {     "type": "source_project_metadata",-    "source_filesystem_md5_hash": "20e3210e5f8f5efbbd1edff3c932e282"+    "source_filesystem_md5_hash": "beb695952f342cbfaae2b37c7808530f"   } ]\ No newline at end of file
viewer/walkthrough.json+2−2
@@ -1,8 +1,8 @@ {   "_meta": {-    "circuit_json_sha256": "576c3efb9a4fce635287e8a426a2f7534372a8b93403ad0f398bbb4caf5fa367",+    "circuit_json_sha256": "2b311b2f9345267b08c2bef868389c9bcdca4695be70328781f1252c6a3a549e",     "do_not_edit_by_hand": "steps are authored in scripts/gen-walkthrough.py; _meta (incl. circuit_json_sha256) comes from `adom-tsci walkthrough-gen` so staleness detection still works. Re-run scripts/gen-walkthrough.py after changing the board.",-    "generated_at": "2026-08-07T11:09:43.471796899+00:00",+    "generated_at": "2026-08-07T11:33:00.164874513+00:00",     "generated_by": "adom-tsci walkthrough-gen",     "package_name": "waleed-nameplate",     "project_name": "waleed-nameplate",