@tscircuit/schematic-trace-solver 0.0.107 → 0.0.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +31 -3
- package/dist/index.js +784 -247
- package/lib/solvers/MspConnectionPairSolver/MspConnectionPairSolver.ts +3 -1
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/SchematicTraceSingleLineSolver2.ts +58 -27
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/generateEndpointCollisionDetours.ts +1 -10
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/generateInternalSegmentCollisionDetours.ts +94 -0
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/pathOps.ts +10 -0
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/rect.ts +5 -1
- package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +18 -3
- package/lib/solvers/UnroutedTraceRecoverySolver/UnroutedTraceRecoverySolver.ts +592 -0
- package/package.json +1 -1
- package/site/bug-reports/bug-report-20260724T175257Z.page.tsx +4 -0
- package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +5 -9
- package/tests/bug-reports/bug-report-20260708T095725Z/__snapshots__/bug-report-20260708T095725Z.snap.svg +5 -5
- package/tests/bug-reports/bug-report-20260708T095725Z/bug-report-20260708T095725Z.test.ts +15 -0
- package/tests/bug-reports/bug-report-20260724T175257Z/__snapshots__/bug-report-20260724T175257Z.snap.svg +58 -0
- package/tests/bug-reports/bug-report-20260724T175257Z/bug-report-20260724T175257Z.json +138 -0
- package/tests/bug-reports/bug-report-20260724T175257Z/bug-report-20260724T175257Z.test.ts +12 -0
- package/tests/examples/__snapshots__/example04.snap.svg +7 -9
- package/tests/examples/__snapshots__/example08.snap.svg +16 -20
- package/tests/examples/__snapshots__/example13.snap.svg +2 -4
- package/tests/examples/__snapshots__/example32.snap.svg +64 -66
- package/tests/examples/__snapshots__/example46.snap.svg +1 -1
- package/tests/repros/__snapshots__/repro-netlabel-collision-687.snap.svg +81 -0
- package/tests/repros/__snapshots__/repro-netlabel-overlap-trace.snap.svg +16 -18
- package/tests/repros/__snapshots__/repro-tps61222-trace-intersection.snap.svg +63 -220
- package/tests/repros/assets/repro-netlabel-collision-687.input.json +212 -0
- package/tests/repros/repro-netlabel-collision-687.test.ts +59 -0
- package/tests/repros/repro-tps61222-trace-intersection.test.ts +27 -0
- package/tests/solvers/SchematicTraceSingleLineSolver2/generate-internal-segment-collision-detours.test.ts +49 -0
- package/tests/solvers/UnroutedTraceRecoverySolver/paired-junction-recovery.test.ts +49 -0
- package/tests/solvers/UnroutedTraceRecoverySolver/skip-ground.test.ts +30 -0
- package/tests/solvers/UnroutedTraceRecoverySolver/skip-long-connection.test.ts +24 -0
|
@@ -1,68 +1,66 @@
|
|
|
1
|
-
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-4.475,2.9699999999999998 -2.38,3" data-type="line" data-label="" points="
|
|
2
|
-
globalConnNetId: connectivity_net0" data-x="-4.
|
|
3
|
-
globalConnNetId:
|
|
4
|
-
globalConnNetId: connectivity_net6" data-x="
|
|
5
|
-
globalConnNetId: connectivity_net6" data-x="
|
|
6
|
-
globalConnNetId: connectivity_net6" data-x="
|
|
7
|
-
globalConnNetId:
|
|
8
|
-
globalConnNetId: connectivity_net7" data-x="-
|
|
9
|
-
globalConnNetId: connectivity_net7" data-x="
|
|
10
|
-
globalConnNetId: connectivity_net7" data-x="
|
|
11
|
-
globalConnNetId:
|
|
12
|
-
globalConnNetId: connectivity_net2" data-x="-
|
|
13
|
-
globalConnNetId:
|
|
14
|
-
globalConnNetId: connectivity_net4" data-x="
|
|
15
|
-
globalConnNetId:
|
|
16
|
-
globalConnNetId: connectivity_net1" data-x="
|
|
17
|
-
globalConnNetId:
|
|
18
|
-
globalConnNetId: connectivity_net3" data-x="
|
|
19
|
-
globalConnNetId:
|
|
20
|
-
|
|
21
|
-
x
|
|
22
|
-
x
|
|
23
|
-
x
|
|
24
|
-
x
|
|
25
|
-
x
|
|
26
|
-
x+" data-x="
|
|
27
|
-
x
|
|
28
|
-
x
|
|
29
|
-
x
|
|
30
|
-
x-" data-x="0.2999999999999998" data-y="2.
|
|
31
|
-
x-" data-x="0.2999999999999998" data-y="2.
|
|
32
|
-
x
|
|
33
|
-
x+" data-x="2.7" data-y="2.
|
|
34
|
-
x
|
|
35
|
-
x
|
|
36
|
-
x
|
|
37
|
-
x
|
|
38
|
-
x
|
|
39
|
-
x
|
|
40
|
-
x
|
|
41
|
-
x
|
|
42
|
-
x
|
|
43
|
-
x
|
|
44
|
-
x
|
|
45
|
-
x
|
|
46
|
-
|
|
47
|
-
orientation:
|
|
48
|
-
orientation:
|
|
49
|
-
orientation: y-" data-x="-
|
|
50
|
-
orientation: y-" data-x="
|
|
51
|
-
orientation: y
|
|
52
|
-
orientation: y
|
|
53
|
-
orientation: y+" data-x="
|
|
54
|
-
orientation: y+" data-x="-
|
|
55
|
-
orientation:
|
|
56
|
-
orientation: y+" data-x="-
|
|
57
|
-
orientation: x
|
|
58
|
-
orientation:
|
|
59
|
-
orientation: x
|
|
60
|
-
orientation: x-" data-x="
|
|
61
|
-
orientation:
|
|
62
|
-
orientation: x
|
|
63
|
-
orientation: y+" data-x="
|
|
64
|
-
orientation: x+" data-x="2.7" data-y="2.4" cx="459.0109890109891" cy="182.63736263736266" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
65
|
-
orientation: y+" data-x="3.4924999999999997" data-y="-1.5" cx="502.55494505494505" cy="396.92307692307696" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-4.475,2.9699999999999998 -2.38,3" data-type="line" data-label="" points="56.731401254855086,148.7819938253162 173.57235335125984,147.10885369983066" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.2999999999999998,2.6 3.45,1.5" data-type="line" data-label="" points="323.039537894632,169.41738870630414 498.71925107061054,230.76585997410615" fill="none" stroke="hsl(120, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.2999999999999998,2.4 0.2999999999999998,2.2" data-type="line" data-label="" points="323.039537894632,180.57165620954086 323.039537894632,191.7259237127776" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.05,-1.5 3.935,-1.5" data-type="line" data-label="" points="476.4107160641371,398.0798725226571 525.7683497659596,398.0798725226571" fill="none" stroke="hsl(344, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.525,2.9699999999999998 -2.45,1.5" data-type="line" data-label="" points="109.71417189522955,148.7819938253162 169.66835972512698,230.76585997410615" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7,2.2 4.55,1.5" data-type="line" data-label="" points="456.8907479334728,191.7259237127776 560.0677223384125,230.76585997410615" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.62,3 -3.55,1.5" data-type="line" data-label="" points="215.9585698635594,147.10885369983066 108.31988845732496,230.76585997410615" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2999999999999998,2.8 2.7,2.8" data-type="line" data-label="" points="323.039537894632,158.2631212030674 456.8907479334728,158.2631212030674" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2999999999999998,2.4 0.09999999999999981,2.4 0.09999999999999981,2.2 0.2999999999999998,2.2" data-type="line" data-label="" points="323.039537894632,180.57165620954086 311.8852703913953,180.57165620954086 311.8852703913953,191.7259237127776 323.039537894632,191.7259237127776" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.55,-1.5 -3.4499999999999997,-1.5" data-type="line" data-label="" points="164.0912259735086,398.0798725226571 113.89702220894333,398.0798725226571" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.05,-1.5 3.935,-1.5" data-type="line" data-label="" points="476.4107160641371,398.0798725226571 525.7683497659596,398.0798725226571" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.4500000000000002,-1.5 -1.25,-1.5 -1.25,-2.25 -3.75,-2.25 -3.75,-3 -3.55,-3" data-type="line" data-label="" points="225.43969724131063,398.0798725226571 236.59396474454735,398.0798725226571 236.59396474454735,439.90837565979484 97.16562095408821,439.90837565979484 97.16562095408821,481.7368787969326 108.31988845732496,481.7368787969326" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.525,2.9699999999999998 -2.415,2.9699999999999998 -2.415,1.5 -2.45,1.5" data-type="line" data-label="" points="109.71417189522955,148.7819938253162 171.6203565381934,148.7819938253162 171.6203565381934,230.76585997410615 169.66835972512698,230.76585997410615" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.7,2.2 4.75,2.2 4.75,1.5 4.55,1.5" data-type="line" data-label="" points="456.8907479334728,191.7259237127776 571.2219898416492,191.7259237127776 571.2219898416492,230.76585997410615 560.0677223384125,230.76585997410615" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.2999999999999998,2.8 0.09999999999999981,2.8 0.09999999999999981,3.2 2.9000000000000004,3.2 2.9000000000000004,2.8 2.7,2.8" data-type="line" data-label="" points="323.039537894632,158.2631212030674 311.8852703913953,158.2631212030674 311.8852703913953,135.95458619659394 468.04501543670955,135.95458619659394 468.04501543670955,158.2631212030674 456.8907479334728,158.2631212030674" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.475,2.9699999999999998 -4.675,2.9699999999999998 -4.675,3.45 -2.58,3.45 -2.58,3 -2.38,3" data-type="line" data-label="" points="56.731401254855086,148.7819938253162 45.57713375161836,148.7819938253162 45.57713375161836,122.011751817548 162.41808584802308,122.011751817548 162.41808584802308,147.10885369983066 173.57235335125984,147.10885369983066" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.45,-3 -2.349,-3 -2.349,-3.4509999999999996" data-type="line" data-label="" points="169.66835972512698,481.7368787969326 175.30126481426151,481.7368787969326 175.30126481426151,506.88975201673145" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="5.0649999999999995,-1.5 5.1659999999999995,-1.5 5.1659999999999995,-1.851" data-type="line" data-label="" points="588.7899611592471,398.0798725226571 594.4228662483818,398.0798725226571 594.4228662483818,417.6556119908376" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.62,3 -1.5190000000000001,3 -1.5190000000000001,3.251" data-type="line" data-label="" points="215.9585698635594,147.10885369983066 221.59147495269394,147.10885369983066 221.59147495269394,133.11024798326858" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.55,1.5 -3.651,1.5 -3.651,1.9509999999999998" data-type="line" data-label="" points="108.31988845732496,230.76585997410615 102.68698336819043,230.76585997410615 102.68698336819043,205.61298675430731" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.550000000000001,-1.5 -4.651000000000001,-1.5 -4.651000000000001,-1.2990000000000002" data-type="line" data-label="" points="52.54855094114126,398.0798725226571 46.91564585200672,398.0798725226571 46.91564585200672,386.8698336819042" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-4" data-y="3" x="56.73140125485507" y="139.02200975998403" width="52.98277064037447" height="16.17368787969326" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2" data-y="3" x="173.57235335125984" y="133.16601932078476" width="42.38621651229957" height="27.88566875809184" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-3" data-y="1.5" x="108.31988845732495" y="207.34189821730902" width="61.34847126780201" height="46.84792351359425" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.5" data-y="2.5" x="323.039537894632" y="147.10885369983066" width="133.8512100388408" height="55.77133751618368" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="4" data-y="1.5" x="498.7192510706106" y="207.34189821730902" width="61.34847126780198" height="46.84792351359425" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-4" data-y="-1.5" x="52.54855094114127" y="387.23483756597955" width="61.34847126780207" height="21.69006991335516" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-2" data-y="-1.5" x="164.09122597350864" y="387.23483756597955" width="61.34847126780201" height="21.69006991335516" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-3" data-y="-3" x="108.31988845732495" y="458.3129170401355" width="61.34847126780201" height="46.847923513594196" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="2.5" data-y="-1.5" x="415.062244796335" y="387.23483756597955" width="61.34847126780204" height="21.69006991335516" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="4.5" data-y="-1.5" x="525.7683497659596" y="379.9541878298975" width="63.02161139328757" height="36.251369385519354" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .B1 > .pin1 to .SW1 > .pin1
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="-4.675" data-y="2.7449999999999997" x="40.000000000000014" y="148.7819938253162" width="11.154267503236696" height="25.097101882282658" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
3
|
+
globalConnNetId: connectivity_net6" data-x="-2.9699999999999998" data-y="2.82" x="135.09013046509313" y="148.7819938253162" width="11.154267503236724" height="16.731401254855086" fill="#00000066" stroke="#000000" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
4
|
+
globalConnNetId: connectivity_net6" data-x="4.75" data-y="1.35" x="565.6448560900309" y="230.76585997410615" width="11.154267503236724" height="16.731401254855086" fill="#00000066" stroke="#000000" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
5
|
+
globalConnNetId: connectivity_net6" data-x="-2.349" data-y="-3.6009999999999995" x="169.72413106264315" y="506.8897520167314" width="11.154267503236724" height="16.731401254855086" fill="#00000066" stroke="#000000" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
6
|
+
globalConnNetId: connectivity_net6" data-x="5.1659999999999995" data-y="-2.001" x="588.8457324967634" y="417.6556119908376" width="11.154267503236724" height="16.731401254855086" fill="#00000066" stroke="#000000" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: VCC
|
|
7
|
+
globalConnNetId: connectivity_net7" data-x="-1.5190000000000001" data-y="3.401" x="216.01434120107558" y="116.37884672841349" width="11.154267503236724" height="16.731401254855086" fill="#ef444466" stroke="#ef4444" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: VCC
|
|
8
|
+
globalConnNetId: connectivity_net7" data-x="-3.651" data-y="2.101" x="97.10984961657205" y="188.88158549945223" width="11.154267503236753" height="16.731401254855086" fill="#ef444466" stroke="#ef4444" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: VCC
|
|
9
|
+
globalConnNetId: connectivity_net7" data-x="0.09999999999999981" data-y="3.35" x="306.30813663977693" y="119.22318494173885" width="11.154267503236724" height="16.731401254855086" fill="#ef444466" stroke="#ef4444" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: VCC
|
|
10
|
+
globalConnNetId: connectivity_net7" data-x="-4.651000000000001" data-y="-1.1490000000000002" x="41.33851210038837" y="370.1384324270491" width="11.154267503236696" height="16.731401254855086" fill="#ef444466" stroke="#ef4444" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .U1 > .THRES to .C1 > .pin1
|
|
11
|
+
globalConnNetId: connectivity_net2" data-x="-0.1250000000000002" data-y="2.4" x="286.78816850911267" y="174.9945224579225" width="25.09710188228263" height="11.154267503236724" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .R2 > .pin2 to .U1 > .THRES
|
|
12
|
+
globalConnNetId: connectivity_net2" data-x="-1.25" data-y="-1.275" x="231.016830992929" y="372.9827706403745" width="11.154267503236724" height="25.09710188228263" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .U1 > .OUT to .R3 > .pin1
|
|
13
|
+
globalConnNetId: connectivity_net4" data-x="2.926" data-y="2.6" x="456.94651927098903" y="163.84025495468575" width="25.09710188228263" height="11.154267503236753" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .U1 > .OUT to .R3 > .pin1
|
|
14
|
+
globalConnNetId: connectivity_net4" data-x="1.724" data-y="-1.5" x="389.9093715765362" y="392.50273877103876" width="25.097101882282686" height="11.154267503236724" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .U1 > .CTRL to .C2 > .pin1
|
|
15
|
+
globalConnNetId: connectivity_net1" data-x="0.07399999999999982" data-y="2.6" x="297.88666467483324" y="163.84025495468575" width="25.09710188228263" height="11.154267503236753" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .U1 > .CTRL to .C2 > .pin1
|
|
16
|
+
globalConnNetId: connectivity_net1" data-x="3.224" data-y="1.5" x="473.5663778508117" y="225.1887262224878" width="25.097101882282686" height="11.154267503236724" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .U1 > .DISCH to .R2 > .pin1
|
|
17
|
+
globalConnNetId: connectivity_net3" data-x="-3" data-y="-1.275" x="133.4169903396076" y="372.9827706403745" width="11.154267503236753" height="25.09710188228263" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .U1 > .DISCH to .R2 > .pin1
|
|
18
|
+
globalConnNetId: connectivity_net3" data-x="2.926" data-y="2.4" x="456.94651927098903" y="174.9945224579225" width="25.09710188228263" height="11.154267503236724" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .R3 > .pin2 to .D1 > .pin1
|
|
19
|
+
globalConnNetId: connectivity_net5" data-x="3.4924999999999997" data-y="-1.275" x="495.51239916343" y="372.9827706403745" width="11.154267503236781" height="25.09710188228263" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><circle data-type="point" data-label="B1.1
|
|
20
|
+
x-" data-x="-4.475" data-y="2.9699999999999998" cx="56.731401254855086" cy="148.7819938253162" r="3" fill="hsl(210, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="B1.2
|
|
21
|
+
x+" data-x="-3.525" data-y="2.9699999999999998" cx="109.71417189522955" cy="148.7819938253162" r="3" fill="hsl(211, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW1.1
|
|
22
|
+
x-" data-x="-2.38" data-y="3" cx="173.57235335125984" cy="147.10885369983066" r="3" fill="hsl(104, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW1.2
|
|
23
|
+
x+" data-x="-1.62" data-y="3" cx="215.9585698635594" cy="147.10885369983066" r="3" fill="hsl(105, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C3.1
|
|
24
|
+
x-" data-x="-3.55" data-y="1.5" cx="108.31988845732496" cy="230.76585997410615" r="3" fill="hsl(243, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C3.2
|
|
25
|
+
x+" data-x="-2.45" data-y="1.5" cx="169.66835972512698" cy="230.76585997410615" r="3" fill="hsl(244, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.1
|
|
26
|
+
x+" data-x="2.7" data-y="2.2" cx="456.8907479334728" cy="191.7259237127776" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
|
|
27
|
+
x-" data-x="0.2999999999999998" data-y="2.2" cx="323.039537894632" cy="191.7259237127776" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
|
|
28
|
+
x+" data-x="2.7" data-y="2.6" cx="456.8907479334728" cy="169.41738870630414" r="3" fill="hsl(321, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.4
|
|
29
|
+
x-" data-x="0.2999999999999998" data-y="2.8" cx="323.039537894632" cy="158.2631212030674" r="3" fill="hsl(322, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.5
|
|
30
|
+
x-" data-x="0.2999999999999998" data-y="2.6" cx="323.039537894632" cy="169.41738870630414" r="3" fill="hsl(323, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.6
|
|
31
|
+
x-" data-x="0.2999999999999998" data-y="2.4" cx="323.039537894632" cy="180.57165620954086" r="3" fill="hsl(324, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.7
|
|
32
|
+
x+" data-x="2.7" data-y="2.4" cx="456.8907479334728" cy="180.57165620954086" r="3" fill="hsl(325, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.8
|
|
33
|
+
x+" data-x="2.7" data-y="2.8" cx="456.8907479334728" cy="158.2631212030674" r="3" fill="hsl(326, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C2.1
|
|
34
|
+
x-" data-x="3.45" data-y="1.5" cx="498.71925107061054" cy="230.76585997410615" r="3" fill="hsl(2, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C2.2
|
|
35
|
+
x+" data-x="4.55" data-y="1.5" cx="560.0677223384125" cy="230.76585997410615" r="3" fill="hsl(3, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
|
|
36
|
+
x-" data-x="-4.550000000000001" data-y="-1.5" cx="52.54855094114126" cy="398.0798725226571" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.2
|
|
37
|
+
x+" data-x="-3.4499999999999997" data-y="-1.5" cx="113.89702220894333" cy="398.0798725226571" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.1
|
|
38
|
+
x-" data-x="-2.55" data-y="-1.5" cx="164.0912259735086" cy="398.0798725226571" r="3" fill="hsl(107, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.2
|
|
39
|
+
x+" data-x="-1.45" data-y="-1.5" cx="225.43969724131063" cy="398.0798725226571" r="3" fill="hsl(108, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C1.1
|
|
40
|
+
x-" data-x="-3.55" data-y="-3" cx="108.31988845732496" cy="481.7368787969326" r="3" fill="hsl(121, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C1.2
|
|
41
|
+
x+" data-x="-2.45" data-y="-3" cx="169.66835972512698" cy="481.7368787969326" r="3" fill="hsl(122, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R3.1
|
|
42
|
+
x-" data-x="1.95" data-y="-1.5" cx="415.06224479633505" cy="398.0798725226571" r="3" fill="hsl(348, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R3.2
|
|
43
|
+
x+" data-x="3.05" data-y="-1.5" cx="476.4107160641371" cy="398.0798725226571" r="3" fill="hsl(349, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.1
|
|
44
|
+
x-" data-x="3.935" data-y="-1.5" cx="525.7683497659596" cy="398.0798725226571" r="3" fill="hsl(32, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.2
|
|
45
|
+
x+" data-x="5.0649999999999995" data-y="-1.5" cx="588.7899611592471" cy="398.0798725226571" r="3" fill="hsl(33, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
46
|
+
orientation: y-" data-x="-4.675" data-y="2.9699999999999998" cx="45.57713375161836" cy="148.7819938253162" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
47
|
+
orientation: y-" data-x="-2.9699999999999998" data-y="2.9699999999999998" cx="140.6672642167115" cy="148.7819938253162" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
48
|
+
orientation: y-" data-x="4.75" data-y="1.5" cx="571.2219898416492" cy="230.76585997410615" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
49
|
+
orientation: y-" data-x="-2.349" data-y="-3.4509999999999996" cx="175.30126481426151" cy="506.88975201673145" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
50
|
+
orientation: y-" data-x="5.1659999999999995" data-y="-1.851" cx="594.4228662483818" cy="417.6556119908376" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
51
|
+
orientation: y+" data-x="-1.5190000000000001" data-y="3.251" cx="221.59147495269394" cy="133.11024798326858" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
52
|
+
orientation: y+" data-x="-3.651" data-y="1.9509999999999998" cx="102.68698336819043" cy="205.61298675430731" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
53
|
+
orientation: y+" data-x="0.09999999999999981" data-y="3.2" cx="311.8852703913953" cy="135.95458619659394" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
54
|
+
orientation: y+" data-x="-4.651000000000001" data-y="-1.2990000000000002" cx="46.91564585200672" cy="386.8698336819042" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
55
|
+
orientation: x-" data-x="0.09999999999999981" data-y="2.4" cx="311.8852703913953" cy="180.57165620954086" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
56
|
+
orientation: y+" data-x="-1.25" data-y="-1.5" cx="236.59396474454735" cy="398.0798725226571" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
57
|
+
orientation: x+" data-x="2.7" data-y="2.6" cx="456.8907479334728" cy="169.41738870630414" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
58
|
+
orientation: x-" data-x="1.95" data-y="-1.5" cx="415.06224479633505" cy="398.0798725226571" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
59
|
+
orientation: x-" data-x="0.2999999999999998" data-y="2.6" cx="323.039537894632" cy="169.41738870630414" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
60
|
+
orientation: x-" data-x="3.45" data-y="1.5" cx="498.71925107061054" cy="230.76585997410615" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
61
|
+
orientation: y+" data-x="-3" data-y="-1.5" cx="138.99412409122596" cy="398.0798725226571" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
62
|
+
orientation: x+" data-x="2.7" data-y="2.4" cx="456.8907479334728" cy="180.57165620954086" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
63
|
+
orientation: y+" data-x="3.4924999999999997" data-y="-1.5" cx="501.0895329150484" cy="398.0798725226571" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
66
64
|
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
67
65
|
const svg = e.currentTarget;
|
|
68
66
|
const rect = svg.getBoundingClientRect();
|
|
@@ -84,7 +82,7 @@ orientation: y+" data-x="3.4924999999999997" data-y="-1.5" cx="502.5549450549450
|
|
|
84
82
|
v.setAttribute('y2', '640');
|
|
85
83
|
|
|
86
84
|
// Calculate real coordinates using inverse transformation
|
|
87
|
-
const matrix = {"a":
|
|
85
|
+
const matrix = {"a":55.77133751618366,"c":0,"e":306.30813663977693,"b":0,"d":-55.77133751618366,"f":314.42286624838164};
|
|
88
86
|
// Manually invert and apply the affine transform
|
|
89
87
|
// Since we only use translate and scale, we can directly compute:
|
|
90
88
|
// x' = (x - tx) / sx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-2.87,2.485 -2.87,1.2399999999999998" data-type="line" data-label="" points="181.61383285302594,143.82324687800187 181.61383285302594,210.79731027857824" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.87,1.2399999999999998 -2.87,3.6149999999999998" data-type="line" data-label="" points="181.61383285302594,210.79731027857824 181.61383285302594,83.03554274735825" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,1.2399999999999998 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,210.79731027857824 181.61383285302594,143.82324687800187" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,3.6149999999999998 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,83.03554274735825 181.61383285302594,143.82324687800187" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -1.2850000000000001,0.2" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 266.8780019212296,266.74351585014404" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -1.2850000000000001,-0.2" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 266.8780019212296,288.26128722382316" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -2.97,-1.0099999999999998" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0.2 -1.2850000000000001,-0.2" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 266.8780019212296,288.26128722382316" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0.2 -2.97,-1.0099999999999998" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,-0.2 -2.97,-1.0099999999999998" data-type="line" data-label="" points="266.8780019212296,288.26128722382316 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -2.97,-2.1100000000000003" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 176.23439000960616,391.00864553314113" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -0.8100000000000003,-3.005000000000001" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 292.43035542747356,439.1546589817483" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -0.75,-5.315" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -0.8100000000000003,-3.005000000000001" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 292.43035542747356,439.1546589817483" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -0.75,-5.315" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-3.005000000000001 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="292.43035542747356,439.1546589817483 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-3.005000000000001 -0.75,-5.315" data-type="line" data-label="" points="292.43035542747356,439.1546589817483 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2594553499999992,-4.739999999999999 -0.75,-5.315" data-type="line" data-label="" points="403.7555231508165,532.4879923150816 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 -0.8100000000000003,-1.9050000000000002" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 292.43035542747356,379.9807877041306" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 2.675,-1.3049999999999997" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 479.90393852065324,347.70413064361185" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 -0.75,-4.215000000000001" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-1.9050000000000002 2.675,-1.3049999999999997" data-type="line" data-label="" points="292.43035542747356,379.9807877041306 479.90393852065324,347.70413064361185" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-1.9050000000000002 -0.75,-4.215000000000001" data-type="line" data-label="" points="292.43035542747356,379.9807877041306 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.675,-1.3049999999999997 -0.75,-4.215000000000001" data-type="line" data-label="" points="479.90393852065324,347.70413064361185 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.675,-2.4349999999999996 1.2594553499999992,-3.6399999999999997" data-type="line" data-label="" points="479.90393852065324,408.4918347742554 403.7555231508165,473.3141210374639" fill="none" stroke="hsl(187, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,2.485 -2.87,1.2399999999999998" data-type="line" data-label="" points="181.61383285302594,143.82324687800187 181.61383285302594,210.79731027857824" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.87,3.6149999999999998 -2.87,3.815 -2.1099999999999994,3.815 -2.1099999999999994,2.2849999999999997 -2.87,2.2849999999999997 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,83.03554274735825 181.61383285302594,72.27665706051869 222.49759846301637,72.27665706051869 222.49759846301637,154.58213256484146 181.61383285302594,154.58213256484146 181.61383285302594,143.82324687800187" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.87,0.19999999999999973 -2.87,-4.440892098500626e-16 -2.97,-4.440892098500626e-16 -2.97,-1.0099999999999998" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 181.61383285302594,277.5024015369836 176.23439000960616,277.5024015369836 176.23439000960616,331.8347742555234" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -2.97,-3.205000000000001 -0.81,-3.205000000000001 -0.81,-3.005000000000001" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 176.23439000960616,449.91354466858786 292.4303554274736,449.91354466858786 292.4303554274736,439.1546589817483" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2594553499999988,-4.739999999999999 1.2594553499999988,-5.515000000000001 -0.75,-5.515000000000001 -0.75,-5.315" data-type="line" data-label="" points="403.75552315081643,532.4879923150816 403.75552315081643,574.178674351585 295.6580211335255,574.178674351585 295.6580211335255,563.4197886647453" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2850000000000001,0.1 2.675,0.1 2.675,-1.3049999999999997" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 479.90393852065324,272.1229586935638 479.90393852065324,347.70413064361185" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6749999999999994,-2.4349999999999996 2.6749999999999994,-3.0374999999999996 1.2594553499999992,-3.0374999999999996 1.2594553499999992,-3.6399999999999997" data-type="line" data-label="" points="479.9039385206532,408.4918347742554 479.9039385206532,440.90297790585964 403.7555231508165,440.90297790585964 403.7555231508165,473.3141210374639" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,0.20000000000000018 -1.485,0.20000000000000018 -1.485,-4.440892098500626e-16 -2.87,-4.440892098500626e-16 -2.87,0.19999999999999973" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 256.11911623439005,266.74351585014404 256.11911623439005,277.5024015369836 181.61383285302594,277.5024015369836 181.61383285302594,266.74351585014404" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,-0.2 -1.485,-0.2 -1.485,0.2 -1.2850000000000001,0.2" data-type="line" data-label="" points="266.8780019212296,288.26128722382316 256.11911623439005,288.26128722382316 256.11911623439005,266.74351585014404 266.8780019212296,266.74351585014404" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,0 -1.3860000000000001,0 -1.3860000000000001,-0.601" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 261.4447646493756,277.5024015369836 261.4447646493756,309.8328530259365" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-2.71" data-y="0.7199999999999998" x="167.08933717579254" y="210.79731027857827" width="46.26320845341016" height="55.9462055715658" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-3.25" data-y="3.05" x="110.60518731988473" y="83.03554274735826" width="101.13352545629206" height="60.78770413064362" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0" data-y="0" x="266.8780019212296" y="261.36407300672425" width="138.25168107588854" height="32.27665706051869" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-2.755" data-y="-1.56" x="161.9788664745437" y="331.8347742555235" width="51.642651296830024" height="59.17387127761771" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-0.5950000000000002" data-y="-2.4550000000000005" x="278.17483189241113" y="379.98078770413053" width="51.64265129682997" height="59.17387127761771" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="2.9724999999999997" data-y="-1.8699999999999997" x="462.4207492795389" y="347.70413064361185" width="66.97406340057637" height="60.78770413064353" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="1.5519553499999992" data-y="-4.1899999999999995" x="393.29490874159455" y="473.31412103746385" width="52.3909694524495" height="59.17387127761765" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-0.5950000000000001" data-y="-4.765000000000001" x="281.402497598463" y="504.24591738712775" width="45.18731988472621" height="59.173871277617536" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: VBUS
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-2.87,2.485 -2.87,1.2399999999999998" data-type="line" data-label="" points="181.61383285302594,143.82324687800187 181.61383285302594,210.79731027857824" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.87,1.2399999999999998 -2.87,3.6149999999999998" data-type="line" data-label="" points="181.61383285302594,210.79731027857824 181.61383285302594,83.03554274735825" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,1.2399999999999998 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,210.79731027857824 181.61383285302594,143.82324687800187" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,3.6149999999999998 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,83.03554274735825 181.61383285302594,143.82324687800187" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -1.2850000000000001,0.2" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 266.8780019212296,266.74351585014404" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -1.2850000000000001,-0.2" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 266.8780019212296,288.26128722382316" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -2.97,-1.0099999999999998" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0.2 -1.2850000000000001,-0.2" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 266.8780019212296,288.26128722382316" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0.2 -2.97,-1.0099999999999998" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,-0.2 -2.97,-1.0099999999999998" data-type="line" data-label="" points="266.8780019212296,288.26128722382316 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -2.97,-2.1100000000000003" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 176.23439000960616,391.00864553314113" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -0.8100000000000003,-3.005000000000001" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 292.43035542747356,439.1546589817483" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -0.75,-5.315" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -0.8100000000000003,-3.005000000000001" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 292.43035542747356,439.1546589817483" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -0.75,-5.315" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-3.005000000000001 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="292.43035542747356,439.1546589817483 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-3.005000000000001 -0.75,-5.315" data-type="line" data-label="" points="292.43035542747356,439.1546589817483 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2594553499999992,-4.739999999999999 -0.75,-5.315" data-type="line" data-label="" points="403.7555231508165,532.4879923150816 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 -0.8100000000000003,-1.9050000000000002" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 292.43035542747356,379.9807877041306" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 2.675,-1.3049999999999997" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 479.90393852065324,347.70413064361185" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 -0.75,-4.215000000000001" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-1.9050000000000002 2.675,-1.3049999999999997" data-type="line" data-label="" points="292.43035542747356,379.9807877041306 479.90393852065324,347.70413064361185" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-1.9050000000000002 -0.75,-4.215000000000001" data-type="line" data-label="" points="292.43035542747356,379.9807877041306 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.675,-1.3049999999999997 -0.75,-4.215000000000001" data-type="line" data-label="" points="479.90393852065324,347.70413064361185 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.675,-2.4349999999999996 1.2594553499999992,-3.6399999999999997" data-type="line" data-label="" points="479.90393852065324,408.4918347742554 403.7555231508165,473.3141210374639" fill="none" stroke="hsl(187, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,2.485 -2.87,1.2399999999999998" data-type="line" data-label="" points="181.61383285302594,143.82324687800187 181.61383285302594,210.79731027857824" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.87,3.6149999999999998 -2.87,3.815 -2.1099999999999994,3.815 -2.1099999999999994,2.2849999999999997 -2.87,2.2849999999999997 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,83.03554274735825 181.61383285302594,72.27665706051869 222.49759846301637,72.27665706051869 222.49759846301637,154.58213256484146 181.61383285302594,154.58213256484146 181.61383285302594,143.82324687800187" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.87,0.19999999999999973 -2.87,-2.220446049250313e-16 -2.97,-2.220446049250313e-16 -2.97,-1.0099999999999998" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 181.61383285302594,277.5024015369836 176.23439000960616,277.5024015369836 176.23439000960616,331.8347742555234" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -2.97,-3.205000000000001 -0.81,-3.205000000000001 -0.81,-3.005000000000001" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 176.23439000960616,449.91354466858786 292.4303554274736,449.91354466858786 292.4303554274736,439.1546589817483" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2594553499999988,-4.739999999999999 1.2594553499999988,-5.515000000000001 -0.75,-5.515000000000001 -0.75,-5.315" data-type="line" data-label="" points="403.75552315081643,532.4879923150816 403.75552315081643,574.178674351585 295.6580211335255,574.178674351585 295.6580211335255,563.4197886647453" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2850000000000001,0.1 2.675,0.1 2.675,-1.3049999999999997" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 479.90393852065324,272.1229586935638 479.90393852065324,347.70413064361185" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6749999999999994,-2.4349999999999996 2.6749999999999994,-3.0374999999999996 1.2594553499999992,-3.0374999999999996 1.2594553499999992,-3.6399999999999997" data-type="line" data-label="" points="479.9039385206532,408.4918347742554 479.9039385206532,440.90297790585964 403.7555231508165,440.90297790585964 403.7555231508165,473.3141210374639" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,0.20000000000000018 -1.485,0.20000000000000018 -1.485,-4.440892098500626e-16 -2.87,-4.440892098500626e-16 -2.87,0.19999999999999973" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 256.11911623439005,266.74351585014404 256.11911623439005,277.5024015369836 181.61383285302594,277.5024015369836 181.61383285302594,266.74351585014404" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,-0.2 -1.485,-0.2 -1.485,0.2 -1.2850000000000001,0.2" data-type="line" data-label="" points="266.8780019212296,288.26128722382316 256.11911623439005,288.26128722382316 256.11911623439005,266.74351585014404 266.8780019212296,266.74351585014404" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,0 -1.3860000000000001,0 -1.3860000000000001,-0.601" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 261.4447646493756,277.5024015369836 261.4447646493756,309.8328530259365" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-2.71" data-y="0.7199999999999998" x="167.08933717579254" y="210.79731027857827" width="46.26320845341016" height="55.9462055715658" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-3.25" data-y="3.05" x="110.60518731988473" y="83.03554274735826" width="101.13352545629206" height="60.78770413064362" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0" data-y="0" x="266.8780019212296" y="261.36407300672425" width="138.25168107588854" height="32.27665706051869" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-2.755" data-y="-1.56" x="161.9788664745437" y="331.8347742555235" width="51.642651296830024" height="59.17387127761771" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-0.5950000000000002" data-y="-2.4550000000000005" x="278.17483189241113" y="379.98078770413053" width="51.64265129682997" height="59.17387127761771" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="2.9724999999999997" data-y="-1.8699999999999997" x="462.4207492795389" y="347.70413064361185" width="66.97406340057637" height="60.78770413064353" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="1.5519553499999992" data-y="-4.1899999999999995" x="393.29490874159455" y="473.31412103746385" width="52.3909694524495" height="59.17387127761765" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-0.5950000000000001" data-y="-4.765000000000001" x="281.402497598463" y="504.24591738712775" width="45.18731988472621" height="59.173871277617536" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: VBUS
|
|
2
2
|
globalConnNetId: connectivity_net0" data-x="-2.87" data-y="4.115" x="176.23439000960616" y="39.99999999999993" width="10.75888568683959" height="32.276657060518716" fill="#ef444466" stroke="#ef4444" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: RAW
|
|
3
3
|
globalConnNetId: connectivity_net1" data-x="-1.725" data-y="-0.2" x="230.297790585975" y="282.8818443804034" width="25.821325648415012" height="10.758885686839562" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
4
4
|
globalConnNetId: connectivity_net2" data-x="-1.3860000000000001" data-y="-0.841" x="256.0653218059558" y="309.8328530259365" width="10.758885686839562" height="25.821325648414984" fill="#00000066" stroke="#000000" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="0.5,0.4 5.5,0.4" data-type="line" data-label="" points="120,288 520,288" fill="none" stroke="hsl(77, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5,0.2 5.5,0.2" data-type="line" data-label="" points="120,304 520,304" fill="none" stroke="hsl(78, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5,0 5.5,0" data-type="line" data-label="" points="120,320 520,320" fill="none" stroke="hsl(79, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5,-0.2 5.5,-0.2" data-type="line" data-label="" points="120,336 520,336" fill="none" stroke="hsl(80, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5,-0.4 5.5,-0.4" data-type="line" data-label="" points="120,352 520,352" fill="none" stroke="hsl(209, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5,0.6 0.5,-0.6" data-type="line" data-label="" points="120,272 120,368" fill="none" stroke="hsl(30, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5,0.6 1.201,0.6 1.201,-0.6 0.5,-0.6" data-type="line" data-label="" points="120,272 176.08,272 176.08,368 120,368" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="U1" data-x="0" data-y="0" x="40" y="240" width="80" height="160" fill="hsl(164, 100%, 50%, 0.8)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="U2" data-x="6" data-y="0" x="520" y="240" width="80" height="160" fill="hsl(165, 100%, 50%, 0.8)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="U3" data-x="1.8" data-y="0" x="204" y="200" width="40" height="240" fill="hsl(166, 100%, 50%, 0.8)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="C1" data-x="0.8" data-y="1.2" x="88" y="188" width="112" height="72" fill="hsl(326, 100%, 50%, 0.8)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="C2" data-x="0.8" data-y="-1.2" x="88" y="380" width="112" height="72" fill="hsl(327, 100%, 50%, 0.8)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: V1V1
|
|
2
|
+
globalConnNetId: connectivity_net5" data-x="0.8505" data-y="-0.39" x="124.04" y="334.4" width="48.00000000000003" height="33.60000000000002" fill="#ef444466" stroke="#ef4444" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QD0
|
|
3
|
+
globalConnNetId: connectivity_net0" data-x="0.741" data-y="0.4" x="120.07999999999998" y="280" width="38.40000000000002" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QD0
|
|
4
|
+
globalConnNetId: connectivity_net0" data-x="5.2589999999999995" data-y="0.4" x="481.52" y="280" width="38.400000000000034" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QD1
|
|
5
|
+
globalConnNetId: connectivity_net1" data-x="0.741" data-y="0.2" x="120.07999999999998" y="296" width="38.40000000000002" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QD1
|
|
6
|
+
globalConnNetId: connectivity_net1" data-x="5.2589999999999995" data-y="0.2" x="481.52" y="296" width="38.400000000000034" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QD2
|
|
7
|
+
globalConnNetId: connectivity_net2" data-x="0.741" data-y="0" x="120.07999999999998" y="312" width="38.40000000000002" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QD2
|
|
8
|
+
globalConnNetId: connectivity_net2" data-x="5.2589999999999995" data-y="0" x="481.52" y="312" width="38.400000000000034" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QD3
|
|
9
|
+
globalConnNetId: connectivity_net3" data-x="0.741" data-y="-0.2" x="120.07999999999998" y="328" width="38.40000000000002" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QD3
|
|
10
|
+
globalConnNetId: connectivity_net3" data-x="5.2589999999999995" data-y="-0.2" x="481.52" y="328" width="38.400000000000034" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QCLK
|
|
11
|
+
globalConnNetId: connectivity_net4" data-x="0.801" data-y="-0.4" x="120.08" y="344" width="47.99999999999997" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><rect data-type="rect" data-label="netId: QCLK
|
|
12
|
+
globalConnNetId: connectivity_net4" data-x="5.199" data-y="-0.4" x="471.91999999999996" y="344" width="47.99999999999994" height="16" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0125"/></g><g><circle data-type="point" data-label="U1.1
|
|
13
|
+
x+" data-x="0.5" data-y="0.6" cx="120" cy="272" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
|
|
14
|
+
x+" data-x="0.5" data-y="0.4" cx="120" cy="288" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
|
|
15
|
+
x+" data-x="0.5" data-y="0.2" cx="120" cy="304" r="3" fill="hsl(321, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.4
|
|
16
|
+
x+" data-x="0.5" data-y="0" cx="120" cy="320" r="3" fill="hsl(322, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.5
|
|
17
|
+
x+" data-x="0.5" data-y="-0.2" cx="120" cy="336" r="3" fill="hsl(323, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.6
|
|
18
|
+
x+" data-x="0.5" data-y="-0.4" cx="120" cy="352" r="3" fill="hsl(324, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.7
|
|
19
|
+
x+" data-x="0.5" data-y="-0.6" cx="120" cy="368" r="3" fill="hsl(325, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U2.1
|
|
20
|
+
x-" data-x="5.5" data-y="0.4" cx="520" cy="288" r="3" fill="hsl(200, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U2.2
|
|
21
|
+
x-" data-x="5.5" data-y="0.2" cx="520" cy="304" r="3" fill="hsl(201, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U2.3
|
|
22
|
+
x-" data-x="5.5" data-y="0" cx="520" cy="320" r="3" fill="hsl(202, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U2.4
|
|
23
|
+
x-" data-x="5.5" data-y="-0.2" cx="520" cy="336" r="3" fill="hsl(203, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U2.5
|
|
24
|
+
x-" data-x="5.5" data-y="-0.4" cx="520" cy="352" r="3" fill="hsl(204, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U3.1
|
|
25
|
+
y+" data-x="1.8" data-y="1.5" cx="224" cy="200" r="3" fill="hsl(81, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C1.1
|
|
26
|
+
y-" data-x="0.8" data-y="0.75" cx="144" cy="260" r="3" fill="hsl(121, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C2.1
|
|
27
|
+
y+" data-x="0.8" data-y="-0.75" cx="144" cy="380" r="3" fill="hsl(2, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
28
|
+
orientation: y+" data-x="0.8505" data-y="-0.6" cx="148.04000000000002" cy="368" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
29
|
+
orientation: x+" data-x="0.5" data-y="0.4" cx="120" cy="288" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
30
|
+
orientation: x-" data-x="5.5" data-y="0.4" cx="520" cy="288" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
31
|
+
orientation: x+" data-x="0.5" data-y="0.2" cx="120" cy="304" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
32
|
+
orientation: x-" data-x="5.5" data-y="0.2" cx="520" cy="304" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
33
|
+
orientation: x+" data-x="0.5" data-y="0" cx="120" cy="320" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
34
|
+
orientation: x-" data-x="5.5" data-y="0" cx="520" cy="320" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
35
|
+
orientation: x+" data-x="0.5" data-y="-0.2" cx="120" cy="336" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
36
|
+
orientation: x-" data-x="5.5" data-y="-0.2" cx="520" cy="336" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
37
|
+
orientation: x+" data-x="0.5" data-y="-0.4" cx="120" cy="352" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
38
|
+
orientation: x-" data-x="5.5" data-y="-0.4" cx="520" cy="352" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
39
|
+
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
40
|
+
const svg = e.currentTarget;
|
|
41
|
+
const rect = svg.getBoundingClientRect();
|
|
42
|
+
const x = e.clientX - rect.left;
|
|
43
|
+
const y = e.clientY - rect.top;
|
|
44
|
+
const crosshair = svg.getElementById('crosshair');
|
|
45
|
+
const h = svg.getElementById('crosshair-h');
|
|
46
|
+
const v = svg.getElementById('crosshair-v');
|
|
47
|
+
const coords = svg.getElementById('coordinates');
|
|
48
|
+
|
|
49
|
+
crosshair.style.display = 'block';
|
|
50
|
+
h.setAttribute('x1', '0');
|
|
51
|
+
h.setAttribute('x2', '640');
|
|
52
|
+
h.setAttribute('y1', y);
|
|
53
|
+
h.setAttribute('y2', y);
|
|
54
|
+
v.setAttribute('x1', x);
|
|
55
|
+
v.setAttribute('x2', x);
|
|
56
|
+
v.setAttribute('y1', '0');
|
|
57
|
+
v.setAttribute('y2', '640');
|
|
58
|
+
|
|
59
|
+
// Calculate real coordinates using inverse transformation
|
|
60
|
+
const matrix = {"a":80,"c":0,"e":80,"b":0,"d":-80,"f":320};
|
|
61
|
+
// Manually invert and apply the affine transform
|
|
62
|
+
// Since we only use translate and scale, we can directly compute:
|
|
63
|
+
// x' = (x - tx) / sx
|
|
64
|
+
// y' = (y - ty) / sy
|
|
65
|
+
const sx = matrix.a;
|
|
66
|
+
const sy = matrix.d;
|
|
67
|
+
const tx = matrix.e;
|
|
68
|
+
const ty = matrix.f;
|
|
69
|
+
const realPoint = {
|
|
70
|
+
x: (x - tx) / sx,
|
|
71
|
+
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
75
|
+
coords.setAttribute('x', (x + 5).toString());
|
|
76
|
+
coords.setAttribute('y', (y - 5).toString());
|
|
77
|
+
});
|
|
78
|
+
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
79
|
+
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
80
|
+
});
|
|
81
|
+
]]></script></svg>
|