@tscircuit/schematic-trace-solver 0.0.28 → 0.0.30

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.
@@ -2,79 +2,73 @@
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="456.27559832869093" cy="319.9747211876014" r="3" fill="hsl(226, 100%, 50%, 0.8)" />
5
+ x-" data-x="3.4487093" data-y="0.0002732499999993365" cx="483.91452543483126" cy="319.9736231111467" 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="558.277239188265" cy="320.0252788123986" r="3" fill="hsl(227, 100%, 50%, 0.8)" />
9
+ x+" data-x="4.5512907" data-y="-0.0002732499999993365" cx="590.3469757169728" cy="320.0263768888533" 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="81.722760811735" cy="292.2465005686907" r="3" fill="hsl(319, 100%, 50%, 0.8)" />
13
+ x-" data-x="-0.6000000000000001" data-y="0.30000000000000004" cx="93.09163355664974" cy="291.0409271509183" 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="81.722760811735" cy="310.7488335228969" r="3" fill="hsl(320, 100%, 50%, 0.8)" />
17
+ x-" data-x="-0.6000000000000001" data-y="0.10000000000000003" cx="93.09163355664974" cy="310.3469757169728" 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="81.722760811735" cy="329.2511664771031" r="3" fill="hsl(321, 100%, 50%, 0.8)" />
21
+ x-" data-x="-0.6000000000000001" data-y="-0.09999999999999998" cx="93.09163355664974" cy="329.6530242830272" 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="81.722760811735" cy="347.7534994313093" r="3" fill="hsl(322, 100%, 50%, 0.8)" />
25
+ x-" data-x="-0.6000000000000001" data-y="-0.30000000000000004" cx="93.09163355664974" cy="348.9590728490817" 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="192.73675853697233" cy="347.7534994313093" r="3" fill="hsl(323, 100%, 50%, 0.8)" />
29
+ x+" data-x="0.6000000000000001" data-y="-0.30000000000000004" cx="208.9279249529764" cy="348.9590728490817" 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="192.73675853697233" cy="329.2511664771031" r="3" fill="hsl(324, 100%, 50%, 0.8)" />
33
+ x+" data-x="0.6000000000000001" data-y="-0.10000000000000003" cx="208.9279249529764" cy="329.6530242830272" 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="192.73675853697233" cy="310.7488335228969" r="3" fill="hsl(325, 100%, 50%, 0.8)" />
37
+ x+" data-x="0.6000000000000001" data-y="0.09999999999999998" cx="208.9279249529764" cy="310.3469757169728" 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="192.73675853697233" cy="292.2465005686907" r="3" fill="hsl(326, 100%, 50%, 0.8)" />
41
+ x+" data-x="0.6000000000000001" data-y="0.30000000000000004" cx="208.9279249529764" cy="291.0409271509183" 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="81.722760811735" cy="292.2465005686907" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
44
+ <circle data-type="point" data-label="" data-x="-0.7000000000000001" data-y="0.30000000000000004" cx="83.43860927362252" cy="291.0409271509183" 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="456.27559832869093" cy="319.9747211876014" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
47
+ <circle data-type="point" data-label="" data-x="1.3121773250000002" data-y="-0.10000000000000003" cx="277.6745750734401" cy="329.6530242830272" 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="192.73675853697233" cy="329.2511664771031" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
50
+ <polyline data-points="-0.6000000000000001,0.30000000000000004 3.4487093,0.0002732499999993365" data-type="line" data-label="" points="93.09163355664974,291.0409271509183 483.91452543483126,319.9736231111467" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
51
51
  </g>
52
52
  <g>
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)" />
53
+ <polyline data-points="0.6000000000000001,-0.10000000000000003 4.5512907,-0.0002732499999993365" data-type="line" data-label="" points="208.9279249529764,329.6530242830272 590.3469757169728,320.0263768888533" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
54
54
  </g>
55
55
  <g>
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" />
56
+ <polyline data-points="-0.6000000000000001,0.30000000000000004 -0.7000000000000001,0.30000000000000004 -0.7000000000000001,0.6 2.0243546500000003,0.6 2.0243546500000003,0.0002732499999993365 3.4487093000000004,0.0002732499999993365" data-type="line" data-label="" points="93.09163355664974,291.0409271509183 83.43860927362252,291.0409271509183 83.43860927362252,262.08185430183664 346.42122519390387,262.08185430183664 346.42122519390387,319.9736231111467 483.91452543483126,319.9736231111467" fill="none" stroke="purple" 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="192.73675853697233,329.2511664771031 558.277239188265,320.0252788123986" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
59
+ <polyline data-points="0.6000000000000001,-0.10000000000000003 2.0243546500000003,-0.10000000000000003 2.0243546500000003,-0.6 4.6512907,-0.6 4.6512907,-0.0002732499999993365 4.5512907,-0.0002732499999993365" data-type="line" data-label="" points="208.9279249529764,329.6530242830272 346.42122519390387,329.6530242830272 346.42122519390387,377.91814569816336 600,377.91814569816336 600,320.0263768888533 590.3469757169728,320.0263768888533" fill="none" stroke="purple" 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="456.27559832869093" y="302.0106118478665" width="102.00164085957402" height="35.978776304266944" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010809447678571428" />
62
+ <rect data-type="rect" data-label="schematic_component_0" data-x="4" data-y="0" x="483.91452543483126" y="301.22917784485446" width="106.43245028214153" height="37.541644310291076" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010359447678571429" />
63
63
  </g>
