@tscircuit/schematic-trace-solver 0.0.181 → 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 +318 -113
- package/lib/solvers/InlineNetLabelSolver/pushAnchoredNetLabelsAwayFromInlineLabels.ts +10 -0
- 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/bug-reports/bug-report-20260901T055358Z/__snapshots__/bug-report-20260901T055358Z.snap.svg +10 -10
- package/tests/repros/__snapshots__/board1096-usb-label-overlap-iteration.snap.svg +13 -13
- package/tests/repros/__snapshots__/repro-core-tb67s579ftg-inline-label-routing.snap.svg +181 -181
- package/tests/repros/__snapshots__/repro-mcp73831-charger-traces.snap.svg +10 -10
- 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
- package/tests/solvers/InlineNetLabelSolver/push-anchored-net-labels-away.test.ts +62 -0
|
@@ -1,10 +1,10 @@
|
|
|
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="-40.38,-0.2 -39.78,-4" data-type="line" data-label="" points="60.32238600120672,313.99017326092576 89.28540643048018,497.42263597965683" fill="none" stroke="hsl(287, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-34.32,3 -30.6,3" data-type="line" data-label="" points="352.8488923368675,159.52073097146797 532.4196189983622,159.52073097146797" fill="none" stroke="hsl(278, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-29.4,3 -37.62,-0.1" data-type="line" data-label="" points="590.3456598569089,159.52073097146797 193.5522799758644,309.16300318938016" fill="none" stroke="hsl(81, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-40.38,0 -38.22,-4" data-type="line" data-label="" points="60.32238600120672,304.3358331178346 164.58925954659094,497.42263597965683" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-40.38,0 -34,-3.3800000000000003" data-type="line" data-label="" points="60.32238600120672,304.3358331178346 368.29583656581326,467.4941815360744" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-38.22,-4 -34,-3.3800000000000003" data-type="line" data-label="" points="164.58925954659094,497.42263597965683 368.29583656581326,467.4941815360744" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-37.62,0.1 -34,-2.6199999999999997" data-type="line" data-label="" points="193.5522799758644,299.5086630462891 368.29583656581326,430.80768899232817" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-40.38,0.2 -35.76,3" data-type="line" data-label="" points="60.32238600120672,294.6814929747435 283.33764330661165,159.52073097146797" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-40.38,-0.2 -40.580000000000005,-0.2 -40.580000000000005,-4 -39.78,-4" data-type="line" data-label="" points="60.32238600120672,313.99017326092576 50.66804585811565,313.99017326092576 50.66804585811565,497.42263597965683 89.28540643048018,497.42263597965683" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-34.32,3 -30.6,3" data-type="line" data-label="" points="352.8488923368675,159.52073097146797 532.4196189983622,159.52073097146797" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-29.4,3 -29.2,3 -29.2,-0.1 -37.62,-0.1" data-type="line" data-label="" points="590.3456598569089,159.52073097146797 600,159.52073097146797 600,309.16300318938016 193.5522799758644,309.16300318938016" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-38.22,-4 -34,-4 -34,-3.3800000000000003" data-type="line" data-label="" points="164.58925954659094,497.42263597965683 368.29583656581326,497.42263597965683 368.29583656581326,467.4941815360744" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-37.62,0.1 -37.319,0.1 -37.319,0.30100000000000005" data-type="line" data-label="" points="193.5522799758644,299.5086630462891 208.0820618912162,299.5086630462891 208.0820618912162,289.8060512024825" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-35.76,3 -36.06099999999999,3 -36.06099999999999,3.351" data-type="line" data-label="" points="283.33764330661165,159.52073097146797 268.80786139125985,159.52073097146797 268.80786139125985,142.57736402034308" fill="none" stroke="purple" stroke-width="1px"/></g><g><
|
|
3
|
+
<rect width="100%" height="100%" fill="white"/><g><polyline data-points="-40.38,-0.2 -39.78,-4" data-type="line" data-label="" points="60.32238600120672,313.99017326092576 89.28540643048018,497.42263597965683" fill="none" stroke="hsl(287, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-34.32,3 -30.6,3" data-type="line" data-label="" points="352.8488923368675,159.52073097146797 532.4196189983622,159.52073097146797" fill="none" stroke="hsl(278, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-29.4,3 -37.62,-0.1" data-type="line" data-label="" points="590.3456598569089,159.52073097146797 193.5522799758644,309.16300318938016" fill="none" stroke="hsl(81, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-40.38,0 -38.22,-4" data-type="line" data-label="" points="60.32238600120672,304.3358331178346 164.58925954659094,497.42263597965683" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-40.38,0 -34,-3.3800000000000003" data-type="line" data-label="" points="60.32238600120672,304.3358331178346 368.29583656581326,467.4941815360744" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-38.22,-4 -34,-3.3800000000000003" data-type="line" data-label="" points="164.58925954659094,497.42263597965683 368.29583656581326,467.4941815360744" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-37.62,0.1 -34,-2.6199999999999997" data-type="line" data-label="" points="193.5522799758644,299.5086630462891 368.29583656581326,430.80768899232817" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-40.38,0.2 -35.76,3" data-type="line" data-label="" points="60.32238600120672,294.6814929747435 283.33764330661165,159.52073097146797" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-40.38,-0.2 -40.580000000000005,-0.2 -40.580000000000005,-4 -39.78,-4" data-type="line" data-label="" points="60.32238600120672,313.99017326092576 50.66804585811565,313.99017326092576 50.66804585811565,497.42263597965683 89.28540643048018,497.42263597965683" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-34.32,3 -30.6,3" data-type="line" data-label="" points="352.8488923368675,159.52073097146797 532.4196189983622,159.52073097146797" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-29.4,3 -29.2,3 -29.2,-0.1 -37.62,-0.1" data-type="line" data-label="" points="590.3456598569089,159.52073097146797 600,159.52073097146797 600,309.16300318938016 193.5522799758644,309.16300318938016" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-38.22,-4 -34,-4 -34,-3.3800000000000003" data-type="line" data-label="" points="164.58925954659094,497.42263597965683 368.29583656581326,497.42263597965683 368.29583656581326,467.4941815360744" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-37.62,0.1 -37.319,0.1 -37.319,0.30100000000000005" data-type="line" data-label="" points="193.5522799758644,299.5086630462891 208.0820618912162,299.5086630462891 208.0820618912162,289.8060512024825" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-35.76,3 -36.06099999999999,3 -36.06099999999999,3.351" data-type="line" data-label="" points="283.33764330661165,159.52073097146797 268.80786139125985,159.52073097146797 268.80786139125985,142.57736402034308" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-39" data-y="0" x="60.32238600120684" y="289.85432290319795" width="133.22989397465767" height="28.963020429273342" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-39" data-y="-4" x="89.2854064304803" y="481.01025773640197" width="75.30385311611076" height="32.82475648650973" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-33.447500000000005" data-y="-3" x="346.57357124385817" y="430.80768899232817" width="96.78475993448819" height="36.686492543746226" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-35.04" data-y="3" x="283.33764330661165" y="143.10835272821308" width="69.51124903025584" height="32.824756486509784" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-30" data-y="3" x="532.4196189983624" y="131.04042754934918" width="57.926040858546685" height="56.96060684423759" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="MCP73831T-2ACI/OT" data-x="-38.959999999999994" data-y="-0.43" x="79.63106628738967" y="320.7482113610895" width="98.47426945952907" height="8.688906128782037" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="U_CHARGER" data-x="-39.44" data-y="0.41500000000000004" x="76.73476424446187" y="278.2691147314886" width="57.926040858546685" height="12.067925178863902" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
4
4
|
globalConnNetId: connectivity_net3" data-x="-40.591" data-y="0" x="40" y="299.5086630462891" width="20.27411430049142" height="9.654340143091076" fill="#00000066" stroke="#000000" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
5
5
|
globalConnNetId: connectivity_net3" data-x="-34" data-y="-4.21" x="356.71062839410376" y="497.4226359796568" width="23.170416343418992" height="20.274114300491362" fill="#00000066" stroke="#000000" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="netId: VBAT
|
|
6
6
|
globalConnNetId: connectivity_net4" data-x="-37.319" data-y="0.511" x="193.6005516765797" y="269.5319369019912" width="28.963020429273" height="20.274114300491306" fill="#ef444466" stroke="#ef4444" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="netId: VBAT
|
|
7
|
-
globalConnNetId: connectivity_net4" data-x="-34" data-y="
|
|
7
|
+
globalConnNetId: connectivity_net4" data-x="-34" data-y="-2.409" x="353.81432635117665" y="410.4853029911214" width="28.96302042927323" height="20.274114300491306" fill="#ef444466" stroke="#ef4444" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="netId: VBUS
|
|
8
8
|
globalConnNetId: connectivity_net5" data-x="-40.591" data-y="0.2" x="40" y="289.85432290319795" width="20.27411430049142" height="9.654340143091133" fill="#ef444466" stroke="#ef4444" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="netId: VBUS
|
|
9
9
|
globalConnNetId: connectivity_net5" data-x="-36.06099999999999" data-y="3.561" x="254.32635117662335" y="122.30324971985173" width="28.963020429273" height="20.274114300491334" fill="#ef444466" stroke="#ef4444" stroke-width="0.020716071428571434"/></g><g><rect data-type="rect" data-label="INLINE netId: CHG_PROG
|
|
10
10
|
axis: y
|
|
@@ -29,7 +29,7 @@ x+" data-x="-29.4" data-y="3" cx="590.3456598569089" cy="159.52073097146797" r="
|
|
|
29
29
|
orientation: x-" data-x="-40.38" data-y="0" cx="60.32238600120672" cy="304.3358331178346" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
30
30
|
orientation: y-" data-x="-34" data-y="-4" cx="368.29583656581326" cy="497.42263597965683" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
31
31
|
orientation: y+" data-x="-37.319" data-y="0.30100000000000005" cx="208.0820618912162" cy="289.8060512024825" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
32
|
-
orientation: y+" data-x="-34" data-y="
|
|
32
|
+
orientation: y+" data-x="-34" data-y="-2.6199999999999997" cx="368.29583656581326" cy="430.80768899232817" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
33
33
|
orientation: x-" data-x="-40.38" data-y="0.2" cx="60.32238600120672" cy="294.6814929747435" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
34
34
|
orientation: y+" data-x="-36.06099999999999" data-y="3.351" cx="268.80786139125985" cy="142.57736402034308" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="inline anchor
|
|
35
35
|
CHG_PROG" data-x="-40.580000000000005" data-y="-2.1" cx="50.66804585811565" cy="405.7064046202913" r="3" fill="green"/></g><g><circle data-type="point" data-label="inline anchor
|
|
@@ -91,7 +91,7 @@ CHG_STAT" data-x="-33.41" data-y="-0.1" cx="396.7761399879323" cy="309.163003189
|
|
|
91
91
|
.port-label { fill: rgb(0, 100, 100); }
|
|
92
92
|
.component-name { fill: rgb(0, 100, 100); }
|
|
93
93
|
|
|
94
|
-
</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 134.10868620982365 389.10864382934 L 116.61253171878343 389.10864382934 L 116.61253171878343 721.5355791591 L 186.59714968294384 721.5355791591" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 134.10868620982365 389.10864382934 L 116.61253171878343 389.10864382934 L 116.61253171878343 721.5355791591 L 186.59714968294384 721.5355791591" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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 664.2421672883361 109.17017197270002 L 989.6706408216796 109.17017197270002" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 664.2421672883361 109.17017197270002 L 989.6706408216796 109.17017197270002" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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 1094.64756776792 109.17017197270002 L 1112.1437222589598 109.17017197270002 L 1112.1437222589598 380.36056658382 L 375.55561818617616 380.36056658382" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1094.64756776792 109.17017197270002 L 1112.1437222589598 109.17017197270002 L 1112.1437222589598 380.36056658382 L 375.55561818617616 380.36056658382" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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 323.06715471305597 721.5355791591 L 692.2360144740001 721.5355791591 L 692.2360144740001 667.297500236876" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 323.06715471305597 721.5355791591 L 692.2360144740001 721.5355791591 L 692.2360144740001 667.297500236876" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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_4__stack1"><path d="M 375.55561818617616 362.86441209278 L 401.88733069519094 362.86441209278 L 401.88733069519094 345.28077682928483" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 375.55561818617616 362.86441209278 L 401.88733069519094 362.86441209278 L 401.88733069519094 345.28077682928483" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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_5__stack1"><path d="M 538.2698549528482 109.17017197270002 L 511.9381424438334 109.17017197270002 L 511.9381424438334 78.46442084092484" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 538.2698549528482 109.17017197270002 L 511.9381424438334 109.17017197270002 L 511.9381424438334 78.46442084092484" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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_6__stack1"><path d="M 692.2360144740001 600.812113170924 L 692.2360144740001 361.2022774161312" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 692.2360144740001 600.812113170924 L 692.2360144740001 361.2022774161312" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_6__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="169.10099519190362" y="345.36825760174" width="171.46231401219256" height="52.488463473119964" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="169.10099519190362" y="345.36825760174" width="171.46231401219256" height="52.488463473119964" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="340.5633092040962" y1="380.36056658382" x2="375.55561818617616" y2="380.36056658382" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="373.80600273707216" y="378.610951134716" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="358.05946369513595" y="378.610951134716" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="331.8152319585761" y="380.36056658382" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">STAT</text><line class="component-pin sch-component-pin sch-port-line" x1="169.10099519190362" y1="371.6124893383" x2="135.8583016589282" y2="371.6124893383" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="134.10868620982365" cy="371.6124893383" r="1.749615449104" stroke-width="1.749615449104px"/><rect x="132.35907076071965" y="369.862873889196" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="151.60484070086386" y="369.862873889196" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="177.84907243742373" y="371.6124893383" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">VSS</text><line class="component-pin sch-component-pin sch-port-line" x1="340.5633092040962" y1="362.86441209278" x2="375.55561818617616" y2="362.86441209278" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><rect x="373.80600273707216" y="361.114796643676" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="358.05946369513595" y="361.114796643676" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="331.8152319585761" y="362.86441209278" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">VBAT</text><line class="component-pin sch-component-pin sch-port-line" x1="169.10099519190362" y1="354.11633484726" x2="135.8583016589282" y2="354.11633484726" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="134.10868620982365" cy="354.11633484726" r="1.749615449104" stroke-width="1.749615449104px"/><rect x="132.35907076071965" y="352.366719398156" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="151.60484070086386" y="352.366719398156" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="177.84907243742373" y="354.11633484726" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">VDD</text><line class="component-pin sch-component-pin sch-port-line" x1="169.10099519190362" y1="389.10864382934" x2="134.10868620982365" y2="389.10864382934" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><rect x="132.35907076071965" y="387.359028380236" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="151.60484070086386" y="387.359028380236" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="177.84907243742373" y="389.10864382934" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">PROG</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="221.5894586650238" y="691.792116524332" width="66.48538706595218" height="59.48692526953596" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="221.5894586650238" y="691.792116524332" width="66.48538706595218" height="59.48692526953596" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="221.5894586650238" y1="721.5355791591" x2="186.59714968294384" y2="721.5355791591" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="184.84753423383984" y="719.785963709996" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="204.09330417398405" y="719.7859637099959" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="230.33753591054392" y="721.5355791591" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="288.074845730976" y1="721.5355791591" x2="323.06715471305597" y2="721.5355791591" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="321.31753926395197" y="719.785963709996" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="305.57100022201575" y="719.7859637099959" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="279.3267684854559" y="721.5355791591" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">cathode</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component chip sch-component-body" x="652.8696668691596" y="629.6807680811401" width="175.3989487726758" height="8.74807724551988" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="652.8696668691596" y="629.6807680811401" width="175.3989487726758" height="8.74807724551988" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="692.2360144740001" y1="629.6807680811401" x2="692.2360144740001" y2="600.812113170924" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><rect x="690.4863990248961" y="599.06249772182" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="690.4863990248955" y="615.2464406260319" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform="rotate(-90 690.4863990248955 615.2464406260319)"></text><text class="pin-number sch-pin-label" x="692.2360144740001" y="638.4288453266599" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="rotate(-90 692.2360144740001 638.4288453266599)">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="692.2360144740001" y1="638.4288453266599" x2="692.2360144740001" y2="667.297500236876" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><rect x="690.4863990248961" y="665.547884787772" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="690.4863990248955" y="652.8631727817681" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform="rotate(-90 690.4863990248955 652.8631727817681)"></text><text class="pin-number sch-pin-label" x="692.2360144740001" y="629.6807680811401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="rotate(-90 692.2360144740001 629.6807680811401)">cathode</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_3__stack1"><rect class="component chip sch-component-body" x="573.2621639349281" y="79.42670933793198" width="55.98769437132796" height="59.48692526953607" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="573.2621639349281" y="79.42670933793198" width="55.98769437132796" height="59.48692526953607" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="573.2621639349281" y1="109.17017197270002" x2="538.2698549528482" y2="109.17017197270002" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_3_0__stack1"><rect x="536.5202395037442" y="107.42055652359602" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="555.7660094438884" y="107.42055652359602" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="582.0102411804482" y="109.17017197270002" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="629.2498583062561" y1="109.17017197270002" x2="664.2421672883361" y2="109.17017197270002" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_3_1__stack1"><rect x="662.4925518392321" y="107.42055652359602" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="646.7460127972959" y="107.42055652359602" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="620.501781060736" y="109.17017197270002" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">cathode</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_4__stack1"><rect class="component chip sch-component-body" x="1024.6629498037596" y="57.556516224132" width="34.99230898208043" height="103.22731149713604" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="1024.6629498037596" y="57.556516224132" width="34.99230898208043" height="103.22731149713604" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="1024.6629498037596" y1="109.17017197270002" x2="989.6706408216796" y2="109.17017197270002" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_4_0__stack1"><rect x="987.9210253725756" y="107.42055652359602" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="1007.1667953127198" y="107.42055652359602" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="1033.4110270492797" y="109.17017197270002" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="1059.65525878584" y1="109.17017197270002" x2="1094.64756776792" y2="109.17017197270002" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_4_1__stack1"><rect x="1092.897952318816" y="107.42055652359602" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="1077.1514132768802" y="107.42055652359602" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="1050.90718154032" y="109.17017197270002" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">cathode</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="375.55561818617616" cy="380.36056658382" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="134.10868620982365" cy="371.6124893383" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="375.55561818617616" cy="362.86441209278" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="134.10868620982365" cy="354.11633484726" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="134.10868620982365" cy="389.10864382934" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="186.59714968294384" cy="721.5355791591" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="323.06715471305597" cy="721.5355791591" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="692.2360144740001" cy="600.812113170924" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="692.2360144740001" cy="667.297500236876" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_0__stack1"><circle cx="538.2698549528482" cy="109.17017197270002" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_1__stack1"><circle cx="664.2421672883361" cy="109.17017197270002" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_0__stack1"><circle cx="989.6706408216796" cy="109.17017197270002" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_1__stack1"><circle cx="1094.64756776792" cy="109.17017197270002" r="3.499230898208" 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="
|
|
94
|
+
</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 134.10868620982365 389.10864382934 L 116.61253171878343 389.10864382934 L 116.61253171878343 721.5355791591 L 186.59714968294384 721.5355791591" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 134.10868620982365 389.10864382934 L 116.61253171878343 389.10864382934 L 116.61253171878343 721.5355791591 L 186.59714968294384 721.5355791591" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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 664.2421672883361 109.17017197270002 L 989.6706408216796 109.17017197270002" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 664.2421672883361 109.17017197270002 L 989.6706408216796 109.17017197270002" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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 1094.64756776792 109.17017197270002 L 1112.1437222589598 109.17017197270002 L 1112.1437222589598 380.36056658382 L 375.55561818617616 380.36056658382" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1094.64756776792 109.17017197270002 L 1112.1437222589598 109.17017197270002 L 1112.1437222589598 380.36056658382 L 375.55561818617616 380.36056658382" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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 323.06715471305597 721.5355791591 L 692.2360144740001 721.5355791591 L 692.2360144740001 667.297500236876" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 323.06715471305597 721.5355791591 L 692.2360144740001 721.5355791591 L 692.2360144740001 667.297500236876" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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_4__stack1"><path d="M 375.55561818617616 362.86441209278 L 401.88733069519094 362.86441209278 L 401.88733069519094 345.28077682928483" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 375.55561818617616 362.86441209278 L 401.88733069519094 362.86441209278 L 401.88733069519094 345.28077682928483" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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_5__stack1"><path d="M 538.2698549528482 109.17017197270002 L 511.9381424438334 109.17017197270002 L 511.9381424438334 78.46442084092484" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="13.996923592832px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 538.2698549528482 109.17017197270002 L 511.9381424438334 109.17017197270002 L 511.9381424438334 78.46442084092484" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.749615449104px" 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="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__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="169.10099519190362" y="345.36825760174" width="171.46231401219256" height="52.488463473119964" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="169.10099519190362" y="345.36825760174" width="171.46231401219256" height="52.488463473119964" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="340.5633092040962" y1="380.36056658382" x2="375.55561818617616" y2="380.36056658382" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="373.80600273707216" y="378.610951134716" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="358.05946369513595" y="378.610951134716" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="331.8152319585761" y="380.36056658382" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">STAT</text><line class="component-pin sch-component-pin sch-port-line" x1="169.10099519190362" y1="371.6124893383" x2="135.8583016589282" y2="371.6124893383" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="134.10868620982365" cy="371.6124893383" r="1.749615449104" stroke-width="1.749615449104px"/><rect x="132.35907076071965" y="369.862873889196" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="151.60484070086386" y="369.862873889196" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="177.84907243742373" y="371.6124893383" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">VSS</text><line class="component-pin sch-component-pin sch-port-line" x1="340.5633092040962" y1="362.86441209278" x2="375.55561818617616" y2="362.86441209278" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><rect x="373.80600273707216" y="361.114796643676" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="358.05946369513595" y="361.114796643676" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="331.8152319585761" y="362.86441209278" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">VBAT</text><line class="component-pin sch-component-pin sch-port-line" x1="169.10099519190362" y1="354.11633484726" x2="135.8583016589282" y2="354.11633484726" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="134.10868620982365" cy="354.11633484726" r="1.749615449104" stroke-width="1.749615449104px"/><rect x="132.35907076071965" y="352.366719398156" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="151.60484070086386" y="352.366719398156" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="177.84907243742373" y="354.11633484726" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">VDD</text><line class="component-pin sch-component-pin sch-port-line" x1="169.10099519190362" y1="389.10864382934" x2="134.10868620982365" y2="389.10864382934" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><rect x="132.35907076071965" y="387.359028380236" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="151.60484070086386" y="387.359028380236" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="177.84907243742373" y="389.10864382934" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">PROG</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="221.5894586650238" y="691.792116524332" width="66.48538706595218" height="59.48692526953596" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="221.5894586650238" y="691.792116524332" width="66.48538706595218" height="59.48692526953596" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="221.5894586650238" y1="721.5355791591" x2="186.59714968294384" y2="721.5355791591" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="184.84753423383984" y="719.785963709996" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="204.09330417398405" y="719.7859637099959" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="230.33753591054392" y="721.5355791591" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="288.074845730976" y1="721.5355791591" x2="323.06715471305597" y2="721.5355791591" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="321.31753926395197" y="719.785963709996" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="305.57100022201575" y="719.7859637099959" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="279.3267684854559" y="721.5355791591" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">cathode</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component chip sch-component-body" x="652.8696668691596" y="629.6807680811401" width="175.3989487726758" height="8.74807724551988" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="652.8696668691596" y="629.6807680811401" width="175.3989487726758" height="8.74807724551988" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="692.2360144740001" y1="629.6807680811401" x2="692.2360144740001" y2="602.5617286200279" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="692.2360144740001" cy="600.812113170924" r="1.749615449104" stroke-width="1.749615449104px"/><rect x="690.4863990248961" y="599.06249772182" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="690.4863990248955" y="615.2464406260319" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform="rotate(-90 690.4863990248955 615.2464406260319)"></text><text class="pin-number sch-pin-label" x="692.2360144740001" y="638.4288453266599" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="rotate(-90 692.2360144740001 638.4288453266599)">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="692.2360144740001" y1="638.4288453266599" x2="692.2360144740001" y2="667.297500236876" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><rect x="690.4863990248961" y="665.547884787772" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="690.4863990248955" y="652.8631727817681" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform="rotate(-90 690.4863990248955 652.8631727817681)"></text><text class="pin-number sch-pin-label" x="692.2360144740001" y="629.6807680811401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="rotate(-90 692.2360144740001 629.6807680811401)">cathode</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_3__stack1"><rect class="component chip sch-component-body" x="573.2621639349281" y="79.42670933793198" width="55.98769437132796" height="59.48692526953607" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="573.2621639349281" y="79.42670933793198" width="55.98769437132796" height="59.48692526953607" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="573.2621639349281" y1="109.17017197270002" x2="538.2698549528482" y2="109.17017197270002" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_3_0__stack1"><rect x="536.5202395037442" y="107.42055652359602" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="555.7660094438884" y="107.42055652359602" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="582.0102411804482" y="109.17017197270002" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="629.2498583062561" y1="109.17017197270002" x2="664.2421672883361" y2="109.17017197270002" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_3_1__stack1"><rect x="662.4925518392321" y="107.42055652359602" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="646.7460127972959" y="107.42055652359602" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="620.501781060736" y="109.17017197270002" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">cathode</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_4__stack1"><rect class="component chip sch-component-body" x="1024.6629498037596" y="57.556516224132" width="34.99230898208043" height="103.22731149713604" stroke-width="1.749615449104px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="1024.6629498037596" y="57.556516224132" width="34.99230898208043" height="103.22731149713604" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="1024.6629498037596" y1="109.17017197270002" x2="989.6706408216796" y2="109.17017197270002" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_4_0__stack1"><rect x="987.9210253725756" y="107.42055652359602" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="1007.1667953127198" y="107.42055652359602" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="1033.4110270492797" y="109.17017197270002" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.12211586828px" transform="">anode</text><line class="component-pin sch-component-pin sch-port-line" x1="1059.65525878584" y1="109.17017197270002" x2="1094.64756776792" y2="109.17017197270002" stroke-width="1.749615449104px"/><g class="sch-port" data-schematic-port-id="source_port_4_1__stack1"><rect x="1092.897952318816" y="107.42055652359602" width="3.499230898208" height="3.499230898208" opacity="0"/></g><text class="pin-number sch-pin-number" x="1077.1514132768802" y="107.42055652359602" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.12211586828px" transform=""></text><text class="pin-number sch-pin-label" x="1050.90718154032" y="109.17017197270002" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="13.12211586828px" transform="">cathode</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="375.55561818617616" cy="380.36056658382" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="134.10868620982365" cy="371.6124893383" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="375.55561818617616" cy="362.86441209278" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="134.10868620982365" cy="354.11633484726" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="134.10868620982365" cy="389.10864382934" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="186.59714968294384" cy="721.5355791591" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="323.06715471305597" cy="721.5355791591" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="692.2360144740001" cy="600.812113170924" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="692.2360144740001" cy="667.297500236876" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_0__stack1"><circle cx="538.2698549528482" cy="109.17017197270002" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_1__stack1"><circle cx="664.2421672883361" cy="109.17017197270002" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_0__stack1"><circle cx="989.6706408216796" cy="109.17017197270002" r="3.499230898208" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_1__stack1"><circle cx="1094.64756776792" cy="109.17017197270002" r="3.499230898208" 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="
|
|
95
95
|
M 134.10868620982365,371.6124893383
|
|
96
96
|
L 129.38472449724284,380.36056658382
|
|
97
97
|
L 99.38465159660626,380.36056658382
|
|
@@ -106,13 +106,13 @@ CHG_STAT" data-x="-33.41" data-y="-0.1" cx="396.7761399879323" cy="309.163003189
|
|
|
106
106
|
L 410.63540794071093,340.55681511670406
|
|
107
107
|
Z
|
|
108
108
|
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.749615449104px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="401.88733069519094" y="337.40750730831684" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="15.746539041935998px" transform="rotate(-90 401.88733069519094 337.40750730831684)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" d="
|
|
109
|
-
M 692.2360144740001,
|
|
110
|
-
L 683.4879372284801,
|
|
111
|
-
L 683.4879372284801,
|
|
112
|
-
L 700.98409171952,
|
|
113
|
-
L 700.98409171952,
|
|
109
|
+
M 692.2360144740001,600.812113170924
|
|
110
|
+
L 683.4879372284801,596.0881514583432
|
|
111
|
+
L 683.4879372284801,566.0880785577067
|
|
112
|
+
L 700.98409171952,566.0880785577067
|
|
113
|
+
L 700.98409171952,596.0881514583432
|
|
114
114
|
Z
|
|
115
|
-
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.749615449104px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" x="692.2360144740001" y="
|
|
115
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.749615449104px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" x="692.2360144740001" y="592.938843649956" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="15.746539041935998px" transform="rotate(-90 692.2360144740001 592.938843649956)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" d="
|
|
116
116
|
M 134.10868620982365,354.11633484726
|
|
117
117
|
L 129.38472449724284,362.86441209278
|
|
118
118
|
L 99.38465159660626,362.86441209278
|
|
@@ -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>
|
|
@@ -126,6 +126,68 @@ test("leaves a label without a movable connector in place", () => {
|
|
|
126
126
|
expect(output.netLabelPlacements[0]).toEqual(label)
|
|
127
127
|
})
|
|
128
128
|
|
|
129
|
+
test("leaves a label in place when its new connector would cross another net", () => {
|
|
130
|
+
const inputProblem: InputProblem = {
|
|
131
|
+
chips: [
|
|
132
|
+
{
|
|
133
|
+
chipId: "U1",
|
|
134
|
+
center: { x: 0, y: 0 },
|
|
135
|
+
width: 2,
|
|
136
|
+
height: 1,
|
|
137
|
+
pins: [{ pinId: "U1.1", x: -0.5, y: 0.2, _facingDirection: "x-" }],
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
directConnections: [],
|
|
141
|
+
netConnections: [],
|
|
142
|
+
availableNetLabelOrientations: {},
|
|
143
|
+
}
|
|
144
|
+
const label: NetLabelPlacement = {
|
|
145
|
+
globalConnNetId: "regular-net",
|
|
146
|
+
netId: "D_PLUS",
|
|
147
|
+
mspConnectionPairIds: [],
|
|
148
|
+
pinIds: ["U1.1"],
|
|
149
|
+
orientation: "x-",
|
|
150
|
+
anchorPoint: { x: -0.5, y: 0.2 },
|
|
151
|
+
center: { x: -0.6, y: 0.2 },
|
|
152
|
+
width: 0.2,
|
|
153
|
+
height: 0.2,
|
|
154
|
+
}
|
|
155
|
+
const crossingTrace: SolvedTracePath = {
|
|
156
|
+
mspPairId: "crossing-trace",
|
|
157
|
+
dcConnNetId: "crossing-net",
|
|
158
|
+
globalConnNetId: "crossing-net",
|
|
159
|
+
pins: [] as any,
|
|
160
|
+
tracePath: [
|
|
161
|
+
{ x: -1.2, y: -0.2 },
|
|
162
|
+
{ x: -1.2, y: 0.4 },
|
|
163
|
+
],
|
|
164
|
+
mspConnectionPairIds: ["crossing-trace"],
|
|
165
|
+
pinIds: [],
|
|
166
|
+
}
|
|
167
|
+
const inlineLabel: InlineNetLabelPlacement = {
|
|
168
|
+
globalConnNetId: "inline-net",
|
|
169
|
+
netId: "SWCLK",
|
|
170
|
+
pinIds: ["U1.2"],
|
|
171
|
+
axis: "x",
|
|
172
|
+
anchorPoint: { x: -1.1, y: 0 },
|
|
173
|
+
center: { x: -1.1, y: 0.11 },
|
|
174
|
+
width: 1.2,
|
|
175
|
+
height: 0.12,
|
|
176
|
+
side: "y+",
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
const output = pushAnchoredNetLabelsAwayFromInlineLabels({
|
|
180
|
+
inputProblem,
|
|
181
|
+
traces: [crossingTrace],
|
|
182
|
+
netLabelPlacements: [label],
|
|
183
|
+
inlineNetLabelPlacements: [inlineLabel],
|
|
184
|
+
})
|
|
185
|
+
|
|
186
|
+
expect(output.movedLabelCount).toBe(0)
|
|
187
|
+
expect(output.netLabelPlacements[0]).toEqual(label)
|
|
188
|
+
expect(output.traces).toEqual([crossingTrace])
|
|
189
|
+
})
|
|
190
|
+
|
|
129
191
|
test("moves a contiguous label row together and shoves an anchored obstacle", () => {
|
|
130
192
|
const inputProblem: InputProblem = {
|
|
131
193
|
chips: [
|