@tscircuit/schematic-trace-solver 0.0.88 → 0.0.90
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 +112 -29
- package/lib/solvers/Example28Solver/reroute.ts +10 -0
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/SchematicTraceSingleLineSolver2.ts +116 -5
- package/lib/testing/PipelineStageDebugRunner.ts +21 -4
- package/package.json +1 -1
- package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +386 -0
- package/tests/bug-reports/bug-report-20260706T213649Z/bug-report-20260706T213649Z.json +1471 -0
- package/tests/bug-reports/bug-report-20260706T213649Z/bug-report-20260706T213649Z.test.ts +12 -0
- package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +22 -22
- package/tests/bug-reports/bug-report-20260707T020342Z/__snapshots__/bug-report-20260707T020342Z.snap.svg +20 -22
- package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +251 -2097
- package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +123 -856
- package/tests/bug-reports/bug-report-20260707T134722Z/__snapshots__/bug-report-20260707T134722Z.snap.svg +72 -274
- package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +153 -949
- package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +66 -217
- package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +111 -612
- package/tests/bug-reports/bug-report-20260707T141421Z/bug-report-20260707T141421Z.test.ts +11 -0
- package/tests/examples/__snapshots__/example03.snap.svg +44 -44
- package/tests/examples/__snapshots__/example32.snap.svg +3 -3
- package/tests/examples/__snapshots__/example42.snap.svg +1 -1
- package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +87 -283
- package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +117 -469
|
@@ -1,24 +1,22 @@
|
|
|
1
|
-
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-4.005,0.54 -2.6500000000000004,1.1" data-type="line" data-label="" points="59.628455897300256,
|
|
2
|
-
globalConnNetId: connectivity_net0" data-x="-3.78" data-y="0.8200000000000001" x="59.628455897300256" y="
|
|
3
|
-
globalConnNetId: connectivity_net1" data-x="2.8500000000000005" data-y="1.3250000000000002" x="480.9139993000644" y="
|
|
4
|
-
globalConnNetId: connectivity_net2" data-x="4" data-y="
|
|
5
|
-
|
|
6
|
-
y
|
|
7
|
-
|
|
8
|
-
x
|
|
9
|
-
x
|
|
10
|
-
x
|
|
11
|
-
x+" data-x="2.6500000000000004" data-y="
|
|
12
|
-
x
|
|
13
|
-
x
|
|
14
|
-
x
|
|
15
|
-
|
|
16
|
-
y
|
|
17
|
-
|
|
18
|
-
orientation:
|
|
19
|
-
orientation:
|
|
20
|
-
orientation: y+" data-x="4" data-y="0.55" cx="558.8720939341806" cy="285.3866059824524" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
21
|
-
orientation: y-" data-x="4" data-y="-0.55" cx="558.8720939341806" cy="353.9897292604747" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-4.005,0.54 -2.6500000000000004,1.1" data-type="line" data-label="" points="59.628455897300256,302.8492191804944 144.13503048068222,267.92399278441036" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.005,0.54 -2.6500000000000004,-1.1" data-type="line" data-label="" points="59.628455897300256,302.8492191804944 144.13503048068222,405.1302393404549" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.995,-0.54 2.6500000000000004,-1.1" data-type="line" data-label="" points="60.25212065437316,370.2050129443709 474.6773517293351,405.1302393404549" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.995,-0.54 2.6500000000000004,1.1" data-type="line" data-label="" points="60.25212065437316,370.2050129443709 474.6773517293351,267.92399278441036" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.04999999999999982,1.1 0.04999999999999982,1.1" data-type="line" data-label="" points="306.287867319644,267.92399278441036 312.52451489037327,267.92399278441036" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.04999999999999982,1.1 4,0.55" data-type="line" data-label="" points="306.287867319644,267.92399278441036 558.8720939341806,302.2255544234215" fill="none" stroke="hsl(200, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.04999999999999982,-1.1 -0.04999999999999982,-1.1" data-type="line" data-label="" points="312.52451489037327,405.1302393404549 306.287867319644,405.1302393404549" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.04999999999999982,-1.1 4,-0.55" data-type="line" data-label="" points="312.52451489037327,405.1302393404549 558.8720939341806,370.8286777014438" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.005,0.54 -4.005,1.1 -2.6500000000000004,1.1" data-type="line" data-label="" points="59.628455897300256,302.8492191804944 59.628455897300256,267.92399278441036 144.13503048068222,267.92399278441036" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.6500000000000004,-1.1 -2.8500000000000005,-1.1 -2.8500000000000005,1.1 -2.6500000000000004,1.1" data-type="line" data-label="" points="144.13503048068222,405.1302393404549 131.6617353392236,405.1302393404549 131.6617353392236,267.92399278441036 144.13503048068222,267.92399278441036" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6500000000000004,1.1 2.8500000000000005,1.1 2.8500000000000005,-1.1 2.6500000000000004,-1.1" data-type="line" data-label="" points="474.6773517293351,267.92399278441036 487.1506468707937,267.92399278441036 487.1506468707937,405.1302393404549 474.6773517293351,405.1302393404549" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.995,-0.54 -3.995,-1.6600000000000001 2.8500000000000005,-1.6600000000000001 2.8500000000000005,-1.1 2.6500000000000004,-1.1" data-type="line" data-label="" points="60.25212065437316,370.2050129443709 60.25212065437316,440.055465736539 487.1506468707937,440.055465736539 487.1506468707937,405.1302393404549 474.6773517293351,405.1302393404549" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.04999999999999982,1.1 -0.04999999999999982,1.1" data-type="line" data-label="" points="312.52451489037327,267.92399278441036 306.287867319644,267.92399278441036" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4,0.55 4,2.19 0,2.19 0,1.1 0.04999999999999982,1.1" data-type="line" data-label="" points="558.8720939341806,302.2255544234215 558.8720939341806,199.944534263461 309.40619110500865,199.944534263461 309.40619110500865,267.92399278441036 312.52451489037327,267.92399278441036" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.04999999999999982,-1.1 0.04999999999999982,-1.1" data-type="line" data-label="" points="306.287867319644,405.1302393404549 312.52451489037327,405.1302393404549" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4,-0.55 4,-1.46 0,-1.46 0,-1.1 0.04999999999999982,-1.1" data-type="line" data-label="" points="558.8720939341806,370.8286777014438 558.8720939341806,427.5821705950804 309.40619110500865,427.5821705950804 309.40619110500865,405.1302393404549 312.52451489037327,405.1302393404549" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-4" data-y="0" x="39.999999999999986" y="302.8492191804944" width="39.88057655167344" height="67.35579376387648" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-1.35" data-y="1.1" x="144.1350304806822" y="255.45069764295175" width="162.1528368389618" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="1.35" data-y="-1.1" x="312.5245148903733" y="392.6569441989963" width="162.15283683896183" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.35" data-y="1.1" x="312.5245148903733" y="255.45069764295175" width="162.15283683896183" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-1.35" data-y="-1.1" x="144.1350304806822" y="392.6569441989963" width="162.1528368389618" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="4.2498638375" data-y="0" x="548.9104417715107" y="302.2255544234215" width="51.089558228489295" height="68.60312327802228" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D1" data-x="-2.13" data-y="1.415" x="165.33963222116185" y="240.48274347320142" width="22.451931254625492" height="15.591618926823287" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D2" data-x="0.57" data-y="-0.7850000000000001" x="333.7291166308529" y="377.68899002924604" width="22.451931254625492" height="15.59161892682323" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D3" data-x="0.57" data-y="1.415" x="333.7291166308529" y="240.48274347320142" width="22.451931254625492" height="15.591618926823287" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D4" data-x="-2.13" data-y="-0.7850000000000001" x="165.33963222116185" y="377.68899002924604" width="22.451931254625492" height="15.59161892682323" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .V1 > .pin1 to .D4 > .CATHODE
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="-3.78" data-y="0.8200000000000001" x="59.628455897300256" y="279.1499584117231" width="28.064914068281837" height="12.473295141458607" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .V1 > .pin2 to .D3 > .ANODE
|
|
3
|
+
globalConnNetId: connectivity_net1" data-x="2.8500000000000005" data-y="1.3250000000000002" x="480.9139993000644" y="239.85907871612852" width="12.473295141458607" height="28.064914068281865" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .D1 > .CATHODE to .D3 > .CATHODE
|
|
4
|
+
globalConnNetId: connectivity_net2" data-x="4.225" data-y="1.37" x="558.8720939341806" y="244.84839677271196" width="28.064914068281723" height="12.473295141458578" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><circle data-type="point" data-label="V1.1
|
|
5
|
+
y+" data-x="-4.005" data-y="0.54" cx="59.628455897300256" cy="302.8492191804944" r="3" fill="hsl(230, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V1.2
|
|
6
|
+
y-" data-x="-3.995" data-y="-0.54" cx="60.25212065437316" cy="370.2050129443709" r="3" fill="hsl(231, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.1
|
|
7
|
+
x-" data-x="-2.6500000000000004" data-y="1.1" cx="144.13503048068222" cy="267.92399278441036" r="3" fill="hsl(32, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.2
|
|
8
|
+
x+" data-x="-0.04999999999999982" data-y="1.1" cx="306.287867319644" cy="267.92399278441036" r="3" fill="hsl(33, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.1
|
|
9
|
+
x-" data-x="0.04999999999999982" data-y="-1.1" cx="312.52451489037327" cy="405.1302393404549" r="3" fill="hsl(273, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.2
|
|
10
|
+
x+" data-x="2.6500000000000004" data-y="-1.1" cx="474.6773517293351" cy="405.1302393404549" r="3" fill="hsl(274, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D3.1
|
|
11
|
+
x+" data-x="2.6500000000000004" data-y="1.1" cx="474.6773517293351" cy="267.92399278441036" r="3" fill="hsl(154, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D3.2
|
|
12
|
+
x-" data-x="0.04999999999999982" data-y="1.1" cx="312.52451489037327" cy="267.92399278441036" r="3" fill="hsl(155, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D4.1
|
|
13
|
+
x+" data-x="-0.04999999999999982" data-y="-1.1" cx="306.287867319644" cy="405.1302393404549" r="3" fill="hsl(35, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D4.2
|
|
14
|
+
x-" data-x="-2.6500000000000004" data-y="-1.1" cx="144.13503048068222" cy="405.1302393404549" r="3" fill="hsl(36, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
|
|
15
|
+
y+" data-x="4" data-y="0.55" cx="558.8720939341806" cy="302.2255544234215" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.2
|
|
16
|
+
y-" data-x="4" data-y="-0.55" cx="558.8720939341806" cy="370.8286777014438" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
17
|
+
orientation: x+" data-x="-4.005" data-y="0.8200000000000001" cx="59.628455897300256" cy="285.3866059824524" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
18
|
+
orientation: y+" data-x="2.8500000000000005" data-y="1.1" cx="487.1506468707937" cy="267.92399278441036" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
19
|
+
orientation: x+" data-x="4" data-y="1.37" cx="558.8720939341806" cy="251.08504434344124" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
22
20
|
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
23
21
|
const svg = e.currentTarget;
|
|
24
22
|
const rect = svg.getBoundingClientRect();
|
|
@@ -40,7 +38,7 @@ orientation: y-" data-x="4" data-y="-0.55" cx="558.8720939341806" cy="353.989729
|
|
|
40
38
|
v.setAttribute('y2', '640');
|
|
41
39
|
|
|
42
40
|
// Calculate real coordinates using inverse transformation
|
|
43
|
-
const matrix = {"a":62.366475707292985,"c":0,"e":309.40619110500865,"b":0,"d":-62.366475707292985,"f":
|
|
41
|
+
const matrix = {"a":62.366475707292985,"c":0,"e":309.40619110500865,"b":0,"d":-62.366475707292985,"f":336.52711606243264};
|
|
44
42
|
// Manually invert and apply the affine transform
|
|
45
43
|
// Since we only use translate and scale, we can directly compute:
|
|
46
44
|
// x' = (x - tx) / sx
|