64
64
  <g>
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" />
65
+ <rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="0" x="93.09163355664974" y="271.7348785848639" width="115.83629139632667" height="96.53024283027219" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010359447678571429" />
66
66
  </g>
67
67
  <g>
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" />
68
+ <rect data-type="rect" data-label="" data-x="-0.925" data-y="0.30000000000000004" x="40" y="281.3879028678911" width="43.43860927362252" height="19.306048566054415" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.010359447678571429" />
69
69
  </g>
70
70
  <g>
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
- </g>
73
- <g>
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
- </g>
76
- <g>
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" />
71
+ <rect data-type="rect" data-label="" data-x="1.3121773250000002" data-y="0.12499999999999997" x="268.0215507904129" y="286.2144150094047" width="19.30604856605447" height="43.43860927362249" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.010359447678571429" />
78
72
  </g>
79
73
  <g id="crosshair" style="display: none">
80
74
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -104,11 +98,11 @@ x+" data-x="0.6000000000000001" data-y="0.30000000000000004" cx="192.73675853697
104
98
 
105
99
  // Calculate real coordinates using inverse transformation
106
100
  const matrix = {
107
- "a": 92.51166477103108,
101
+ "a": 96.53024283027223,
108
102
  "c": 0,
109
- "e": 137.22975967435366,
103
+ "e": 151.00977925481308,
110
104
  "b": 0,
111
- "d": -92.51166477103108,
105
+ "d": -96.53024283027223,
112
106
  "f": 320
113
107
  };
114
108
  // Manually invert and apply the affine transform
@@ -2,105 +2,99 @@
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="-1.58" data-y="0.765" cx="103.74558303886928" cy="224.94699646643113" r="3" fill="hsl(226, 100%, 50%, 0.8)" />
5
+ x-" data-x="-1.58" data-y="0.765" cx="55.09433962264151" cy="210.94339622641508" 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="-0.48" data-y="0.765" cx="259.2226148409894" cy="224.94699646643113" r="3" fill="hsl(227, 100%, 50%, 0.8)" />
9
+ x+" data-x="-0.48" data-y="0.765" cx="221.1320754716981" cy="210.94339622641508" r="3" fill="hsl(227, 100%, 50%, 0.8)" />
10
10
  </g>
11
11
  <g>
12
12
  <circle data-type="point" data-label="R2.1
13
- x-" data-x="0.48" data-y="0.765" cx="394.9116607773851" cy="224.94699646643113" r="3" fill="hsl(107, 100%, 50%, 0.8)" />
13
+ x-" data-x="0.48" data-y="0.765" cx="366.03773584905656" cy="210.94339622641508" r="3" fill="hsl(107, 100%, 50%, 0.8)" />
14
14
  </g>
15
15
  <g>
16
16
  <circle data-type="point" data-label="R2.2
17
- x+" data-x="1.58" data-y="0.765" cx="550.3886925795052" cy="224.94699646643113" r="3" fill="hsl(108, 100%, 50%, 0.8)" />
17
+ x+" data-x="1.58" data-y="0.765" cx="532.0754716981131" cy="210.94339622641508" r="3" fill="hsl(108, 100%, 50%, 0.8)" />
18
18
  </g>
19
19
  <g>
20
20
  <circle data-type="point" data-label="R3.1
21
- x-" data-x="-1.58" data-y="-0.765" cx="103.74558303886928" cy="441.2014134275618" r="3" fill="hsl(348, 100%, 50%, 0.8)" />
21
+ x-" data-x="-1.58" data-y="-0.765" cx="55.09433962264151" cy="441.88679245283015" r="3" fill="hsl(348, 100%, 50%, 0.8)" />
22
22
  </g>
23
23
  <g>
24
24
  <circle data-type="point" data-label="R3.2
25
- x+" data-x="-0.48" data-y="-0.765" cx="259.2226148409894" cy="441.2014134275618" r="3" fill="hsl(349, 100%, 50%, 0.8)" />
25
+ x+" data-x="-0.48" data-y="-0.765" cx="221.1320754716981" cy="441.88679245283015" r="3" fill="hsl(349, 100%, 50%, 0.8)" />
26
26
  </g>
27
27
  <g>
28
28
  <circle data-type="point" data-label="J1.1
29
- x-" data-x="0.5800000000000001" data-y="-0.665" cx="409.0459363957597" cy="427.0671378091873" r="3" fill="hsl(218, 100%, 50%, 0.8)" />
29
+ x-" data-x="0.5800000000000001" data-y="-0.665" cx="381.1320754716981" cy="426.7924528301886" r="3" fill="hsl(218, 100%, 50%, 0.8)" />
30
30
  </g>
31
31
  <g>
32
32
  <circle data-type="point" data-label="J1.2
33
- y-" data-x="1.03" data-y="-1.03" cx="472.6501766784452" cy="478.65724381625444" r="3" fill="hsl(219, 100%, 50%, 0.8)" />
33
+ y-" data-x="1.03" data-y="-1.03" cx="449.05660377358487" cy="481.88679245283015" r="3" fill="hsl(219, 100%, 50%, 0.8)" />
34
34
  </g>
35
35
  <g>
36
36
  <circle data-type="point" data-label="J1.3
37
- x+" data-x="1.48" data-y="-0.665" cx="536.2544169611307" cy="427.0671378091873" r="3" fill="hsl(220, 100%, 50%, 0.8)" />
37
+ x+" data-x="1.48" data-y="-0.665" cx="516.9811320754716" cy="426.7924528301886" r="3" fill="hsl(220, 100%, 50%, 0.8)" />
38
38
  </g>
39
39
  <g>
40
- <circle data-type="point" data-label="" data-x="0.27999999999999997" data-y="0.765" cx="366.64310954063603" cy="224.94699646643113" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
40
+ <circle data-type="point" data-label="" data-x="0.27999999999999997" data-y="0.665" cx="335.84905660377353" cy="226.0377358490566" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
41
41
  </g>
42
42
  <g>
43
- <circle data-type="point" data-label="" data-x="1.7800000000000002" data-y="0.765" cx="578.6572438162544" cy="224.94699646643113" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
43
+ <circle data-type="point" data-label="" data-x="1.58" data-y="0.765" cx="532.0754716981131" cy="210.94339622641508" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
44
44
  </g>
45
45
  <g>
46
- <circle data-type="point" data-label="" data-x="0.5800000000000001" data-y="-0.665" cx="409.0459363957597" cy="427.0671378091873" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
46
+ <circle data-type="point" data-label="" data-x="0.34" data-y="-0.665" cx="344.90566037735846" cy="426.7924528301886" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
47
47
  </g>
48
48
  <g>
49
- <circle data-type="point" data-label="" data-x="-1.58" data-y="0.765" cx="103.74558303886928" cy="224.94699646643113" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
49
+ <circle data-type="point" data-label="" data-x="1.63" data-y="-0.665" cx="539.6226415094338" cy="426.7924528301886" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
50
50
  </g>
51
51
  <g>
52
- <circle data-type="point" data-label="" data-x="1.48" data-y="-0.665" cx="536.2544169611307" cy="427.0671378091873" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
52
+ <polyline data-points="0.48,0.765 -0.48,-0.765" data-type="line" data-label="" points="366.03773584905656,210.94339622641508 221.1320754716981,441.88679245283015" fill="none" stroke="hsl(224, 100%, 50%, 0.8)" stroke-width="1" />
53
53
  </g>
54
54
  <g>
55
- <circle data-type="point" data-label="" data-x="-0.48" data-y="0.765" cx="259.2226148409894" cy="224.94699646643113" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
55
+ <polyline data-points="1.58,0.765 -1.58,-0.765" data-type="line" data-label="" points="532.0754716981131,210.94339622641508 55.09433962264151,441.88679245283015" fill="none" stroke="hsl(224, 100%, 50%, 0.8)" stroke-width="1" />
56
56
  </g>
57
57
  <g>
58
- <polyline data-points="0.48,0.765 -0.48,-0.765" data-type="line" data-label="" points="394.9116607773851,224.94699646643113 259.2226148409894,441.2014134275618" fill="none" stroke="hsl(224, 100%, 50%, 0.8)" stroke-width="1" />
58
+ <polyline data-points="0.5800000000000001,-0.665 -1.58,0.765" data-type="line" data-label="" points="381.1320754716981,426.7924528301886 55.09433962264151,210.94339622641508" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1" />
59
59
  </g>
60
60
  <g>
61
- <polyline data-points="1.58,0.765 -1.58,-0.765" data-type="line" data-label="" points="550.3886925795052,224.94699646643113 103.74558303886928,441.2014134275618" fill="none" stroke="hsl(224, 100%, 50%, 0.8)" stroke-width="1" />
61
+ <polyline data-points="1.48,-0.665 -0.48,0.765" data-type="line" data-label="" points="516.9811320754716,426.7924528301886 221.1320754716981,210.94339622641508" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1" />
62
62
  </g>
63
63
  <g>
64
- <polyline data-points="0.5800000000000001,-0.665 -1.58,0.765" data-type="line" data-label="" points="409.0459363957597,427.0671378091873 103.74558303886928,224.94699646643113" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1" />
64
+ <polyline data-points="0.48,0.765 0.27999999999999997,0.665 -0.1,0.665 -0.1,-0.765 -0.27999999999999997,-0.765 -0.48,-0.765" data-type="line" data-label="" points="366.03773584905656,210.94339622641508 335.84905660377353,226.0377358490566 278.49056603773585,226.0377358490566 278.49056603773585,441.88679245283015 251.32075471698113,441.88679245283015 221.1320754716981,441.88679245283015" fill="none" stroke="purple" stroke-width="1" />
65
65
  </g>
66
66
  <g>
67
- <polyline data-points="1.48,-0.665 -0.48,0.765" data-type="line" data-label="" points="536.2544169611307,427.0671378091873 259.2226148409894,224.94699646643113" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1" />
67
+ <polyline data-points="1.58,0.765 1.58,-0.1 -1.6800000000000002,-0.1 -1.6800000000000002,-0.765 -1.58,-0.765" data-type="line" data-label="" points="532.0754716981131,210.94339622641508 532.0754716981131,341.5094339622641 39.99999999999997,341.5094339622641 39.99999999999997,441.88679245283015 55.09433962264151,441.88679245283015" fill="none" stroke="purple" stroke-width="1" />
68
68
  </g>
69
69
  <g>
70
- <polyline data-points="0.48,0.765 0.27999999999999997,0.765 0,0.765 0,-0.765 -0.27999999999999997,-0.765 -0.48,-0.765" data-type="line" data-label="" points="394.9116607773851,224.94699646643113 366.64310954063603,224.94699646643113 327.0671378091873,224.94699646643113 327.0671378091873,441.2014134275618 287.4911660777385,441.2014134275618 259.2226148409894,441.2014134275618" fill="none" stroke="purple" stroke-width="1" />
70
+ <polyline data-points="0.5800000000000001,-0.665 0.1,-0.665 0.1,0.1 -1.6800000000000002,0.1 -1.6800000000000002,0.765 -1.58,0.765" data-type="line" data-label="" points="381.1320754716981,426.7924528301886 308.6792452830188,426.7924528301886 308.6792452830188,311.3207547169811 39.99999999999997,311.3207547169811 39.99999999999997,210.94339622641508 55.09433962264151,210.94339622641508" fill="none" stroke="purple" stroke-width="1" />
71
71
  </g>
72
72
  <g>
73
- <polyline data-points="1.58,0.765 1.7800000000000002,0.765 1.7800000000000002,0 -1.78,0 -1.78,-0.765 -1.58,-0.765" data-type="line" data-label="" points="550.3886925795052,224.94699646643113 578.6572438162544,224.94699646643113 578.6572438162544,333.0742049469965 75.47703180212017,333.0742049469965 75.47703180212017,441.2014134275618 103.74558303886928,441.2014134275618" fill="none" stroke="purple" stroke-width="1" />
73
+ <polyline data-points="1.48,-0.665 1.78,-0.665 1.78,0.03527232500000027 0,0.03527232500000027 0,0.765 -0.48,0.765" data-type="line" data-label="" points="516.9811320754716,426.7924528301886 562.2641509433961,426.7924528301886 562.2641509433961,321.0909698113207 293.58490566037733,321.0909698113207 293.58490566037733,210.94339622641508 221.1320754716981,210.94339622641508" fill="none" stroke="purple" stroke-width="1" />
74
74
  </g>
75
75
  <g>
76
- <rect data-type="rect" data-label="schematic_component_0" data-x="-1.03" data-y="0.765" x="103.74558303886928" y="197.46214134275627" width="155.47703180212014" height="54.969710247349695" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.0070750000000000006" />
76
+ <rect data-type="rect" data-label="schematic_component_0" data-x="-1.03" data-y="0.765" x="55.09433962264151" y="181.59164528301895" width="166.0377358490566" height="58.70350188679228" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006625000000000001" />
77
77
  </g>
78
78
  <g>
79
- <rect data-type="rect" data-label="schematic_component_1" data-x="1.03" data-y="0.765" x="394.9116607773851" y="197.46214134275627" width="155.4770318021201" height="54.969710247349695" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.0070750000000000006" />
79
+ <rect data-type="rect" data-label="schematic_component_1" data-x="1.03" data-y="0.765" x="366.03773584905656" y="181.59164528301895" width="166.03773584905656" height="58.70350188679228" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006625000000000001" />
80
80
  </g>
81
81
  <g>
