@tscircuit/schematic-trace-solver 0.0.88 → 0.0.89

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.
Files changed (17) hide show
  1. package/dist/index.js +30 -22
  2. package/lib/solvers/Example28Solver/reroute.ts +10 -0
  3. package/package.json +1 -1
  4. package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +386 -0
  5. package/tests/bug-reports/bug-report-20260706T213649Z/bug-report-20260706T213649Z.json +1471 -0
  6. package/tests/bug-reports/bug-report-20260706T213649Z/bug-report-20260706T213649Z.test.ts +12 -0
  7. package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +251 -2097
  8. package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +123 -856
  9. package/tests/bug-reports/bug-report-20260707T134722Z/__snapshots__/bug-report-20260707T134722Z.snap.svg +72 -274
  10. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +153 -949
  11. package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +66 -217
  12. package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +113 -612
  13. package/tests/bug-reports/bug-report-20260707T141421Z/bug-report-20260707T141421Z.test.ts +11 -0
  14. package/tests/examples/__snapshots__/example03.snap.svg +44 -44
  15. package/tests/examples/__snapshots__/example32.snap.svg +3 -3
  16. package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +87 -283
  17. package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +117 -469
@@ -1,5 +1,7 @@
1
1
  import { expect, test } from "bun:test"
2
+ import { doesPathRunAlongChipBoundary } from "lib/solvers/Example28Solver/doesPathRunAlongChipBoundary"
2
3
  import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
4
+ import { getObstacleRects } from "lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/rect"
3
5
  import inputProblem from "./bug-report-20260707T141421Z.json"
4
6
  import "tests/fixtures/matcher"
5
7
 
@@ -8,5 +10,14 @@ test("bug-report-20260707T141421Z", () => {
8
10
 
9
11
  solver.solve()
10
12
 
13
+ const chipObstacles = getObstacleRects(solver.inputProblem)
14
+ const rLoadToC2Trace = solver.netLabelNetLabelCollisionSolver!.traces.find(
15
+ (trace) =>
16
+ trace.pinIds.includes("R_LOAD.2") && trace.pinIds.includes("C2.2"),
17
+ )
18
+
19
+ expect(
20
+ doesPathRunAlongChipBoundary(rLoadToC2Trace!.tracePath, chipObstacles),
21
+ ).toBe(false)
11
22
  expect(solver).toMatchSolverSnapshot(import.meta.path)
12
23
  })
