@tscircuit/schematic-trace-solver 0.0.26 → 0.0.28

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 (34) hide show
  1. package/dist/index.d.ts +5 -0
  2. package/dist/index.js +114 -4
  3. package/lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/SingleNetLabelPlacementSolver.ts +11 -0
  4. package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver/SchematicTraceSingleLineSolver.ts +40 -1
  5. package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver/getRestrictedCenterLines.ts +139 -0
  6. package/package.json +1 -1
  7. package/site/SchematicTracePipelineSolver/SchematicTracePipelineSolver01.page.tsx +143 -0
  8. package/site/SingleNetLabelPlacementSolver/SingleNetLabelPlacementSolver01.page.tsx +574 -0
  9. package/site/examples/example11.page.tsx +1 -1
  10. package/site/examples/example12.page.tsx +1 -1
  11. package/site/examples/example13.page.tsx +219 -0
  12. package/site/examples/example14.page.tsx +210 -0
  13. package/tests/examples/__snapshots__/example01.snap.svg +4 -4
  14. package/tests/examples/__snapshots__/example02.snap.svg +4 -4
  15. package/tests/examples/__snapshots__/example03.snap.svg +68 -68
  16. package/tests/examples/__snapshots__/example04.snap.svg +12 -12
  17. package/tests/examples/__snapshots__/example05.snap.svg +1 -1
  18. package/tests/examples/__snapshots__/example06.snap.svg +11 -11
  19. package/tests/examples/__snapshots__/example07.snap.svg +48 -48
  20. package/tests/examples/__snapshots__/example08.snap.svg +25 -25
  21. package/tests/examples/__snapshots__/example09.snap.svg +131 -131
  22. package/tests/examples/__snapshots__/example10.snap.svg +26 -26
  23. package/tests/examples/__snapshots__/example11.snap.svg +162 -0
  24. package/tests/examples/__snapshots__/example12.snap.svg +145 -0
  25. package/tests/examples/__snapshots__/example13.snap.svg +322 -0
  26. package/tests/examples/__snapshots__/example14.snap.svg +213 -0
  27. package/tests/examples/__snapshots__/example15.snap.svg +235 -0
  28. package/tests/examples/example11.test.tsx +12 -0
  29. package/tests/examples/example12.test.tsx +12 -0
  30. package/tests/examples/example13.test.tsx +12 -0
  31. package/tests/examples/example14.test.tsx +12 -0
  32. package/tests/examples/example15.test.tsx +187 -0
  33. package/tests/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/SingleNetLabelPlacementSolver01.test.ts +13 -0
  34. package/tests/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver_repro03.test.ts +0 -0
@@ -2,147 +2,147 @@
2
2
  <rect width="100%" height="100%" fill="white" />
3
3
  <g>
4
4
  <circle data-type="point" data-label="U3.8
5
- x-" data-x="-1.4" data-y="0.42500000000000004" cx="179.40828494934013" cy="361.51936200417583" r="3" fill="hsl(88, 100%, 50%, 0.8)" />
5
+ x-" data-x="-1.4" data-y="0.42500000000000004" cx="177.95207620854734" cy="361.0856657006556" r="3" fill="hsl(88, 100%, 50%, 0.8)" />
6
6
  </g>
7
7
  <g>
8
8
  <circle data-type="point" data-label="U3.4
9
- x-" data-x="-1.4" data-y="-0.42500000000000004" cx="179.40828494934013" cy="462.0115589566159" r="3" fill="hsl(84, 100%, 50%, 0.8)" />
9
+ x-" data-x="-1.4" data-y="-0.42500000000000004" cx="177.95207620854734" cy="460.5281573530356" r="3" fill="hsl(84, 100%, 50%, 0.8)" />
10
10
  </g>
11
11
  <g>
12
12
  <circle data-type="point" data-label="U3.1
13
- x+" data-x="1.4" data-y="0.5" cx="510.44140432208394" cy="352.65240344954873" r="3" fill="hsl(81, 100%, 50%, 0.8)" />
13
+ x+" data-x="1.4" data-y="0.5" cx="505.5273428281519" cy="352.31132820191624" r="3" fill="hsl(81, 100%, 50%, 0.8)" />
14
14
  </g>
15
15
  <g>
16
16
  <circle data-type="point" data-label="U3.6
17
- x+" data-x="1.4" data-y="0.30000000000000004" cx="510.44140432208394" cy="376.29762626188756" r="3" fill="hsl(86, 100%, 50%, 0.8)" />
17
+ x+" data-x="1.4" data-y="0.30000000000000004" cx="505.5273428281519" cy="375.70956153188797" r="3" fill="hsl(86, 100%, 50%, 0.8)" />
18
18
  </g>
19
19
  <g>
20
20
  <circle data-type="point" data-label="U3.5
21
- x+" data-x="1.4" data-y="0.10000000000000009" cx="510.44140432208394" cy="399.94284907422644" r="3" fill="hsl(85, 100%, 50%, 0.8)" />
21
+ x+" data-x="1.4" data-y="0.10000000000000009" cx="505.5273428281519" cy="399.10779486185976" r="3" fill="hsl(85, 100%, 50%, 0.8)" />
22
22
  </g>
23
23
  <g>
24
24
  <circle data-type="point" data-label="U3.2
25
- x+" data-x="1.4" data-y="-0.09999999999999998" cx="510.44140432208394" cy="423.5880718865653" r="3" fill="hsl(82, 100%, 50%, 0.8)" />
25
+ x+" data-x="1.4" data-y="-0.09999999999999998" cx="505.5273428281519" cy="422.5060281918315" r="3" fill="hsl(82, 100%, 50%, 0.8)" />
26
26
  </g>
27
27
  <g>
28
28
  <circle data-type="point" data-label="U3.3
29
- x+" data-x="1.4" data-y="-0.3" cx="510.44140432208394" cy="447.2332946989041" r="3" fill="hsl(83, 100%, 50%, 0.8)" />
29
+ x+" data-x="1.4" data-y="-0.3" cx="505.5273428281519" cy="445.9042615218033" r="3" fill="hsl(83, 100%, 50%, 0.8)" />
30
30
  </g>
31
31
  <g>
32
32
  <circle data-type="point" data-label="U3.7
33
- x+" data-x="1.4" data-y="-0.5" cx="510.44140432208394" cy="470.878517511243" r="3" fill="hsl(87, 100%, 50%, 0.8)" />
33
+ x+" data-x="1.4" data-y="-0.5" cx="505.5273428281519" cy="469.302494851775" r="3" fill="hsl(87, 100%, 50%, 0.8)" />
34
34
  </g>
35
35
  <g>
36
36
  <circle data-type="point" data-label="C20.1
37
- y+" data-x="-2.3148566499999994" data-y="0.5512093000000002" cx="71.2483382963407" cy="346.5981269067292" r="3" fill="hsl(140, 100%, 50%, 0.8)" />
37
+ y+" data-x="-2.3148566499999994" data-y="0.5512093000000002" cx="70.92192940766586" cy="346.32029245159356" r="3" fill="hsl(140, 100%, 50%, 0.8)" />
38
38
  </g>
39
39
  <g>
40
40
  <circle data-type="point" data-label="C20.2
41
- y-" data-x="-2.31430995" data-y="-0.5512093000000002" cx="71.31297251289817" cy="476.9327940540625" r="3" fill="hsl(141, 100%, 50%, 0.8)" />
41
+ y-" data-x="-2.31430995" data-y="-0.5512093000000002" cx="70.98588847847327" cy="475.2935306020977" r="3" fill="hsl(141, 100%, 50%, 0.8)" />
42
42
  </g>
43
43
  <g>
44
44
  <circle data-type="point" data-label="R11.1
45
- y+" data-x="1.7580660749999977" data-y="2.3025814000000002" cx="552.7741649466568" cy="139.5402092476603" r="3" fill="hsl(125, 100%, 50%, 0.8)" />
45
+ y+" data-x="1.7580660749999977" data-y="2.3025814000000002" cx="547.4179106801375" cy="141.42522723458046" r="3" fill="hsl(125, 100%, 50%, 0.8)" />
46
46
  </g>
47
47
  <g>
48
48
  <circle data-type="point" data-label="R11.2
49
- y-" data-x="1.757519574999999" data-y="1.2" cx="552.7095543753222" cy="269.89412360636277" r="3" fill="hsl(126, 100%, 50%, 0.8)" />
49
+ y-" data-x="1.757519574999999" data-y="1.2" cx="547.3539750075635" cy="270.4175115470151" r="3" fill="hsl(126, 100%, 50%, 0.8)" />
50
50
  </g>
51
51
  <g>
52
- <circle data-type="point" data-label="" data-x="-1.8574283249999997" data-y="0.7512093000000004" cx="125.32831162284043" cy="322.9529040943903" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
52
+ <circle data-type="point" data-label="" data-x="-1.8574283249999997" data-y="0.7512093000000004" cx="124.4370028081066" cy="322.9220591216218" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
53
53
  </g>
54
54
  <g>
55
- <circle data-type="point" data-label="" data-x="1.5999999999999999" data-y="-0.3" cx="534.0866271344228" cy="447.2332946989041" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
55
+ <circle data-type="point" data-label="" data-x="1.5999999999999999" data-y="-0.3" cx="528.9255761581237" cy="445.9042615218033" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
56
56
  </g>
57
57
  <g>
58
- <circle data-type="point" data-label="" data-x="1.7580660749999977" data-y="2.3025814000000002" cx="552.7741649466568" cy="139.5402092476603" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
58
+ <circle data-type="point" data-label="" data-x="1.7580660749999977" data-y="2.3025814000000002" cx="547.4179106801375" cy="141.42522723458046" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
59
59
  </g>
60
60
  <g>
61
- <circle data-type="point" data-label="" data-x="-2.31430995" data-y="-0.7512093000000004" cx="71.31297251289817" cy="500.5780168664014" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
61
+ <circle data-type="point" data-label="" data-x="-2.31430995" data-y="-0.7512093000000004" cx="70.98588847847327" cy="498.6917639320694" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
62
62
  </g>
63
63
  <g>
64
- <circle data-type="point" data-label="" data-x="1.757519574999999" data-y="0.85" cx="552.7095543753222" cy="311.2732635279558" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
64
+ <circle data-type="point" data-label="" data-x="1.757519574999999" data-y="0.85" cx="547.3539750075635" cy="311.3644198744657" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
65
65
  </g>
66
66
  <g>
67
- <polyline data-points="-2.3148566499999994,0.5512093000000002 -1.4,0.42500000000000004" data-type="line" data-label="" points="71.2483382963407,346.5981269067292 179.40828494934013,361.51936200417583" fill="none" stroke="hsl(256, 100%, 50%, 0.8)" stroke-width="1" />
67
+ <polyline data-points="-2.3148566499999994,0.5512093000000002 -1.4,0.42500000000000004" data-type="line" data-label="" points="70.92192940766586,346.32029245159356 177.95207620854734,361.0856657006556" fill="none" stroke="hsl(256, 100%, 50%, 0.8)" stroke-width="1" />
68
68
  </g>
69
69
  <g>
70
- <polyline data-points="-2.31430995,-0.5512093000000002 -1.4,-0.42500000000000004" data-type="line" data-label="" points="71.31297251289817,476.9327940540625 179.40828494934013,462.0115589566159" fill="none" stroke="hsl(256, 100%, 50%, 0.8)" stroke-width="1" />
70
+ <polyline data-points="-2.31430995,-0.5512093000000002 -1.4,-0.42500000000000004" data-type="line" data-label="" points="70.98588847847327,475.2935306020977 177.95207620854734,460.5281573530356" fill="none" stroke="hsl(256, 100%, 50%, 0.8)" stroke-width="1" />
71
71
  </g>
72
72
  <g>
73
- <polyline data-points="1.757519574999999,1.2 1.4,0.5" data-type="line" data-label="" points="552.7095543753222,269.89412360636277 510.44140432208394,352.65240344954873" fill="none" stroke="hsl(144, 100%, 50%, 0.8)" stroke-width="1" />
73
+ <polyline data-points="1.757519574999999,1.2 1.4,0.5" data-type="line" data-label="" points="547.3539750075635,270.4175115470151 505.5273428281519,352.31132820191624" fill="none" stroke="hsl(144, 100%, 50%, 0.8)" stroke-width="1" />
74
74
  </g>
75
75
  <g>
76
- <polyline data-points="-1.4,0.42500000000000004 1.4,-0.3" data-type="line" data-label="" points="179.40828494934013,361.51936200417583 510.44140432208394,447.2332946989041" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
76
+ <polyline data-points="-1.4,0.42500000000000004 1.4,-0.3" data-type="line" data-label="" points="177.95207620854734,361.0856657006556 505.5273428281519,445.9042615218033" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
77
77
  </g>
78
78
  <g>
79
- <polyline data-points="-1.4,0.42500000000000004 1.4,-0.5" data-type="line" data-label="" points="179.40828494934013,361.51936200417583 510.44140432208394,470.878517511243" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
79
+ <polyline data-points="-1.4,0.42500000000000004 1.4,-0.5" data-type="line" data-label="" points="177.95207620854734,361.0856657006556 505.5273428281519,469.302494851775" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
80
80
  </g>
81
81
  <g>
82
- <polyline data-points="-1.4,0.42500000000000004 -2.3148566499999994,0.5512093000000002" data-type="line" data-label="" points="179.40828494934013,361.51936200417583 71.2483382963407,346.5981269067292" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
82
+ <polyline data-points="-1.4,0.42500000000000004 -2.3148566499999994,0.5512093000000002" data-type="line" data-label="" points="177.95207620854734,361.0856657006556 70.92192940766586,346.32029245159356" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
83
83
  </g>
84
84
  <g>
85
- <polyline data-points="-1.4,0.42500000000000004 1.7580660749999977,2.3025814000000002" data-type="line" data-label="" points="179.40828494934013,361.51936200417583 552.7741649466568,139.5402092476603" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
85
+ <polyline data-points="-1.4,0.42500000000000004 1.7580660749999977,2.3025814000000002" data-type="line" data-label="" points="177.95207620854734,361.0856657006556 547.4179106801375,141.42522723458046" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
86
86
  </g>
87
87
  <g>
88
- <polyline data-points="1.4,-0.3 1.4,-0.5" data-type="line" data-label="" points="510.44140432208394,447.2332946989041 510.44140432208394,470.878517511243" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
88
+ <polyline data-points="1.4,-0.3 1.4,-0.5" data-type="line" data-label="" points="505.5273428281519,445.9042615218033 505.5273428281519,469.302494851775" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
89
89
  </g>
90
90
  <g>
91
- <polyline data-points="1.4,-0.3 -2.3148566499999994,0.5512093000000002" data-type="line" data-label="" points="510.44140432208394,447.2332946989041 71.2483382963407,346.5981269067292" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
91
+ <polyline data-points="1.4,-0.3 -2.3148566499999994,0.5512093000000002" data-type="line" data-label="" points="505.5273428281519,445.9042615218033 70.92192940766586,346.32029245159356" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
92
92
  </g>
93
93
  <g>
94
- <polyline data-points="1.4,-0.3 1.7580660749999977,2.3025814000000002" data-type="line" data-label="" points="510.44140432208394,447.2332946989041 552.7741649466568,139.5402092476603" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
94
+ <polyline data-points="1.4,-0.3 1.7580660749999977,2.3025814000000002" data-type="line" data-label="" points="505.5273428281519,445.9042615218033 547.4179106801375,141.42522723458046" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
95
95
  </g>
96
96
  <g>
97
- <polyline data-points="1.4,-0.5 -2.3148566499999994,0.5512093000000002" data-type="line" data-label="" points="510.44140432208394,470.878517511243 71.2483382963407,346.5981269067292" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
97
+ <polyline data-points="1.4,-0.5 -2.3148566499999994,0.5512093000000002" data-type="line" data-label="" points="505.5273428281519,469.302494851775 70.92192940766586,346.32029245159356" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
98
98
  </g>
99
99
  <g>
100
- <polyline data-points="1.4,-0.5 1.7580660749999977,2.3025814000000002" data-type="line" data-label="" points="510.44140432208394,470.878517511243 552.7741649466568,139.5402092476603" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
100
+ <polyline data-points="1.4,-0.5 1.7580660749999977,2.3025814000000002" data-type="line" data-label="" points="505.5273428281519,469.302494851775 547.4179106801375,141.42522723458046" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
101
101
  </g>
102
102
  <g>
103
- <polyline data-points="-2.3148566499999994,0.5512093000000002 1.7580660749999977,2.3025814000000002" data-type="line" data-label="" points="71.2483382963407,346.5981269067292 552.7741649466568,139.5402092476603" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
103
+ <polyline data-points="-2.3148566499999994,0.5512093000000002 1.7580660749999977,2.3025814000000002" data-type="line" data-label="" points="70.92192940766586,346.32029245159356 547.4179106801375,141.42522723458046" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
104
104
  </g>
105
105
  <g>
106
- <polyline data-points="-1.4,-0.42500000000000004 -2.31430995,-0.5512093000000002" data-type="line" data-label="" points="179.40828494934013,462.0115589566159 71.31297251289817,476.9327940540625" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
106
+ <polyline data-points="-1.4,-0.42500000000000004 -2.31430995,-0.5512093000000002" data-type="line" data-label="" points="177.95207620854734,460.5281573530356 70.98588847847327,475.2935306020977" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
107
107
  </g>
108
108
  <g>
109
- <polyline data-points="1.4,0.5 1.757519574999999,1.2" data-type="line" data-label="" points="510.44140432208394,352.65240344954873 552.7095543753222,269.89412360636277" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
109
+ <polyline data-points="1.4,0.5 1.757519574999999,1.2" data-type="line" data-label="" points="505.5273428281519,352.31132820191624 547.3539750075635,270.4175115470151" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
110
110
  </g>
111
111
  <g>
112
- <polyline data-points="-1.4,0.42500000000000004 -1.8574283249999997,0.42500000000000004 -1.8574283249999997,0.7512093000000004 -2.3148566499999994,0.7512093000000004 -2.3148566499999994,0.5512093000000002" data-type="line" data-label="" points="179.40828494934013,361.51936200417583 125.32831162284043,361.51936200417583 125.32831162284043,322.9529040943903 71.2483382963407,322.9529040943903 71.2483382963407,346.5981269067292" fill="none" stroke="purple" stroke-width="1" />
112
+ <polyline data-points="-1.4,0.42500000000000004 -1.8574283249999997,0.42500000000000004 -1.8574283249999997,0.7512093000000004 -2.3148566499999994,0.7512093000000004 -2.3148566499999994,0.5512093000000002" data-type="line" data-label="" points="177.95207620854734,361.0856657006556 124.4370028081066,361.0856657006556 124.4370028081066,322.9220591216218 70.92192940766586,322.9220591216218 70.92192940766586,346.32029245159356" fill="none" stroke="purple" stroke-width="1" />
113
113
  </g>