82
- <rect data-type="rect" data-label="schematic_component_2" data-x="-1.03" data-y="-0.765" x="103.74558303886928" y="413.716558303887" width="155.47703180212014" height="54.969710247349724" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.0070750000000000006" />
82
+ <rect data-type="rect" data-label="schematic_component_2" data-x="-1.03" data-y="-0.765" x="55.09433962264151" y="412.535041509434" width="166.0377358490566" height="58.70350188679231" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006625000000000001" />
83
83
  </g>
84
84
  <g>
85
- <rect data-type="rect" data-label="schematic_component_3" data-x="1.03" data-y="-0.765" x="409.0459363957597" y="403.74558303886926" width="127.20848056537096" height="74.91166077738518" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.0070750000000000006" />
85
+ <rect data-type="rect" data-label="schematic_component_3" data-x="1.03" data-y="-0.765" x="381.1320754716981" y="401.88679245283015" width="135.84905660377348" height="80" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006625000000000001" />
86
86
  </g>
87
87
  <g>
88
- <rect data-type="rect" data-label="" data-x="0.27999999999999997" data-y="0.99" x="352.5088339222615" y="161.3427561837456" width="28.26855123674909" height="63.60424028268554" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0070750000000000006" />
88
+ <rect data-type="rect" data-label="" data-x="0.27999999999999997" data-y="0.89" x="320.75471698113205" y="158.1132075471698" width="30.188679245283026" height="67.9245283018868" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.006625000000000001" />
89
89
  </g>
90
90
  <g>
91
- <rect data-type="rect" data-label="" data-x="1.7800000000000002" data-y="0.99" x="564.5229681978799" y="161.3427561837456" width="28.26855123674909" height="63.60424028268554" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0070750000000000006" />
91
+ <rect data-type="rect" data-label="" data-x="1.8050000000000002" data-y="0.765" x="532.0754716981131" y="195.84905660377356" width="67.92452830188688" height="30.188679245283026" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.006625000000000001" />
92
92
  </g>
93
93
  <g>
94
- <rect data-type="rect" data-label="" data-x="0.3540000000000001" data-y="-0.665" x="345.30035335689047" y="412.9328621908127" width="63.60424028268551" height="28.26855123674909" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0070750000000000006" />
94
+ <rect data-type="rect" data-label="" data-x="0.34" data-y="-0.44000000000000006" x="329.811320754717" y="358.86792452830184" width="30.188679245283026" height="67.92452830188677" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.006625000000000001" />
95
95
  </g>
96
96
  <g>
97
- <rect data-type="rect" data-label="" data-x="-1.806" data-y="0.765" x="40" y="210.81272084805656" width="63.60424028268554" height="28.26855123674912" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0070750000000000006" />
98
- </g>
99
- <g>
100
- <rect data-type="rect" data-label="" data-x="1.706" data-y="-0.665" x="536.3957597173144" y="412.9328621908127" width="63.60424028268562" height="28.26855123674909" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0070750000000000006" />
101
- </g>
102
- <g>
103
- <rect data-type="rect" data-label="" data-x="-0.254" data-y="0.765" x="259.36395759717317" y="210.81272084805656" width="63.60424028268551" height="28.26855123674912" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.0070750000000000006" />
97
+ <rect data-type="rect" data-label="" data-x="1.63" data-y="-0.44000000000000006" x="524.5283018867924" y="358.86792452830184" width="30.188679245283083" height="67.92452830188677" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.006625000000000001" />
104
98
  </g>
105
99
  <g id="crosshair" style="display: none">
106
100
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -130,12 +124,12 @@ x+" data-x="1.48" data-y="-0.665" cx="536.2544169611307" cy="427.0671378091873"
130
124
 
131
125
  // Calculate real coordinates using inverse transformation
132
126
  const matrix = {
133
- "a": 141.34275618374556,
127
+ "a": 150.94339622641508,
134
128
  "c": 0,
135
- "e": 327.0671378091873,
129
+ "e": 293.58490566037733,
136
130
  "b": 0,
137
- "d": -141.34275618374556,
138
- "f": 333.0742049469965
131
+ "d": -150.94339622641508,
132
+ "f": 326.4150943396226
139
133
  };
140
134
  // Manually invert and apply the affine transform
141
135
  // Since we only use translate and scale, we can directly compute:
@@ -2,88 +2,85 @@
2
2
  <rect width="100%" height="100%" fill="white" />
3
3
  <g>
4
4
  <circle data-type="point" data-label="J1.1
5
- x+" data-x="1.1" data-y="0.2" cx="288.33702882483374" cy="207.43247369481963" r="3" fill="hsl(218, 100%, 50%, 0.8)" />
5
+ x+" data-x="1.1" data-y="0.2" cx="307.24511930585686" cy="214.38286420824303" r="3" fill="hsl(218, 100%, 50%, 0.8)" />
6
6
  </g>
7
7
  <g>
8
8
  <circle data-type="point" data-label="J1.2