@@ -1,46 +1,46 @@
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="-3.5005768910000006,1.4489565000000004 -0.5005768910000006,1.4489565000000004" data-type="line" data-label="" points="78.07900088054879,225.88837130377448 285.40568444070533,225.88837130377448" fill="none" stroke="hsl(340, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,1.4489565000000004 2.4994231089999994,1.4489565000000004" data-type="line" data-label="" points="78.07900088054879,225.88837130377448 492.7323680008618,225.88837130377448" fill="none" stroke="hsl(340, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.5005768910000006,1.4489565000000004 2.4994231089999994,1.4489565000000004" data-type="line" data-label="" points="285.40568444070533,225.88837130377448 492.7323680008618,225.88837130377448" fill="none" stroke="hsl(340, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,1.4489565000000004 -3.5005768910000006,-1.5510434999999996" data-type="line" data-label="" points="78.07900088054879,225.88837130377448 78.07900088054879,433.215054863931" fill="none" stroke="hsl(341, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,1.4489565000000004 -0.5005768910000006,-1.5510434999999996" data-type="line" data-label="" points="78.07900088054879,225.88837130377448 285.40568444070533,433.215054863931" fill="none" stroke="hsl(341, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,-1.5510434999999996 -0.5005768910000006,-1.5510434999999996" data-type="line" data-label="" points="78.07900088054879,433.215054863931 285.40568444070533,433.215054863931" fill="none" stroke="hsl(341, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5005768910000006,1.4485175000000003 -2.4994231089999994,-1.5514824999999997" data-type="line" data-label="" points="354.59431555929467,225.9187101084688 147.26763199913816,433.2453936686253" fill="none" stroke="hsl(342, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5005768910000006,1.4485175000000003 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="354.59431555929467,225.9187101084688 561.9209991194512,433.2453936686253" fill="none" stroke="hsl(342, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.4994231089999994,-1.5514824999999997 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="147.26763199913816,433.2453936686253 561.9209991194512,433.2453936686253" fill="none" stroke="hsl(342, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.5005768910000006,1.4485175000000003 0.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="561.9209991194512,225.9187101084688 354.59431555929467,433.2453936686253" fill="none" stroke="hsl(343, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.5005768910000006,1.4485175000000003 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="561.9209991194512,225.9187101084688 561.9209991194512,433.2453936686253" fill="none" stroke="hsl(343, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5005768910000006,-1.5514824999999997 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="354.59431555929467,433.2453936686253 561.9209991194512,433.2453936686253" fill="none" stroke="hsl(343, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,-1.5510434999999996 -3.7005768910000008,-1.5510434999999996 -3.7005768910000008,-1.9246184999999991 -0.7005768910000008,-1.9246184999999991 -0.7005768910000008,-1.5510434999999996 -0.5005768910000006,-1.5510434999999996" data-type="line" data-label="" points="78.07900088054879,433.215054863931 64.25722197653835,433.215054863931 64.25722197653835,459.03241013425946 271.58390553669483,459.03241013425946 271.58390553669483,433.215054863931 285.40568444070533,433.215054863931" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.5005768910000006,1.4489565000000004 -3.5005768910000006,1.6489565000000006 -4.051576891000001,1.6489565000000006 -4.051576891000001,1.0753815000000009 -0.7005768910000008,1.0753815000000009 -0.7005768910000008,1.4489565000000004 -0.5005768910000006,1.4489565000000004" data-type="line" data-label="" points="78.07900088054879,225.88837130377448 78.07900088054879,212.06659239976403 40,212.06659239976403 40,251.70572657410293 271.58390553669483,251.70572657410293 271.58390553669483,225.88837130377448 285.40568444070533,225.88837130377448" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.5005768910000006,1.4485175000000003 4.051576891000001,1.4485175000000003 4.051576891000001,-1.3514824999999995 3.5005768910000006,-1.3514824999999995 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="561.9209991194512,225.9187101084688 600,225.9187101084688 600,419.42361476461485 561.9209991194512,419.42361476461485 561.9209991194512,433.2453936686253" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-3" data-y="1.5" x="78.07900088054878" y="206.83767522258796" width="69.18863111858937" height="31.04627244750455" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="1.5" x="285.40568444070533" y="206.83767522258796" width="69.18863111858934" height="31.04627244750455" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="3" data-y="1.5" x="492.73236800086187" y="206.83767522258796" width="69.18863111858934" height="31.04627244750455" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-3" data-y="-1.5" x="78.07900088054878" y="414.16435878274444" width="69.18863111858937" height="31.046272447504577" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="0" data-y="-1.5" x="285.40568444070533" y="414.16435878274444" width="69.18863111858934" height="31.046272447504577" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="3" data-y="-1.5" x="492.73236800086187" y="414.16435878274444" width="69.18863111858934" height="31.046272447504577" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="netId: PIN1
2
- globalConnNetId: connectivity_net0" data-x="-3.7005768910000008" data-y="1.8739565000000007" x="57.346332524533125" y="180.96758986574054" width="13.821778904010444" height="31.099002534023498" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="netId: PIN1
3
- globalConnNetId: connectivity_net0" data-x="2.2734231089999994" data-y="1.4489565000000004" x="461.5642565723183" y="218.97748185176926" width="31.099002534023498" height="13.821778904010444" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="netId: PIN2
4
- globalConnNetId: connectivity_net1" data-x="-3.7265768910000006" data-y="1.4489565000000004" x="46.91088945200521" y="218.97748185176926" width="31.099002534023526" height="13.821778904010444" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="netId: PIN2
5
- globalConnNetId: connectivity_net1" data-x="-3.7005768910000008" data-y="-1.3260434999999995" x="57.346332524533125" y="402.1160523299075" width="13.821778904010444" height="31.099002534023498" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="netId: PIN3
6
- globalConnNetId: connectivity_net2" data-x="0.7265768910000006" data-y="1.4485175000000003" x="354.66342445381474" y="219.00782065646357" width="31.099002534023498" height="13.821778904010444" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="netId: PIN3
7
- globalConnNetId: connectivity_net2" data-x="-2.2734231089999994" data-y="-1.5514824999999997" x="147.3367408936582" y="426.3345042166201" width="31.099002534023498" height="13.821778904010444" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="netId: PIN3
8
- globalConnNetId: connectivity_net2" data-x="3.7265768910000006" data-y="-1.5514824999999997" x="561.9901080139714" y="426.3345042166201" width="31.099002534023498" height="13.821778904010444" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="netId: PIN4
9
- globalConnNetId: connectivity_net3" data-x="3.7005768910000008" data-y="1.6735175000000004" x="568.8318885714564" y="194.81970757444532" width="13.821778904010444" height="31.099002534023498" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014469917467857146"/></g><g><rect data-type="rect" data-label="netId: PIN4
10
- globalConnNetId: connectivity_net3" data-x="0.7265768910000006" data-y="-1.5514824999999997" x="354.66342445381474" y="426.3345042166201" width="31.099002534023498" height="13.821778904010444" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014469917467857146"/></g><g><circle data-type="point" data-label="PIN1_PIN2.1
11
- x-" data-x="-3.5005768910000006" data-y="1.4489565000000004" cx="78.07900088054879" cy="225.88837130377448" r="3" fill="hsl(328, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN2.2
12
- x-" data-x="-3.5005768910000006" data-y="1.4489565000000004" cx="78.07900088054879" cy="225.88837130377448" r="3" fill="hsl(328, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN2.3
13
- x+" data-x="-2.4994231089999994" data-y="1.4485175000000003" cx="147.26763199913816" cy="225.9187101084688" r="3" fill="hsl(328, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN2.4
14
- x+" data-x="-2.4994231089999994" data-y="1.4485175000000003" cx="147.26763199913816" cy="225.9187101084688" r="3" fill="hsl(328, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN3.1
15
- x-" data-x="-0.5005768910000006" data-y="1.4489565000000004" cx="285.40568444070533" cy="225.88837130377448" r="3" fill="hsl(208, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN3.2
16
- x-" data-x="-0.5005768910000006" data-y="1.4489565000000004" cx="285.40568444070533" cy="225.88837130377448" r="3" fill="hsl(208, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN3.3
17
- x+" data-x="0.5005768910000006" data-y="1.4485175000000003" cx="354.59431555929467" cy="225.9187101084688" r="3" fill="hsl(208, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN3.4
18
- x+" data-x="0.5005768910000006" data-y="1.4485175000000003" cx="354.59431555929467" cy="225.9187101084688" r="3" fill="hsl(208, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN4.1
19
- x-" data-x="2.4994231089999994" data-y="1.4489565000000004" cx="492.7323680008618" cy="225.88837130377448" r="3" fill="hsl(88, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN4.2
20
- x-" data-x="2.4994231089999994" data-y="1.4489565000000004" cx="492.7323680008618" cy="225.88837130377448" r="3" fill="hsl(88, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN4.3
21
- x+" data-x="3.5005768910000006" data-y="1.4485175000000003" cx="561.9209991194512" cy="225.9187101084688" r="3" fill="hsl(88, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN4.4
22
- x+" data-x="3.5005768910000006" data-y="1.4485175000000003" cx="561.9209991194512" cy="225.9187101084688" r="3" fill="hsl(88, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN3.1
23
- x-" data-x="-3.5005768910000006" data-y="-1.5510434999999996" cx="78.07900088054879" cy="433.215054863931" r="3" fill="hsl(240, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN3.2
24
- x-" data-x="-3.5005768910000006" data-y="-1.5510434999999996" cx="78.07900088054879" cy="433.215054863931" r="3" fill="hsl(240, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN3.3
25
- x+" data-x="-2.4994231089999994" data-y="-1.5514824999999997" cx="147.26763199913816" cy="433.2453936686253" r="3" fill="hsl(240, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN3.4
26
- x+" data-x="-2.4994231089999994" data-y="-1.5514824999999997" cx="147.26763199913816" cy="433.2453936686253" r="3" fill="hsl(240, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN4.1
27
- x-" data-x="-0.5005768910000006" data-y="-1.5510434999999996" cx="285.40568444070533" cy="433.215054863931" r="3" fill="hsl(120, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN4.2
28
- x-" data-x="-0.5005768910000006" data-y="-1.5510434999999996" cx="285.40568444070533" cy="433.215054863931" r="3" fill="hsl(120, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN4.3
29
- x+" data-x="0.5005768910000006" data-y="-1.5514824999999997" cx="354.59431555929467" cy="433.2453936686253" r="3" fill="hsl(120, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN4.4
30
- x+" data-x="0.5005768910000006" data-y="-1.5514824999999997" cx="354.59431555929467" cy="433.2453936686253" r="3" fill="hsl(120, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN3_PIN4.1
31
- x-" data-x="2.4994231089999994" data-y="-1.5510434999999996" cx="492.7323680008618" cy="433.215054863931" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN3_PIN4.2
32
- x-" data-x="2.4994231089999994" data-y="-1.5510434999999996" cx="492.7323680008618" cy="433.215054863931" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN3_PIN4.3
33
- x+" data-x="3.5005768910000006" data-y="-1.5514824999999997" cx="561.9209991194512" cy="433.2453936686253" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN3_PIN4.4
34
- x+" data-x="3.5005768910000006" data-y="-1.5514824999999997" cx="561.9209991194512" cy="433.2453936686253" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
35
- orientation: y+" data-x="-3.7005768910000008" data-y="1.6489565000000006" cx="64.25722197653835" cy="212.06659239976403" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
36
- orientation: x-" data-x="2.4994231089999994" data-y="1.4489565000000004" cx="492.7323680008618" cy="225.88837130377448" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
37
- orientation: x-" data-x="-3.5005768910000006" data-y="1.4489565000000004" cx="78.07900088054879" cy="225.88837130377448" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
38
- orientation: y+" data-x="-3.7005768910000008" data-y="-1.5510434999999996" cx="64.25722197653835" cy="433.215054863931" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
39
- orientation: x+" data-x="0.5005768910000006" data-y="1.4485175000000003" cx="354.59431555929467" cy="225.9187101084688" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
40
- orientation: x+" data-x="-2.4994231089999994" data-y="-1.5514824999999997" cx="147.26763199913816" cy="433.2453936686253" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
41
- orientation: x+" data-x="3.5005768910000006" data-y="-1.5514824999999997" cx="561.9209991194512" cy="433.2453936686253" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
42
- orientation: y+" data-x="3.7005768910000008" data-y="1.4485175000000003" cx="575.7427780234616" cy="225.9187101084688" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
43
- orientation: x+" data-x="0.5005768910000006" data-y="-1.5514824999999997" cx="354.59431555929467" cy="433.2453936686253" 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="-3.5005768910000006,1.4489565000000004 -0.5005768910000006,1.4489565000000004" data-type="line" data-label="" points="84.92632573929592,218.94984197672198 292.2785983821999,218.94984197672198" fill="none" stroke="hsl(340, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,1.4489565000000004 2.4994231089999994,1.4489565000000004" data-type="line" data-label="" points="84.92632573929592,218.94984197672198 499.63087102510383,218.94984197672198" fill="none" stroke="hsl(340, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.5005768910000006,1.4489565000000004 2.4994231089999994,1.4489565000000004" data-type="line" data-label="" points="292.2785983821999,218.94984197672198 499.63087102510383,218.94984197672198" fill="none" stroke="hsl(340, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,1.4489565000000004 -3.5005768910000006,-1.5510434999999996" data-type="line" data-label="" points="84.92632573929592,218.94984197672198 84.92632573929592,426.30211461962597" fill="none" stroke="hsl(341, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,1.4489565000000004 -0.5005768910000006,-1.5510434999999996" data-type="line" data-label="" points="84.92632573929592,218.94984197672198 292.2785983821999,426.30211461962597" fill="none" stroke="hsl(341, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,-1.5510434999999996 -0.5005768910000006,-1.5510434999999996" data-type="line" data-label="" points="84.92632573929592,426.30211461962597 292.2785983821999,426.30211461962597" fill="none" stroke="hsl(341, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5005768910000006,1.4485175000000003 -2.4994231089999994,-1.5514824999999997" data-type="line" data-label="" points="361.4757690364461,218.98018452595207 154.12349639354213,426.332457168856" fill="none" stroke="hsl(342, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5005768910000006,1.4485175000000003 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="361.4757690364461,218.98018452595207 568.82804167935,426.332457168856" fill="none" stroke="hsl(342, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.4994231089999994,-1.5514824999999997 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="154.12349639354213,426.332457168856 568.82804167935,426.332457168856" fill="none" stroke="hsl(342, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.5005768910000006,1.4485175000000003 0.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="568.82804167935,218.98018452595207 361.4757690364461,426.332457168856" fill="none" stroke="hsl(343, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.5005768910000006,1.4485175000000003 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="568.82804167935,218.98018452595207 568.82804167935,426.332457168856" fill="none" stroke="hsl(343, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.5005768910000006,-1.5514824999999997 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="361.4757690364461,426.332457168856 568.82804167935,426.332457168856" fill="none" stroke="hsl(343, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5005768910000006,-1.5510434999999996 -3.7005768910000008,-1.5510434999999996 -3.7005768910000008,-1.9246184999999991 -0.7005768910000008,-1.9246184999999991 -0.7005768910000008,-1.5510434999999996 -0.5005768910000006,-1.5510434999999996" data-type="line" data-label="" points="84.92632573929592,426.30211461962597 71.10284089643562,426.30211461962597 71.10284089643562,452.1226563704835 278.4551135393396,452.1226563704835 278.4551135393396,426.30211461962597 292.2785983821999,426.30211461962597" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.5005768910000006,1.4489565000000004 -3.7005768910000008,1.4489565000000004 -3.7005768910000008,1.0753815000000009 -0.7005768910000008,1.0753815000000009 -0.7005768910000008,1.4489565000000004 -0.5005768910000006,1.4489565000000004" data-type="line" data-label="" points="84.92632573929592,218.94984197672198 71.10284089643562,218.94984197672198 71.10284089643562,244.77038372757957 278.4551135393396,244.77038372757957 278.4551135393396,218.94984197672198 292.2785983821999,218.94984197672198" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.5005768910000006,1.4485175000000003 3.7005768910000008,1.4485175000000003 3.7005768910000008,-1.5514824999999997 3.5005768910000006,-1.5514824999999997" data-type="line" data-label="" points="568.82804167935,218.98018452595207 582.6515265222104,218.98018452595207 582.6515265222104,426.332457168856 568.82804167935,426.332457168856" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-3" data-y="1.5" x="84.9263257392959" y="199.89679458295933" width="69.19717065424621" height="31.050104301759973" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="1.5" x="292.2785983821999" y="199.89679458295933" width="69.19717065424618" height="31.050104301759973" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="3" data-y="1.5" x="499.6308710251039" y="199.89679458295933" width="69.19717065424618" height="31.050104301759973" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-3" data-y="-1.5" x="84.9263257392959" y="407.2490672258633" width="69.19717065424621" height="31.050104301759973" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="0" data-y="-1.5" x="292.2785983821999" y="407.2490672258633" width="69.19717065424618" height="31.050104301759973" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="3" data-y="-1.5" x="499.6308710251039" y="407.2490672258633" width="69.19717065424618" height="31.050104301759973" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="netId: PIN1
2
+ globalConnNetId: connectivity_net0" data-x="-3.925576891000001" data-y="1.2489565000000007" x="40" y="225.8615843981521" width="31.102840896435623" height="13.823484842860267" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="netId: PIN1
3
+ globalConnNetId: connectivity_net0" data-x="2.2734231089999994" data-y="1.4489565000000004" x="468.45891270445395" y="212.03809955529186" width="31.102840896435623" height="13.823484842860239" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="netId: PIN2
4
+ globalConnNetId: connectivity_net1" data-x="-3.7265768910000006" data-y="1.4489565000000004" x="53.754367418645984" y="212.03809955529186" width="31.102840896435623" height="13.823484842860239" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="netId: PIN2
5
+ globalConnNetId: connectivity_net1" data-x="-3.7005768910000008" data-y="-1.3260434999999995" x="64.19109847500549" y="395.19927372319034" width="13.823484842860267" height="31.102840896435623" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="netId: PIN3
6
+ globalConnNetId: connectivity_net2" data-x="0.7265768910000006" data-y="1.4485175000000003" x="361.5448864606604" y="212.06844210452192" width="31.102840896435623" height="13.823484842860296" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="netId: PIN3
7
+ globalConnNetId: connectivity_net2" data-x="-2.2734231089999994" data-y="-1.5514824999999997" x="154.1926138177564" y="419.4207147474259" width="31.102840896435595" height="13.823484842860239" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="netId: PIN3
8
+ globalConnNetId: connectivity_net2" data-x="3.7265768910000006" data-y="-1.5514824999999997" x="568.8971591035643" y="419.4207147474259" width="31.102840896435623" height="13.823484842860239" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="netId: PIN4
9
+ globalConnNetId: connectivity_net3" data-x="3.7005768910000008" data-y="1.6735175000000004" x="575.7397841007803" y="187.87734362951647" width="13.823484842860239" height="31.102840896435595" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014468131753571433"/></g><g><rect data-type="rect" data-label="netId: PIN4
10
+ globalConnNetId: connectivity_net3" data-x="0.7265768910000006" data-y="-1.5514824999999997" x="361.5448864606604" y="419.4207147474259" width="31.102840896435623" height="13.823484842860239" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014468131753571433"/></g><g><circle data-type="point" data-label="PIN1_PIN2.1
11
+ x-" data-x="-3.5005768910000006" data-y="1.4489565000000004" cx="84.92632573929592" cy="218.94984197672198" r="3" fill="hsl(328, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN2.2
12
+ x-" data-x="-3.5005768910000006" data-y="1.4489565000000004" cx="84.92632573929592" cy="218.94984197672198" r="3" fill="hsl(328, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN2.3
13
+ x+" data-x="-2.4994231089999994" data-y="1.4485175000000003" cx="154.12349639354213" cy="218.98018452595207" r="3" fill="hsl(328, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN2.4
14
+ x+" data-x="-2.4994231089999994" data-y="1.4485175000000003" cx="154.12349639354213" cy="218.98018452595207" r="3" fill="hsl(328, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN3.1
15
+ x-" data-x="-0.5005768910000006" data-y="1.4489565000000004" cx="292.2785983821999" cy="218.94984197672198" r="3" fill="hsl(208, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN3.2
16
+ x-" data-x="-0.5005768910000006" data-y="1.4489565000000004" cx="292.2785983821999" cy="218.94984197672198" r="3" fill="hsl(208, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN3.3
17
+ x+" data-x="0.5005768910000006" data-y="1.4485175000000003" cx="361.4757690364461" cy="218.98018452595207" r="3" fill="hsl(208, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN3.4
18
+ x+" data-x="0.5005768910000006" data-y="1.4485175000000003" cx="361.4757690364461" cy="218.98018452595207" r="3" fill="hsl(208, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN4.1
19
+ x-" data-x="2.4994231089999994" data-y="1.4489565000000004" cx="499.63087102510383" cy="218.94984197672198" r="3" fill="hsl(88, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN4.2
20
+ x-" data-x="2.4994231089999994" data-y="1.4489565000000004" cx="499.63087102510383" cy="218.94984197672198" r="3" fill="hsl(88, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN4.3
21
+ x+" data-x="3.5005768910000006" data-y="1.4485175000000003" cx="568.82804167935" cy="218.98018452595207" r="3" fill="hsl(88, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN1_PIN4.4
22
+ x+" data-x="3.5005768910000006" data-y="1.4485175000000003" cx="568.82804167935" cy="218.98018452595207" r="3" fill="hsl(88, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN3.1
23
+ x-" data-x="-3.5005768910000006" data-y="-1.5510434999999996" cx="84.92632573929592" cy="426.30211461962597" r="3" fill="hsl(240, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN3.2
24
+ x-" data-x="-3.5005768910000006" data-y="-1.5510434999999996" cx="84.92632573929592" cy="426.30211461962597" r="3" fill="hsl(240, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN3.3
25
+ x+" data-x="-2.4994231089999994" data-y="-1.5514824999999997" cx="154.12349639354213" cy="426.332457168856" r="3" fill="hsl(240, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN3.4
26
+ x+" data-x="-2.4994231089999994" data-y="-1.5514824999999997" cx="154.12349639354213" cy="426.332457168856" r="3" fill="hsl(240, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN4.1
27
+ x-" data-x="-0.5005768910000006" data-y="-1.5510434999999996" cx="292.2785983821999" cy="426.30211461962597" r="3" fill="hsl(120, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN4.2
28
+ x-" data-x="-0.5005768910000006" data-y="-1.5510434999999996" cx="292.2785983821999" cy="426.30211461962597" r="3" fill="hsl(120, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN4.3
29
+ x+" data-x="0.5005768910000006" data-y="-1.5514824999999997" cx="361.4757690364461" cy="426.332457168856" r="3" fill="hsl(120, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN2_PIN4.4
30
+ x+" data-x="0.5005768910000006" data-y="-1.5514824999999997" cx="361.4757690364461" cy="426.332457168856" r="3" fill="hsl(120, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN3_PIN4.1
31
+ x-" data-x="2.4994231089999994" data-y="-1.5510434999999996" cx="499.63087102510383" cy="426.30211461962597" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN3_PIN4.2
32
+ x-" data-x="2.4994231089999994" data-y="-1.5510434999999996" cx="499.63087102510383" cy="426.30211461962597" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN3_PIN4.3
33
+ x+" data-x="3.5005768910000006" data-y="-1.5514824999999997" cx="568.82804167935" cy="426.332457168856" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PIN3_PIN4.4
34
+ x+" data-x="3.5005768910000006" data-y="-1.5514824999999997" cx="568.82804167935" cy="426.332457168856" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
35
+ orientation: x-" data-x="-3.7005768910000008" data-y="1.2489565000000007" cx="71.10284089643562" cy="232.77332681958222" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
36
+ orientation: x-" data-x="2.4994231089999994" data-y="1.4489565000000004" cx="499.63087102510383" cy="218.94984197672198" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
37
+ orientation: x-" data-x="-3.5005768910000006" data-y="1.4489565000000004" cx="84.92632573929592" cy="218.94984197672198" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
38
+ orientation: y+" data-x="-3.7005768910000008" data-y="-1.5510434999999996" cx="71.10284089643562" cy="426.30211461962597" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
39
+ orientation: x+" data-x="0.5005768910000006" data-y="1.4485175000000003" cx="361.4757690364461" cy="218.98018452595207" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
40
+ orientation: x+" data-x="-2.4994231089999994" data-y="-1.5514824999999997" cx="154.12349639354213" cy="426.332457168856" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
41
+ orientation: x+" data-x="3.5005768910000006" data-y="-1.5514824999999997" cx="568.82804167935" cy="426.332457168856" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
42
+ orientation: y+" data-x="3.7005768910000008" data-y="1.4485175000000003" cx="582.6515265222104" cy="218.98018452595207" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
43
+ orientation: x+" data-x="0.5005768910000006" data-y="-1.5514824999999997" cx="361.4757690364461" cy="426.332457168856" 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[
44
44
  document.currentScript.parentElement.addEventListener('mousemove', (e) => {
45
45
  const svg = e.currentTarget;
46
46
  const rect = svg.getBoundingClientRect();
@@ -62,7 +62,7 @@ orientation: x+" data-x="0.5005768910000006" data-y="-1.5514824999999997" cx="35
62
62
  v.setAttribute('y2', '640');
63
63
 
64
64
  // Calculate real coordinates using inverse transformation
65
- const matrix = {"a":69.10889452005217,"c":0,"e":320,"b":0,"d":-69.10889452005217,"f":326.0241532264185};
65
+ const matrix = {"a":69.11742421430132,"c":0,"e":326.877183709323,"b":0,"d":-69.11742421430132,"f":319.0979830552913};
66
66
  // Manually invert and apply the affine transform
67
67
  // Since we only use translate and scale, we can directly compute:
68
68
  // x' = (x - tx) / sx
@@ -1,7 +1,7 @@
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="64.78021978021977,151.31868131868134 179.89010989010987,149.67032967032966" 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="327.14285714285717,171.64835164835165 500.2197802197803,232.08791208791212" 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="327.14285714285717,182.63736263736266 327.14285714285717,193.6263736263736" 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="478.24175824175825,396.92307692307696 526.868131868132,396.92307692307696" 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="116.97802197802196,151.31868131868134 176.04395604395603,232.08791208791212" 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="459.0109890109891,193.6263736263736 560.6593406593407,232.08791208791212" 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="221.64835164835165,149.67032967032966 115.60439560439559,232.08791208791212" 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="327.14285714285717,160.65934065934067 459.0109890109891,160.65934065934067" 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="327.14285714285717,182.63736263736266 316.15384615384613,182.63736263736266 316.15384615384613,193.6263736263736 327.14285714285717,193.6263736263736" 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="170.54945054945054,396.92307692307696 121.09890109890108,396.92307692307696" 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="478.24175824175825,396.92307692307696 526.868131868132,396.92307692307696" 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="230.98901098901098,396.92307692307696 241.97802197802196,396.92307692307696 241.97802197802196,438.1318681318682 104.61538461538458,438.1318681318682 104.61538461538458,479.3406593406594 115.60439560439559,479.3406593406594" 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="459.0109890109891,193.6263736263736 571.6483516483518,193.6263736263736 571.6483516483518,232.08791208791212 560.6593406593407,232.08791208791212" 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="327.14285714285717,160.65934065934067 316.15384615384613,160.65934065934067 316.15384615384613,138.68131868131866 470.00000000000006,138.68131868131866 470.00000000000006,160.65934065934067 459.0109890109891,160.65934065934067" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.525,2.9699999999999998 -3.525,2.8 -2.415,2.8 -2.415,1.5 -2.45,1.5" data-type="line" data-label="" points="116.97802197802196,151.31868131868134 116.97802197802196,160.65934065934067 177.96703296703296,160.65934065934067 177.96703296703296,232.08791208791212 176.04395604395603,232.08791208791212" 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="176.04395604395603,479.3406593406594 181.59340659340657,479.3406593406594 181.59340659340657,504.1208791208792" 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.9560439560439,396.92307692307696 594.5054945054945,396.92307692307696 594.5054945054945,416.20879120879124" 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="221.64835164835165,149.67032967032966 227.1978021978022,149.67032967032966 227.1978021978022,135.87912087912088" 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="115.60439560439559,232.08791208791212 110.05494505494505,232.08791208791212 110.05494505494505,207.30769230769232" 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="60.659340659340586,396.92307692307696 55.109890109890046,396.92307692307696 55.109890109890046,385.87912087912093" 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="64.78021978021975" y="141.7032967032967" width="52.19780219780219" height="15.934065934065927" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2" data-y="3" x="179.8901098901099" y="135.93406593406593" width="41.75824175824178" height="27.472527472527474" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-3" data-y="1.5" x="115.60439560439558" y="209.01098901098902" width="60.43956043956044" height="46.15384615384616" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.5" data-y="2.5" x="327.1428571428571" y="149.67032967032964" width="131.8681318681319" height="54.94505494505498" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="4" data-y="1.5" x="500.2197802197803" y="209.01098901098902" width="60.43956043956041" height="46.15384615384616" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-4" data-y="-1.5" x="60.6593406593406" y="386.2387170329671" width="60.439560439560495" height="21.36871978021975" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-2" data-y="-1.5" x="170.54945054945057" y="386.2387170329671" width="60.43956043956044" height="21.36871978021975" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-3" data-y="-3" x="115.60439560439558" y="456.2637362637363" width="60.43956043956044" height="46.15384615384619" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="2.5" data-y="-1.5" x="417.80219780219784" y="386.2387170329671" width="60.43956043956041" height="21.36871978021975" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="4.5" data-y="-1.5" x="526.868131868132" y="379.06593406593413" width="62.087912087911945" height="35.71428571428572" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="netId: .B1 &gt; .pin1 to .SW1 &gt; .pin1
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="64.78021978021977,151.31868131868134 179.89010989010987,149.67032967032966" 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="327.14285714285717,171.64835164835165 500.2197802197803,232.08791208791212" 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="327.14285714285717,182.63736263736266 327.14285714285717,193.6263736263736" 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="478.24175824175825,396.92307692307696 526.868131868132,396.92307692307696" 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="116.97802197802196,151.31868131868134 176.04395604395603,232.08791208791212" 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="459.0109890109891,193.6263736263736 560.6593406593407,232.08791208791212" 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="221.64835164835165,149.67032967032966 115.60439560439559,232.08791208791212" 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="327.14285714285717,160.65934065934067 459.0109890109891,160.65934065934067" 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="327.14285714285717,182.63736263736266 316.15384615384613,182.63736263736266 316.15384615384613,193.6263736263736 327.14285714285717,193.6263736263736" 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="170.54945054945054,396.92307692307696 121.09890109890108,396.92307692307696" 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="478.24175824175825,396.92307692307696 526.868131868132,396.92307692307696" 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="230.98901098901098,396.92307692307696 241.97802197802196,396.92307692307696 241.97802197802196,438.1318681318682 104.61538461538458,438.1318681318682 104.61538461538458,479.3406593406594 115.60439560439559,479.3406593406594" 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="459.0109890109891,193.6263736263736 571.6483516483518,193.6263736263736 571.6483516483518,232.08791208791212 560.6593406593407,232.08791208791212" 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="327.14285714285717,160.65934065934067 316.15384615384613,160.65934065934067 316.15384615384613,138.68131868131866 470.00000000000006,138.68131868131866 470.00000000000006,160.65934065934067 459.0109890109891,160.65934065934067" 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="116.97802197802196,151.31868131868134 177.96703296703296,151.31868131868134 177.96703296703296,232.08791208791212 176.04395604395603,232.08791208791212" 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="176.04395604395603,479.3406593406594 181.59340659340657,479.3406593406594 181.59340659340657,504.1208791208792" 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.9560439560439,396.92307692307696 594.5054945054945,396.92307692307696 594.5054945054945,416.20879120879124" 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="221.64835164835165,149.67032967032966 227.1978021978022,149.67032967032966 227.1978021978022,135.87912087912088" 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="115.60439560439559,232.08791208791212 110.05494505494505,232.08791208791212 110.05494505494505,207.30769230769232" 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="60.659340659340586,396.92307692307696 55.109890109890046,396.92307692307696 55.109890109890046,385.87912087912093" 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="64.78021978021975" y="141.7032967032967" width="52.19780219780219" height="15.934065934065927" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2" data-y="3" x="179.8901098901099" y="135.93406593406593" width="41.75824175824178" height="27.472527472527474" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-3" data-y="1.5" x="115.60439560439558" y="209.01098901098902" width="60.43956043956044" height="46.15384615384616" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.5" data-y="2.5" x="327.1428571428571" y="149.67032967032964" width="131.8681318681319" height="54.94505494505498" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="4" data-y="1.5" x="500.2197802197803" y="209.01098901098902" width="60.43956043956041" height="46.15384615384616" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-4" data-y="-1.5" x="60.6593406593406" y="386.2387170329671" width="60.439560439560495" height="21.36871978021975" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-2" data-y="-1.5" x="170.54945054945057" y="386.2387170329671" width="60.43956043956044" height="21.36871978021975" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-3" data-y="-3" x="115.60439560439558" y="456.2637362637363" width="60.43956043956044" height="46.15384615384619" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="2.5" data-y="-1.5" x="417.80219780219784" y="386.2387170329671" width="60.43956043956041" height="21.36871978021975" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="4.5" data-y="-1.5" x="526.868131868132" y="379.06593406593413" width="62.087912087911945" height="35.71428571428572" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="netId: .B1 &gt; .pin1 to .SW1 &gt; .pin1
2
2
  globalConnNetId: connectivity_net0" data-x="-4.701" data-y="2.9699999999999998" x="40.00000000000003" y="145.82417582417582" width="24.725274725274687" height="10.989010989011007" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="netId: .B1 &gt; .pin1 to .SW1 &gt; .pin1
3
3
  globalConnNetId: connectivity_net0" data-x="-2.606" data-y="3" x="155.1098901098901" y="144.17582417582418" width="24.725274725274744" height="10.989010989011007" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="netId: GND
4
- globalConnNetId: connectivity_net6" data-x="-2.9699999999999998" data-y="2.65" x="141.97802197802196" y="160.65934065934067" width="10.989010989011007" height="16.483516483516468" fill="#00000066" stroke="#000000" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="netId: GND
4
+ globalConnNetId: connectivity_net6" data-x="-2.9699999999999998" data-y="2.82" x="141.97802197802196" y="151.31868131868134" width="10.989010989011007" height="16.483516483516468" fill="#00000066" stroke="#000000" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="netId: GND
5
5
  globalConnNetId: connectivity_net6" data-x="4.75" data-y="1.35" x="566.1538461538463" y="232.08791208791212" width="10.989010989010922" height="16.483516483516468" fill="#00000066" stroke="#000000" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="netId: GND
6
6
  globalConnNetId: connectivity_net6" data-x="-2.349" data-y="-3.6009999999999995" x="176.09890109890108" y="504.1208791208792" width="10.989010989010978" height="16.483516483516496" fill="#00000066" stroke="#000000" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="netId: GND
7
7
  globalConnNetId: connectivity_net6" data-x="5.1659999999999995" data-y="-2.001" x="589.0109890109891" y="416.20879120879124" width="10.989010989010922" height="16.483516483516496" fill="#00000066" stroke="#000000" stroke-width="0.018199999999999997"/></g><g><rect data-type="rect" data-label="netId: VCC
@@ -46,7 +46,7 @@ x-" data-x="3.935" data-y="-1.5" cx="526.868131868132" cy="396.92307692307696" r
46
46
  x+" data-x="5.0649999999999995" data-y="-1.5" cx="588.9560439560439" cy="396.92307692307696" r="3" fill="hsl(33, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
47
47
  orientation: x-" data-x="-4.475" data-y="2.9699999999999998" cx="64.78021978021977" cy="151.31868131868134" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
48
48
  orientation: x-" data-x="-2.38" data-y="3" cx="179.89010989010987" cy="149.67032967032966" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
49
- orientation: y-" data-x="-2.9699999999999998" data-y="2.8" cx="147.47252747252747" cy="160.65934065934067" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
49
+ orientation: y-" data-x="-2.9699999999999998" data-y="2.9699999999999998" cx="147.47252747252747" cy="151.31868131868134" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
50
50
  orientation: y-" data-x="4.75" data-y="1.5" cx="571.6483516483518" cy="232.08791208791212" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
51
51
  orientation: y-" data-x="-2.349" data-y="-3.4509999999999996" cx="181.59340659340657" cy="504.1208791208792" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
52
52
  orientation: y-" data-x="5.1659999999999995" data-y="-1.851" cx="594.5054945054945" cy="416.20879120879124" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint