← Commit history
9774025243r-hero.glbadded
⋯ 1 unchanged line ⋯
9774025243r-hero.overlay.jsonadded+103
@@ -0,0 +1,103 @@+{+ "spec": "adom-hero 1.4",+ "mpn": "9774025243R",+ "kind": "component + footprint reference art",+ "board_use": false,+ "plane_z_mm": -0.02,+ "units": "metre",+ "upAxis": "Z",+ "layers": {+  "pad_outlines": {+   "material": "Footprint pads - teal dashed outlines - 50 percent opacity",+   "rgba": [+    0.0,+    0.902,+    0.863,+    0.5+   ],+   "pads": 1,+   "span_mm": 5.3,+   "dash_mm": 0.1325,+   "gap_mm": 0.0795,+   "pad_stroke_mm": 0.0318+  },+  "silkscreen": {+   "material": "Silkscreen reference lines - 30 percent opacity",+   "rgba": [+    0.92,+    0.96,+    1.0,+    0.3+   ],+   "footprint_items": 1,+   "pin1": null+  },+  "signal_names": {+   "material": "Signal names - 50 percent opacity",+   "rgba": [+    0.92,+    0.96,+    1.0,+    0.5+   ],+   "font": "DejaVu Sans Mono",+   "labels": 1,+   "sides": "top + mirrored underside (single-sided)",+   "omitted": null,+   "fallback_to_pad_number": 1+  }+ },+ "align": {+  "ok": true,+  "centre_offset_mm": 0.0,+  "tolerance_mm": 0.424,+  "orientation_flipped": false,+  "contacts_bbox_mm": [+   -1.4,+   1.4,+   -1.39,+   1.39+  ],+  "pads_bbox_mm": [+   -2.65,+   2.65,+   -2.65,+   2.65+  ],+  "seating_z_mm": -1.4+ },+ "sources": {+  "glb": "9774025243r.glb",+  "glb_sha256": "8b3a562e07755f2952a97b919fb5dda8b3961ccadead5cecf037e5b0f0c0d275",+  "footprint": "9774025243r.kicad_mod",+  "footprint_sha256": "5c40a9b1e71861c1ac454da3d744f567ce16592812f925b626433bce085b1bcf",+  "pins": "page.json component.pins"+ },+ "generator": "factory/hero_glb.py",+ "labels": [+  {+   "pad": "1",+   "text": "1",+   "x": 2.8,+   "y": 0.0,+   "align": "left",+   "vertical": false,+   "h": 0.6+  }+ ],+ "pads": [+  {+   "number": "1",+   "shape": "circle",+   "center_mm": [+    0.0,+    0.0+   ],+   "size_mm": [+    5.3,+    5.3+   ],+   "rot": 0.0+  }+ ]+}\ No newline at end of file
9774025243r.glbadded
⋯ 1 unchanged line ⋯
9774025243r.kicad_modadded+46
@@ -0,0 +1,46 @@+(footprint "9774025243r"+  (version 20241229)+  (generator "adom")+  (generator_version "9.0")+  (layer "F.Cu")+  (descr "Wurth 9774025243R WA-SMSI SMT spacer M2 x 2.5 mm; land pattern + stencil from datasheet (rev 001.003, 2025-12-31): pad dia 5.3, NPTH dia 3.0")+  (tags "standoff spacer M2 SMT Wurth WA-SMSI M.2")+  (property "Reference" "REF**" (at 0 -3.6 0) (layer "F.SilkS") (uuid "844ee9f1-8f6c-4f0e-bd3b-5705534d4a1b")+    (effects (font (size 1 1) (thickness 0.15))))+  (property "Value" "9774025243r" (at 0 3.6 0) (layer "F.Fab") (uuid "38ef47d8-fba2-4de0-b27b-55760bea2765")+    (effects (font (size 1 1) (thickness 0.15))))+  (property "Datasheet" "https://www.we-online.com/components/products/datasheet/9774025243R.pdf" (at 0 0 0) (unlocked yes) (layer "F.Fab") (hide yes) (uuid "163835f1-2824-49b8-9c37-6f0a19f48d7e")+    (effects (font (size 1.27 1.27) (thickness 0.15))))+  (attr smd allow_soldermask_bridges)+  (duplicate_pad_numbers_are_jumpers no)+  (pad "1" smd circle (at 0 0) (size 5.3 5.3) (layers "F.Cu" "F.Mask") (uuid "650060d7-164a-4c71-8934-139c380a1ace"))+  (pad "1" np_thru_hole circle (at 0 0) (size 3 3) (drill 3) (layers "*.Cu" "*.Mask") (uuid "b49305ee-7dd0-4406-a625-6b0cc530acc9"))+  (pad "" smd custom (at 1.4496 1.4496) (size 0.3 0.3) (layers "F.Paste")+    (options (clearance outline) (anchor rect))+    (primitives (gr_poly (pts (xy 1.1331 -1.1496) (xy 1.0836 -0.8637) (xy 1.0026 -0.5852) (xy 0.891 -0.3174) (xy 0.7503 -0.0638) (xy 0.5823 0.1727) (xy 0.3889 0.3889) (xy 0.1727 0.5823) (xy -0.0638 0.7503) (xy -0.3174 0.891) (xy -0.5852 1.0026) (xy -0.8637 1.0836) (xy -1.1496 1.1331) (xy -1.1496 0.0711) (xy -1.0016 0.0343) (xy -0.8579 -0.0169) (xy -0.72 -0.082) (xy -0.5891 -0.1603) (xy -0.4666 -0.2511) (xy -0.3536 -0.3536) (xy -0.2511 -0.4666) (xy -0.1603 -0.5891) (xy -0.082 -0.72) (xy -0.0169 -0.8579) (xy 0.0343 -1.0016) (xy 0.0711 -1.1496)) (width 0) (fill yes)))+    (uuid "58b449b3-0f37-45e3-9ec6-e5ad698107fb"))+  (pad "" smd custom (at -1.4496 1.4496) (size 0.3 0.3) (layers "F.Paste")+    (options (clearance outline) (anchor rect))+    (primitives (gr_poly (pts (xy 1.1496 1.1331) (xy 0.8637 1.0836) (xy 0.5852 1.0026) (xy 0.3174 0.891) (xy 0.0638 0.7503) (xy -0.1727 0.5823) (xy -0.3889 0.3889) (xy -0.5823 0.1727) (xy -0.7503 -0.0638) (xy -0.891 -0.3174) (xy -1.0026 -0.5852) (xy -1.0836 -0.8637) (xy -1.1331 -1.1496) (xy -0.0711 -1.1496) (xy -0.0343 -1.0016) (xy 0.0169 -0.8579) (xy 0.082 -0.72) (xy 0.1603 -0.5891) (xy 0.2511 -0.4666) (xy 0.3536 -0.3536) (xy 0.4666 -0.2511) (xy 0.5891 -0.1603) (xy 0.72 -0.082) (xy 0.8579 -0.0169) (xy 1.0016 0.0343) (xy 1.1496 0.0711)) (width 0) (fill yes)))+    (uuid "205111b1-13af-4a2d-99cc-09eaaef031a8"))+  (pad "" smd custom (at -1.4496 -1.4496) (size 0.3 0.3) (layers "F.Paste")+    (options (clearance outline) (anchor rect))+    (primitives (gr_poly (pts (xy -1.1331 1.1496) (xy -1.0836 0.8637) (xy -1.0026 0.5852) (xy -0.891 0.3174) (xy -0.7503 0.0638) (xy -0.5823 -0.1727) (xy -0.3889 -0.3889) (xy -0.1727 -0.5823) (xy 0.0638 -0.7503) (xy 0.3174 -0.891) (xy 0.5852 -1.0026) (xy 0.8637 -1.0836) (xy 1.1496 -1.1331) (xy 1.1496 -0.0711) (xy 1.0016 -0.0343) (xy 0.8579 0.0169) (xy 0.72 0.082) (xy 0.5891 0.1603) (xy 0.4666 0.2511) (xy 0.3536 0.3536) (xy 0.2511 0.4666) (xy 0.1603 0.5891) (xy 0.082 0.72) (xy 0.0169 0.8579) (xy -0.0343 1.0016) (xy -0.0711 1.1496)) (width 0) (fill yes)))+    (uuid "71b575be-331f-4b0e-9518-bace71701f91"))+  (pad "" smd custom (at 1.4496 -1.4496) (size 0.3 0.3) (layers "F.Paste")+    (options (clearance outline) (anchor rect))+    (primitives (gr_poly (pts (xy -1.1496 -1.1331) (xy -0.8637 -1.0836) (xy -0.5852 -1.0026) (xy -0.3174 -0.891) (xy -0.0638 -0.7503) (xy 0.1727 -0.5823) (xy 0.3889 -0.3889) (xy 0.5823 -0.1727) (xy 0.7503 0.0638) (xy 0.891 0.3174) (xy 1.0026 0.5852) (xy 1.0836 0.8637) (xy 1.1331 1.1496) (xy 0.0711 1.1496) (xy 0.0343 1.0016) (xy -0.0169 0.8579) (xy -0.082 0.72) (xy -0.1603 0.5891) (xy -0.2511 0.4666) (xy -0.3536 0.3536) (xy -0.4666 0.2511) (xy -0.5891 0.1603) (xy -0.72 0.082) (xy -0.8579 0.0169) (xy -1.0016 -0.0343) (xy -1.1496 -0.0711)) (width 0) (fill yes)))+    (uuid "e5fb2906-0b49-41ff-9b2f-aa851953b2a2"))+  (fp_circle (center 0 0) (end 2.175 0)+    (stroke (width 0.1) (type solid)) (fill no) (layer "F.Fab") (uuid "f1909eca-8d91-4775-9af4-3152ae2e4b59"))+  (fp_circle (center 0 0) (end 0.8 0)+    (stroke (width 0.1) (type solid)) (fill no) (layer "F.Fab") (uuid "0d88ae3a-2b4f-408e-92a7-48d3728dbe6e"))+  (fp_text user "${REFERENCE}" (at 0 0 0) (layer "F.Fab") (uuid "83743af5-197b-4377-a4a2-10952db511ab")+    (effects (font (size 0.5 0.5) (thickness 0.075))))+  (fp_circle (center 0 0) (end 2.85 0)+    (stroke (width 0.12) (type solid)) (fill no) (layer "F.SilkS") (uuid "8820c3ad-79d1-4605-991e-22a6556a8a6d"))+  (fp_circle (center 0 0) (end 2.95 0)+    (stroke (width 0.05) (type solid)) (fill no) (layer "F.CrtYd") (uuid "d0496a65-0470-41e8-a73d-fd244e9e4a6b"))+  (model "${KIPRJMOD}/9774025243r.step"+    (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)))+)
9774025243r.kicad_symadded+43
@@ -0,0 +1,43 @@+(kicad_symbol_lib+  (version 20241209)+  (generator "adom")+  (generator_version "9.0")+  (symbol "9774025243R"+    (pin_names (offset 0.254) (hide yes))+    (exclude_from_sim no)+    (in_bom yes)+    (on_board yes)+    (property "Reference" "H" (at 3.81 1.27 0)+      (effects (font (size 1.27 1.27)) (justify left)))+    (property "Value" "9774025243R" (at 3.81 -1.27 0)+      (effects (font (size 1.27 1.27)) (justify left)))+    (property "Footprint" "9774025243r:9774025243r" (at 0 -6.35 0)+      (effects (font (size 1.27 1.27)) (hide yes)))+    (property "Datasheet" "https://www.we-online.com/components/products/datasheet/9774025243R.pdf" (at 0 -8.89 0)+      (effects (font (size 1.27 1.27)) (hide yes)))+    (property "Description" "Wurth Elektronik WA-SMSI SMT steel spacer with M2 internal thread, L = 2.5 mm, tin plated, tape and reel" (at 0 -11.43 0)+      (effects (font (size 1.27 1.27)) (hide yes)))+    (property "Manufacturer" "Wurth Elektronik" (at 0 -13.97 0)+      (effects (font (size 1.27 1.27)) (hide yes)))+    (property "MPN" "9774025243R" (at 0 -16.51 0)+      (effects (font (size 1.27 1.27)) (hide yes)))+    (property "Mouser" "710-9774025243R" (at 0 -19.05 0)+      (effects (font (size 1.27 1.27)) (hide yes)))+    (property "DigiKey" "732-7079-2-ND" (at 0 -21.59 0)+      (effects (font (size 1.27 1.27)) (hide yes)))+    (property "LCSC" "C22431115" (at 0 -22.86 0)+      (effects (font (size 1.27 1.27)) (hide yes)))+    (property "ki_keywords" "standoff spacer M2 SMT M.2 screw mounting" (at 0 -24.13 0)+      (effects (font (size 1.27 1.27)) (hide yes)))+    (symbol "9774025243R_0_1"+      (circle (center 0 0) (radius 1.27)+        (stroke (width 0.254) (type default)) (fill (type none)))+      (circle (center 0 0) (radius 0.635)+        (stroke (width 0.1524) (type default)) (fill (type none)))+    )+    (symbol "9774025243R_1_1"+      (pin passive line (at 0 -3.81 90) (length 2.54) (name "1") (number "1"))+    )+    (embedded_fonts no)+  )+)
9774025243r.lbradded+94
@@ -0,0 +1,94 @@+<?xml version="1.0" encoding="utf-8"?>+<!DOCTYPE eagle SYSTEM "eagle.dtd">+<eagle version="9.6.2">+<drawing>+<settings><setting alwaysvectorfont="no"/></settings>+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>+<layers>+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="yes"/>+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="yes"/>+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="yes"/>+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="yes"/>+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="yes"/>+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>+</layers>+<library>+<description>Wurth Elektronik WA-SMSI SMT steel spacer with M2 internal thread, L = 2.5 mm, tin plated, tape and reel</description>+<packages>+<package name="9774025243r">+  <description>2 pads, 5.3 x 5.3 mm. Wurth 9774025243R WA-SMSI SMT spacer M2 x 2.5 mm; land pattern + stencil from datasheet (rev 001.003, 2025-12-31): pad dia 5.3, NPTH dia 3.0</description>+  <smd name="1" x="0.0000" y="-0.0000" dx="5.3000" dy="5.3000" layer="1" roundness="100" cream="no"/>+  <pad name="1@2" x="0.0000" y="-0.0000" drill="3.0000" diameter="3.0000" shape="round"/>+  <circle x="0.0000" y="-0.0000" radius="2.1750" width="0.1000" layer="51"/>+  <circle x="0.0000" y="-0.0000" radius="0.8000" width="0.1000" layer="51"/>+  <circle x="0.0000" y="-0.0000" radius="2.8500" width="0.1200" layer="21"/>+  <text x="0" y="5.900" size="1.27" layer="25" align="bottom-center">&gt;NAME</text>+  <text x="0" y="-5.900" size="1.27" layer="27" align="top-center">&gt;VALUE</text>+</package>+</packages>+<symbols>+<symbol name="9774025243R">+  <description>Wurth Elektronik WA-SMSI SMT steel spacer with M2 internal thread, L = 2.5 mm, tin plated, tape and reel</description>+  <circle x="0.0000" y="0.0000" radius="1.2700" width="0.1524" layer="94"/>+  <circle x="0.0000" y="0.0000" radius="0.6350" width="0.1524" layer="94"/>+  <text x="3.8100" y="1.2700" size="1.27" layer="95" align="center">&gt;NAME</text>+  <text x="3.8100" y="-1.2700" size="1.27" layer="96" align="center">&gt;VALUE</text>+  <pin name="1" x="0" y="-3.81" length="short" direction="pas" rot="R90" visible="pad"/>+</symbol>+</symbols>+<devicesets>+<deviceset name="9774025243R" prefix="H">+  <description>Wurth Elektronik WA-SMSI SMT steel spacer with M2 internal thread, L = 2.5 mm, tin plated, tape and reel</description>+  <gates>+    <gate name="G$1" symbol="9774025243R" x="0" y="0"/>+  </gates>+  <devices>+    <device name="" package="9774025243r">+      <connects>+        <connect gate="G$1" pin="1" pad="1 1@2"/>+      </connects>+      <technologies><technology name=""/></technologies>+    </device>+  </devices>+</deviceset>+</devicesets>+</library>+</drawing>+</eagle>\ No newline at end of file
9774025243r.stepadded+467
@@ -0,0 +1,467 @@+ISO-10303-21;+HEADER;+FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');+FILE_NAME('Open CASCADE Shape Model','2026-10-17T12:59:21',('Author'),(+    'Open CASCADE'),'Open CASCADE STEP processor 7.9','Open CASCADE 7.9'+  ,'Unknown');+FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));+ENDSEC;+DATA;+#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',+  'automotive_design',2000,#2);+#2 = APPLICATION_CONTEXT(+  'core data for automotive mechanical design processes');+#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);+#4 = PRODUCT_DEFINITION_SHAPE('','',#5);+#5 = PRODUCT_DEFINITION('design','',#6,#9);+#6 = PRODUCT_DEFINITION_FORMATION('','',#7);+#7 = PRODUCT('9774025243R','9774025243R','',(#8));+#8 = PRODUCT_CONTEXT('',#2,'mechanical');+#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#10 = SHAPE_REPRESENTATION('',(#11,#15),#19);+#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);+#12 = CARTESIAN_POINT('',(0.,0.,0.));+#13 = DIRECTION('',(0.,0.,1.));+#14 = DIRECTION('',(1.,0.,-0.));+#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18);+#16 = CARTESIAN_POINT('',(0.,0.,0.));+#17 = DIRECTION('',(0.,0.,1.));+#18 = DIRECTION('',(1.,0.,-0.));+#19 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#23)) GLOBAL_UNIT_ASSIGNED_CONTEXT(+(#20,#21,#22)) REPRESENTATION_CONTEXT('Context #1',+  '3D Context with UNIT and UNCERTAINTY') );+#20 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#21 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#22 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#23 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#20,+  'distance_accuracy_value','confusion accuracy');+#24 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));+#25 = SHAPE_DEFINITION_REPRESENTATION(#26,#32);+#26 = PRODUCT_DEFINITION_SHAPE('','',#27);+#27 = PRODUCT_DEFINITION('design','',#28,#31);+#28 = PRODUCT_DEFINITION_FORMATION('','',#29);+#29 = PRODUCT('spacer','spacer','',(#30));+#30 = PRODUCT_CONTEXT('',#2,'mechanical');+#31 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#32 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#33),#366);+#33 = MANIFOLD_SOLID_BREP('',#34);+#34 = CLOSED_SHELL('',(#35,#123,#176,#211,#250,#305,#359));+#35 = ADVANCED_FACE('',(#36),#50,.T.);+#36 = FACE_BOUND('',#37,.F.);+#37 = EDGE_LOOP('',(#38,#68,#95,#96));+#38 = ORIENTED_EDGE('',*,*,#39,.T.);+#39 = EDGE_CURVE('',#40,#42,#44,.T.);+#40 = VERTEX_POINT('',#41);+#41 = CARTESIAN_POINT('',(2.175,0.,0.));+#42 = VERTEX_POINT('',#43);+#43 = CARTESIAN_POINT('',(2.175,0.,2.35));+#44 = SEAM_CURVE('',#45,(#49,#61),.PCURVE_S1.);+#45 = LINE('',#46,#47);+#46 = CARTESIAN_POINT('',(2.175,0.,0.));+#47 = VECTOR('',#48,1.);+#48 = DIRECTION('',(0.,0.,1.));+#49 = PCURVE('',#50,#55);+#50 = CYLINDRICAL_SURFACE('',#51,2.175);+#51 = AXIS2_PLACEMENT_3D('',#52,#53,#54);+#52 = CARTESIAN_POINT('',(0.,0.,0.));+#53 = DIRECTION('',(-0.,-0.,-1.));+#54 = DIRECTION('',(1.,0.,0.));+#55 = DEFINITIONAL_REPRESENTATION('',(#56),#60);+#56 = LINE('',#57,#58);+#57 = CARTESIAN_POINT('',(-0.,0.));+#58 = VECTOR('',#59,1.);+#59 = DIRECTION('',(-0.,-1.));+#60 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#61 = PCURVE('',#50,#62);+#62 = DEFINITIONAL_REPRESENTATION('',(#63),#67);+#63 = LINE('',#64,#65);+#64 = CARTESIAN_POINT('',(-6.28318530718,0.));+#65 = VECTOR('',#66,1.);+#66 = DIRECTION('',(-0.,-1.));+#67 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#68 = ORIENTED_EDGE('',*,*,#69,.T.);+#69 = EDGE_CURVE('',#42,#42,#70,.T.);+#70 = SURFACE_CURVE('',#71,(#76,#83),.PCURVE_S1.);+#71 = CIRCLE('',#72,2.175);+#72 = AXIS2_PLACEMENT_3D('',#73,#74,#75);+#73 = CARTESIAN_POINT('',(0.,0.,2.35));+#74 = DIRECTION('',(0.,0.,1.));+#75 = DIRECTION('',(1.,0.,-0.));+#76 = PCURVE('',#50,#77);+#77 = DEFINITIONAL_REPRESENTATION('',(#78),#82);+#78 = LINE('',#79,#80);+#79 = CARTESIAN_POINT('',(-0.,-2.35));+#80 = VECTOR('',#81,1.);+#81 = DIRECTION('',(-1.,0.));+#82 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#83 = PCURVE('',#84,#89);+#84 = CONICAL_SURFACE('',#85,2.175,0.785398163397);+#85 = AXIS2_PLACEMENT_3D('',#86,#87,#88);+#86 = CARTESIAN_POINT('',(0.,0.,2.35));+#87 = DIRECTION('',(-0.,-0.,-1.));+#88 = DIRECTION('',(1.,0.,0.));+#89 = DEFINITIONAL_REPRESENTATION('',(#90),#94);+#90 = LINE('',#91,#92);+#91 = CARTESIAN_POINT('',(-0.,-0.));+#92 = VECTOR('',#93,1.);+#93 = DIRECTION('',(-1.,-0.));+#94 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#95 = ORIENTED_EDGE('',*,*,#39,.F.);+#96 = ORIENTED_EDGE('',*,*,#97,.F.);+#97 = EDGE_CURVE('',#40,#40,#98,.T.);+#98 = SURFACE_CURVE('',#99,(#104,#111),.PCURVE_S1.);+#99 = CIRCLE('',#100,2.175);+#100 = AXIS2_PLACEMENT_3D('',#101,#102,#103);+#101 = CARTESIAN_POINT('',(0.,0.,0.));+#102 = DIRECTION('',(0.,0.,1.));+#103 = DIRECTION('',(1.,0.,0.));+#104 = PCURVE('',#50,#105);+#105 = DEFINITIONAL_REPRESENTATION('',(#106),#110);+#106 = LINE('',#107,#108);+#107 = CARTESIAN_POINT('',(-0.,0.));+#108 = VECTOR('',#109,1.);+#109 = DIRECTION('',(-1.,0.));+#110 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#111 = PCURVE('',#112,#117);+#112 = PLANE('',#113);+#113 = AXIS2_PLACEMENT_3D('',#114,#115,#116);+#114 = CARTESIAN_POINT('',(-1.571770267287E-16,6.839013379049E-17,0.));+#115 = DIRECTION('',(0.,0.,1.));+#116 = DIRECTION('',(1.,0.,-0.));+#117 = DEFINITIONAL_REPRESENTATION('',(#118),#122);+#118 = CIRCLE('',#119,2.175);+#119 = AXIS2_PLACEMENT_2D('',#120,#121);+#120 = CARTESIAN_POINT('',(1.571770267287E-16,-6.839013379049E-17));+#121 = DIRECTION('',(1.,0.));+#122 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#123 = ADVANCED_FACE('',(#124),#84,.T.);+#124 = FACE_BOUND('',#125,.T.);+#125 = EDGE_LOOP('',(#126,#147,#148,#149));+#126 = ORIENTED_EDGE('',*,*,#127,.F.);+#127 = EDGE_CURVE('',#42,#128,#130,.T.);+#128 = VERTEX_POINT('',#129);+#129 = CARTESIAN_POINT('',(2.025,0.,2.5));+#130 = SEAM_CURVE('',#131,(#135,#141),.PCURVE_S1.);+#131 = LINE('',#132,#133);+#132 = CARTESIAN_POINT('',(2.175,0.,2.35));+#133 = VECTOR('',#134,1.);+#134 = DIRECTION('',(-0.707106781187,0.,0.707106781187));+#135 = PCURVE('',#84,#136);+#136 = DEFINITIONAL_REPRESENTATION('',(#137),#140);+#137 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#138,#139),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.,0.212132034356),.PIECEWISE_BEZIER_KNOTS.);+#138 = CARTESIAN_POINT('',(0.,0.));+#139 = CARTESIAN_POINT('',(0.,-0.15));+#140 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#141 = PCURVE('',#84,#142);+#142 = DEFINITIONAL_REPRESENTATION('',(#143),#146);+#143 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#144,#145),.UNSPECIFIED.,.F.,.F.,+  (2,2),(0.,0.212132034356),.PIECEWISE_BEZIER_KNOTS.);+#144 = CARTESIAN_POINT('',(-6.28318530718,0.));+#145 = CARTESIAN_POINT('',(-6.28318530718,-0.15));+#146 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#147 = ORIENTED_EDGE('',*,*,#69,.T.);+#148 = ORIENTED_EDGE('',*,*,#127,.T.);+#149 = ORIENTED_EDGE('',*,*,#150,.F.);+#150 = EDGE_CURVE('',#128,#128,#151,.T.);+#151 = SURFACE_CURVE('',#152,(#157,#164),.PCURVE_S1.);+#152 = CIRCLE('',#153,2.025);+#153 = AXIS2_PLACEMENT_3D('',#154,#155,#156);+#154 = CARTESIAN_POINT('',(0.,0.,2.5));+#155 = DIRECTION('',(0.,0.,1.));+#156 = DIRECTION('',(1.,0.,-0.));+#157 = PCURVE('',#84,#158);+#158 = DEFINITIONAL_REPRESENTATION('',(#159),#163);+#159 = LINE('',#160,#161);+#160 = CARTESIAN_POINT('',(-0.,-0.15));+#161 = VECTOR('',#162,1.);+#162 = DIRECTION('',(-1.,-0.));+#163 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#164 = PCURVE('',#165,#170);+#165 = PLANE('',#166);+#166 = AXIS2_PLACEMENT_3D('',#167,#168,#169);+#167 = CARTESIAN_POINT('',(-1.571770267287E-16,6.839013379049E-17,2.5));+#168 = DIRECTION('',(0.,0.,1.));+#169 = DIRECTION('',(1.,0.,-0.));+#170 = DEFINITIONAL_REPRESENTATION('',(#171),#175);+#171 = CIRCLE('',#172,2.025);+#172 = AXIS2_PLACEMENT_2D('',#173,#174);+#173 = CARTESIAN_POINT('',(1.571770267287E-16,-6.839013379049E-17));+#174 = DIRECTION('',(1.,0.));+#175 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#176 = ADVANCED_FACE('',(#177,#180),#112,.F.);+#177 = FACE_BOUND('',#178,.F.);+#178 = EDGE_LOOP('',(#179));+#179 = ORIENTED_EDGE('',*,*,#97,.T.);+#180 = FACE_BOUND('',#181,.F.);+#181 = EDGE_LOOP('',(#182));+#182 = ORIENTED_EDGE('',*,*,#183,.F.);+#183 = EDGE_CURVE('',#184,#184,#186,.T.);+#184 = VERTEX_POINT('',#185);+#185 = CARTESIAN_POINT('',(1.4,0.,0.));+#186 = SURFACE_CURVE('',#187,(#192,#199),.PCURVE_S1.);+#187 = CIRCLE('',#188,1.4);+#188 = AXIS2_PLACEMENT_3D('',#189,#190,#191);+#189 = CARTESIAN_POINT('',(0.,0.,0.));+#190 = DIRECTION('',(0.,0.,1.));+#191 = DIRECTION('',(1.,0.,0.));+#192 = PCURVE('',#112,#193);+#193 = DEFINITIONAL_REPRESENTATION('',(#194),#198);+#194 = CIRCLE('',#195,1.4);+#195 = AXIS2_PLACEMENT_2D('',#196,#197);+#196 = CARTESIAN_POINT('',(1.571770267287E-16,-6.839013379049E-17));+#197 = DIRECTION('',(1.,0.));+#198 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#199 = PCURVE('',#200,#205);+#200 = CYLINDRICAL_SURFACE('',#201,1.4);+#201 = AXIS2_PLACEMENT_3D('',#202,#203,#204);+#202 = CARTESIAN_POINT('',(0.,0.,-1.4));+#203 = DIRECTION('',(-0.,-0.,-1.));+#204 = DIRECTION('',(1.,0.,0.));+#205 = DEFINITIONAL_REPRESENTATION('',(#206),#210);+#206 = LINE('',#207,#208);+#207 = CARTESIAN_POINT('',(-0.,-1.4));+#208 = VECTOR('',#209,1.);+#209 = DIRECTION('',(-1.,0.));+#210 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#211 = ADVANCED_FACE('',(#212,#215),#165,.T.);+#212 = FACE_BOUND('',#213,.T.);+#213 = EDGE_LOOP('',(#214));+#214 = ORIENTED_EDGE('',*,*,#150,.T.);+#215 = FACE_BOUND('',#216,.T.);+#216 = EDGE_LOOP('',(#217));+#217 = ORIENTED_EDGE('',*,*,#218,.T.);+#218 = EDGE_CURVE('',#219,#219,#221,.T.);+#219 = VERTEX_POINT('',#220);+#220 = CARTESIAN_POINT('',(0.8,0.,2.5));+#221 = SURFACE_CURVE('',#222,(#227,#238),.PCURVE_S1.);+#222 = CIRCLE('',#223,0.8);+#223 = AXIS2_PLACEMENT_3D('',#224,#225,#226);+#224 = CARTESIAN_POINT('',(0.,0.,2.5));+#225 = DIRECTION('',(0.,0.,-1.));+#226 = DIRECTION('',(1.,0.,0.));+#227 = PCURVE('',#165,#228);+#228 = DEFINITIONAL_REPRESENTATION('',(#229),#237);+#229 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#230,#231,#232,#233,#234,#235+,#236),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(+    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,+8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() +RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(+  '') );+#230 = CARTESIAN_POINT('',(0.8,-6.839013379049E-17));+#231 = CARTESIAN_POINT('',(0.8,-1.385640646055));+#232 = CARTESIAN_POINT('',(-0.4,-0.692820323028));+#233 = CARTESIAN_POINT('',(-1.6,-2.643336216541E-16));+#234 = CARTESIAN_POINT('',(-0.4,0.692820323028));+#235 = CARTESIAN_POINT('',(0.8,1.385640646055));+#236 = CARTESIAN_POINT('',(0.8,-6.839013379049E-17));+#237 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#238 = PCURVE('',#239,#244);+#239 = CYLINDRICAL_SURFACE('',#240,0.8);+#240 = AXIS2_PLACEMENT_3D('',#241,#242,#243);+#241 = CARTESIAN_POINT('',(0.,0.,-1.7));+#242 = DIRECTION('',(-0.,-0.,-1.));+#243 = DIRECTION('',(1.,0.,0.));+#244 = DEFINITIONAL_REPRESENTATION('',(#245),#249);+#245 = LINE('',#246,#247);+#246 = CARTESIAN_POINT('',(-6.28318530718,-4.2));+#247 = VECTOR('',#248,1.);+#248 = DIRECTION('',(1.,-0.));+#249 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#250 = ADVANCED_FACE('',(#251),#200,.T.);+#251 = FACE_BOUND('',#252,.F.);+#252 = EDGE_LOOP('',(#253,#276,#277,#278));+#253 = ORIENTED_EDGE('',*,*,#254,.T.);+#254 = EDGE_CURVE('',#255,#184,#257,.T.);+#255 = VERTEX_POINT('',#256);+#256 = CARTESIAN_POINT('',(1.4,0.,-1.4));+#257 = SEAM_CURVE('',#258,(#262,#269),.PCURVE_S1.);+#258 = LINE('',#259,#260);+#259 = CARTESIAN_POINT('',(1.4,0.,-1.4));+#260 = VECTOR('',#261,1.);+#261 = DIRECTION('',(0.,0.,1.));+#262 = PCURVE('',#200,#263);+#263 = DEFINITIONAL_REPRESENTATION('',(#264),#268);+#264 = LINE('',#265,#266);+#265 = CARTESIAN_POINT('',(-0.,0.));+#266 = VECTOR('',#267,1.);+#267 = DIRECTION('',(-0.,-1.));+#268 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#269 = PCURVE('',#200,#270);+#270 = DEFINITIONAL_REPRESENTATION('',(#271),#275);+#271 = LINE('',#272,#273);+#272 = CARTESIAN_POINT('',(-6.28318530718,0.));+#273 = VECTOR('',#274,1.);+#274 = DIRECTION('',(-0.,-1.));+#275 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#276 = ORIENTED_EDGE('',*,*,#183,.T.);+#277 = ORIENTED_EDGE('',*,*,#254,.F.);+#278 = ORIENTED_EDGE('',*,*,#279,.F.);+#279 = EDGE_CURVE('',#255,#255,#280,.T.);+#280 = SURFACE_CURVE('',#281,(#286,#293),.PCURVE_S1.);+#281 = CIRCLE('',#282,1.4);+#282 = AXIS2_PLACEMENT_3D('',#283,#284,#285);+#283 = CARTESIAN_POINT('',(0.,0.,-1.4));+#284 = DIRECTION('',(0.,0.,1.));+#285 = DIRECTION('',(1.,0.,0.));+#286 = PCURVE('',#200,#287);+#287 = DEFINITIONAL_REPRESENTATION('',(#288),#292);+#288 = LINE('',#289,#290);+#289 = CARTESIAN_POINT('',(-0.,0.));+#290 = VECTOR('',#291,1.);+#291 = DIRECTION('',(-1.,0.));+#292 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#293 = PCURVE('',#294,#299);+#294 = PLANE('',#295);+#295 = AXIS2_PLACEMENT_3D('',#296,#297,#298);+#296 = CARTESIAN_POINT('',(-9.156965173255E-17,6.494268501652E-17,-1.4)+  );+#297 = DIRECTION('',(0.,0.,1.));+#298 = DIRECTION('',(1.,0.,-0.));+#299 = DEFINITIONAL_REPRESENTATION('',(#300),#304);+#300 = CIRCLE('',#301,1.4);+#301 = AXIS2_PLACEMENT_2D('',#302,#303);+#302 = CARTESIAN_POINT('',(9.156965173255E-17,-6.494268501652E-17));+#303 = DIRECTION('',(1.,0.));+#304 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#305 = ADVANCED_FACE('',(#306),#239,.F.);+#306 = FACE_BOUND('',#307,.T.);+#307 = EDGE_LOOP('',(#308,#336,#357,#358));+#308 = ORIENTED_EDGE('',*,*,#309,.T.);+#309 = EDGE_CURVE('',#310,#310,#312,.T.);+#310 = VERTEX_POINT('',#311);+#311 = CARTESIAN_POINT('',(0.8,0.,-1.4));+#312 = SURFACE_CURVE('',#313,(#318,#325),.PCURVE_S1.);+#313 = CIRCLE('',#314,0.8);+#314 = AXIS2_PLACEMENT_3D('',#315,#316,#317);+#315 = CARTESIAN_POINT('',(0.,0.,-1.4));+#316 = DIRECTION('',(0.,0.,-1.));+#317 = DIRECTION('',(1.,0.,0.));+#318 = PCURVE('',#239,#319);+#319 = DEFINITIONAL_REPRESENTATION('',(#320),#324);+#320 = LINE('',#321,#322);+#321 = CARTESIAN_POINT('',(-6.28318530718,-0.3));+#322 = VECTOR('',#323,1.);+#323 = DIRECTION('',(1.,-0.));+#324 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#325 = PCURVE('',#294,#326);+#326 = DEFINITIONAL_REPRESENTATION('',(#327),#335);+#327 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#328,#329,#330,#331,#332,#333+,#334),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(+    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,+8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() +RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(+  '') );+#328 = CARTESIAN_POINT('',(0.8,-6.494268501652E-17));+#329 = CARTESIAN_POINT('',(0.8,-1.385640646055));+#330 = CARTESIAN_POINT('',(-0.4,-0.692820323028));+#331 = CARTESIAN_POINT('',(-1.6,-2.608861728801E-16));+#332 = CARTESIAN_POINT('',(-0.4,0.692820323028));+#333 = CARTESIAN_POINT('',(0.8,1.385640646055));+#334 = CARTESIAN_POINT('',(0.8,-6.494268501652E-17));+#335 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#336 = ORIENTED_EDGE('',*,*,#337,.T.);+#337 = EDGE_CURVE('',#310,#219,#338,.T.);+#338 = SEAM_CURVE('',#339,(#343,#350),.PCURVE_S1.);+#339 = LINE('',#340,#341);+#340 = CARTESIAN_POINT('',(0.8,0.,-1.7));+#341 = VECTOR('',#342,1.);+#342 = DIRECTION('',(0.,0.,1.));+#343 = PCURVE('',#239,#344);+#344 = DEFINITIONAL_REPRESENTATION('',(#345),#349);+#345 = LINE('',#346,#347);+#346 = CARTESIAN_POINT('',(-6.28318530718,0.));+#347 = VECTOR('',#348,1.);+#348 = DIRECTION('',(-0.,-1.));+#349 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#350 = PCURVE('',#239,#351);+#351 = DEFINITIONAL_REPRESENTATION('',(#352),#356);+#352 = LINE('',#353,#354);+#353 = CARTESIAN_POINT('',(-0.,0.));+#354 = VECTOR('',#355,1.);+#355 = DIRECTION('',(-0.,-1.));+#356 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+  ) );+#357 = ORIENTED_EDGE('',*,*,#218,.F.);+#358 = ORIENTED_EDGE('',*,*,#337,.F.);+#359 = ADVANCED_FACE('',(#360,#363),#294,.F.);+#360 = FACE_BOUND('',#361,.F.);+#361 = EDGE_LOOP('',(#362));+#362 = ORIENTED_EDGE('',*,*,#279,.T.);+#363 = FACE_BOUND('',#364,.F.);+#364 = EDGE_LOOP('',(#365));+#365 = ORIENTED_EDGE('',*,*,#309,.T.);+#366 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#370)) GLOBAL_UNIT_ASSIGNED_CONTEXT+((#367,#368,#369)) REPRESENTATION_CONTEXT('Context #1',+  '3D Context with UNIT and UNCERTAINTY') );+#367 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#368 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#369 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#370 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#367,+  'distance_accuracy_value','confusion accuracy');+#371 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#372,#374);+#372 = ( REPRESENTATION_RELATIONSHIP('','',#32,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#373) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#373 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);+#374 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#375+  );+#375 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','spacer','',#5,#27,$);+#376 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#29));+#377 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#378)+  ,#366);+#378 = STYLED_ITEM('color',(#379),#33);+#379 = PRESENTATION_STYLE_ASSIGNMENT((#380));+#380 = SURFACE_STYLE_USAGE(.BOTH.,#381);+#381 = SURFACE_SIDE_STYLE('',(#382));+#382 = SURFACE_STYLE_FILL_AREA(#383);+#383 = FILL_AREA_STYLE('',(#384));+#384 = FILL_AREA_STYLE_COLOUR('',#385);+#385 = COLOUR_RGB('',0.819999987296,0.830000008529,0.850000012718);+ENDSEC;+END-ISO-10303-21;
LICENSEadded+10
@@ -0,0 +1,10 @@+Creative Commons Attribution 4.0 International (CC BY 4.0)++The Adom-authored files on this page (KiCad symbol and footprint, Fusion/EAGLE library, AI-created STEP+models and their GLB derivatives, hero artwork, viewers, provenance and the builder scripts in+provenance/tools/) are licensed under CC BY 4.0: https://creativecommons.org/licenses/by/4.0/+Attribution: Adom (wiki.adom.inc).++No manufacturer CAD files or manufacturer documents are redistributed on this page. Datasheets and+drawings are linked at their original URLs and remain under their owners' terms. Manufacturer names+and part numbers are used only to identify the part.
README.md+88−1
@@ -1,3 +1,90 @@ # 9774025243R -Wurth Elektronik WA-SMSI 9774025243R SMT steel spacer with M2 internal thread, L = 2.5 mm, tin plated, tape and reel. KiCad symbol, footprint, Fusion library and AI-created 3D.+**Wurth Elektronik** · SMT spacers / standoffs (WA-SMSI, M2) · WA-SMSI, dia 4.35 x 2.5 mm above the PCB, dia 2.8 x 1.4 mm spigot++The Wurth Elektronik 9774025243R is a WA-SMSI surface-mount steel spacer with an M2 internal thread through its length, 2.5 mm tall above the board. It is placed and reflowed like any SMT part (a polyimide tape on top gives the pick-and-place nozzle a flat surface) and then takes an M2 screw, for example to hold the far end of an M.2 card, a daughterboard or a shield. A 2.8 mm spigot locates it in a 3.0 mm non-plated hole.++## Key specifications++| Parameter | Value |+|---|---|+| Thread | M2, internal, through |+| Length L | 2.5 mm +-0.1 |+| Body diameter | 4.35 mm |+| Spigot | dia 2.8 x 1.4 mm (into a dia 3.0 non-plated hole) |+| Material / surface | Steel / tin |+| Max tightening torque | 0.2 N m |+| Operating temperature | -55 C to +150 C |+| MSL | 1 |+| Solder paste | 150 um min |+| Packing | Tape and reel, polyimide pick-up tape on top |++Source: Wurth datasheet rev 001.003 p.1.++## Pinout++| Pin | Name | Type | Function |+|---|---|---|---|+| 1 | 1 | passive | Annular SMT solder pad (dia 5.3) around the dia 3.0 non-plated hole. Mechanical; the steel body connects whatever the pad is tied to (commonly ground) to the screwed part. |++## Footprint++The land pattern is Wurth's recommended pattern: a 5.3 mm annular solder pad around a 3.0 mm non-plated hole, with the suggested stencil (annulus 3.1 to 5.2 mm split into four by 0.6 mm webs). The ring copper runs to the hole edge as drawn, so KiCad's DRC reports a hole_clearance error that you clear with a rule or an exclusion. The footprint has one pad number (1); tie it to ground if the screw should ground the part it holds.++## 3D models++All 3D models on this page are **AI-created** from the manufacturer's dimensioned drawings (no manufacturer CAD file is used or redistributed). They are Z-up, in millimetres, seated on the PCB top surface (z = 0) at the footprint origin, so the footprint's model reference needs no offset or rotation. The builder script is in `provenance/tools/`.++| File | What it is |+|---|---|+| `9774025243r.step` / `9774025243r.glb` | Plain model (also the board-use model) |+| `9774025243r-hero.glb` | Page model only: the board-use model plus teal dashed pad outlines, silkscreen with pin 1 and pad signal names (adom-hero 1.4). Do not place it on a board. |++No part number is etched on this model. No clear flat surface: the top is a 1.2 mm wide ring around the M2 bore and the side is cylindrical, so the 11-character MPN cannot sit on a flat face without crossing the bore or being illegibly small. The plain model is the board-use model.++## Sourcing++| Distributor | Part number | Link |+|---|---|---|+| Mouser | 710-9774025243R | https://www.mouser.com/en/ProductDetail/Wurth-Elektronik/9774025243R?qs=KRpiEsko4Hk6kXQfB%252BOLaw%3D%3D |+| DigiKey | 732-7079-2-ND | https://www.digikey.com/en/products/detail/w%C3%BCrth-elektronik/9774025243R/5320622 |+| LCSC | C22431115 | https://www.lcsc.com/product-detail/C22431115.html |++Distributor numbers checked on 2026-10-17 with adom-parts-search; check current stock and price at the links.++## Manufacturer and resources++| Resource | Link |+|---|---|+| Product page | https://www.we-online.com/en/components/products/WA-SMSI |+| Wurth Elektronik datasheet 9774025243R, WA-SMSI SMT steel spacer with internal thread, rev 001.003 (2025-12-31) | https://www.we-online.com/components/products/datasheet/9774025243R.pdf |+| Wurth Elektronik STEP model |  |++Manufacturer documents are linked, not copied: download them from the manufacturer.++## Files++| File | Contents |+|---|---|+| `9774025243r.kicad_sym` | KiCad symbol with MPN, manufacturer and distributor fields |+| `9774025243r.kicad_mod` | KiCad footprint |+| `9774025243r.lbr` | Fusion 360 / EAGLE library (adom-lbr, lint clean) |+| `viewers/symbol.html`, `viewers/footprint.html` | Interactive embeds |+| `9774025243r-hero.overlay.json` | Hero artwork sidecar: pads, labels, alignment |+| `provenance/provenance.json` | Per-file provenance: source, classification, SHA-256, assumptions |+| `provenance/tools/` | Builder script for the AI-created STEP |+| `LICENSE` | CC BY 4.0 for the Adom-authored files |++## Provenance++Every file is classified in `provenance/provenance.json` as source-derived (written from a cited manufacturer document), AI-created (modelled from cited drawings) or derived (generated by a tool), with its SHA-256 and the source document's revision, retrieval date and hash.++Open items:++- hole_clearance DRC needs a project rule or exclusion+- Wurth STEP not obtained; model is AI-created+- No virtual MPN mark (see mpn_marking)++## License++The Adom-authored files are CC BY 4.0. Manufacturer documents and trademarks remain their owners'; none are redistributed here.
docs/hero.pngadded
⋯ 1 unchanged line ⋯
package.jsonadded+43
@@ -0,0 +1,43 @@+{+  "slug": "9774025243r",+  "title": "9774025243R",+  "version": "0.1.0",+  "type": "component",+  "description": "Wurth Elektronik WA-SMSI 9774025243R SMT steel spacer with M2 internal thread, L = 2.5 mm, tin plated, tape and reel. KiCad symbol, footprint, Fusion library and AI-created 3D.",+  "tags": [+    "component",+    "mechanical",+    "spacer",+    "standoff",+    "m2",+    "smt",+    "wa-smsi",+    "wurth elektronik",+    "9774025243r"+  ],+  "license": "CC-BY-4.0",+  "dependencies": {},+  "hero": {+    "type": "image",+    "path": "docs/hero.png"+  },+  "files": [+    "page.json",+    "README.md",+    "LICENSE",+    "9774025243r.kicad_sym",+    "9774025243r.kicad_mod",+    "9774025243r.lbr",+    "9774025243r.step",+    "9774025243r.glb",+    "9774025243r-hero.glb",+    "9774025243r-hero.overlay.json",+    "docs/hero.png",+    "viewers/symbol.html",+    "viewers/footprint.html",+    "provenance/provenance.json",+    "provenance/9774025243r-hero-preview.png",+    "provenance/9774025243r-features.json",+    "provenance/tools/make_spacer_step.py"+  ]+}\ No newline at end of file
provenance/9774025243r-features.jsonadded+26
@@ -0,0 +1,26 @@+{+  "extracted_by": "service-step2glb 0.2.0",+  "extracted_at": "2026-10-17T18:02:27Z",+  "bbox_mm": {+    "x": [+      -2.175,+      2.175+    ],+    "y": [+      -2.175,+      2.175+    ],+    "z": [+      -1.4,+      2.5+    ]+  },+  "floor_z_mm": -1.4,+  "top_z_mm": 2.5,+  "longest_axis": "x",+  "pin1": {+    "source": "unknown"+  },+  "duration_ms": 22,+  "warnings": []+}\ No newline at end of file
provenance/9774025243r-hero-preview.pngadded
⋯ 1 unchanged line ⋯
provenance/provenance.jsonadded+159
@@ -0,0 +1,159 @@+{+  "schema": "adom/component-provenance@1",+  "mpn": "9774025243R",+  "manufacturer": "Wurth Elektronik",+  "classification_legend": {+    "manufacturer-supplied": "manufacturer bytes, untouched",+    "source-derived": "written by Adom from cited manufacturer documents",+    "AI-created": "geometry modelled by an AI from cited drawings; no manufacturer CAD content",+    "derived": "generated by a tool from the files above"+  },+  "sources": [+    {+      "document": "Wurth Elektronik datasheet 9774025243R, WA-SMSI SMT steel spacer with internal thread, rev 001.003 (2025-12-31)",+      "url": "https://www.we-online.com/components/products/datasheet/9774025243R.pdf",+      "retrieved_utc": "2026-10-17T17:21:17Z",+      "sha256": "af9632079187161c7e7565e5a58dabbeab6636aae0bb15b4df796302bbd382cc",+      "pages_used": {+        "p.1": "dimensions, recommended land pattern, stencil suggestion, properties, MSL, temperature"+      },+      "redistribution": "Not redistributed. Linked by URL only."+    },+    {+      "document": "Wurth Elektronik STEP model",+      "result": "Not obtained; the published STEP is AI-created from the datasheet."+    }+  ],+  "distributors_checked": {+    "date": "2026-10-17",+    "tool": "adom-parts-search",+    "mouser": "710-9774025243R",+    "digikey": "732-7079-2-ND",+    "lcsc": "C22431115"+  },+  "files": [+    {+      "file": "9774025243r.kicad_sym",+      "sha256": "a8d142f87ff5127b61e913e2611e5da3544018e176347b3e511e8723f191743a",+      "bytes": 1991,+      "classification": "source-derived",+      "source": "datasheet p.1",+      "assumptions": [+        "Single passive pin 1 = the spacer's solder pad"+      ]+    },+    {+      "file": "9774025243r.kicad_mod",+      "sha256": "5c40a9b1e71861c1ac454da3d744f567ce16592812f925b626433bce085b1bcf",+      "bytes": 5053,+      "classification": "source-derived",+      "source": "datasheet p.1 recommended land pattern + stencil suggestion",+      "assumptions": [+        "SMT ring pad dia 5.3 (F.Cu/F.Mask, pad 1) around an NPTH dia 3.0 (also numbered 1)",+        "Paste: annulus dia 3.1 to 5.2 split in four by 0.6 mm webs",+        "Footprint attribute allow_soldermask_bridges; KiCad reports hole_clearance because the ring copper runs to the NPTH edge exactly as the datasheet draws it: add a DRC rule or exclusion"+      ],+      "verification": "kicad-cli 10.0.3 pcb drc on a scratch board: parsed; 1 expected hole_clearance (ring to NPTH, by design)"+    },+    {+      "file": "9774025243r.step",+      "sha256": "f32b91a5a6625e56e02f01aba1de64f5dd4a31eb7aa36eb97f2deffa146ac73a",+      "bytes": 19070,+      "classification": "AI-created",+      "source": "datasheet p.1 dimensions",+      "assumptions": [+        "Body dia 4.35 x 2.5 above the PCB, spigot dia 2.8 x 1.4 below, M2 thread shown as a dia 1.6 through bore, 0.15 mm cosmetic top chamfer"+      ],+      "frame": "mm, Z-up, seating plane / PCB top z = 0, X/Y = KiCad footprint frame with Y mirrored; footprint (model) offset and rotation 0",+      "licence": "CC-BY-4.0 (Adom-authored, no manufacturer CAD content)",+      "features": "provenance/9774025243r-features.json"+    },+    {+      "file": "9774025243r.glb",+      "sha256": "8b3a562e07755f2952a97b919fb5dda8b3961ccadead5cecf037e5b0f0c0d275",+      "bytes": 11220,+      "classification": "derived",+      "source": "9774025243r.step via step2glb convert (service-step2glb, XCAF colours kept)"+    },+    {+      "file": "9774025243r-hero.glb",+      "sha256": "ba0282453a39db1208e8f271e02bb6e147c9b502afbfd786c0d265bdf6ce5c4b",+      "bytes": 41016,+      "classification": "derived (presentation only, not for board use)",+      "source": "9774025243r.glb + 9774025243r.kicad_mod + page.json pins via component-hero hero_glb.py (adom-hero 1.4)",+      "align": {+        "ok": true,+        "centre_offset_mm": 0.0,+        "tolerance_mm": 0.424,+        "orientation_flipped": false,+        "contacts_bbox_mm": [+          -1.4,+          1.4,+          -1.39,+          1.39+        ],+        "pads_bbox_mm": [+          -2.65,+          2.65,+          -2.65,+          2.65+        ],+        "seating_z_mm": -1.4+      },+      "sidecar": "9774025243r-hero.overlay.json"+    },+    {+      "file": "9774025243r-hero.overlay.json",+      "sha256": "4630fc117ddc074365e12e25f4f5f9fd7b1893b19b23ad0a93576b3f6ee01768",+      "bytes": 1818,+      "classification": "derived",+      "source": "hero_glb.py sidecar"+    },+    {+      "file": "9774025243r.lbr",+      "sha256": "27cafec04ddf5519a14e197e34c5d02410a9e8cee0363641ca75b804c99ab852",+      "bytes": 5949,+      "classification": "derived",+      "source": "adom-lbr generate from the .kicad_sym + .kicad_mod (lint PASS)"+    },+    {+      "file": "viewers/symbol.html",+      "sha256": "a523197914c8d30860600bf9e3b8020400c93ca71161dfa4018f9670d57bd926",+      "bytes": 120634,+      "classification": "derived",+      "source": "adom-symbol embed"+    },+    {+      "file": "viewers/footprint.html",+      "sha256": "dc5f10efc4c7f6b9e2ab75d9525aaed5365b0deab0efcbba9c0874e8767790ac",+      "bytes": 29073,+      "classification": "derived",+      "source": "adom-footprint embed"+    },+    {+      "file": "docs/hero.png",+      "sha256": "5fe21b2de3f4cb6833688dd5a2c271b6312044111d40ccc61950cd9191c7bb00",+      "bytes": 16704,+      "classification": "derived",+      "source": "step2glb thumbnail (iso) of the plain STEP"+    }+  ],+  "mpn_marking": {+    "text": null,+    "omitted": "No clear flat surface: the top is a 1.2 mm wide ring around the M2 bore and the side is cylindrical, so the 11-character MPN cannot sit on a flat face without crossing the bore or being illegibly small. The plain model is the board-use model."+  },+  "verification": [+    "step2glb features on every STEP: Z-up, seated (see *-features.json); footprint (model) binding is identity",+    "component-hero align guard: ok, centre offset 0.0 mm",+    "independent per-pad seat check (scratch script): every copper pad has metal contact geometry at the seating plane inside its outline: OK",+    "adom-lbr lint PASS; adom-symbol / adom-footprint embed OK"+  ],+  "unresolved": [+    "hole_clearance DRC needs a project rule or exclusion",+    "Wurth STEP not obtained; model is AI-created",+    "No virtual MPN mark (see mpn_marking)"+  ],+  "generated_utc": "2026-10-17",+  "generator": "Claude Code (Anthropic Claude) for Adom; CadQuery 2.8.0 / OCP 7.9.3; KiCad file format 9 (sym 20241209, mod 20241229); step2glb service; adom-aiflow-etch; component-hero hero_glb.py (adom-hero 1.4); adom-lbr; adom-symbol / adom-footprint embed",+  "licence": "Adom-authored files: CC-BY-4.0 (see LICENSE). Manufacturer documents keep their own terms and are not redistributed here."+}\ No newline at end of file
provenance/tools/make_spacer_step.pyadded+23
@@ -0,0 +1,23 @@+"""AI-created STEP model of the Wurth Elektronik 9774025243R (WA-SMSI SMT steel spacer, M2 internal thread, L = 2.5 mm).++Dimensions from the Wurth datasheet 9774025243R rev 001.003 (2025-12-31), page 1 "Dimensions":+body dia 4.35 x L 2.5 above the PCB, spigot dia 2.8 x 1.4 below the PCB top (into the dia 3.0 non-plated hole),+M2 internal thread through the full length, modelled as a plain dia 1.6 bore (M2 minor diameter is about 1.57).+The 0.15 mm top chamfer is cosmetic (not dimensioned on the datasheet). Thread flanks and the polyimide+pick-and-place tape are not modelled.++Frame: millimetres, Z-up, PCB top surface z = 0, origin on the spacer axis (= KiCad footprint origin).+usage: python make_spacer_step.py out.step   (CadQuery 2.8)+"""+import sys+import cadquery as cq++out = sys.argv[1]+body = cq.Workplane("XY").circle(4.35 / 2).extrude(2.5).faces(">Z").edges().chamfer(0.15)+spigot = cq.Workplane("XY").circle(2.8 / 2).extrude(1.4).translate((0, 0, -1.4))+bore = cq.Workplane("XY").circle(1.6 / 2).extrude(4.4).translate((0, 0, -1.7))+part = body.union(spigot).cut(bore)+a = cq.Assembly(name="9774025243R")+a.add(part, name="spacer", color=cq.Color(0.82, 0.83, 0.85))+a.export(out)+print("wrote", out)
viewers/footprint.htmladded+210
@@ -0,0 +1,210 @@+<!doctype html><html><head><meta charset="utf-8">+<title>9774025243r - adom-footprint</title>+<meta name="viewport" content="width=device-width,initial-scale=1">+<style>+/* ── adom-footprint shared viewer core (CSS) ───────────────────────────────+   Included VERBATIM by both the live app (app.html) and the static embed+   (embed.html) so the canvas, zoom toolbar and layer-panel rows look identical+   and cannot drift. Self-contained literal colours (no dependency on either+   file's CSS vars). Class prefix: av- */++.av-vp{position:absolute;inset:0;overflow:hidden;cursor:grab;background:radial-gradient(circle at 50% 42%,#121a26 0%,#0d1117 72%)}+.av-vp.grab{cursor:grabbing}+/* DIRECT child only, the zoom-toolbar button icons (.av-tools svg) also live+   inside .av-vp; without '>' they'd inherit position:absolute and stack at 0,0. */+.av-vp > svg{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;display:block}++/* zoom toolbar */+/* Grouped translucent toolbar (matches adom-symbol's .tools): one container, borderless+   buttons that highlight on hover, instead of individually-boxed buttons. */+.av-tools{position:absolute;left:10px;top:10px;display:flex;gap:3px;padding:3px;z-index:5;background:rgba(22,27,34,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #222b38;border-radius:9px}+.av-tools button{width:30px;height:30px;border-radius:6px;border:none;background:transparent;color:#cfd8e2;cursor:pointer;display:grid;place-items:center;transition:background .15s ease,color .15s ease}+.av-tools button svg{width:16px;height:16px;display:block}+.av-tools button:hover{background:#222b38;color:#37c8a6}+.av-tools button:focus,.av-tools button:focus-visible{outline:none}+.av-panhint{position:absolute;right:10px;bottom:9px;color:#8b949e;font-size:11px;z-index:5;pointer-events:none;user-select:none;-webkit-user-select:none}++/* layer panel rows */+.av-lrow{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;cursor:pointer}+.av-lrow:hover{background:#161c27}+.av-lrow .sw{width:13px;height:13px;border-radius:3px;border:1px solid rgba(255,255,255,.15);flex:0 0 13px}+.av-lrow .sw.ring{background:transparent!important}+.av-lrow .ln{flex:1;font-size:13px}+.av-lrow .meta{font-size:10px;color:#8b949e}+.av-lrow .chk{width:16px;height:16px;border-radius:4px;border:1.5px solid #3a4757;display:grid;place-items:center;color:#0b0f17;font-size:11px}+.av-lrow.on .chk{background:#37c8a6;border-color:#37c8a6}+.av-lrow.off .ln,.av-lrow.off .sw{opacity:.4}+.av-lrow.special{background:linear-gradient(100deg,rgba(55,200,166,.10),transparent);border:1px solid rgba(55,200,166,.25);margin-top:4px}+.av-lrow.special .ln{color:#7ef0d2;font-weight:600}++:root{--bg:#0d1117;--panel:#11161f;--border:#222b38;--text:#e6edf3;--muted:#8b949e;--accent:#37c8a6}+*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}+body{background:var(--bg);color:var(--text);font-family:'Satoshi','Segoe UI',system-ui,sans-serif;display:flex;flex-direction:column;overflow:hidden}+header{display:flex;align-items:center;gap:9px;padding:9px 14px;border-bottom:1px solid var(--border);flex:0 0 auto}+header .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}+header .b{font-weight:700;font-size:14px}header .b span{color:var(--muted);font-weight:400}+header .nm{margin-left:auto;font-weight:600;font-size:13px;color:#cfd8e2}+main{flex:1;display:flex;min-height:0}+.vpwrap{flex:1;position:relative;min-width:0}+aside{flex:0 0 248px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}+aside .ah{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}+.layers{padding:6px}+.note{font-size:11px;color:var(--muted);line-height:1.45;padding:8px 11px}+.note b{color:#7ef0d2}+</style></head>+<body>+  <header><span class="dot"></span><span class="b">adom-footprint <span>· interactive</span></span><span class="nm">9774025243r</span></header>+  <main>+    <div class="vpwrap">+      <div class="av-vp" id="vp">+        <svg xmlns="http://www.w3.org/2000/svg" viewBox="-3.950 -3.950 7.900 7.900" preserveAspectRatio="xMidYMid meet"><g class="adom-layer-courtyard"><circle cx="0.000" cy="0.000" r="2.950" fill="none" stroke="#FF26E2" stroke-width="0.05" stroke-dasharray="0.2,0.1"/></g><g class="adom-layer-fab"><circle cx="0.000" cy="0.000" r="2.175" fill="none" stroke="#6e7681" stroke-width="0.1"/><circle cx="0.000" cy="0.000" r="0.800" fill="none" stroke="#6e7681" stroke-width="0.1"/></g><g class="adom-layer-copper"><g data-pad="1" data-shape="circle" data-size="5.300x5.300" data-mount="smd"><circle cx="0.000" cy="0.000" r="2.650" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="1" data-shape="circle" data-size="3.000x3.000" data-mount="np_thru_hole"><circle cx="0.000" cy="0.000" r="1.500" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g></g><g class="adom-layer-heatsink"><circle cx="-1.800" cy="-1.800" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="-1.800" cy="-1.800" r="0.15" fill="#0d1117"/><circle cx="-0.600" cy="-1.800" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="-0.600" cy="-1.800" r="0.15" fill="#0d1117"/><circle cx="0.600" cy="-1.800" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="0.600" cy="-1.800" r="0.15" fill="#0d1117"/><circle cx="1.800" cy="-1.800" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="1.800" cy="-1.800" r="0.15" fill="#0d1117"/><circle cx="-1.800" cy="-0.600" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="-1.800" cy="-0.600" r="0.15" fill="#0d1117"/><circle cx="-0.600" cy="-0.600" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="-0.600" cy="-0.600" r="0.15" fill="#0d1117"/><circle cx="0.600" cy="-0.600" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="0.600" cy="-0.600" r="0.15" fill="#0d1117"/><circle cx="1.800" cy="-0.600" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="1.800" cy="-0.600" r="0.15" fill="#0d1117"/><circle cx="-1.800" cy="0.600" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="-1.800" cy="0.600" r="0.15" fill="#0d1117"/><circle cx="-0.600" cy="0.600" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="-0.600" cy="0.600" r="0.15" fill="#0d1117"/><circle cx="0.600" cy="0.600" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="0.600" cy="0.600" r="0.15" fill="#0d1117"/><circle cx="1.800" cy="0.600" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="1.800" cy="0.600" r="0.15" fill="#0d1117"/><circle cx="-1.800" cy="1.800" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="-1.800" cy="1.800" r="0.15" fill="#0d1117"/><circle cx="-0.600" cy="1.800" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="-0.600" cy="1.800" r="0.15" fill="#0d1117"/><circle cx="0.600" cy="1.800" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="0.600" cy="1.800" r="0.15" fill="#0d1117"/><circle cx="1.800" cy="1.800" r="0.30" fill="#8a5a2b" stroke="#e8a13a" stroke-width="0.05"/><circle cx="1.800" cy="1.800" r="0.15" fill="#0d1117"/></g><g class="adom-layer-drill"><circle cx="0.000" cy="0.000" r="1.500" fill="#0d1117" stroke="#666" stroke-width="0.05"/></g><g class="adom-layer-silk"><circle cx="0.000" cy="0.000" r="2.850" fill="none" stroke="#00cccc" stroke-width="0.12"/></g><g class="adom-layer-padnum"><text x="0.000" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="2.226" fill="#fff" font-family="sans-serif" style="pointer-events:none">1</text><text x="0.000" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="1.260" fill="#fff" font-family="sans-serif" style="pointer-events:none">1</text></g><g class="adom-layer-paste-apertures"><rect x="-2.650" y="-2.650" width="5.300" height="5.300" rx="0.05" transform="rotate(0.00 0.000 0.000)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.300" y="1.300" width="0.300" height="0.300" rx="0.05" transform="rotate(0.00 1.450 1.450)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.600" y="1.300" width="0.300" height="0.300" rx="0.05" transform="rotate(0.00 -1.450 1.450)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.600" y="-1.600" width="0.300" height="0.300" rx="0.05" transform="rotate(0.00 -1.450 -1.450)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.300" y="-1.600" width="0.300" height="0.300" rx="0.05" transform="rotate(0.00 1.450 -1.450)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/></g><g class="adom-layer-paste-dots"><circle cx="-2.375" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="-2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="-1.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="-0.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="-0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="0.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="1.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.375" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.125" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.125" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.125" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.125" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.125" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.125" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.875" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.875" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="-2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="-0.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="0.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.125" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.875" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.875" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.875" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.875" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.625" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.625" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.375" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.375" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.375" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.375" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="-2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="-2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.375" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.375" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.375" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.375" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.625" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.625" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.875" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.875" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.875" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.875" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="-2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="-0.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="0.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.125" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.875" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.875" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.125" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.125" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.125" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.125" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.125" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.125" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-2.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-1.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-0.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="-0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="0.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="0.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="1.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="1.875" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="2.125" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.375" cy="2.375" r="0.150" fill="#37c8a6" opacity="0.92"/></g></svg>+      </div>+    </div>+    <aside>+      <div class="ah">Layers</div>+      <div class="layers" id="layers"></div>+      <div class="note">The <b>solder paste jet</b> layer shows the 300µm paste-dispensing dots that travel with the footprint. Off by default, toggle it on.</div>+    </aside>+  </main>+<script>/* ── adom-footprint shared viewer core (window.AV) ─────────────────────────+   Single source of truth for the layer list, toggle behaviour, defaults,+   pan/zoom and toolbar icons. Included VERBATIM by both app.html (live) and+   embed.html (static) so the two viewers cannot drift. Pure client-side; works+   on any SVG that carries the <g class="adom-layer-*"> groups. */+(function(){+  var ICON_ZIN='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M10.5 8v5M8 10.5h5"/></svg>';+  var ICON_ZOUT='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M8 10.5h5"/></svg>';+  // Zoom-to-FIT = a magnifier with a small square inside (fit content to view).+  // Deliberately NOT the four-corner expand/"fullscreen" glyph.+  var ICON_FIT='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5"/><rect x="7.6" y="7.6" width="5.8" height="5.8" rx="1.2"/></svg>';++  // The canonical layer list. Every layer is a <g class="adom-layer-*"> in the+  // self-rendered SVG, so toggling is group-based (robust), never colour-match.+  // `kind:'group'` on every entry: all layers are toggled by their <g> group+  // (robust), never by colour-match. (app.html still reads def.kind.)+  var LAYER_DEFS=[+    {key:'copper',    name:'Copper',           kind:'group', sel:'.adom-layer-copper',          sw:'#C83434'},+    // Auto-generated thermal-via array under the exposed pad, only present (and+    // listed) when the footprint has an exposed thermal pad.+    {key:'heatsink',  name:'Heatsink vias',    kind:'group', sel:'.adom-layer-heatsink',        sw:'#e8a13a'},+    {key:'padnum',    name:'Pad numbers',      kind:'group', sel:'.adom-layer-padnum',          sw:'#ffffff', ring:true},+    {key:'silk',      name:'Silkscreen',       kind:'group', sel:'.adom-layer-silk',            sw:'#00cccc'},+    {key:'fab',       name:'Fab (F.Fab)',      kind:'group', sel:'.adom-layer-fab',             sw:'#6e7681', ring:true},+    {key:'courtyard', name:'Courtyard',        kind:'group', sel:'.adom-layer-courtyard',       sw:'#FF26E2', ring:true},+    {key:'drill',     name:'Drill',            kind:'group', sel:'.adom-layer-drill',           sw:'#888888', ring:true},+    {key:'paste-ap',  name:'Paste apertures',  kind:'group', sel:'.adom-layer-paste-apertures', sw:'#8aa0b8', ring:true},+    // Generic name, the 300µm solder-paste dispensing dots. Off by default.+    {key:'paste-dots',name:'Solder paste jet', kind:'group', sel:'.adom-layer-paste-dots',      sw:'#37c8a6', special:true},+  ];++  // True only if the group actually holds drawn geometry (not an empty <g>), so+  // layers with nothing in THIS footprint aren't listed as dead, dim rows.+  function groupHasGeo(svg,def){+    if(!svg) return false; var n=0,g=svg.querySelectorAll(def.sel);+    for(var i=0;i<g.length;i++){ n+=g[i].querySelectorAll('path,rect,circle,line,polygon,polyline,text').length; }+    return n>0;+  }+  function layerPresent(svg,def){ return groupHasGeo(svg,def); }+  function applyLayer(svg,def,on){+    if(!svg) return; var g=svg.querySelectorAll(def.sel);+    for(var i=0;i<g.length;i++) g[i].style.display=on?'':'none';+  }++  // Build layer rows into a container. opts:+  //   svg, container, state {key:bool}, meta {pasteDots,pasteApertures},+  //   onToggle(key,on). Missing state key -> special OFF, others ON. Skips empty+  //   non-special groups. Returns the keys actually shown.+  function buildLayers(opts){+    var svg=opts.svg, box=opts.container, state=opts.state||{}, meta=opts.meta||{}, shown=[];+    box.innerHTML='';+    LAYER_DEFS.forEach(function(def){+      if(!def.special && !groupHasGeo(svg,def)) return;+      var on = def.special ? (state[def.key]===true) : (state[def.key]!==false);+      var m = def.key==='paste-dots' ? ((meta.pasteDots||0)+' @ 300µm')+            : def.key==='paste-ap'   ? ((meta.pasteApertures||0)+' openings') : '';+      var row=document.createElement('div');+      row.className='av-lrow '+(on?'on':'off')+(def.special?' special':'');+      row.innerHTML='<span class="sw'+(def.ring?' ring':'')+'" style="'+(def.ring?('border-color:'+def.sw):('background:'+def.sw))+'"></span>'+        +'<span class="ln">'+def.name+'</span>'+(m?'<span class="meta">'+m+'</span>':'')+        +'<span class="chk">'+(on?'✓':'')+'</span>';+      row.onclick=function(){+        var nv=!row.classList.contains('on');+        row.classList.toggle('on',nv); row.classList.toggle('off',!nv);+        row.querySelector('.chk').textContent=nv?'✓':'';+        state[def.key]=nv; applyLayer(svg,def,nv);+        if(opts.onToggle) opts.onToggle(def.key,nv);+      };+      box.appendChild(row); applyLayer(svg,def,on); shown.push(def.key);+    });+    return shown;+  }++  // Wire pan + zoom on a viewport element (the box that contains the <svg>).+  // Returns a controller {fit, zoomIn, zoomOut, apply}.+  function initViewport(vp){+    var svg=vp.querySelector('svg');+    if(svg){ svg.removeAttribute('width'); svg.removeAttribute('height'); }+    var s=1,tx=0,ty=0;+    function apply(){ var el=vp.querySelector('svg'); if(el) el.style.transform='translate('+tx+'px,'+ty+'px) scale('+s+')'; }+    function zoomAt(cx,cy,f){ tx=cx-(cx-tx)*f; ty=cy-(cy-ty)*f; s*=f; apply(); }+    function fit(){ s=1;tx=0;ty=0;apply(); }+    // Smooth, delta-PROPORTIONAL zoom (matches adom-symbol). A fixed per-event+    // factor makes the trackpad leap, one gentle two-finger nudge fires a burst+    // of tiny wheel events and a fixed 1.12× compounds. Instead derive the factor+    // from how much actually scrolled (exp → smooth + reversible), normalise+    // device units, and clamp one event so a chunky mouse notch can't jump.+    var ZOOM_K=0.0022; // sensitivity: lower = gentler+    vp.addEventListener('wheel',function(e){+      e.preventDefault();+      var d=e.deltaY;+      if(e.deltaMode===1) d*=16; else if(e.deltaMode===2) d*=vp.clientHeight;+      d=Math.max(-50,Math.min(50,d));+      var r=vp.getBoundingClientRect();+      zoomAt(e.clientX-r.left,e.clientY-r.top,Math.exp(-d*ZOOM_K));+    },{passive:false});+    var drag=false,lx=0,ly=0;+    vp.addEventListener('pointerdown',function(e){ if(e.target.closest('.av-tools'))return; drag=true;lx=e.clientX;ly=e.clientY;vp.classList.add('grab');vp.setPointerCapture(e.pointerId); });+    vp.addEventListener('pointermove',function(e){ if(!drag)return; tx+=e.clientX-lx;ty+=e.clientY-ly;lx=e.clientX;ly=e.clientY;apply(); });+    vp.addEventListener('pointerup',function(){ drag=false;vp.classList.remove('grab'); });+    fit();+    return {+      fit:fit,+      zoomIn:function(){ var r=vp.getBoundingClientRect(); zoomAt(r.width/2,r.height/2,1.2); },+      zoomOut:function(){ var r=vp.getBoundingClientRect(); zoomAt(r.width/2,r.height/2,1/1.2); },+      apply:apply+    };+  }++  // Inject the standard zoom toolbar (+ / − / fit) + pan hint into a viewport,+  // wired to a controller from initViewport. Idempotent.+  function addToolbar(vp,ctl){+    if(vp.querySelector('.av-tools')) return;+    var t=document.createElement('div'); t.className='av-tools';+    t.innerHTML='<button data-z="in" title="Zoom in">'+ICON_ZIN+'</button>'+      +'<button data-z="out" title="Zoom out">'+ICON_ZOUT+'</button>'+      +'<button data-z="fit" title="Zoom to fit">'+ICON_FIT+'</button>';+    vp.appendChild(t);+    t.querySelector('[data-z="in"]').onclick=ctl.zoomIn;+    t.querySelector('[data-z="out"]').onclick=ctl.zoomOut;+    t.querySelector('[data-z="fit"]').onclick=ctl.fit;+    var h=document.createElement('div'); h.className='av-panhint'; h.textContent='drag to pan · scroll to zoom'; vp.appendChild(h);+  }++  window.AV={+    LAYER_DEFS:LAYER_DEFS, groupHasGeo:groupHasGeo, layerPresent:layerPresent,+    applyLayer:applyLayer, buildLayers:buildLayers, initViewport:initViewport,+    addToolbar:addToolbar, ICON_FIT:ICON_FIT, ICON_ZIN:ICON_ZIN, ICON_ZOUT:ICON_ZOUT+  };+})();+</script>+<script>+var META={"pasteApertures":5,"pasteDots":152};+(function(){+  var vp=document.getElementById('vp');+  var svg=vp.querySelector('svg');+  var ctl=AV.initViewport(vp);+  AV.addToolbar(vp,ctl);+  AV.buildLayers({ svg:svg, container:document.getElementById('layers'), state:{}, meta:META });+})();+</script>+</body></html>
viewers/symbol.htmladded+1837
@@ -0,0 +1,1837 @@+<!doctype html><html><head><meta charset="utf-8">+<title>9774025243R - adom-symbol</title>+<meta name="viewport" content="width=device-width,initial-scale=1">+<style>+@font-face{font-family:'Satoshi';font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}@font-face{font-family:'Satoshi';font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}@font-face{font-family:'Familjen Grotesk';font-weight:700;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}+  /* Canonical Adom dark-theme tokens (adom/guides/brand.md) */+  :root{+    --bg:#0d1117;--surface:#161b22;--elevated:#1c2128;--overlay:#21262d;+    --border:#30363d;--border-muted:#21262d;+    --text:#e6edf3;--text2:#8b949e;--text3:#484f58;+    --accent:#00b8b0;--accent-bright:#00e6dc;--purple:#8c6bf7;+    /* aliases used by the viewport + pin-list rules further down */+    --panel:#161b22;--panel2:#1c2128;--muted:#8b949e;+  }+  *{box-sizing:border-box;margin:0;padding:0}+  html,body{height:100%}+  body{background:var(--bg);color:var(--text);font:13px/1.4 'Satoshi','Segoe UI',system-ui,sans-serif;display:flex;flex-direction:column;overflow:hidden}+  /* ── Canonical Adom app header (adom/guides/adom-app-header.md) ── */+  header{display:flex;align-items:center;gap:12px;padding:0 16px;height:44px;flex:0 0 44px;border-bottom:1px solid var(--border-muted);background:var(--surface);position:relative;font-family:'Familjen Grotesk',sans-serif}+  header .brand{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.01em;cursor:default;flex-shrink:0;outline:none}+  header .brand svg.logo{width:16px;height:16px;flex-shrink:0}+  header .brand:hover .app-name{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}+  header .brand .app-name{color:var(--accent)}+  header .brand .app-subtitle{color:var(--text2);font-weight:500}+  header .brand .sep{color:var(--text3);font-weight:400}+  header .vsep{width:1px;height:18px;background:var(--border);flex-shrink:0}+  header .subject{display:flex;align-items:center;gap:8px;min-width:0;flex:1;cursor:default}+  header .subject-name{color:var(--text);font-family:'Familjen Grotesk',sans-serif;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}+  header .subject-meta{display:flex;align-items:center;gap:6px;color:var(--text2);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;white-space:nowrap}+  header .subject-meta .sep{color:var(--text3)}+  @media(max-width:720px){header .subject-meta{display:none}}+  /* Floating in-canvas viewer toolbar (frosted, matches the app's glass cards) */+  .tools{position:absolute;left:12px;top:12px;z-index:5;display:flex;gap:3px;padding:3px;background:rgba(22,27,34,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:9px}+  .tools button{width:30px;height:30px;display:grid;place-items:center;background:transparent;border:none;border-radius:6px;color:var(--text2);cursor:pointer;transition:background .15s ease,color .15s ease}+  .tools button:hover{background:var(--elevated);color:var(--accent-bright)}+  .tools button svg{width:16px;height:16px;display:block}+  header .hover-popover{position:absolute;top:calc(100% + 6px);left:16px;background:var(--elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5);padding:12px 14px;min-width:300px;max-width:420px;font-family:'Satoshi',sans-serif;font-size:12px;color:var(--text);z-index:99999;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}+  header .hover-popover.show{opacity:1;transform:none;pointer-events:auto}+  header .hover-popover .popover-title{font-family:'Familjen Grotesk',sans-serif;font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px}+  header .hover-popover .popover-row{display:flex;gap:12px;padding:3px 0;align-items:baseline}+  header .hover-popover .popover-row .k{color:var(--text3);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;text-transform:lowercase;width:64px;flex-shrink:0}+  header .hover-popover .popover-row .v{color:var(--text);font-family:'Satoshi',sans-serif;font-size:12px;flex:1}+  header .hover-popover .popover-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-muted);display:flex;gap:12px}+  header .hover-popover .popover-link{color:var(--accent);text-decoration:none;font-family:'Familjen Grotesk',sans-serif;font-size:12px;font-weight:600}+  header .hover-popover .popover-link:hover{text-decoration:underline}+  main{flex:1;display:flex;min-height:0}+  .vpwrap{flex:1;position:relative;min-width:0}+  /* Schematic-workbench grid, identical to the main app's #stage. */+  .vp{position:absolute;inset:0;overflow:hidden;cursor:grab;background:+      radial-gradient(120% 120% at 50% 30%,rgba(0,184,177,.05),transparent 60%),+      linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/22px 22px,+      linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/22px 22px}+  .vp.grab{cursor:grabbing}+  /* Only the DIRECT-CHILD symbol svg gets the pan/zoom transform, scoping to+     `.vp > svg` (not `.vp svg`) keeps it off any nested icon svgs. */+  .vp > svg{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;display:block}+  .hint{position:absolute;right:10px;bottom:9px;color:var(--muted);font-size:11px;z-index:5;pointer-events:none;user-select:none;-webkit-user-select:none}+  aside{flex:0 0 268px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}+  aside .ah{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}+  aside input{flex:1;background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;padding:5px 8px;outline:none}+  aside input:focus{border-color:var(--accent)}+  .pins{flex:1;overflow:auto}+  .pin{padding:7px 12px;border-bottom:1px solid #1a212c;cursor:pointer}+  .pin:hover{background:var(--panel2)}+  .pin.on{background:#15202e}+  .pin .row{display:flex;align-items:center;gap:8px}+  .pin .num{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:#8fa0b4;min-width:22px;text-align:right}+  .pin .nme{font-weight:600;font-size:13px}+  .pin .ty{margin-left:auto;font-size:10px;padding:1px 6px;border-radius:5px;border:1px solid;white-space:nowrap}+  .pin .d{font-size:11.5px;color:#aeb6c2;line-height:1.45;margin:5px 0 1px 30px;display:none}+  .pin.on .d{display:block}+  .empty{color:var(--muted);font-size:12px;padding:14px}+  @media(max-width:620px){aside{flex-basis:200px}}+  /* pin panel header, reads like a studio section */+  aside .ah .atitle{font-family:'Familjen Grotesk',sans-serif;font-weight:600;font-size:12px;color:var(--text);white-space:nowrap}+  aside .ah .acount{margin-left:5px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:var(--text3)}+  /* bottom info bar, mirrors the main app footer */+  footer{flex:0 0 auto;display:flex;align-items:center;height:26px;border-top:1px solid var(--border);background:var(--surface);font-size:11px;color:var(--text2);padding:0 14px;overflow:hidden}+  footer .it{display:flex;align-items:center;gap:6px;white-space:nowrap;min-width:0}+  footer .it+.it::before{content:"";width:1px;height:13px;background:var(--border);margin:0 12px;flex:0 0 1px}+  footer .k{color:var(--text3);text-transform:uppercase;font-size:9px;letter-spacing:.4px;flex:0 0 auto}+  footer .v{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}+  footer .descit{min-width:0;overflow:hidden}+  /* pin hover, highlight + tooltip, parity with the live SymView */+  .vp > svg text,.vp > svg g.stroked-text{pointer-events:none}+  .hit{fill:rgba(0,230,220,0);stroke:none;cursor:pointer}+  .vp > svg g.stroked-text.hl path{stroke:var(--accent-bright)!important;fill:var(--accent-bright)!important}+  .vp > svg path.hl{stroke:var(--accent-bright)!important;stroke-width:.22!important}+  #pinmark{pointer-events:none;fill:rgba(0,230,220,.18);stroke:var(--accent-bright);stroke-width:.12;opacity:0;transition:opacity .1s}+  #tip{position:fixed;z-index:9999;max-width:300px;background:rgba(22,27,34,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(0,184,177,.34);border-radius:10px;padding:9px 12px;color:var(--text);font-size:12px;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .12s;box-shadow:0 12px 40px rgba(0,0,0,.55)}+  #tip.show{opacity:1}+  #tip .r1{display:flex;align-items:baseline;gap:8px;justify-content:space-between}+  #tip .nm{font-weight:700;font-size:13px}+  #tip .pn{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:var(--muted);white-space:nowrap}+  #tip .badge{display:inline-block;margin-top:5px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;letter-spacing:.2px}+  #tip .desc{margin-top:6px;color:#aeb6c2;font-size:11.5px}+</style></head>+<body>+  <header>+    <div class="brand" data-tooltip-target="app-info" tabindex="0">+      <svg class="logo" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="7" y="4" width="10" height="16" rx="1.5"/><path d="M7 8H3M7 12H3M7 16H3M21 8h-4M21 12h-4M21 16h-4"/></svg>+      <span class="app-name">adom-symbol</span>+      <span class="sep">·</span>+      <span class="app-subtitle">symbol viewer</span>+    </div>+    <div class="vsep" aria-hidden="true"></div>+    <div class="subject">+      <span class="subject-name">9774025243R</span>+      <span class="subject-meta"><span class="sep">·</span><span>1 pins</span><span class="sep">·</span><span>9774025243r</span></span>+    </div>+    <div class="hover-popover" id="app-info" role="dialog" aria-label="About adom-symbol">+      <div class="popover-title">adom-symbol</div>+      <div class="popover-row"><span class="k">about</span><span class="v">Interactive KiCad schematic-symbol viewer: pan/zoom, per-pin hover, and a filterable pin list.</span></div>+      <div class="popover-row"><span class="k">version</span><span class="v">v1.2.6</span></div>+      <div class="popover-row"><span class="k">engine</span><span class="v">service-kicad</span></div>+      <div class="popover-row"><span class="k">mfr</span><span class="v">Wurth Elektronik</span></div>+      <div class="popover-row"><span class="k">author</span><span class="v">Adom Inc · adom.inc</span></div>+      <div class="popover-actions">+        <a class="popover-link" href="https://wiki.adom.inc/adom/adom-symbol" target="_blank" rel="noopener">Open wiki ↗</a>+      </div>+    </div>+  </header>+  <main>+    <div class="vpwrap">+      <div class="vp" id="vp">+        <div class="tools">+          <button id="zout" title="Zoom out" aria-label="Zoom out"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M8 10.5h5"/></svg></button>+          <button id="zin" title="Zoom in" aria-label="Zoom in"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M10.5 8v5M8 10.5h5"/></svg></button>+          <button id="fit" title="Fit to window" aria-label="Fit to window"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><rect x="8" y="9" width="8" height="6" rx="1"/></svg></button>+        </div>+        <div class="hint">drag to pan · scroll to zoom</div>+        <svg+  xmlns:svg="http://www.w3.org/2000/svg"+  xmlns="http://www.w3.org/2000/svg"+  xmlns:xlink="http://www.w3.org/1999/xlink"+  xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"+  version="1.1"+  width="14.810mm" height="17.120mm" viewBox="96.0000 93.2300 14.8100 17.1200">++<defs>+  <linearGradient id="adom-body-grad" x1="0" y1="0" x2="0" y2="1">+    <stop offset="0%" stop-color="#1a2332"/>+    <stop offset="100%" stop-color="#141c27"/>+  </linearGradient>+</defs>+<style><![CDATA[+  /* Stroked text groups (KiCad renders text as paths in <g class="stroked-text">) */+  g.stroked-text path {+    stroke: #ffffff !important;+    fill: #ffffff !important;+  }+  text[opacity="0"] {+    fill: #ffffff !important;+  }+  .pin-highlight path {+    stroke: #00e6dc !important;+  }+  .pin-highlight g.stroked-text path {+    stroke: #00e6dc !important;+  }+  .group-highlight g.stroked-text path {+    stroke: #FFD180 !important;+  }+]]></style>+<defs>+  <radialGradient id="adom-canvas-glow" cx="103.405" cy="101.79" r="11.984" gradientUnits="userSpaceOnUse">+    <stop offset="0%"  stop-color="#00b8b0" stop-opacity="0.06"/>+    <stop offset="70%" stop-color="#00b8b0" stop-opacity="0"/>+  </radialGradient>+  <pattern id="adom-canvas-grid" x="0" y="0" width="2.54" height="2.54" patternUnits="userSpaceOnUse">+    <line x1="0" y1="0" x2="2.54" y2="0" stroke="rgba(255,255,255,0.025)" stroke-width="0.06"/>+    <line x1="0" y1="0" x2="0" y2="2.54" stroke="rgba(255,255,255,0.025)" stroke-width="0.06"/>+  </pattern>+</defs>+<rect x="96" y="93.23" width="14.81" height="17.12" fill="#0d1117"/>+<rect x="96" y="93.23" width="14.81" height="17.12" fill="url(#adom-canvas-grid)"/>+<rect x="96" y="93.23" width="14.81" height="17.12" fill="url(#adom-canvas-glow)"/>++  +<g style="fill:none; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000;+stroke-linecap:round; stroke-linejoin:round;"+ transform="translate(0 0) scale(1 1)">+</g>+<g style="fill:none; fill-opacity:1.0000; +stroke:none; stroke-width:0.0001; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<rect x="0.000000" y="0.000000" width="297.002200" height="210.007200" rx="0.000000" />+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++++++++++<g class="stroked-text">++++++</g>+<g class="stroked-text">+++++++++++</g>+<g class="stroked-text">++++++++++++++</g>+<g class="stroked-text">++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++</g>++++++<g class="stroked-text">++++++</g>+<g class="stroked-text">+++++++++++</g>+<g class="stroked-text">++++++++++++++</g>+<g class="stroked-text">++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++</g>++++<g class="stroked-text">++++</g>+<g class="stroked-text">+++++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">+++++++++++++</g>++++<g class="stroked-text">++++</g>+<g class="stroked-text">+++++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">+++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>++<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.3000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>+<g class="stroked-text">+++++++++++++++++++++++++++++++++++</g>+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.4000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.3000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+</g>+<g class="stroked-text">+</g>+<g class="stroked-text">+</g>+<g class="stroked-text">+</g>++<circle cx="100.0000" cy="100.0000" r="0.6350" /> +</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.2540; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<circle cx="100.0000" cy="100.0000" r="1.2700" /> +</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M100.0000 101.2700+L100.0000 103.8100+" />+</g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<g transform="rotate(-90.000000 99.7460 102.5400)">+<text x="99.7460" y="102.5400"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">1</text>+</g>+<g class="stroked-text">+<path d="M99.5825 102.1770+L99.5825 102.9027+" />+<path d="M99.5825 102.5399+L98.3125 102.5399+" />+<path d="M98.3125 102.5399+L98.4940 102.6608+" />+<path d="M98.4940 102.6608+L98.6149 102.7818+" />+<path d="M98.6149 102.7818+L98.6754 102.9027+" />+</g></g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="103.8100" y="99.3650"+textLength="2.6223" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">H?</text>+<g class="stroked-text">+<path d="M102.9028 99.3095+L102.9028 98.0395+" />+<path d="M102.9028 98.6443+L103.6285 98.6443+" />+<path d="M103.6285 99.3095+L103.6285 98.0395+" />+<path d="M104.4148 99.1886+L104.4752 99.2491+" />+<path d="M104.4752 99.2491+L104.4148 99.3095+" />+<path d="M104.4148 99.3095+L104.3543 99.2491+" />+<path d="M104.3543 99.2491+L104.4148 99.1886+" />+<path d="M104.4148 99.1886+L104.4148 99.3095+" />+<path d="M104.1729 98.1000+L104.2938 98.0395+" />+<path d="M104.2938 98.0395+L104.5962 98.0395+" />+<path d="M104.5962 98.0395+L104.7171 98.1000+" />+<path d="M104.7171 98.1000+L104.7776 98.2210+" />+<path d="M104.7776 98.2210+L104.7776 98.3419+" />+<path d="M104.7776 98.3419+L104.7171 98.4629+" />+<path d="M104.7171 98.4629+L104.6567 98.5233+" />+<path d="M104.6567 98.5233+L104.5357 98.5838+" />+<path d="M104.5357 98.5838+L104.4752 98.6443+" />+<path d="M104.4752 98.6443+L104.4148 98.7652+" />+<path d="M104.4148 98.7652+L104.4148 98.8257+" />+</g><text x="103.8100" y="101.9050"+textLength="13.5682" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">9774025243R</text>+<g class="stroked-text">+<path d="M97.4903 101.8495+L97.7322 101.8495+" />+<path d="M97.7322 101.8495+L97.8532 101.7891+" />+<path d="M97.8532 101.7891+L97.9136 101.7286+" />+<path d="M97.9136 101.7286+L98.0346 101.5471+" />+<path d="M98.0346 101.5471+L98.0951 101.3052+" />+<path d="M98.0951 101.3052+L98.0951 100.8214+" />+<path d="M98.0951 100.8214+L98.0346 100.7005+" />+<path d="M98.0346 100.7005+L97.9741 100.6400+" />+<path d="M97.9741 100.6400+L97.8532 100.5795+" />+<path d="M97.8532 100.5795+L97.6113 100.5795+" />+<path d="M97.6113 100.5795+L97.4903 100.6400+" />+<path d="M97.4903 100.6400+L97.4298 100.7005+" />+<path d="M97.4298 100.7005+L97.3694 100.8214+" />+<path d="M97.3694 100.8214+L97.3694 101.1238+" />+<path d="M97.3694 101.1238+L97.4298 101.2448+" />+<path d="M97.4298 101.2448+L97.4903 101.3052+" />+<path d="M97.4903 101.3052+L97.6113 101.3657+" />+<path d="M97.6113 101.3657+L97.8532 101.3657+" />+<path d="M97.8532 101.3657+L97.9741 101.3052+" />+<path d="M97.9741 101.3052+L98.0346 101.2448+" />+<path d="M98.0346 101.2448+L98.0951 101.1238+" />+<path d="M98.5184 100.5795+L99.3650 100.5795+" />+<path d="M99.3650 100.5795+L98.8208 101.8495+" />+<path d="M99.7279 100.5795+L100.5745 100.5795+" />+<path d="M100.5745 100.5795+L100.0303 101.8495+" />+<path d="M101.6026 101.0029+L101.6026 101.8495+" />+<path d="M101.3002 100.5191+L100.9979 101.4262+" />+<path d="M100.9979 101.4262+L101.7840 101.4262+" />+<path d="M102.5097 100.5795+L102.6307 100.5795+" />+<path d="M102.6307 100.5795+L102.7516 100.6400+" />+<path d="M102.7516 100.6400+L102.8121 100.7005+" />+<path d="M102.8121 100.7005+L102.8726 100.8214+" />+<path d="M102.8726 100.8214+L102.9331 101.0633+" />+<path d="M102.9331 101.0633+L102.9331 101.3657+" />+<path d="M102.9331 101.3657+L102.8726 101.6076+" />+<path d="M102.8726 101.6076+L102.8121 101.7286+" />+<path d="M102.8121 101.7286+L102.7516 101.7891+" />+<path d="M102.7516 101.7891+L102.6307 101.8495+" />+<path d="M102.6307 101.8495+L102.5097 101.8495+" />+<path d="M102.5097 101.8495+L102.3888 101.7891+" />+<path d="M102.3888 101.7891+L102.3283 101.7286+" />+<path d="M102.3283 101.7286+L102.2678 101.6076+" />+<path d="M102.2678 101.6076+L102.2074 101.3657+" />+<path d="M102.2074 101.3657+L102.2074 101.0633+" />+<path d="M102.2074 101.0633+L102.2678 100.8214+" />+<path d="M102.2678 100.8214+L102.3283 100.7005+" />+<path d="M102.3283 100.7005+L102.3888 100.6400+" />+<path d="M102.3888 100.6400+L102.5097 100.5795+" />+<path d="M103.4169 100.7005+L103.4773 100.6400+" />+<path d="M103.4773 100.6400+L103.5983 100.5795+" />+<path d="M103.5983 100.5795+L103.9007 100.5795+" />+<path d="M103.9007 100.5795+L104.0216 100.6400+" />+<path d="M104.0216 100.6400+L104.0821 100.7005+" />+<path d="M104.0821 100.7005+L104.1426 100.8214+" />+<path d="M104.1426 100.8214+L104.1426 100.9424+" />+<path d="M104.1426 100.9424+L104.0821 101.1238+" />+<path d="M104.0821 101.1238+L103.3564 101.8495+" />+<path d="M103.3564 101.8495+L104.1426 101.8495+" />+<path d="M105.2916 100.5795+L104.6868 100.5795+" />+<path d="M104.6868 100.5795+L104.6264 101.1843+" />+<path d="M104.6264 101.1843+L104.6868 101.1238+" />+<path d="M104.6868 101.1238+L104.8078 101.0633+" />+<path d="M104.8078 101.0633+L105.1102 101.0633+" />+<path d="M105.1102 101.0633+L105.2311 101.1238+" />+<path d="M105.2311 101.1238+L105.2916 101.1843+" />+<path d="M105.2916 101.1843+L105.3521 101.3052+" />+<path d="M105.3521 101.3052+L105.3521 101.6076+" />+<path d="M105.3521 101.6076+L105.2916 101.7286+" />+<path d="M105.2916 101.7286+L105.2311 101.7891+" />+<path d="M105.2311 101.7891+L105.1102 101.8495+" />+<path d="M105.1102 101.8495+L104.8078 101.8495+" />+<path d="M104.8078 101.8495+L104.6868 101.7891+" />+<path d="M104.6868 101.7891+L104.6264 101.7286+" />+<path d="M105.8359 100.7005+L105.8963 100.6400+" />+<path d="M105.8963 100.6400+L106.0173 100.5795+" />+<path d="M106.0173 100.5795+L106.3197 100.5795+" />+<path d="M106.3197 100.5795+L106.4406 100.6400+" />+<path d="M106.4406 100.6400+L106.5011 100.7005+" />+<path d="M106.5011 100.7005+L106.5616 100.8214+" />+<path d="M106.5616 100.8214+L106.5616 100.9424+" />+<path d="M106.5616 100.9424+L106.5011 101.1238+" />+<path d="M106.5011 101.1238+L105.7754 101.8495+" />+<path d="M105.7754 101.8495+L106.5616 101.8495+" />+<path d="M107.6501 101.0029+L107.6501 101.8495+" />+<path d="M107.3477 100.5191+L107.0454 101.4262+" />+<path d="M107.0454 101.4262+L107.8315 101.4262+" />+<path d="M108.1944 100.5795+L108.9806 100.5795+" />+<path d="M108.9806 100.5795+L108.5572 101.0633+" />+<path d="M108.5572 101.0633+L108.7387 101.0633+" />+<path d="M108.7387 101.0633+L108.8596 101.1238+" />+<path d="M108.8596 101.1238+L108.9201 101.1843+" />+<path d="M108.9201 101.1843+L108.9806 101.3052+" />+<path d="M108.9806 101.3052+L108.9806 101.6076+" />+<path d="M108.9806 101.6076+L108.9201 101.7286+" />+<path d="M108.9201 101.7286+L108.8596 101.7891+" />+<path d="M108.8596 101.7891+L108.7387 101.8495+" />+<path d="M108.7387 101.8495+L108.3758 101.8495+" />+<path d="M108.3758 101.8495+L108.2549 101.7891+" />+<path d="M108.2549 101.7891+L108.1944 101.7286+" />+<path d="M110.2505 101.8495+L109.8272 101.2448+" />+<path d="M109.5248 101.8495+L109.5248 100.5795+" />+<path d="M109.5248 100.5795+L110.0086 100.5795+" />+<path d="M110.0086 100.5795+L110.1296 100.6400+" />+<path d="M110.1296 100.6400+L110.1901 100.7005+" />+<path d="M110.1901 100.7005+L110.2505 100.8214+" />+<path d="M110.2505 100.8214+L110.2505 101.0029+" />+<path d="M110.2505 101.0029+L110.1901 101.1238+" />+<path d="M110.1901 101.1238+L110.1296 101.1843+" />+<path d="M110.1296 101.1843+L110.0086 101.2448+" />+<path d="M110.0086 101.2448+L109.5248 101.2448+" />+</g></g> +</svg>+      </div>+    </div>+    <aside>+      <div class="ah"><span class="atitle">Pins <span class="acount">1</span></span><input id="q" placeholder="Filter…"></div>+      <div class="pins" id="pins"></div>+    </aside>+  </main>+  <footer><span class="it"><span class="k">MFR</span><span class="v">Wurth Elektronik</span></span><span class="it"><span class="k">PKG</span><span class="v">9774025243r</span></span><span class="it"><span class="k">PINS</span><span class="v">1</span></span><span class="it descit"><span class="k">DESC</span><span class="v">Wurth Elektronik WA-SMSI SMT steel spacer with M2 internal thread, L = 2.5 mm, tin plated, tape and reel</span></span></footer>+  <div id="tip"></div>+<script>// viewer_core.js, the ONE symbol-viewer engine, compiled into BOTH the live+// adom-symbol app (SymView) AND the standalone embed export. Neither file should+// reimplement pan/zoom or pin-hover; they call into here so they can never drift.+window.AdomSymViewer = (function(){+  var ZOOM_K = 0.0022;            // wheel sensitivity (lower = gentler). The feel.+  var MIN_SCALE = 0.05, MAX_SCALE = 60;++  function clampScale(s){ return Math.max(MIN_SCALE, Math.min(s, MAX_SCALE)); }++  // Device-independent wheel zoom: normalize deltaMode + cap one notch, then hand+  // the pointer-anchored factor to the host's zoomAt(cx, cy, factor). This is the+  // exact math the app has always used, the embed now shares it verbatim.+  function attachWheelZoom(el, zoomAt){+    el.addEventListener('wheel', function(e){+      e.preventDefault();+      var d = e.deltaY;+      if(e.deltaMode === 1) d *= 16;                  // lines  -> px+      else if(e.deltaMode === 2) d *= el.clientHeight; // pages -> px+      d = Math.max(-50, Math.min(50, d));              // cap one event's contribution+      var r = el.getBoundingClientRect();+      zoomAt(e.clientX - r.left, e.clientY - r.top, Math.exp(-d * ZOOM_K));+    }, { passive: false });+  }++  // ---- shared pin-hover engine (glyph pairing + hit-box geometry) ----+  function norm(s){ return String(s || '').replace(/[~{}]/g, '').trim(); }++  // Pair each invisible <text opacity="0"> with the visible <g class="stroked-text">+  // glyph that follows it in document order (handles rotated top/bottom pins).+  function glyphLabels(svg){+    var out = [], pending = null;+    if(!svg) return out;+    svg.querySelectorAll('text, g.stroked-text').forEach(function(n){+      if(n.classList && n.classList.contains('stroked-text')){+        if(pending){ var k = norm(pending.textContent); if(k) out.push({ k: k, group: n }); pending = null; }+      } else if(n.getAttribute && n.getAttribute('opacity') === '0'){ pending = n; }+    });+    return out;+  }++  // Build one transparent hit-rect per pin label (number + name), matched to each+  // pin's glyph by proximity to the pin tip (so duplicate names resolve to the+  // right pin). Rects are appended to `svg` in user space so they pan/zoom with it.+  //   pins:   [{number,name,x,y,angle,length,...}]+  //   offset: {x,y} symbol->svg-unit origin (state.offset)+  //   NS:     the svg namespace+  //   cb:     { enter(pin,ev), move(ev), leave(), click(pin,ev)? }+  // Returns { textMap } so the host can highlight a pin's glyphs on demand.+  function buildPinHits(svg, pins, offset, NS, cb){+    var textMap = new Map();+    if(!svg || !offset || !pins || !pins.length) return { textMap: textMap };+    cb = cb || {};+    var gl = glyphLabels(svg);+    gl.forEach(function(o){ if(!textMap.has(o.k)) textMap.set(o.k, []); textMap.get(o.k).push(o.group); });+    var labels = [];+    gl.forEach(function(o){ var b; try { b = o.group.getBBox(); } catch(e){ return; }+      if(!b || !b.width) return;+      labels.push({ k: o.k, box: b, cx: b.x + b.width/2, cy: b.y + b.height/2, used: false }); });+    function pick(k, ax, ay){ k = norm(k); var best = null, bd = 1e9;+      labels.forEach(function(l){ if(l.used || l.k !== k) return; var d = Math.hypot(l.cx - ax, l.cy - ay); if(d < bd){ bd = d; best = l; } });+      if(best) best.used = true; return best; }+    function addBox(b, p){+      var pad = 0.45, r = document.createElementNS(NS, 'rect');+      r.setAttribute('class', 'hit');+      r.setAttribute('x', b.x - pad); r.setAttribute('y', b.y - pad);+      r.setAttribute('width', b.width + pad*2); r.setAttribute('height', b.height + pad*2); r.setAttribute('rx', .3);+      r.addEventListener('mouseenter', function(ev){ if(cb.enter) cb.enter(p, ev); });+      r.addEventListener('mousemove', function(ev){ if(cb.move) cb.move(ev); });+      r.addEventListener('mouseleave', function(){ if(cb.leave) cb.leave(); });+      if(cb.click) r.addEventListener('click', function(ev){ cb.click(p, ev); });+      svg.appendChild(r);+    }+    pins.forEach(function(p){+      var tipX = offset.x + p.x, tipY = offset.y - p.y, L = p.length || 2.54, dx = 0, dy = 0;+      if(p.angle === 0) dx = 1; else if(p.angle === 180) dx = -1; else if(p.angle === 90) dy = -1; else if(p.angle === 270) dy = 1;+      var nl = pick(p.number, tipX + dx*L*0.5, tipY + dy*L*0.5 - (dx !== 0 ? 0.9 : 0));  // number: over the wire+      var ml = pick(p.name,   tipX + dx*(L+2), tipY + dy*(L+2));                          // name: inside the body+      if(nl) addBox(nl.box, p);+      if(ml) addBox(ml.box, p);+      if(!nl && !ml){                                                                      // discrete parts: no glyphs+        var ex = tipX + dx*L, ey = tipY + dy*L, HT = 1.0;+        addBox({ x: Math.min(tipX, ex) - (dx === 0 ? HT : 0.3), y: Math.min(tipY, ey) - (dy === 0 ? HT : 0.3),+                 width: Math.abs(ex - tipX) + (dx === 0 ? HT*2 : 0.6), height: Math.abs(ey - tipY) + (dy === 0 ? HT*2 : 0.6) }, p);+      }+    });+    return { textMap: textMap };+  }++  return {+    ZOOM_K: ZOOM_K, clampScale: clampScale, attachWheelZoom: attachWheelZoom,+    norm: norm, glyphLabels: glyphLabels, buildPinHits: buildPinHits+  };+})();+</script>+<script>+var PINS=[{"angle":90,"color":"#78909c","desc":"","length":2.54,"name":"1","number":"1","type":"Passive","x":0.0,"y":-3.81}], OFF={"x":100,"y":100};+(function(){+  // The symbol svg is the DIRECT child of #vp; querySelector('svg') alone would+  // grab a toolbar button's zoom icon (also broke pan/zoom before this fix).+  var vp=document.getElementById('vp'), svg=vp.querySelector(':scope > svg')||vp.querySelector('svg');+  if(svg){ svg.removeAttribute('width'); svg.removeAttribute('height'); }+  var scale=1,tx=0,ty=0;+  function apply(){ if(svg) svg.style.transform='translate('+tx+'px,'+ty+'px) scale('+scale+')'; }+  // pointer-anchored zoom with the SHARED scale clamp (same limits as the app).+  function zoomAt(cx,cy,f){ var ns=AdomSymViewer.clampScale(scale*f); var r=ns/scale; tx=cx-(cx-tx)*r; ty=cy-(cy-ty)*r; scale=ns; apply(); }+  function fit(){ scale=1;tx=0;ty=0;apply(); }+  // Wheel/trackpad zoom feel comes from the SHARED engine, identical to SymView.+  AdomSymViewer.attachWheelZoom(vp, zoomAt);+  var drag=false,lx=0,ly=0;+  vp.addEventListener('pointerdown',function(e){ if(e.target.closest('.tools'))return; /* let toolbar buttons receive their click */ drag=true;lx=e.clientX;ly=e.clientY;vp.classList.add('grab');vp.setPointerCapture(e.pointerId); });+  vp.addEventListener('pointermove',function(e){ if(!drag)return; tx+=e.clientX-lx;ty+=e.clientY-ly;lx=e.clientX;ly=e.clientY;apply(); });+  vp.addEventListener('pointerup',function(e){ drag=false;vp.classList.remove('grab'); });+  document.getElementById('zin').onclick=function(){ var r=vp.getBoundingClientRect();zoomAt(r.width/2,r.height/2,1.2); };+  document.getElementById('zout').onclick=function(){ var r=vp.getBoundingClientRect();zoomAt(r.width/2,r.height/2,1/1.2); };+  document.getElementById('fit').onclick=fit;+  // pin panel+  var box=document.getElementById('pins');+  function render(filter){+    box.innerHTML='';+    var f=(filter||'').toLowerCase();+    var shown=PINS.filter(function(p){ return !f || (p.name+' '+p.number+' '+p.type).toLowerCase().indexOf(f)>=0; });+    if(!shown.length){ box.innerHTML='<div class="empty">No pins match.</div>'; return; }+    shown.forEach(function(p){+      var el=document.createElement('div'); el.className='pin';+      var col=p.color||'#8b949e';+      el.innerHTML='<div class="row"><span class="num">'+esc(p.number)+'</span>'+        +'<span class="nme">'+esc(p.name)+'</span>'+        +'<span class="ty" style="color:'+col+';border-color:'+col+'66">'+esc(p.type||'')+'</span></div>'+        +(p.desc?'<div class="d">'+esc(p.desc)+'</div>':'');+      el.onclick=function(){ el.classList.toggle('on'); };+      el.addEventListener('mouseenter',function(){ highlightPin(p); });+      el.addEventListener('mouseleave',function(){ clearHL(); });+      box.appendChild(el);+    });+  }+  function esc(s){ return String(s==null?'':s).replace(/[&<>"]/g,function(c){return{'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;'}[c];}); }+  document.getElementById('q').addEventListener('input',function(e){ render(e.target.value); });+  render('');++  // ── pin hover: highlight + tooltip on the SVG, parity with the live SymView ──+  var NS='http://www.w3.org/2000/svg';+  var tip=document.getElementById('tip');+  var textMap=new Map();+  function highlightPin(p){+    clearHL();+    [p.name,p.number].forEach(function(k){ var a=textMap.get(AdomSymViewer.norm(k)); if(a) a.forEach(function(g){ g.classList.add('hl'); }); });+    var m=document.getElementById('pinmark');+    if(m && OFF){ m.setAttribute('cx',OFF.x+p.x); m.setAttribute('cy',OFF.y-p.y); m.setAttribute('r',0.7); m.style.opacity='1'; }+  }+  function clearHL(){+    if(svg) svg.querySelectorAll('.hl').forEach(function(e){ e.classList.remove('hl'); });+    var m=document.getElementById('pinmark'); if(m) m.style.opacity='0';+  }+  function showTip(p,x,y){+    var col=p.color||'#8b949e';+    var h='<div class="r1"><span class="nm">'+esc(p.name||'(unnamed)')+'</span><span class="pn">Pin '+esc(p.number)+'</span></div>';+    if(p.type) h+='<span class="badge" style="background:'+col+'22;color:'+col+';border:1px solid '+col+'44">'+esc(p.type)+'</span>';+    if(p.desc) h+='<div class="desc">'+esc(p.desc)+'</div>';+    tip.innerHTML=h; tip.classList.add('show'); posTip(x,y);+  }+  function posTip(x,y){+    var w=tip.offsetWidth||260, hh=tip.offsetHeight||110, tx=x+14, ty=y+14;+    if(tx+w>innerWidth-14) tx=x-w-14;+    if(ty+hh>innerHeight-14) ty=y-hh-14;+    tip.style.left=Math.max(8,tx)+'px'; tip.style.top=Math.max(8,ty)+'px';+  }+  function hideTip(){ tip.classList.remove('show'); clearHL(); }+  // Build the pin hit-zones with the SHARED engine, the exact glyph-pairing ++  // hit-box code the app's SymView uses. The embed only supplies the tooltip.+  if(svg && OFF){+    if(!document.getElementById('pinmark')){ var pm=document.createElementNS(NS,'circle'); pm.id='pinmark'; svg.appendChild(pm); }+    var hideT=null;+    var hits=AdomSymViewer.buildPinHits(svg, PINS, OFF, NS, {+      enter:function(p,ev){ clearTimeout(hideT); showTip(p,ev.clientX,ev.clientY); highlightPin(p); },+      move:function(ev){ if(tip.classList.contains('show')) posTip(ev.clientX,ev.clientY); },+      leave:function(){ clearTimeout(hideT); hideT=setTimeout(hideTip,45); }+    });+    textMap=hits.textMap;+  }++  apply();+})();++// ── app-info header popover: interactive hover you can move into (600ms show,+//    220ms hide-grace) so the wiki link stays reachable. Per adom-app-header.md. ──+(function(){+  var SHOW_DELAY=600, HIDE_GRACE=220;+  document.querySelectorAll('header [data-tooltip-target]').forEach(function(trigger){+    var target=document.getElementById(trigger.dataset.tooltipTarget);+    if(!target) return;+    var showTimer=null, hideTimer=null;+    function show(){ clearTimeout(hideTimer); if(target.classList.contains('show')) return; clearTimeout(showTimer); showTimer=setTimeout(function(){ target.classList.add('show'); }, SHOW_DELAY); }+    function queueHide(){ clearTimeout(showTimer); clearTimeout(hideTimer); hideTimer=setTimeout(function(){ target.classList.remove('show'); }, HIDE_GRACE); }+    trigger.addEventListener('mouseenter',show); trigger.addEventListener('mouseleave',queueHide);+    trigger.addEventListener('focus',show);      trigger.addEventListener('blur',queueHide);+    target.addEventListener('mouseenter',show);  target.addEventListener('mouseleave',queueHide);+    trigger.addEventListener('click',function(e){ clearTimeout(showTimer); target.classList.toggle('show'); e.stopPropagation(); });+    document.addEventListener('click',function(e){ if(!target.contains(e.target) && !trigger.contains(e.target)) target.classList.remove('show'); });+  });+})();+</script>+</body></html>