9
- x+" data-x="1.1" data-y="0" cx="288.33702882483374" cy="230.00856722434997" r="3" fill="hsl(219, 100%, 50%, 0.8)" />
9
+ x+" data-x="1.1" data-y="0" cx="307.24511930585686" cy="238.67787505423001" r="3" fill="hsl(219, 100%, 50%, 0.8)" />
10
10
  </g>
11
11
  <g>
12
12
  <circle data-type="point" data-label="J1.3
13
- x+" data-x="1.1" data-y="-0.2" cx="288.33702882483374" cy="252.5846607538803" r="3" fill="hsl(220, 100%, 50%, 0.8)" />
13
+ x+" data-x="1.1" data-y="-0.2" cx="307.24511930585686" cy="262.972885900217" r="3" fill="hsl(220, 100%, 50%, 0.8)" />
14
14
  </g>
15
15
  <g>
16
16
  <circle data-type="point" data-label="R1.1
17
- x-" data-x="0.5499999999999996" data-y="-1.7944553499999996" cx="226.25277161862525" cy="432.5675263051804" r="3" fill="hsl(226, 100%, 50%, 0.8)" />
17
+ x-" data-x="0.5499999999999996" data-y="-1.7944553499999996" cx="240.4338394793926" cy="456.65943600867683" r="3" fill="hsl(226, 100%, 50%, 0.8)" />
18
18
  </g>
19
19
  <g>
20
20
  <circle data-type="point" data-label="R1.2
21
- x+" data-x="1.6499999999999997" data-y="-1.7944553499999996" cx="350.4212860310421" cy="432.5675263051804" r="3" fill="hsl(227, 100%, 50%, 0.8)" />
21
+ x+" data-x="1.6499999999999997" data-y="-1.7944553499999996" cx="374.05639913232096" cy="456.65943600867683" r="3" fill="hsl(227, 100%, 50%, 0.8)" />
22
22
  </g>
23
23
  <g>
24
24
  <circle data-type="point" data-label="C1.1
25
- x-" data-x="2.3099999999999996" data-y="0.01999999999999985" cx="424.9223946784922" cy="227.75095787139696" r="3" fill="hsl(121, 100%, 50%, 0.8)" />
25
+ x-" data-x="2.3099999999999996" data-y="0.01999999999999985" cx="454.229934924078" cy="236.24837396963133" r="3" fill="hsl(121, 100%, 50%, 0.8)" />
26
26
  </g>
27
27
  <g>
28
28
  <circle data-type="point" data-label="C1.2
29
- x+" data-x="3.41" data-y="0.01999999999999985" cx="549.090909090909" cy="227.75095787139696" r="3" fill="hsl(122, 100%, 50%, 0.8)" />
29
+ x+" data-x="3.41" data-y="0.01999999999999985" cx="587.8524945770065" cy="236.24837396963133" r="3" fill="hsl(122, 100%, 50%, 0.8)" />
30
30
  </g>
31
31
  <g>
32
- <circle data-type="point" data-label="" data-x="1.3" data-y="0.2" cx="310.9131223543641" cy="207.43247369481963" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
32
+ <circle data-type="point" data-label="" data-x="1.3" data-y="0.2" cx="331.5401301518438" cy="214.38286420824303" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
33
33
  </g>
34
34
  <g>
35
- <circle data-type="point" data-label="" data-x="1.3" data-y="-0.4486138374999999" cx="310.9131223543641" cy="280.6483069945576" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
35
+ <circle data-type="point" data-label="" data-x="1.2" data-y="-0.8972276749999998" cx="319.3926247288503" cy="347.6686555314534" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
36
36
  </g>
37
37
  <g>
38
- <circle data-type="point" data-label="" data-x="1.8499999999999996" data-y="-1.7944553499999996" cx="372.9973795605724" cy="432.5675263051804" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
38
+ <circle data-type="point" data-label="" data-x="1.5525" data-y="-1" cx="362.2125813449024" cy="360.15292928416494" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
39
39
  </g>
40
40
  <g>
41
- <circle data-type="point" data-label="" data-x="3.41" data-y="0.01999999999999985" cx="549.090909090909" cy="227.75095787139696" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
41
+ <polyline data-points="1.1,0.2 2.3099999999999996,0.01999999999999985" data-type="line" data-label="" points="307.24511930585686,214.38286420824303 454.229934924078,236.24837396963133" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
42
42
  </g>
43
43
  <g>
44
- <polyline data-points="1.1,0.2 2.3099999999999996,0.01999999999999985" data-type="line" data-label="" points="288.33702882483374,207.43247369481963 424.9223946784922,227.75095787139696" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
44
+ <polyline data-points="1.1,0 0.5499999999999996,-1.7944553499999996" data-type="line" data-label="" points="307.24511930585686,238.67787505423001 240.4338394793926,456.65943600867683" fill="none" stroke="hsl(158, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
45
45
  </g>
