@tscircuit/schematic-trace-solver 0.0.27 → 0.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -0
- package/dist/index.js +177 -8
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver/SchematicTraceSingleLineSolver.ts +40 -1
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver/generateElbowVariants.ts +129 -6
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver/getRestrictedCenterLines.ts +139 -0
- package/package.json +1 -1
- package/site/SchematicTracePipelineSolver/SchematicTracePipelineSolver01.page.tsx +143 -0
- package/site/examples/example08.page.tsx +1 -1
- package/tests/examples/__snapshots__/example01.snap.svg +29 -32
- package/tests/examples/__snapshots__/example02.snap.svg +5 -5
- package/tests/examples/__snapshots__/example04.snap.svg +12 -12
- package/tests/examples/__snapshots__/example05.snap.svg +35 -35
- package/tests/examples/__snapshots__/example06.snap.svg +14 -14
- package/tests/examples/__snapshots__/example08.snap.svg +23 -29
- package/tests/examples/__snapshots__/example11.snap.svg +33 -39
- package/tests/examples/__snapshots__/example12.snap.svg +29 -32
- package/tests/examples/__snapshots__/example13.snap.svg +86 -83
- package/tests/examples/__snapshots__/example15.snap.svg +235 -0
- package/tests/examples/example15.test.tsx +187 -0
- package/tests/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver_repro03.test.ts +0 -0
|
@@ -2,259 +2,262 @@
|
|
|
2
2
|
<rect width="100%" height="100%" fill="white" />
|
|
3
3
|
<g>
|
|
4
4
|
<circle data-type="point" data-label="PWR1.7
|
|
5
|
-
x+" data-x="1.15" data-y="0.75" cx="
|
|
5
|
+
x+" data-x="1.15" data-y="0.75" cx="366.0843731431967" cy="299.2038027332145" r="3" fill="hsl(159, 100%, 50%, 0.8)" />
|
|
6
6
|
</g>
|
|
7
7
|
<g>
|
|
8
8
|
<circle data-type="point" data-label="PWR1.6
|
|
9
|
-
x+" data-x="1.15" data-y="0" cx="
|
|
9
|
+
x+" data-x="1.15" data-y="0" cx="366.0843731431967" cy="349.11467617349973" r="3" fill="hsl(158, 100%, 50%, 0.8)" />
|
|
10
10
|
</g>
|
|
11
11
|
<g>
|
|
12
12
|
<circle data-type="point" data-label="PWR1.5
|
|
13
|
-
x+" data-x="1.15" data-y="-0.75" cx="
|
|
13
|
+
x+" data-x="1.15" data-y="-0.75" cx="366.0843731431967" cy="399.02554961378496" r="3" fill="hsl(157, 100%, 50%, 0.8)" />
|
|
14
14
|
</g>
|
|
15
15
|
<g>
|
|
16
16
|
<circle data-type="point" data-label="PWR1.4
|
|
17
|
-
x-" data-x="-1.15" data-y="-1.125" cx="
|
|
17
|
+
x-" data-x="-1.15" data-y="-1.125" cx="213.0243612596554" cy="423.98098633392755" r="3" fill="hsl(156, 100%, 50%, 0.8)" />
|
|
18
18
|
</g>
|
|
19
19
|
<g>
|
|
20
20
|
<circle data-type="point" data-label="PWR1.3
|
|
21
|
-
x-" data-x="-1.15" data-y="-0.375" cx="
|
|
21
|
+
x-" data-x="-1.15" data-y="-0.375" cx="213.0243612596554" cy="374.0701128936423" r="3" fill="hsl(155, 100%, 50%, 0.8)" />
|
|
22
22
|
</g>
|
|
23
23
|
<g>
|
|
24
24
|
<circle data-type="point" data-label="PWR1.2
|
|
25
|
-
x-" data-x="-1.15" data-y="0.375" cx="
|
|
25
|
+
x-" data-x="-1.15" data-y="0.375" cx="213.0243612596554" cy="324.15923945335715" r="3" fill="hsl(154, 100%, 50%, 0.8)" />
|
|
26
26
|
</g>
|
|
27
27
|
<g>
|
|
28
28
|
<circle data-type="point" data-label="PWR1.1
|
|
29
|
-
x-" data-x="-1.15" data-y="1.125" cx="
|
|
29
|
+
x-" data-x="-1.15" data-y="1.125" cx="213.0243612596554" cy="274.2483660130719" r="3" fill="hsl(153, 100%, 50%, 0.8)" />
|
|
30
30
|
</g>
|
|
31
31
|
<g>
|
|
32
32
|
<circle data-type="point" data-label="R6.1
|
|
33
|
-
x-" data-x="-3.55" data-y="0" cx="
|
|
33
|
+
x-" data-x="-3.55" data-y="0" cx="53.30956625074273" cy="349.11467617349973" r="3" fill="hsl(351, 100%, 50%, 0.8)" />
|
|
34
34
|
</g>
|
|
35
35
|
<g>
|
|
36
36
|
<circle data-type="point" data-label="R6.2
|
|
37
|
-
x+" data-x="-2.45" data-y="0" cx="
|
|
37
|
+
x+" data-x="-2.45" data-y="0" cx="126.51218062982767" cy="349.11467617349973" r="3" fill="hsl(352, 100%, 50%, 0.8)" />
|
|
38
38
|
</g>
|
|
39
39
|
<g>
|
|
40
40
|
<circle data-type="point" data-label="R7.1
|
|
41
|
-
x-" data-x="-3.55" data-y="-1.9999999999999998" cx="
|
|
41
|
+
x-" data-x="-3.55" data-y="-1.9999999999999998" cx="53.30956625074273" cy="482.21033868092695" r="3" fill="hsl(232, 100%, 50%, 0.8)" />
|
|
42
42
|
</g>
|
|
43
43
|
<g>
|
|
44
44
|
<circle data-type="point" data-label="R7.2
|
|
45
|
-
x+" data-x="-2.45" data-y="-1.9999999999999998" cx="
|
|
45
|
+
x+" data-x="-2.45" data-y="-1.9999999999999998" cx="126.51218062982767" cy="482.21033868092695" r="3" fill="hsl(233, 100%, 50%, 0.8)" />
|
|
46
46
|
</g>
|
|
47
47
|
<g>
|
|
48
48
|
<circle data-type="point" data-label="R8.1
|
|
49
|
-
x-" data-x="-3.55" data-y="2" cx="
|
|
49
|
+
x-" data-x="-3.55" data-y="2" cx="53.30956625074273" cy="216.0190136660725" r="3" fill="hsl(113, 100%, 50%, 0.8)" />
|
|
50
50
|
</g>
|
|
51
51
|
<g>
|
|
52
52
|
<circle data-type="point" data-label="R8.2
|
|
53
|
-
x+" data-x="-2.45" data-y="2" cx="
|
|
53
|
+
x+" data-x="-2.45" data-y="2" cx="126.51218062982767" cy="216.0190136660725" r="3" fill="hsl(114, 100%, 50%, 0.8)" />
|
|
54
54
|
</g>
|
|
55
55
|
<g>
|
|
56
56
|
<circle data-type="point" data-label="C6.1
|
|
57
|
-
x-" data-x="2.45" data-y="-1.5" cx="
|
|
57
|
+
x-" data-x="2.45" data-y="-1.5" cx="452.5965537730244" cy="448.93642305407013" r="3" fill="hsl(246, 100%, 50%, 0.8)" />
|
|
58
58
|
</g>
|
|
59
59
|
<g>
|
|
60
60
|
<circle data-type="point" data-label="C6.2
|
|
61
|
-
x+" data-x="3.55" data-y="-1.5" cx="
|
|
61
|
+
x+" data-x="3.55" data-y="-1.5" cx="525.7991681521094" cy="448.93642305407013" r="3" fill="hsl(247, 100%, 50%, 0.8)" />
|
|
62
62
|
</g>
|
|
63
63
|
<g>
|
|
64
64
|
<circle data-type="point" data-label="C7.1
|
|
65
|
-
x-" data-x="2.45" data-y="0" cx="
|
|
65
|
+
x-" data-x="2.45" data-y="0" cx="452.5965537730244" cy="349.11467617349973" r="3" fill="hsl(127, 100%, 50%, 0.8)" />
|
|
66
66
|
</g>
|
|
67
67
|
<g>
|
|
68
68
|
<circle data-type="point" data-label="C7.2
|
|
69
|
-
x+" data-x="3.55" data-y="0" cx="
|
|
69
|
+
x+" data-x="3.55" data-y="0" cx="525.7991681521094" cy="349.11467617349973" r="3" fill="hsl(128, 100%, 50%, 0.8)" />
|
|
70
70
|
</g>
|
|
71
71
|
<g>
|
|
72
72
|
<circle data-type="point" data-label="LED1.1
|
|
73
|
-
x-" data-x="3.435" data-y="3" cx="
|
|
73
|
+
x-" data-x="3.435" data-y="3" cx="518.1461675579324" cy="149.4711824123589" r="3" fill="hsl(57, 100%, 50%, 0.8)" />
|
|
74
74
|
</g>
|
|
75
75
|
<g>
|
|
76
76
|
<circle data-type="point" data-label="LED1.2
|
|
77
|
-
x+" data-x="4.5649999999999995" data-y="3" cx="
|
|
77
|
+
x+" data-x="4.5649999999999995" data-y="3" cx="593.3452168746287" cy="149.4711824123589" r="3" fill="hsl(58, 100%, 50%, 0.8)" />
|
|
78
78
|
</g>
|
|
79
79
|
<g>
|
|
80
|
-
<circle data-type="point" data-label="" data-x="-
|
|
80
|
+
<circle data-type="point" data-label="" data-x="-1.3499999999999999" data-y="2.275" cx="199.7147950089127" cy="197.71836007130128" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
|
|
81
81
|
</g>
|
|
82
82
|
<g>
|
|
83
|
-
<circle data-type="point" data-label="" data-x="
|
|
83
|
+
<circle data-type="point" data-label="" data-x="3.435" data-y="3" cx="518.1461675579324" cy="149.4711824123589" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
|
|
84
84
|
</g>
|
|
85
85
|
<g>
|
|
86
|
-
<circle data-type="point" data-label="" data-x="
|
|
86
|
+
<circle data-type="point" data-label="" data-x="-2.45" data-y="2" cx="126.51218062982767" cy="216.0190136660725" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
|
|
87
87
|
</g>
|
|
88
88
|
<g>
|
|
89
|
-
<circle data-type="point" data-label="" data-x="-2.
|
|
89
|
+
<circle data-type="point" data-label="" data-x="-2.25" data-y="0" cx="139.8217468805704" cy="349.11467617349973" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
|
|
90
90
|
</g>
|
|
91
91
|
<g>
|
|
92
|
-
<circle data-type="point" data-label="" data-x="
|
|
92
|
+
<circle data-type="point" data-label="" data-x="3.75" data-y="-1.5" cx="539.1087344028521" cy="448.93642305407013" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
|
|
93
93
|
</g>
|
|
94
94
|
<g>
|
|
95
|
-
<circle data-type="point" data-label="" data-x="-2.25" data-y="-1.9999999999999998" cx="
|
|
95
|
+
<circle data-type="point" data-label="" data-x="-2.25" data-y="-1.9999999999999998" cx="139.8217468805704" cy="482.21033868092695" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
|
|
96
96
|
</g>
|
|
97
97
|
<g>
|
|
98
|
-
<circle data-type="point" data-label="" data-x="1.
|
|
98
|
+
<circle data-type="point" data-label="" data-x="1.3499999999999999" data-y="0" cx="379.3939393939394" cy="349.11467617349973" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
|
|
99
99
|
</g>
|
|
100
100
|
<g>
|
|
101
|
-
<
|
|
101
|
+
<circle data-type="point" data-label="" data-x="-1.15" data-y="-1.125" cx="213.0243612596554" cy="423.98098633392755" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
|
|
102
102
|
</g>
|
|
103
103
|
<g>
|
|
104
|
-
<polyline data-points="3.
|
|
104
|
+
<polyline data-points="-3.55,0 -1.15,1.125" data-type="line" data-label="" points="53.30956625074273,349.11467617349973 213.0243612596554,274.2483660130719" fill="none" stroke="hsl(40, 100%, 50%, 0.8)" stroke-width="1" />
|
|
105
105
|
</g>
|
|
106
106
|
<g>
|
|
107
|
-
<polyline data-points="
|
|
107
|
+
<polyline data-points="3.435,3 -2.45,2" data-type="line" data-label="" points="518.1461675579324,149.4711824123589 126.51218062982767,216.0190136660725" fill="none" stroke="hsl(224, 100%, 50%, 0.8)" stroke-width="1" />
|
|
108
108
|
</g>
|
|
109
109
|
<g>
|
|
110
|
-
<polyline data-points="-1.15,0.375 -
|
|
110
|
+
<polyline data-points="-1.15,0.375 -2.45,0" data-type="line" data-label="" points="213.0243612596554,324.15923945335715 126.51218062982767,349.11467617349973" fill="none" stroke="hsl(272, 100%, 50%, 0.8)" stroke-width="1" />
|
|
111
111
|
</g>
|
|
112
112
|
<g>
|
|
113
|
-
<polyline data-points="1.15,0.
|
|
113
|
+
<polyline data-points="-1.15,0.375 -3.55,-1.9999999999999998" data-type="line" data-label="" points="213.0243612596554,324.15923945335715 53.30956625074273,482.21033868092695" fill="none" stroke="hsl(272, 100%, 50%, 0.8)" stroke-width="1" />
|
|
114
114
|
</g>
|
|
115
115
|
<g>
|
|
116
|
-
<polyline data-points="1.15,0.75 -
|
|
116
|
+
<polyline data-points="1.15,0.75 -1.15,-0.375" data-type="line" data-label="" points="366.0843731431967,299.2038027332145 213.0243612596554,374.0701128936423" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
117
117
|
</g>
|
|
118
118
|
<g>
|
|
119
|
-
<polyline data-points="1.15,0.75
|
|
119
|
+
<polyline data-points="1.15,0.75 -2.45,-1.9999999999999998" data-type="line" data-label="" points="366.0843731431967,299.2038027332145 126.51218062982767,482.21033868092695" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
120
120
|
</g>
|
|
121
121
|
<g>
|
|
122
|
-
<polyline data-points="1.15,0.75 3.55
|
|
122
|
+
<polyline data-points="1.15,0.75 3.55,-1.5" data-type="line" data-label="" points="366.0843731431967,299.2038027332145 525.7991681521094,448.93642305407013" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
123
123
|
</g>
|
|
124
124
|
<g>
|
|
125
|
-
<polyline data-points="1.15,0.75
|
|
125
|
+
<polyline data-points="1.15,0.75 3.55,0" data-type="line" data-label="" points="366.0843731431967,299.2038027332145 525.7991681521094,349.11467617349973" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
126
126
|
</g>
|
|
127
127
|
<g>
|
|
128
|
-
<polyline data-points="
|
|
128
|
+
<polyline data-points="1.15,0.75 4.5649999999999995,3" data-type="line" data-label="" points="366.0843731431967,299.2038027332145 593.3452168746287,149.4711824123589" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
129
129
|
</g>
|
|
130
130
|
<g>
|
|
131
|
-
<polyline data-points="-1.15,-0.375
|
|
131
|
+
<polyline data-points="-1.15,-0.375 -2.45,-1.9999999999999998" data-type="line" data-label="" points="213.0243612596554,374.0701128936423 126.51218062982767,482.21033868092695" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
132
132
|
</g>
|
|
133
133
|
<g>
|
|
134
|
-
<polyline data-points="-1.15,-0.375 3.55
|
|
134
|
+
<polyline data-points="-1.15,-0.375 3.55,-1.5" data-type="line" data-label="" points="213.0243612596554,374.0701128936423 525.7991681521094,448.93642305407013" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
135
135
|
</g>
|
|
136
136
|
<g>
|
|
137
|
-
<polyline data-points="-1.15,-0.375
|
|
137
|
+
<polyline data-points="-1.15,-0.375 3.55,0" data-type="line" data-label="" points="213.0243612596554,374.0701128936423 525.7991681521094,349.11467617349973" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
138
138
|
</g>
|
|
139
139
|
<g>
|
|
140
|
-
<polyline data-points="-
|
|
140
|
+
<polyline data-points="-1.15,-0.375 4.5649999999999995,3" data-type="line" data-label="" points="213.0243612596554,374.0701128936423 593.3452168746287,149.4711824123589" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
141
141
|
</g>
|
|
142
142
|
<g>
|
|
143
|
-
<polyline data-points="-2.45,-1.9999999999999998 3.55
|
|
143
|
+
<polyline data-points="-2.45,-1.9999999999999998 3.55,-1.5" data-type="line" data-label="" points="126.51218062982767,482.21033868092695 525.7991681521094,448.93642305407013" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
144
144
|
</g>
|
|
145
145
|
<g>
|
|
146
|
-
<polyline data-points="-2.45,-1.9999999999999998
|
|
146
|
+
<polyline data-points="-2.45,-1.9999999999999998 3.55,0" data-type="line" data-label="" points="126.51218062982767,482.21033868092695 525.7991681521094,349.11467617349973" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
147
147
|
</g>
|
|
148
148
|
<g>
|
|
149
|
-
<polyline data-points="
|
|
149
|
+
<polyline data-points="-2.45,-1.9999999999999998 4.5649999999999995,3" data-type="line" data-label="" points="126.51218062982767,482.21033868092695 593.3452168746287,149.4711824123589" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
150
150
|
</g>
|
|
151
151
|
<g>
|
|
152
|
-
<polyline data-points="3.55,-1.5
|
|
152
|
+
<polyline data-points="3.55,-1.5 3.55,0" data-type="line" data-label="" points="525.7991681521094,448.93642305407013 525.7991681521094,349.11467617349973" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
153
153
|
</g>
|
|
154
154
|
<g>
|
|
155
|
-
<polyline data-points="3.55
|
|
155
|
+
<polyline data-points="3.55,-1.5 4.5649999999999995,3" data-type="line" data-label="" points="525.7991681521094,448.93642305407013 593.3452168746287,149.4711824123589" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
156
156
|
</g>
|
|
157
157
|
<g>
|
|
158
|
-
<polyline data-points="
|
|
158
|
+
<polyline data-points="3.55,0 4.5649999999999995,3" data-type="line" data-label="" points="525.7991681521094,349.11467617349973 593.3452168746287,149.4711824123589" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
159
159
|
</g>
|
|
160
160
|
<g>
|
|
161
|
-
<polyline data-points="1.15,0
|
|
161
|
+
<polyline data-points="1.15,0 -1.15,-1.125" data-type="line" data-label="" points="366.0843731431967,349.11467617349973 213.0243612596554,423.98098633392755" fill="none" stroke="hsl(111, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
162
162
|
</g>
|
|
163
163
|
<g>
|
|
164
|
-
<polyline data-points="
|
|
164
|
+
<polyline data-points="1.15,0 2.45,-1.5" data-type="line" data-label="" points="366.0843731431967,349.11467617349973 452.5965537730244,448.93642305407013" fill="none" stroke="hsl(111, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
165
165
|
</g>
|
|
166
166
|
<g>
|
|
167
|
-
<polyline data-points="-1.15
|
|
167
|
+
<polyline data-points="-1.15,-1.125 2.45,-1.5" data-type="line" data-label="" points="213.0243612596554,423.98098633392755 452.5965537730244,448.93642305407013" fill="none" stroke="hsl(111, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
168
168
|
</g>
|
|
169
169
|
<g>
|
|
170
|
-
<polyline data-points="-1.15,1.125 -3.55,
|
|
170
|
+
<polyline data-points="-1.15,1.125 -3.55,0" data-type="line" data-label="" points="213.0243612596554,274.2483660130719 53.30956625074273,349.11467617349973" fill="none" stroke="hsl(105, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
171
171
|
</g>
|
|
172
172
|
<g>
|
|
173
|
-
<polyline data-points="-1.15,1.125
|
|
173
|
+
<polyline data-points="-1.15,1.125 -3.55,2" data-type="line" data-label="" points="213.0243612596554,274.2483660130719 53.30956625074273,216.0190136660725" fill="none" stroke="hsl(105, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
174
174
|
</g>
|
|
175
175
|
<g>
|
|
176
|
-
<polyline data-points="-
|
|
176
|
+
<polyline data-points="-1.15,1.125 2.45,0" data-type="line" data-label="" points="213.0243612596554,274.2483660130719 452.5965537730244,349.11467617349973" fill="none" stroke="hsl(105, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
177
177
|
</g>
|
|
178
178
|
<g>
|
|
179
|
-
<polyline data-points="-3.55,0
|
|
179
|
+
<polyline data-points="-3.55,0 -3.55,2" data-type="line" data-label="" points="53.30956625074273,349.11467617349973 53.30956625074273,216.0190136660725" fill="none" stroke="hsl(105, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
180
180
|
</g>
|
|
181
181
|
<g>
|
|
182
|
-
<polyline data-points="-3.55,
|
|
182
|
+
<polyline data-points="-3.55,0 2.45,0" data-type="line" data-label="" points="53.30956625074273,349.11467617349973 452.5965537730244,349.11467617349973" fill="none" stroke="hsl(105, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
183
183
|
</g>
|
|
184
184
|
<g>
|
|
185
|
-
<polyline data-points="-3.55,2
|
|
185
|
+
<polyline data-points="-3.55,2 2.45,0" data-type="line" data-label="" points="53.30956625074273,216.0190136660725 452.5965537730244,349.11467617349973" fill="none" stroke="hsl(105, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
|
|
186
186
|
</g>
|
|
187
187
|
<g>
|
|
188
|
-
<polyline data-points="-
|
|
188
|
+
<polyline data-points="-1.15,1.125 -1.3499999999999999,1.125 -1.3499999999999999,2.275 2.25,2.275 2.25,0 2.45,0" data-type="line" data-label="" points="213.0243612596554,274.2483660130719 199.7147950089127,274.2483660130719 199.7147950089127,197.71836007130128 439.28698752228166,197.71836007130128 439.28698752228166,349.11467617349973 452.5965537730244,349.11467617349973" fill="none" stroke="purple" stroke-width="1" />
|
|
189
189
|
</g>
|
|
190
190
|
<g>
|
|
191
|
-
<polyline data-points="-
|
|
191
|
+
<polyline data-points="-3.55,2 -3.65,2 -3.65,1.4347276749999998 -3,1.4347276749999998 -3,1.125 -1.1500000000000004,1.125" data-type="line" data-label="" points="53.30956625074273,216.0190136660725 46.65478312537135,216.0190136660725 46.65478312537135,253.63666096256688 89.9108734402852,253.63666096256688 89.9108734402852,274.2483660130719 213.02436125965534,274.2483660130719" fill="none" stroke="purple" stroke-width="1" />
|
|
192
192
|
</g>
|
|
193
193
|
<g>
|
|
194
|
-
<polyline data-points="-3.55
|
|
194
|
+
<polyline data-points="-3.55,0 -3.75,0 -3.75,2 -3.55,2" data-type="line" data-label="" points="53.30956625074273,349.11467617349973 40,349.11467617349973 40,216.0190136660725 53.30956625074273,216.0190136660725" fill="none" stroke="purple" stroke-width="1" />
|
|
195
195
|
</g>
|
|
196
196
|
<g>
|
|
197
|
-
<polyline data-points="
|
|
197
|
+
<polyline data-points="-2.45,0 -2.25,0 -1.8,0 -1.8,0.375 -1.3499999999999999,0.375 -1.15,0.375" data-type="line" data-label="" points="126.51218062982767,349.11467617349973 139.8217468805704,349.11467617349973 169.76827094474152,349.11467617349973 169.76827094474152,324.15923945335715 199.7147950089127,324.15923945335715 213.0243612596554,324.15923945335715" fill="none" stroke="purple" stroke-width="1" />
|
|
198
198
|
</g>
|
|
199
199
|
<g>
|
|
200
|
-
<polyline data-points="1.
|
|
200
|
+
<polyline data-points="-3.55,-1.9999999999999998 -3.65,-1.9999999999999998 -3.65,-1.1127723250000003 -2.25,-1.1127723250000003 -2.25,0 -2.45,0" data-type="line" data-label="" points="53.30956625074273,482.21033868092695 46.65478312537135,482.21033868092695 46.65478312537135,423.16726108140233 139.8217468805704,423.16726108140233 139.8217468805704,349.11467617349973 126.51218062982767,349.11467617349973" fill="none" stroke="purple" stroke-width="1" />
|
|
201
201
|
</g>
|
|
202
202
|
<g>
|
|
203
|
-
<polyline data-points="
|
|
203
|
+
<polyline data-points="3.55,0 3.75,0 3.75,-1.5 3.55,-1.5" data-type="line" data-label="" points="525.7991681521094,349.11467617349973 539.1087344028521,349.11467617349973 539.1087344028521,448.93642305407013 525.7991681521094,448.93642305407013" fill="none" stroke="purple" stroke-width="1" />
|
|
204
204
|
</g>
|
|
205
205
|
<g>
|
|
206
|
-
<polyline data-points="
|
|
206
|
+
<polyline data-points="1.15,0.75 3.75,0.75 3.75,0 3.55,0" data-type="line" data-label="" points="366.0843731431967,299.2038027332145 539.1087344028521,299.2038027332145 539.1087344028521,349.11467617349973 525.7991681521094,349.11467617349973" fill="none" stroke="purple" stroke-width="1" />
|
|
207
207
|
</g>
|
|
208
208
|
<g>
|
|
209
|
-
<polyline data-points="
|
|
209
|
+
<polyline data-points="-2.45,-1.9999999999999998 -2.25,-1.9999999999999998 -1.8,-1.9999999999999998 -1.8,-0.375 -1.3499999999999999,-0.375 -1.15,-0.375" data-type="line" data-label="" points="126.51218062982767,482.21033868092695 139.8217468805704,482.21033868092695 169.76827094474152,482.21033868092695 169.76827094474152,374.0701128936423 199.7147950089127,374.0701128936423 213.0243612596554,374.0701128936423" fill="none" stroke="purple" stroke-width="1" />
|
|
210
210
|
</g>
|
|
211
211
|
<g>
|
|
212
|
-
<polyline data-points="
|
|
212
|
+
<polyline data-points="4.5649999999999995,3 4.664999999999999,3 4.664999999999999,0.36277232500000023 3.75,0.36277232500000023 3.75,0 3.55,0" data-type="line" data-label="" points="593.3452168746287,149.4711824123589 600,149.4711824123589 600,324.97296470588236 539.1087344028521,324.97296470588236 539.1087344028521,349.11467617349973 525.7991681521094,349.11467617349973" fill="none" stroke="purple" stroke-width="1" />
|
|
213
213
|
</g>
|
|
214
214
|
<g>
|
|
215
|
-
<polyline data-points="
|
|
215
|
+
<polyline data-points="1.15,0 1.3499999999999999,0 1.8,0 1.8,-1.5 2.25,-1.5 2.45,-1.5" data-type="line" data-label="" points="366.0843731431967,349.11467617349973 379.3939393939394,349.11467617349973 409.34046345811055,349.11467617349973 409.34046345811055,448.93642305407013 439.28698752228166,448.93642305407013 452.5965537730244,448.93642305407013" fill="none" stroke="purple" stroke-width="1" />
|
|
216
216
|
</g>
|
|
217
217
|
<g>
|
|
218
|
-
<rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="
|
|
218
|
+
<rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="213.0243612596554" y="224.33749257278672" width="153.06001188354128" height="249.55436720142606" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015026785714285713" />
|
|
219
219
|
</g>
|
|
220
220
|
<g>
|
|
221
|
-
<rect data-type="rect" data-label="schematic_component_1" data-x="-3" data-y="0" x="
|
|
221
|
+
<rect data-type="rect" data-label="schematic_component_1" data-x="-3" data-y="0" x="53.30956625074273" y="336.17409435531795" width="73.20261437908493" height="25.881163636363567" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015026785714285713" />
|
|
222
222
|
</g>
|
|
223
223
|
<g>
|
|
224
|
-
<rect data-type="rect" data-label="schematic_component_2" data-x="-3" data-y="-2" x="
|
|
224
|
+
<rect data-type="rect" data-label="schematic_component_2" data-x="-3" data-y="-2" x="53.30956625074273" y="469.26975686274517" width="73.20261437908493" height="25.881163636363624" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015026785714285713" />
|
|
225
225
|
</g>
|
|
226
226
|
<g>
|
|
227
|
-
<rect data-type="rect" data-label="schematic_component_3" data-x="-3" data-y="2" x="
|
|
227
|
+
<rect data-type="rect" data-label="schematic_component_3" data-x="-3" data-y="2" x="53.30956625074273" y="203.0784318478907" width="73.20261437908493" height="25.881163636363596" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015026785714285713" />
|
|
228
228
|
</g>
|
|
229
229
|
<g>
|
|
230
|
-
<rect data-type="rect" data-label="schematic_component_4" data-x="3" data-y="-1.5" x="
|
|
230
|
+
<rect data-type="rect" data-label="schematic_component_4" data-x="3" data-y="-1.5" x="452.5965537730244" y="420.98633392751043" width="73.20261437908493" height="55.90017825311946" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015026785714285713" />
|
|
231
231
|
</g>
|
|
232
232
|
<g>
|
|
233
|
-
<rect data-type="rect" data-label="schematic_component_5" data-x="3" data-y="0" x="
|
|
233
|
+
<rect data-type="rect" data-label="schematic_component_5" data-x="3" data-y="0" x="452.5965537730244" y="321.16458704694" width="73.20261437908493" height="55.90017825311941" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015026785714285713" />
|
|
234
234
|
</g>
|
|
235
235
|
<g>
|
|
236
|
-
<rect data-type="rect" data-label="schematic_component_6" data-x="4" data-y="3" x="
|
|
236
|
+
<rect data-type="rect" data-label="schematic_component_6" data-x="4" data-y="3" x="518.1461675579324" y="127.84313725490196" width="75.19904931669635" height="43.25609031491388" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015026785714285713" />
|
|
237
237
|
</g>
|
|
238
238
|
<g>
|
|
239
|
-
<rect data-type="rect" data-label="" data-x="-
|
|
239
|
+
<rect data-type="rect" data-label="" data-x="-1.3499999999999999" data-y="2.5" x="193.0600118835413" y="167.77183600713013" width="13.309566250742733" height="29.946524064171143" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.015026785714285713" />
|
|
240
240
|
</g>
|
|
241
241
|
<g>
|
|
242
|
-
<rect data-type="rect" data-label="" data-x="
|
|
242
|
+
<rect data-type="rect" data-label="" data-x="3.209" data-y="3" x="488.13309566250746" y="142.81639928698752" width="29.94652406417117" height="13.309566250742762" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.015026785714285713" />
|
|
243
243
|
</g>
|
|
244
244
|
<g>
|
|
245
|
-
<rect data-type="rect" data-label="" data-x="
|
|
245
|
+
<rect data-type="rect" data-label="" data-x="-2.224" data-y="2" x="126.57872846108137" y="209.36423054070113" width="29.946524064171143" height="13.309566250742733" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.015026785714285713" />
|
|
246
246
|
</g>
|
|
247
247
|
<g>
|
|
248
|
-
<rect data-type="rect" data-label="" data-x="-2.
|
|
248
|
+
<rect data-type="rect" data-label="" data-x="-2.25" data-y="0.225" x="133.16696375519905" y="319.1681521093286" width="13.309566250742733" height="29.946524064171115" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.015026785714285713" />
|
|
249
249
|
</g>
|
|
250
250
|
<g>
|
|
251
|
-
<rect data-type="rect" data-label="" data-x="
|
|
251
|
+
<rect data-type="rect" data-label="" data-x="3.75" data-y="-1.725" x="532.4539512774807" y="448.93642305407013" width="13.309566250742819" height="29.94652406417117" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.015026785714285713" />
|
|
252
252
|
</g>
|
|
253
253
|
<g>
|
|
254
|
-
<rect data-type="rect" data-label="" data-x="-2.25" data-y="-2.2249999999999996" x="
|
|
254
|
+
<rect data-type="rect" data-label="" data-x="-2.25" data-y="-2.2249999999999996" x="133.16696375519905" y="482.21033868092695" width="13.309566250742733" height="29.94652406417117" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.015026785714285713" />
|
|
255
255
|
</g>
|
|
256
256
|
<g>
|
|
257
|
-
<rect data-type="rect" data-label="" data-x="1.
|
|
257
|
+
<rect data-type="rect" data-label="" data-x="1.3499999999999999" data-y="0.225" x="372.739156268568" y="319.1681521093286" width="13.309566250742762" height="29.946524064171115" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.015026785714285713" />
|
|
258
|
+
</g>
|
|
259
|
+
<g>
|
|
260
|
+
<rect data-type="rect" data-label="" data-x="-1.376" data-y="-1.125" x="183.01128936423055" y="417.3262032085562" width="29.946524064171115" height="13.309566250742705" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.015026785714285713" />
|
|
258
261
|
</g>
|
|
259
262
|
<g id="crosshair" style="display: none">
|
|
260
263
|
<line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
|
|
@@ -284,12 +287,12 @@ x+" data-x="4.5649999999999995" data-y="3" cx="586.9994196169471" cy="153.430063
|
|
|
284
287
|
|
|
285
288
|
// Calculate real coordinates using inverse transformation
|
|
286
289
|
const matrix = {
|
|
287
|
-
"a":
|
|
290
|
+
"a": 66.54783125371361,
|
|
288
291
|
"c": 0,
|
|
289
|
-
"e":
|
|
292
|
+
"e": 289.55436720142603,
|
|
290
293
|
"b": 0,
|
|
291
|
-
"d": -
|
|
292
|
-
"f":
|
|
294
|
+
"d": -66.54783125371361,
|
|
295
|
+
"f": 349.11467617349973
|
|
293
296
|
};
|
|
294
297
|
// Manually invert and apply the affine transform
|
|
295
298
|
// Since we only use translate and scale, we can directly compute:
|