114
114
  <g>
115
- <polyline data-points="1.4,-0.5 1.5999999999999999,-0.5 1.5999999999999999,-0.3 1.4,-0.3" data-type="line" data-label="" points="510.44140432208394,470.878517511243 534.0866271344228,470.878517511243 534.0866271344228,447.2332946989041 510.44140432208394,447.2332946989041" fill="none" stroke="purple" stroke-width="1" />
115
+ <polyline data-points="1.4,-0.5 1.5999999999999999,-0.5 1.5999999999999999,-0.3 1.4,-0.3" data-type="line" data-label="" points="505.5273428281519,469.302494851775 528.9255761581237,469.302494851775 528.9255761581237,445.9042615218033 505.5273428281519,445.9042615218033" fill="none" stroke="purple" stroke-width="1" />
116
116
  </g>
117
117
  <g>
118
- <polyline data-points="-2.31430995,-0.5512093000000002 -2.31430995,-0.7512093000000004 -1.857154975,-0.7512093000000004 -1.857154975,-0.42500000000000004 -1.4,-0.42500000000000004" data-type="line" data-label="" points="71.31297251289817,476.9327940540625 71.31297251289817,500.5780168664014 125.36062873111914,500.5780168664014 125.36062873111914,462.0115589566159 179.40828494934013,462.0115589566159" fill="none" stroke="purple" stroke-width="1" />
118
+ <polyline data-points="-2.31430995,-0.5512093000000002 -2.31430995,-0.7512093000000004 -1.857154975,-0.7512093000000004 -1.857154975,-0.42500000000000004 -1.4,-0.42500000000000004" data-type="line" data-label="" points="70.98588847847327,475.2935306020977 70.98588847847327,498.6917639320694 124.4689823435103,498.6917639320694 124.4689823435103,460.5281573530356 177.95207620854734,460.5281573530356" fill="none" stroke="purple" stroke-width="1" />
119
119
  </g>
120
120
  <g>
121
- <polyline data-points="1.757519574999999,1.2 1.757519574999999,0.5 1.4,0.5" data-type="line" data-label="" points="552.7095543753222,269.89412360636277 552.7095543753222,352.65240344954873 510.44140432208394,352.65240344954873" fill="none" stroke="purple" stroke-width="1" />
121
+ <polyline data-points="1.757519574999999,1.2 1.757519574999999,0.5 1.4,0.5" data-type="line" data-label="" points="547.3539750075635,270.4175115470151 547.3539750075635,352.31132820191624 505.5273428281519,352.31132820191624" fill="none" stroke="purple" stroke-width="1" />
122
122
  </g>
123
123
  <g>
124
- <rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="179.40828494934013" y="329.0071806372099" width="331.03311937274384" height="165.51655968637192" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008458368169642856" />
124
+ <rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="177.95207620854734" y="328.9130948719445" width="327.5752666196046" height="163.78763330980223" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00854765388392857" />
125
125
  </g>
126
126
  <g>
127
- <rect data-type="rect" data-label="schematic_component_1" data-x="-2.3145833" data-y="0" x="40" y="346.5981269067292" width="62.561310809238904" height="130.33466714733333" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008458368169642856" />
127
+ <rect data-type="rect" data-label="schematic_component_1" data-x="-2.3145833" data-y="0" x="40" y="346.32029245159356" width="61.907817886139156" height="128.97323815050413" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00854765388392857" />
128
128
  </g>
129
129
  <g>
130
- <rect data-type="rect" data-label="schematic_component_2" data-x="1.7577928249999983" data-y="1.7512907000000002" x="534.0866271344228" y="139.5402092476603" width="37.3104650531335" height="130.35391435870247" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008458368169642856" />
130
+ <rect data-type="rect" data-label="schematic_component_2" data-x="1.7577928249999983" data-y="1.7512907000000002" x="528.9255761581237" y="141.42522723458046" width="36.92073337145359" height="128.99228431243466" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00854765388392857" />
131
131
  </g>
132
132
  <g>
133
- <rect data-type="rect" data-label="" data-x="-1.8574283249999997" data-y="0.9512093000000004" x="113.50570021667099" y="275.66245846971265" width="23.645222812338858" height="47.29044562467766" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008458368169642856" />
133
+ <rect data-type="rect" data-label="" data-x="-1.8574283249999997" data-y="0.9762093000000004" x="112.7378861431207" y="270.2760341291854" width="23.398233329971788" height="52.64602499243642" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.00854765388392857" />
134
134
  </g>
135
135
  <g>
136
- <rect data-type="rect" data-label="" data-x="1.5999999999999999" data-y="-0.09999999999999998" x="522.2640157282533" y="399.94284907422644" width="23.645222812338943" height="47.29044562467766" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008458368169642856" />
136
+ <rect data-type="rect" data-label="" data-x="1.5999999999999999" data-y="-0.07499999999999998" x="517.2264594931378" y="393.2582365293668" width="23.39823332997173" height="52.64602499243648" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.00854765388392857" />
137
137
  </g>
138
138
  <g>
139
- <rect data-type="rect" data-label="" data-x="1.7580660749999977" data-y="2.5035814000000003" x="540.9515535404873" y="92.13153750892087" width="23.645222812338943" height="47.290445624677716" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008458368169642856" />
139
+ <rect data-type="rect" data-label="" data-x="1.7580660749999977" data-y="2.5285814" x="535.7187940151516" y="88.66221107549416" width="23.39823332997173" height="52.64602499243642" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.00854765388392857" />
140
140
  </g>
141
141
  <g>
142
- <rect data-type="rect" data-label="" data-x="-2.31430995" data-y="-0.9512093000000004" x="59.4903611067287" y="500.5780168664014" width="23.645222812338886" height="47.29044562467766" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008458368169642856" />
142
+ <rect data-type="rect" data-label="" data-x="-2.31430995" data-y="-0.9762093000000004" x="59.28677181348735" y="498.6917639320694" width="23.398233329971788" height="52.64602499243642" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.00854765388392857" />
143
143
  </g>
144
144
  <g>
145
- <rect data-type="rect" data-label="" data-x="1.957519574999999" data-y="0.85" x="552.7095543753222" y="299.45065212178633" width="47.29044562467766" height="23.64522281233883" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008458368169642856" />
145
+ <rect data-type="rect" data-label="" data-x="1.982519574999999" data-y="0.85" x="547.3539750075635" y="299.6653032094798" width="52.64602499243654" height="23.39823332997173" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.00854765388392857" />
146
146
  </g>
147
147
  <g id="crosshair" style="display: none">
148
148
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -172,12 +172,12 @@ y-" data-x="1.757519574999999" data-y="1.2" cx="552.7095543753222" cy="269.89412
172
172
 
173
173
  // Calculate real coordinates using inverse transformation
174
174
  const matrix = {
175
- "a": 118.22611406169422,
175
+ "a": 116.99116664985878,
176
176
  "c": 0,
177
- "e": 344.924844635712,
177
+ "e": 341.7397095183496,
178
178
  "b": 0,
179
- "d": -118.22611406169422,
180
- "f": 411.76546048039586
179
+ "d": -116.99116664985878,
180
+ "f": 410.8069115268456
181
181
  };
182
182
  // Manually invert and apply the affine transform
183
183
  // Since we only use translate and scale, we can directly compute:
@@ -2,79 +2,79 @@
2
2
  <rect width="100%" height="100%" fill="white" />
3
3
  <g>
4
4
  <circle data-type="point" data-label="R1.1
5
- x-" data-x="3.4487093" data-y="0.0002732499999993365" cx="458.5646785230897" cy="319.9742965684508" r="3" fill="hsl(226, 100%, 50%, 0.8)" />
5
+ x-" data-x="3.4487093" data-y="0.0002732499999993365" cx="456.27559832869093" cy="319.9747211876014" r="3" fill="hsl(226, 100%, 50%, 0.8)" />
6
6
  </g>
7
7
  <g>
8
8
  <circle data-type="point" data-label="R1.2
9
- x+" data-x="4.5512907" data-y="-0.0002732499999993365" cx="562.2796850824031" cy="320.0257034315492" r="3" fill="hsl(227, 100%, 50%, 0.8)" />
9
+ x+" data-x="4.5512907" data-y="-0.0002732499999993365" cx="558.277239188265" cy="320.0252788123986" r="3" fill="hsl(227, 100%, 50%, 0.8)" />
10
10
  </g>
11
11
  <g>
12
12
  <circle data-type="point" data-label="U1.1
13
- x-" data-x="-0.6000000000000001" data-y="0.30000000000000004" cx="77.72031491759674" cy="291.7803130292294" r="3" fill="hsl(319, 100%, 50%, 0.8)" />
13
+ x-" data-x="-0.6000000000000001" data-y="0.30000000000000004" cx="81.722760811735" cy="292.2465005686907" r="3" fill="hsl(319, 100%, 50%, 0.8)" />
14
14
  </g>
15
15
  <g>
16
16
  <circle data-type="point" data-label="U1.2
17
- x-" data-x="-0.6000000000000001" data-y="0.10000000000000003" cx="77.72031491759674" cy="310.5934376764098" r="3" fill="hsl(320, 100%, 50%, 0.8)" />
17
+ x-" data-x="-0.6000000000000001" data-y="0.10000000000000003" cx="81.722760811735" cy="310.7488335228969" r="3" fill="hsl(320, 100%, 50%, 0.8)" />
18
18
  </g>
19
19
  <g>
20
20
  <circle data-type="point" data-label="U1.3
21
- x-" data-x="-0.6000000000000001" data-y="-0.09999999999999998" cx="77.72031491759674" cy="329.4065623235902" r="3" fill="hsl(321, 100%, 50%, 0.8)" />
21
+ x-" data-x="-0.6000000000000001" data-y="-0.09999999999999998" cx="81.722760811735" cy="329.2511664771031" r="3" fill="hsl(321, 100%, 50%, 0.8)" />
22
22
  </g>
23
23
  <g>
24
24
  <circle data-type="point" data-label="U1.4
25
- x-" data-x="-0.6000000000000001" data-y="-0.30000000000000004" cx="77.72031491759674" cy="348.2196869707706" r="3" fill="hsl(322, 100%, 50%, 0.8)" />
25
+ x-" data-x="-0.6000000000000001" data-y="-0.30000000000000004" cx="81.722760811735" cy="347.7534994313093" r="3" fill="hsl(322, 100%, 50%, 0.8)" />
26
26
  </g>
27
27
  <g>
28
28
  <circle data-type="point" data-label="U1.5
29
- x+" data-x="0.6000000000000001" data-y="-0.30000000000000004" cx="190.5990628006793" cy="348.2196869707706" r="3" fill="hsl(323, 100%, 50%, 0.8)" />
29
+ x+" data-x="0.6000000000000001" data-y="-0.30000000000000004" cx="192.73675853697233" cy="347.7534994313093" r="3" fill="hsl(323, 100%, 50%, 0.8)" />
30
30
  </g>
31
31
  <g>
32
32
  <circle data-type="point" data-label="U1.6
33
- x+" data-x="0.6000000000000001" data-y="-0.10000000000000003" cx="190.5990628006793" cy="329.4065623235902" r="3" fill="hsl(324, 100%, 50%, 0.8)" />
33
+ x+" data-x="0.6000000000000001" data-y="-0.10000000000000003" cx="192.73675853697233" cy="329.2511664771031" r="3" fill="hsl(324, 100%, 50%, 0.8)" />
34
34
  </g>
35
35
  <g>
36
36
  <circle data-type="point" data-label="U1.7
37
- x+" data-x="0.6000000000000001" data-y="0.09999999999999998" cx="190.5990628006793" cy="310.5934376764098" r="3" fill="hsl(325, 100%, 50%, 0.8)" />
37
+ x+" data-x="0.6000000000000001" data-y="0.09999999999999998" cx="192.73675853697233" cy="310.7488335228969" r="3" fill="hsl(325, 100%, 50%, 0.8)" />
38
38
  </g>
39
39
  <g>
40
40
  <circle data-type="point" data-label="U1.8
41
- x+" data-x="0.6000000000000001" data-y="0.30000000000000004" cx="190.5990628006793" cy="291.7803130292294" r="3" fill="hsl(326, 100%, 50%, 0.8)" />
41
+ x+" data-x="0.6000000000000001" data-y="0.30000000000000004" cx="192.73675853697233" cy="292.2465005686907" r="3" fill="hsl(326, 100%, 50%, 0.8)" />
42
42
  </g>
43
43
  <g>
44
- <circle data-type="point" data-label="" data-x="-0.6000000000000001" data-y="0.30000000000000004" cx="77.72031491759674" cy="291.7803130292294" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
44
+ <circle data-type="point" data-label="" data-x="-0.6000000000000001" data-y="0.30000000000000004" cx="81.722760811735" cy="292.2465005686907" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
45
45
  </g>
46
46
  <g>
47
- <circle data-type="point" data-label="" data-x="3.4487093" data-y="0.0002732499999993365" cx="458.5646785230897" cy="319.9742965684508" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
47
+ <circle data-type="point" data-label="" data-x="3.4487093" data-y="0.0002732499999993365" cx="456.27559832869093" cy="319.9747211876014" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
48
48
  </g>
49
49
  <g>
50
- <circle data-type="point" data-label="" data-x="0.6000000000000001" data-y="-0.10000000000000003" cx="190.5990628006793" cy="329.4065623235902" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
50
+ <circle data-type="point" data-label="" data-x="0.6000000000000001" data-y="-0.10000000000000003" cx="192.73675853697233" cy="329.2511664771031" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
51
51
  </g>
52
52
  <g>
53
- <circle data-type="point" data-label="" data-x="4.5512907" data-y="-0.0002732499999993365" cx="562.2796850824031" cy="320.0257034315492" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
53
+ <circle data-type="point" data-label="" data-x="4.5512907" data-y="-0.0002732499999993365" cx="558.277239188265" cy="320.0252788123986" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
54
54
  </g>
55
55
  <g>
56
- <polyline data-points="-0.6000000000000001,0.30000000000000004 3.4487093,0.0002732499999993365" data-type="line" data-label="" points="77.72031491759674,291.7803130292294 458.5646785230897,319.9742965684508" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
56
+ <polyline data-points="-0.6000000000000001,0.30000000000000004 3.4487093,0.0002732499999993365" data-type="line" data-label="" points="81.722760811735,292.2465005686907 456.27559832869093,319.9747211876014" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
57
57
  </g>
58
58
  <g>
59
- <polyline data-points="0.6000000000000001,-0.10000000000000003 4.5512907,-0.0002732499999993365" data-type="line" data-label="" points="190.5990628006793,329.4065623235902 562.2796850824031,320.0257034315492" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
59
+ <polyline data-points="0.6000000000000001,-0.10000000000000003 4.5512907,-0.0002732499999993365" data-type="line" data-label="" points="192.73675853697233,329.2511664771031 558.277239188265,320.0252788123986" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
60
60
  </g>
61
61
  <g>
62
- <rect data-type="rect" data-label="schematic_component_0" data-x="4" data-y="0" x="458.5646785230897" y="301.7084363106946" width="103.71500655931345" height="36.58312737861081" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01063087625" />
62
+ <rect data-type="rect" data-label="schematic_component_0" data-x="4" data-y="0" x="456.27559832869093" y="302.0106118478665" width="102.00164085957402" height="35.978776304266944" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010809447678571428" />
63
63
  </g>
64
64
  <g>
65
- <rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="0" x="77.72031491759674" y="272.96718838204896" width="112.87874788308255" height="94.06562323590208" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01063087625" />
65
+ <rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="0" x="81.722760811735" y="273.74416761448447" width="111.01399772523733" height="92.51166477103106" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010809447678571428" />
66
66
  </g>
67
67
  <g>
68
- <rect data-type="rect" data-label="" data-x="-0.801" data-y="0.30000000000000004" x="40" y="282.37375070563917" width="37.626249294360846" height="18.813124647180416" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01063087625" />
68
+ <rect data-type="rect" data-label="" data-x="-0.8260000000000001" data-y="0.30000000000000004" x="39.999999999999986" y="282.99533409158755" width="41.630249146963976" height="18.502332954206224" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.010809447678571428" />
69
69
  </g>
70
70
  <g>
71
- <rect data-type="rect" data-label="" data-x="3.2477093" data-y="0.0002732499999993365" x="420.84436360549296" y="310.5677342448606" width="37.62624929436083" height="18.813124647180473" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01063087625" />
71
+ <rect data-type="rect" data-label="" data-x="3.2227093" data-y="0.0002732499999993365" x="414.5528375169559" y="310.72355471049826" width="41.63024914696399" height="18.502332954206224" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.010809447678571428" />
72
72
  </g>
73
73
  <g>
74
- <rect data-type="rect" data-label="" data-x="0.801" data-y="-0.10000000000000003" x="190.6931284239152" y="320" width="37.62624929436083" height="18.813124647180416" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01063087625" />
74
+ <rect data-type="rect" data-label="" data-x="0.8260000000000001" data-y="-0.10000000000000003" x="192.82927020174336" y="320" width="41.63024914696396" height="18.502332954206224" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.010809447678571428" />
75
75
  </g>
76
76
  <g>
77
- <rect data-type="rect" data-label="" data-x="4.7522907000000005" data-y="-0.0002732499999993365" x="562.3737507056392" y="310.6191411079589" width="37.62624929436083" height="18.813124647180473" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01063087625" />
77
+ <rect data-type="rect" data-label="" data-x="4.7772907" data-y="-0.0002732499999993365" x="558.3697508530361" y="310.7741123352955" width="41.63024914696393" height="18.502332954206224" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.010809447678571428" />
78
78
  </g>
79
79
  <g id="crosshair" style="display: none">
80
80
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -104,11 +104,11 @@ x+" data-x="0.6000000000000001" data-y="0.30000000000000004" cx="190.59906280067
104
104
 
105
105
  // Calculate real coordinates using inverse transformation
106
106
  const matrix = {
107
- "a": 94.06562323590211,
107
+ "a": 92.51166477103108,
108
108
  "c": 0,
109
- "e": 134.15968885913802,
109
+ "e": 137.22975967435366,
110
110
  "b": 0,
111
- "d": -94.06562323590211,
111
+ "d": -92.51166477103108,
112
112
  "f": 320
113
113
  };
114
114
  // Manually invert and apply the affine transform