46
46
  <g>
47
- <polyline data-points="1.1,0 0.5499999999999996,-1.7944553499999996" data-type="line" data-label="" points="288.33702882483374,230.00856722434997 226.25277161862525,432.5675263051804" fill="none" stroke="hsl(158, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
47
+ <polyline data-points="1.1,-0.2 1.6499999999999997,-1.7944553499999996" data-type="line" data-label="" points="307.24511930585686,262.972885900217 374.05639913232096,456.65943600867683" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
48
48
  </g>
49
49
  <g>
50
- <polyline data-points="1.1,-0.2 1.6499999999999997,-1.7944553499999996" data-type="line" data-label="" points="288.33702882483374,252.5846607538803 350.4212860310421,432.5675263051804" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
50
+ <polyline data-points="1.1,-0.2 3.41,0.01999999999999985" data-type="line" data-label="" points="307.24511930585686,262.972885900217 587.8524945770065,236.24837396963133" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
51
51
  </g>
52
52
  <g>
53
- <polyline data-points="1.1,-0.2 3.41,0.01999999999999985" data-type="line" data-label="" points="288.33702882483374,252.5846607538803 549.090909090909,227.75095787139696" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
53
+ <polyline data-points="1.6499999999999997,-1.7944553499999996 3.41,0.01999999999999985" data-type="line" data-label="" points="374.05639913232096,456.65943600867683 587.8524945770065,236.24837396963133" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
54
54
  </g>
55
55
  <g>
56
- <polyline data-points="1.6499999999999997,-1.7944553499999996 3.41,0.01999999999999985" data-type="line" data-label="" points="350.4212860310421,432.5675263051804 549.090909090909,227.75095787139696" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1" stroke-dasharray="4 2" />
56
+ <polyline data-points="1.1,0.2 1.3,0.2 1.6049999999999998,0.2 1.6049999999999998,0.01999999999999985 2.1099999999999994,0.01999999999999985 2.3099999999999996,0.01999999999999985" data-type="line" data-label="" points="307.24511930585686,214.38286420824303 331.5401301518438,214.38286420824303 368.5900216919739,214.38286420824303 368.5900216919739,236.24837396963133 429.934924078091,236.24837396963133 454.229934924078,236.24837396963133" fill="none" stroke="purple" stroke-width="1" />
57
57
  </g>
58
58
  <g>
59
- <polyline data-points="1.1,0.2 1.3,0.2 1.7049999999999998,0.2 1.7049999999999998,0.01999999999999985 2.1099999999999994,0.01999999999999985 2.3099999999999996,0.01999999999999985" data-type="line" data-label="" points="288.33702882483374,207.43247369481963 310.9131223543641,207.43247369481963 356.62971175166297,207.43247369481963 356.62971175166297,227.75095787139696 402.34630114896186,227.75095787139696 424.9223946784922,227.75095787139696" fill="none" stroke="purple" stroke-width="1" />
59
+ <polyline data-points="1.1,0 1.2,0 1.2,-0.8972276749999998 0.34999999999999964,-0.8972276749999998 0.34999999999999964,-1.7944553499999996 0.5499999999999996,-1.7944553499999996" data-type="line" data-label="" points="307.24511930585686,238.67787505423001 319.3926247288503,238.67787505423001 319.3926247288503,347.6686555314534 216.1388286334056,347.6686555314534 216.1388286334056,456.65943600867683 240.4338394793926,456.65943600867683" fill="none" stroke="purple" stroke-width="1" />
60
60
  </g>
61
61
  <g>
62
- <polyline data-points="1.1,0 1.3,0 1.3,-0.8972276749999998 0.34999999999999964,-0.8972276749999998 0.34999999999999964,-1.7944553499999996 0.5499999999999996,-1.7944553499999996" data-type="line" data-label="" points="288.33702882483374,230.00856722434997 310.9131223543641,230.00856722434997 310.9131223543641,331.28804676476517 203.6766780890949,331.28804676476517 203.6766780890949,432.5675263051804 226.25277161862525,432.5675263051804" fill="none" stroke="purple" stroke-width="1" />
62
+ <polyline data-points="1.1,-0.2 1.805,-0.2 1.805,0.5399999999999998 3.5100000000000002,0.5399999999999998 3.5100000000000002,0.01999999999999985 3.41,0.01999999999999985" data-type="line" data-label="" points="307.24511930585686,262.972885900217 392.8850325379609,262.972885900217 392.8850325379609,173.08134577006518 600,173.08134577006518 600,236.24837396963133 587.8524945770065,236.24837396963133" fill="none" stroke="purple" stroke-width="1" />
63
63
  </g>
64
64
  <g>
