@tscircuit/schematic-trace-solver 0.0.182 → 0.0.183
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 +5 -0
- package/dist/index.js +311 -112
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceLinesSolver.ts +45 -2
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver/getPinDirection.ts +58 -10
- package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/SchematicTraceSingleLineSolver2.ts +166 -57
- package/lib/solvers/TraceCleanupSolver/hasCollisionsWithLabels.ts +108 -3
- package/lib/solvers/TraceCleanupSolver/minimizeTurnsWithFilteredLabels.ts +62 -15
- package/lib/solvers/TraceCleanupSolver/turnMinimization.ts +5 -0
- package/package.json +1 -1
- package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +13 -20
- package/tests/repros/__snapshots__/board1096-usb-label-overlap-iteration.snap.svg +13 -13
- package/tests/repros/__snapshots__/repro-mouse-switch-ground-unnecessary-jog.snap.svg +2 -2
- package/tests/repros/__snapshots__/repro-pmp11282-isolated-dcdc.snap.svg +8 -8
- package/tests/repros/__snapshots__/repro-rf1-unnecessary-dogleg.snap.svg +5 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<svg width="1200" height="2016" viewBox="0 0 1200 2016" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on top and Circuit JSON schematic on the bottom">
|
|
2
2
|
<g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
|
|
3
|
-
<rect width="100%" height="100%" fill="white"/><g><polyline data-points="-8.690000000000001,4.1 -9.35,-3.9" data-type="line" data-label="" points="296.875,67.5 255.6250000000001,567.5" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.690000000000001,4.1 -9.751000000000001,4.1 -9.751000000000001
|
|
3
|
+
<rect width="100%" height="100%" fill="white"/><g><polyline data-points="-8.690000000000001,4.1 -9.35,-3.9" data-type="line" data-label="" points="296.875,67.5 255.6250000000001,567.5" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.690000000000001,4.1 -9.751000000000001,4.1 -9.751000000000001,-3.9 -9.35,-3.9" data-type="line" data-label="" points="296.875,67.5 230.5625,67.5 230.5625,567.5 255.6250000000001,567.5" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-8.979363636363638,4.1 -8.979363636363638,4.1198999999999995" data-type="line" data-label="" points="278.78977272727263,67.5 278.78977272727263,66.25625000000002" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-8.690000000000001,3.9 -9.530000000000001,3.9" data-type="line" data-label="" points="296.875,79.99999999999997 244.375,79.99999999999997" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.35,-4.1 -10.03,-4.1" data-type="line" data-label="" points="255.6250000000001,580 213.1250000000001,580" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-7.690000000000001" data-y="4" x="296.875" y="61.24999999999996" width="125.00000000000006" height="25.00000000000003" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015999999999999997"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-8.35" data-y="-4" x="255.62500000000014" y="561.25" width="124.99999999999994" height="25" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015999999999999997"/></g><g><rect data-type="rect" data-label="D2FC-F-7N(20M)" data-x="-7.450000000000001" data-y="3.67" x="321.875" y="88.74999999999999" width="105" height="11.249999999999972" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.015999999999999997"/></g><g><rect data-type="rect" data-label="SW_LEFT" data-x="-7.870000000000001" data-y="4.3149999999999995" x="318.125" y="46.25" width="60" height="15.625" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.015999999999999997"/></g><g><rect data-type="rect" data-label="D2FC-F-7N(20M)" data-x="-8.11" data-y="-4.33" x="280.6250000000001" y="588.75" width="105" height="11.25" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.015999999999999997"/></g><g><rect data-type="rect" data-label="SW_RIGHT" data-x="-8.469999999999999" data-y="-3.6849999999999996" x="276.87500000000017" y="546.25" width="67.49999999999989" height="15.625" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.015999999999999997"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
4
4
|
globalConnNetId: connectivity_net0" data-x="-8.979363636363638" data-y="4.329999999999999" x="263.78977272727263" y="40" width="30" height="26.25" fill="#00000066" stroke="#000000" stroke-width="0.015999999999999997"/></g><g><rect data-type="rect" data-label="INLINE netId: LEFT_SW
|
|
5
5
|
axis: x
|
|
6
6
|
side: y+" data-x="-9.110000000000001" data-y="4.01" x="250.625" y="69.37499999999997" width="40" height="7.5" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.015999999999999997"/></g><g><rect data-type="rect" data-label="INLINE netId: RIGHT
|
|
@@ -71,7 +71,7 @@ RIGHT" data-x="-9.69" data-y="-4.1" cx="234.3750000000001" cy="580" r="3" fill="
|
|
|
71
71
|
.port-label { fill: rgb(0, 100, 100); }
|
|
72
72
|
.component-name { fill: rgb(0, 100, 100); }
|
|
73
73
|
|
|
74
|
-
</style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 555.3177571657768 73.81291826693001 L 469.89819023462815 73.81291826693001 L 469.89819023462815
|
|
74
|
+
</style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 555.3177571657768 73.81291826693001 L 469.89819023462815 73.81291826693001 L 469.89819023462815 717.88128344053 L 502.18211703895497 717.88128344053" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="12.881367303472px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 555.3177571657768 73.81291826693001 L 469.89819023462815 73.81291826693001 L 469.89819023462815 717.88128344053 L 502.18211703895497 717.88128344053" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.610170912934px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><path d="M 532.0215116390998 73.81291826693001 L 532.0215116390998 72.21079820856067" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="12.881367303472px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 532.0215116390998 73.81291826693001 L 532.0215116390998 72.21079820856067" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.610170912934px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><path d="M 555.3177571657768 89.91462739627002 L 487.6905788225488 89.91462739627002" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="12.881367303472px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 555.3177571657768 89.91462739627002 L 487.6905788225488 89.91462739627002" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.610170912934px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"><path d="M 502.18211703895497 733.98299256987 L 447.436305999199 733.98299256987" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="12.881367303472px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 502.18211703895497 733.98299256987 L 447.436305999199 733.98299256987" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.610170912934px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="587.5211754244567" y="65.76206370225998" width="96.61025477604016" height="32.20341825868002" stroke-width="1.610170912934px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="587.5211754244567" y="65.76206370225998" width="96.61025477604016" height="32.20341825868002" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="587.5211754244567" y1="73.81291826693001" x2="555.3177571657768" y2="73.81291826693001" stroke-width="1.610170912934px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="553.7075862528428" y="72.20274735399602" width="3.220341825868" height="3.220341825868" opacity="0"/></g><text class="pin-number sch-pin-number" x="571.4194662951168" y="72.20274735399607" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="12.076281847005px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="587.5211754244567" y1="89.91462739627002" x2="555.3177571657768" y2="89.91462739627002" stroke-width="1.610170912934px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="553.7075862528428" y="88.30445648333603" width="3.220341825868" height="3.220341825868" opacity="0"/></g><text class="pin-number sch-pin-number" x="571.4194662951168" y="88.30445648333597" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="12.076281847005px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="684.1314302004969" y1="81.86377283159999" x2="714.7246775462429" y2="81.86377283159999" stroke-width="1.610170912934px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="716.3348484591769" cy="81.86377283159999" r="1.610170912934" stroke-width="1.610170912934px"/><rect x="714.7246775462429" y="80.25360191866599" width="3.220341825868" height="3.220341825868" opacity="0"/></g><text class="pin-number sch-pin-number" x="700.2331393298368" y="80.25360191866605" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="12.076281847005px" transform="">3</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component chip sch-component-body" x="534.385535297635" y="709.83042887586" width="96.61025477603994" height="32.20341825868002" stroke-width="1.610170912934px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="534.385535297635" y="709.83042887586" width="96.61025477603994" height="32.20341825868002" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="534.385535297635" y1="717.88128344053" x2="502.18211703895497" y2="717.88128344053" stroke-width="1.610170912934px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="500.571946126021" y="716.271112527596" width="3.220341825868" height="3.220341825868" opacity="0"/></g><text class="pin-number sch-pin-number" x="518.2838261682949" y="716.271112527596" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="12.076281847005px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="534.385535297635" y1="733.98299256987" x2="502.18211703895497" y2="733.98299256987" stroke-width="1.610170912934px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="500.571946126021" y="732.372821656936" width="3.220341825868" height="3.220341825868" opacity="0"/></g><text class="pin-number sch-pin-number" x="518.2838261682949" y="732.3728216569359" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="12.076281847005px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="630.9957900736749" y1="725.9321380051999" x2="661.589037419421" y2="725.9321380051999" stroke-width="1.610170912934px"/><g class="sch-port" data-schematic-port-id="source_port_1_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="663.1992083323549" cy="725.9321380051999" r="1.610170912934" stroke-width="1.610170912934px"/><rect x="661.589037419421" y="724.3219670922659" width="3.220341825868" height="3.220341825868" opacity="0"/></g><text class="pin-number sch-pin-number" x="647.097499203015" y="724.321967092266" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="12.076281847005px" transform="">3</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="555.3177571657768" cy="73.81291826693001" r="3.220341825868" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="555.3177571657768" cy="89.91462739627002" r="3.220341825868" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="716.3348484591769" cy="81.86377283159999" r="3.220341825868" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="502.18211703895497" cy="717.88128344053" r="3.220341825868" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="502.18211703895497" cy="733.98299256987" r="3.220341825868" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_2__stack1"><circle cx="663.1992083323549" cy="725.9321380051999" r="3.220341825868" fill="red" opacity="0"/></g><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="
|
|
75
75
|
M 532.0215116390998,72.21079820856067
|
|
76
76
|
L 523.9706570744298,67.86333674363887
|
|
77
77
|
L 523.9706570744298,40.254272823197226
|
|
@@ -80,7 +80,7 @@ globalConnNetId: connectivity_net60" data-x="12.0235" data-y="6.935" x="541.3034
|
|
|
80
80
|
globalConnNetId: connectivity_net60" data-x="11.1325" data-y="6.919" x="527.3466731739061" y="200.65267610216364" width="3.6440540100861654" height="8.199121522693986" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05488392857142856"/></g><g><rect data-type="rect" data-label="netId: VD_SR2
|
|
81
81
|
globalConnNetId: connectivity_net38" data-x="-1.4296875" data-y="4.791125000000001" x="292.629738083618" y="239.69643728648117" width="15.305026842362167" height="7.652513421181084" fill="#ef444466" stroke="#ef4444" stroke-width="0.05488392857142856"/></g><g><rect data-type="rect" data-label="netId: R507.pin2 to D502.pin2
|
|
82
82
|
globalConnNetId: connectivity_net33" data-x="-11.5025" data-y="7.02125" x="112.653326826094" y="201.0671872458109" width="8.199121522693986" height="3.644054010086222" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05488392857142856"/></g><g><rect data-type="rect" data-label="netId: R510.pin1 to D503.pin1
|
|
83
|
-
globalConnNetId: connectivity_net1" data-x="-9.
|
|
83
|
+
globalConnNetId: connectivity_net1" data-x="-9.22" data-y="3.9925" x="156.51862697250687" y="253.97429640475025" width="3.644054010086194" height="8.199121522693986" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05488392857142856"/></g><g><rect data-type="rect" data-label="netId: R510.pin2 to D503.pin2
|
|
84
84
|
globalConnNetId: connectivity_net2" data-x="-7.1935312499999995" data-y="5.069999999999999" x="193.44143484626647" y="234.34195542541076" width="3.644054010086194" height="8.199121522693986" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05488392857142856"/></g><g><rect data-type="rect" data-label="netId: R511.pin1 to Q503.pin1
|
|
85
85
|
globalConnNetId: connectivity_net2" data-x="-6.7524999999999995" data-y="4.7235" x="201.47714332194568" y="240.65527899788515" width="3.644054010086194" height="8.199121522693986" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05488392857142856"/></g><g><rect data-type="rect" data-label="netId: Q502.pin1 to R512.pin1
|
|
86
86
|
globalConnNetId: connectivity_net39" data-x="0.08499999999999994" data-y="4.3068125" x="323.78070603546445" y="250.52497153082805" width="8.199121522693986" height="3.644054010086194" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.05488392857142856"/></g><g><rect data-type="rect" data-label="netId: VG_SR2
|
|
@@ -464,7 +464,7 @@ orientation: x+" data-x="11.797500000000001" data-y="6.935" cx="541.285179762485
|
|
|
464
464
|
orientation: y-" data-x="11.1325" data-y="7.145" cx="529.1687001789492" cy="200.63445583211322" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
465
465
|
orientation: y+" data-x="-1.4296875" data-y="4.581125000000001" cx="300.2822515047991" cy="247.34895070766225" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
466
466
|
orientation: x+" data-x="-11.7275" data-y="7.02125" cx="112.653326826094" cy="202.88921425085402" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
467
|
-
orientation:
|
|
467
|
+
orientation: y+" data-x="-9.22" data-y="3.7675" cx="158.34065397754998" cy="262.17341792744423" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
468
468
|
orientation: y+" data-x="-7.1935312499999995" data-y="4.845" cx="195.26346185130956" cy="242.54107694810475" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
469
469
|
orientation: y+" data-x="-6.7524999999999995" data-y="4.4975" cx="203.29917032698876" cy="248.87262079062955" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
470
470
|
orientation: x-" data-x="0.30999999999999994" data-y="4.3068125" cx="331.97982755815843" cy="252.34699853587114" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
@@ -1101,13 +1101,13 @@ orientation: x-" data-x="-3.309375" data-y="3.0025" cx="266.03383764437933" cy="
|
|
|
1101
1101
|
L 173.07366106426278,160.11182660560425
|
|
1102
1102
|
Z
|
|
1103
1103
|
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.753887231036px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_78__stack1" x="174.43065808012756" y="156.34239045042426" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="6.784985079324px" transform="">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_79__stack1" d="
|
|
1104
|
-
M
|
|
1105
|
-
L
|
|
1106
|
-
L
|
|
1107
|
-
L
|
|
1108
|
-
L
|
|
1104
|
+
M 265.556777131604,278.9904193495935
|
|
1105
|
+
L 261.787340976424,276.9549238257963
|
|
1106
|
+
L 261.787340976424,264.02827077096566
|
|
1107
|
+
L 269.326213286784,264.02827077096566
|
|
1108
|
+
L 269.326213286784,276.9549238257963
|
|
1109
1109
|
Z
|
|
1110
|
-
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.753887231036px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_79__stack1" x="
|
|
1110
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.753887231036px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_79__stack1" x="265.556777131604" y="275.5979268099315" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="6.784985079324px" transform="rotate(-90 265.556777131604 275.5979268099315)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_80__stack1" d="
|
|
1111
1111
|
M 341.9432228675283,238.37474477752903
|
|
1112
1112
|
L 338.17378671234826,236.33924925373182
|
|
1113
1113
|
L 338.17378671234826,223.4125961989012
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
<svg width="1200" height="2016" viewBox="0 0 1200 2016" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on top and Circuit JSON schematic on the bottom">
|
|
2
2
|
<g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
|
|
3
|
-
<rect width="100%" height="100%" fill="white"/><g><polyline data-points="3.4,-7 5.157985400000001,-6.997375450000001" data-type="line" data-label="" points="163.11835958113113,299.30281055733576 386.25266743224313,298.96968654636817" fill="none" stroke="hsl(21, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4,-7
|
|
3
|
+
<rect width="100%" height="100%" fill="white"/><g><polyline data-points="3.4,-7 5.157985400000001,-6.997375450000001" data-type="line" data-label="" points="163.11835958113113,299.30281055733576 386.25266743224313,298.96968654636817" fill="none" stroke="hsl(21, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4,-7 5.157985400000001,-7 5.157985400000001,-6.997375450000001" data-type="line" data-label="" points="163.11835958113113,299.30281055733576 386.25266743224313,299.30281055733576 386.25266743224313,298.96968654636817" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6,-7 2.6,-7.76" data-type="line" data-label="" points="61.57744446267253,299.30281055733576 61.57744446267253,395.7666799198714" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="2.9979" data-y="-6.961574540324975" x="61.044354658300676" y="289.5484197092121" width="102.07400492283045" height="9.754390848123649" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007878597499999999"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="6" data-y="-7" x="386.2526674322432" y="244.2333200801284" width="213.74733256775687" height="110.1389809544147" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007878597499999999"/></g><g><rect data-type="rect" data-label="INLINE netId: RF1
|
|
4
4
|
axis: x
|
|
5
|
-
side: y+" data-x="4.
|
|
5
|
+
side: y+" data-x="4.278992700000001" data-y="-6.89" x="254.37733048299543" y="277.7253660946634" width="40.616366047383394" height="15.231137267768645" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007878597499999999"/></g><g><rect data-type="rect" data-label="INLINE netId: RF_OUT
|
|
6
6
|
axis: y
|
|
7
|
-
side: x-" data-x="2.49" data-y="-7.38" x="40.000000000000085" y="311.995424947143" width="15.231137267768815" height="71.07864058292114" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007878597499999999"/></g><text data-type="text" data-label="RF1" data-x="4.
|
|
7
|
+
side: x-" data-x="2.49" data-y="-7.38" x="40.000000000000085" y="311.995424947143" width="15.231137267768815" height="71.07864058292114" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007878597499999999"/></g><text data-type="text" data-label="RF1" data-x="4.278992700000001" data-y="-6.89" x="274.68551350668713" y="285.3409347285477" fill="green" font-size="15.231137267768789" font-family="sans-serif" text-anchor="middle" dominant-baseline="central">RF1</text><text data-type="text" data-label="RF_OUT" data-x="2.49" data-y="-7.1" x="47.61556863388449" y="311.9954249471431" fill="green" font-size="15.231137267768789" font-family="sans-serif" text-anchor="end" dominant-baseline="central" transform="rotate(-90, 47.61556863388449, 311.9954249471431)">RF_OUT</text><g><circle data-type="point" data-label="2
|
|
8
8
|
y-" data-x="3.4" data-y="-7" cx="163.11835958113113" cy="299.30281055733576" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="1
|
|
9
9
|
y-" data-x="2.6" data-y="-7" cx="61.57744446267253" cy="299.30281055733576" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anode
|
|
10
10
|
x-" data-x="5.157985400000001" data-y="-6.997375450000001" cx="386.25266743224313" cy="298.96968654636817" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="cathode
|
|
11
11
|
x+" data-x="6.842014599999999" data-y="-7.00262455" cx="600" cy="299.63593456830347" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="inline anchor
|
|
12
|
-
RF1" data-x="4.
|
|
12
|
+
RF1" data-x="4.278992700000001" data-y="-7" cx="274.68551350668713" cy="299.30281055733576" r="3" fill="green"/></g><g><circle data-type="point" data-label="inline anchor
|
|
13
13
|
RF_OUT" data-x="2.6" data-y="-7.38" cx="61.57744446267253" cy="347.5347452386036" r="3" fill="green"/></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[
|
|
14
14
|
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
15
15
|
const svg = e.currentTarget;
|
|
@@ -67,6 +67,6 @@ RF_OUT" data-x="2.6" data-y="-7.38" cx="61.57744446267253" cy="347.5347452386036
|
|
|
67
67
|
.port-label { fill: rgb(0, 100, 100); }
|
|
68
68
|
.component-name { fill: rgb(0, 100, 100); }
|
|
69
69
|
|
|
70
|
-
</style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 344.08840925458 360.1765754313001 L
|
|
70
|
+
</style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 344.08840925458 360.1765754313001 L 716.3483412749508 360.1765754313001 L 716.3483412749508 359.62081722956304" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="33.880593731472px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 344.08840925458 360.1765754313001 L 716.3483412749508 360.1765754313001 L 716.3483412749508 359.62081722956304" stroke="rgb(0, 150, 0)" fill="none" stroke-width="4.235074216434px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><path d="M 174.68544059722007 360.1765754313001 L 174.68544059722007 521.109395655792" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="33.880593731472px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 174.68544059722007 360.1765754313001 L 174.68544059722007 521.109395655792" stroke="rgb(0, 150, 0)" fill="none" stroke-width="4.235074216434px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="173.7960750117689" y="341.45215621399893" width="170.29233424281108" height="21.17537108216993" stroke-width="4.235074216434px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="173.7960750117689" y="341.45215621399893" width="170.29233424281108" height="21.17537108216993" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="344.08840925458" y1="360.1765754313001" x2="344.08840925458" y2="360.1765754313001" stroke-width="4.235074216434px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="339.853335038146" y="355.9415012148661" width="8.470148432868" height="8.470148432868" opacity="0"/></g><text class="pin-number sch-pin-number" x="339.853335038146" y="360.1765754313001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="31.763056623254997px" transform="rotate(-90 339.853335038146 360.1765754313001)">2</text><line class="component-pin sch-component-pin sch-port-line" x1="174.68544059722007" y1="360.1765754313001" x2="174.68544059722007" y2="360.1765754313001" stroke-width="4.235074216434px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="170.45036638078608" y="355.9415012148661" width="8.470148432868" height="8.470148432868" opacity="0"/></g><text class="pin-number sch-pin-number" x="170.45036638078608" y="360.1765754313001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="31.763056623254997px" transform="rotate(-90 170.45036638078608 360.1765754313001)">1</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component chip sch-component-body" x="801.049825603631" y="268.30291880329037" width="187.19646357473812" height="183.74731325601942" stroke-width="4.235074216434px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="801.049825603631" y="268.30291880329037" width="187.19646357473812" height="183.74731325601942" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="801.049825603631" y1="359.62081722956304" x2="716.3483412749508" y2="359.62081722956304" stroke-width="4.235074216434px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="712.1132670585168" y="355.38574301312906" width="8.470148432868" height="8.470148432868" opacity="0"/></g><text class="pin-number sch-pin-number" x="758.6990834392909" y="355.3857430131293" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="31.763056623254997px" transform=""></text><text class="pin-number sch-pin-label" x="822.2251966858009" y="359.62081722956304" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="31.763056623254997px" transform="">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="988.2462891783691" y1="360.7323336330371" x2="1068.7126992906153" y2="360.7323336330371" stroke-width="4.235074216434px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1072.9477735070493" cy="360.7323336330371" r="4.235074216434" stroke-width="4.235074216434px"/><rect x="1068.7126992906153" y="356.49725941660313" width="8.470148432868" height="8.470148432868" opacity="0"/></g><text class="pin-number sch-pin-number" x="1030.5970313427092" y="356.49725941660336" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="31.763056623254997px" transform=""></text><text class="pin-number sch-pin-label" x="967.0709180961992" y="360.7323336330371" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="31.763056623254997px" transform="">cathode</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="344.08840925458" cy="360.1765754313001" r="8.470148432868" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="174.68544059722007" cy="360.1765754313001" r="8.470148432868" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="716.3483412749508" cy="359.62081722956304" r="8.470148432868" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="1072.9477735070493" cy="360.7323336330371" r="8.470148432868" fill="red" opacity="0"/></g><text class="sch-text" x="530.2183752647654" y="336.8836672409129" fill="#047857" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="25.410445298604px" transform="rotate(0, 530.2183752647654, 336.8836672409129)">XXX</text><text class="sch-text" x="151.39253240683303" y="440.64298554354605" fill="#047857" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="25.410445298604px" transform="rotate(-90, 151.39253240683303, 440.64298554354605)">XXXXXX</text>
|
|
71
71
|
</g>
|
|
72
72
|
</svg>
|