65
- <polyline data-points="1.6499999999999997,-1.7944553499999996 1.8499999999999996,-1.7944553499999996 1.8499999999999996,-0.2 1.1,-0.2" data-type="line" data-label="" points="350.4212860310421,432.5675263051804 372.9973795605724,432.5675263051804 372.9973795605724,252.5846607538803 288.33702882483374,252.5846607538803" fill="none" stroke="purple" stroke-width="1" />
65
+ <polyline data-points="1.6499999999999997,-1.7944553499999996 1.7049999999999998,-1.7944553499999996 1.7049999999999998,-1 1.4000000000000001,-1 1.4000000000000001,-0.2 1.1,-0.2" data-type="line" data-label="" points="374.05639913232096,456.65943600867683 380.7375271149674,456.65943600867683 380.7375271149674,360.15292928416494 343.6876355748373,360.15292928416494 343.6876355748373,262.972885900217 307.24511930585686,262.972885900217" fill="none" stroke="purple" stroke-width="1" />
66
66
  </g>
67
67
  <g>
68
- <rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40.000000000000014" y="184.8563801652893" width="248.33702882483374" height="90.30437411812136" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008858928571428573" />
68
+ <rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40.00000000000003" y="190.08785336225606" width="267.24511930585686" height="97.18004338394792" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008232142857142858" />
69
69
  </g>
70
70
  <g>
71
- <rect data-type="rect" data-label="schematic_component_1" data-x="1.0999999999999996" data-y="-1.7944553499999996" x="226.25277161862525" y="410.61731546059264" width="124.16851441241684" height="43.90042168917546" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008858928571428573" />
71
+ <rect data-type="rect" data-label="schematic_component_1" data-x="1.0999999999999996" data-y="-1.7944553499999996" x="240.4338394793926" y="433.0379618221259" width="133.62255965292837" height="47.2429483731018" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008232142857142858" />
72
72
  </g>
73
73
  <g>
74
- <rect data-type="rect" data-label="schematic_component_2" data-x="2.86" data-y="0.01999999999999985" x="424.9223946784922" y="180.34116145938327" width="124.16851441241681" height="94.81959282402738" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008858928571428573" />
74
+ <rect data-type="rect" data-label="schematic_component_2" data-x="2.86" data-y="0.01999999999999985" x="454.229934924078" y="185.2288511930587" width="133.6225596529285" height="102.03904555314529" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008232142857142858" />
75
75
  </g>
76
76
  <g>
77
- <rect data-type="rect" data-label="" data-x="1.3" data-y="0.42500000000000004" x="299.62507558959885" y="156.6362632533764" width="22.57609352953034" height="50.796210441443236" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008858928571428573" />
77
+ <rect data-type="rect" data-label="" data-x="1.3" data-y="0.42500000000000004" x="319.3926247288503" y="159.71908980477232" width="24.295010845987008" height="54.66377440347071" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008232142857142858" />
78
78
  </g>
79
79
  <g>
80
- <rect data-type="rect" data-label="" data-x="1.5250000000000001" data-y="-0.4486138374999999" x="310.9131223543641" y="269.3602602297924" width="50.796210441443236" height="22.57609352953034" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008858928571428573" />
80
+ <rect data-type="rect" data-label="" data-x="1.2" data-y="-1.1222276749999998" x="307.2451193058568" y="347.6686555314534" width="24.295010845987008" height="54.66377440347071" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008232142857142858" />
81
81
  </g>
82
82
  <g>
83
- <rect data-type="rect" data-label="" data-x="1.8499999999999996" data-y="-2.0194553499999994" x="361.7093327958072" y="432.56752630518037" width="22.576093529530397" height="50.79621044144329" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008858928571428573" />
84
- </g>
85
- <g>
86
- <rect data-type="rect" data-label="" data-x="3.636" data-y="0.01999999999999985" x="549.2037895585568" y="216.4629111066318" width="50.796210441443236" height="22.57609352953034" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008858928571428573" />
83
+ <rect data-type="rect" data-label="" data-x="1.5525" data-y="-1.225" x="350.0650759219089" y="360.15292928416494" width="24.295010845987008" height="54.66377440347071" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008232142857142858" />
87
84
  </g>
88
85
  <g id="crosshair" style="display: none">
89
86
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -113,12 +110,12 @@ x+" data-x="3.41" data-y="0.01999999999999985" cx="549.090909090909" cy="227.750
113
110
 
114
111
  // Calculate real coordinates using inverse transformation
115
112
  const matrix = {
116
- "a": 112.88046764765167,
113
+ "a": 121.47505422993491,
117
114
  "c": 0,
118
- "e": 164.16851441241687,
115
+ "e": 173.62255965292843,
119
116
  "b": 0,
120
- "d": -112.88046764765167,
121
- "f": 230.00856722434997
117
+ "d": -121.47505422993491,
118
+ "f": 238.67787505423001
122
119
  };
123
120
  // Manually invert and apply the affine transform
124
121
  // Since we only use translate and scale, we can directly compute: