@tscircuit/schematic-trace-solver 0.0.148 → 0.0.150
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/.agents/skills/schematic-trace-visualization/SKILL.md +7 -2
- package/dist/index.d.ts +31 -2
- package/dist/index.js +127 -46
- package/lib/solvers/InlineNetLabelSolver/InlineNetLabelSolver.ts +115 -6
- package/lib/solvers/NetLabelPlacementSolver/NetLabelPlacementSolver.ts +17 -1
- package/lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/SingleNetLabelPlacementSolver.ts +2 -0
- package/lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/solvePortOnlyPin.ts +2 -0
- package/lib/types/InputProblem.ts +27 -1
- package/package.json +8 -1
- package/site/examples/example51.page.tsx +4 -0
- package/tests/assets/example51.json +5102 -0
- package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +751 -5
- package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +660 -5
- package/tests/bug-reports/bug-report-20260707T020342Z/__snapshots__/bug-report-20260707T020342Z.snap.svg +44 -5
- package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +394 -5
- package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +170 -5
- package/tests/bug-reports/bug-report-20260707T134722Z/__snapshots__/bug-report-20260707T134722Z.snap.svg +79 -5
- package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +219 -5
- package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +65 -5
- package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +142 -5
- package/tests/bug-reports/bug-report-20260707T230831Z/__snapshots__/bug-report-20260707T230831Z.snap.svg +100 -5
- package/tests/bug-reports/bug-report-20260708T053736Z/__snapshots__/bug-report-20260708T053736Z.snap.svg +23 -5
- package/tests/bug-reports/bug-report-20260708T055430Z/__snapshots__/bug-report-20260708T055430Z.snap.svg +58 -5
- package/tests/bug-reports/bug-report-20260708T095725Z/__snapshots__/bug-report-20260708T095725Z.snap.svg +86 -5
- package/tests/bug-reports/bug-report-20260716T144856Z/__snapshots__/bug-report-20260716T144856Z.snap.svg +226 -5
- package/tests/bug-reports/bug-report-20260717T022934Z/__snapshots__/bug-report-20260717T022934Z.snap.svg +191 -5
- package/tests/bug-reports/bug-report-20260717T031704Z/__snapshots__/bug-report-20260717T031704Z.snap.svg +30 -5
- package/tests/bug-reports/bug-report-20260717T042845Z/__snapshots__/bug-report-20260717T042845Z.snap.svg +37 -5
- package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +580 -2
- package/tests/bug-reports/bug-report-20260724T175257Z/__snapshots__/bug-report-20260724T175257Z.snap.svg +44 -5
- package/tests/bug-reports/bug-report-20260728T144234Z/__snapshots__/bug-report-20260728T144234Z.snap.svg +107 -5
- package/tests/bug-reports/bug-report-20260728T225606Z/__snapshots__/bug-report-20260728T225606Z.snap.svg +114 -5
- package/tests/bug-reports/bug-report-20260730T061837Z/__snapshots__/bug-report-20260730T061837Z.snap.svg +121 -5
- package/tests/bug-reports/bug-report-20260731T052229Z/__snapshots__/bug-report-20260731T052229Z.snap.svg +51 -5
- package/tests/bug-reports/bug-report-20260804T095800Z/__snapshots__/bug-report-20260804T095800Z.snap.svg +212 -5
- package/tests/bug-reports/bug-report-20260804T171919Z/__snapshots__/bug-report-20260804T171919Z.snap.svg +569 -5
- package/tests/bug-reports/bug-report-20260804T225912Z/__snapshots__/bug-report-20260804T225912Z.snap.svg +37 -5
- package/tests/bug-reports/bug-report-20260805T061316Z/__snapshots__/bug-report-20260805T061316Z.snap.svg +289 -5
- package/tests/bug-reports/bug-report-20260806T061548Z/__snapshots__/bug-report-20260806T061548Z.snap.svg +289 -5
- package/tests/bug-reports/bug-report-20260806T093501Z/__snapshots__/bug-report-20260806T093501Z.snap.svg +149 -5
- package/tests/bug-reports/bug-report-20260811T075142Z/__snapshots__/bug-report-20260811T075142Z.snap.svg +93 -5
- package/tests/bug-reports/bug-report-20260815T073240Z/__snapshots__/bug-report-20260815T073240Z.snap.svg +79 -5
- package/tests/bug-reports/bug-report-20260819T091818Z/__snapshots__/bug-report-20260819T091818Z.snap.svg +244 -2
- package/tests/examples/__snapshots__/example01.snap.svg +44 -5
- package/tests/examples/__snapshots__/example02.snap.svg +51 -5
- package/tests/examples/__snapshots__/example03.snap.svg +86 -5
- package/tests/examples/__snapshots__/example04.snap.svg +30 -5
- package/tests/examples/__snapshots__/example05.snap.svg +30 -5
- package/tests/examples/__snapshots__/example06.snap.svg +30 -5
- package/tests/examples/__snapshots__/example07.snap.svg +58 -5
- package/tests/examples/__snapshots__/example08.snap.svg +37 -5
- package/tests/examples/__snapshots__/example09.snap.svg +149 -5
- package/tests/examples/__snapshots__/example10.snap.svg +65 -5
- package/tests/examples/__snapshots__/example11.snap.svg +51 -5
- package/tests/examples/__snapshots__/example12.snap.svg +51 -5
- package/tests/examples/__snapshots__/example13.snap.svg +72 -5
- package/tests/examples/__snapshots__/example14.snap.svg +79 -5
- package/tests/examples/__snapshots__/example15.snap.svg +86 -5
- package/tests/examples/__snapshots__/example16.snap.svg +51 -5
- package/tests/examples/__snapshots__/example17.snap.svg +51 -5
- package/tests/examples/__snapshots__/example18.snap.svg +58 -5
- package/tests/examples/__snapshots__/example19.snap.svg +44 -5
- package/tests/examples/__snapshots__/example20.snap.svg +44 -5
- package/tests/examples/__snapshots__/example21.snap.svg +72 -5
- package/tests/examples/__snapshots__/example22.snap.svg +51 -5
- package/tests/examples/__snapshots__/example23.snap.svg +51 -5
- package/tests/examples/__snapshots__/example24.snap.svg +51 -5
- package/tests/examples/__snapshots__/example25.snap.svg +86 -5
- package/tests/examples/__snapshots__/example26.snap.svg +51 -5
- package/tests/examples/__snapshots__/example27.snap.svg +72 -5
- package/tests/examples/__snapshots__/example28.snap.svg +44 -5
- package/tests/examples/__snapshots__/example29.snap.svg +324 -5
- package/tests/examples/__snapshots__/example30.snap.svg +107 -5
- package/tests/examples/__snapshots__/example31.snap.svg +37 -5
- package/tests/examples/__snapshots__/example32.snap.svg +149 -5
- package/tests/examples/__snapshots__/example33.snap.svg +93 -5
- package/tests/examples/__snapshots__/example34.snap.svg +51 -5
- package/tests/examples/__snapshots__/example35.snap.svg +58 -5
- package/tests/examples/__snapshots__/example36.snap.svg +44 -5
- package/tests/examples/__snapshots__/example37.snap.svg +72 -5
- package/tests/examples/__snapshots__/example38.snap.svg +30 -5
- package/tests/examples/__snapshots__/example39.snap.svg +37 -5
- package/tests/examples/__snapshots__/example40.snap.svg +100 -5
- package/tests/examples/__snapshots__/example41.snap.svg +44 -5
- package/tests/examples/__snapshots__/example42.snap.svg +65 -5
- package/tests/examples/__snapshots__/example43.snap.svg +58 -5
- package/tests/examples/__snapshots__/example44.snap.svg +107 -5
- package/tests/examples/__snapshots__/example45.snap.svg +51 -5
- package/tests/examples/__snapshots__/example46.snap.svg +93 -5
- package/tests/examples/__snapshots__/example47.snap.svg +93 -5
- package/tests/examples/__snapshots__/example48.snap.svg +65 -5
- package/tests/examples/__snapshots__/example49.snap.svg +177 -5
- package/tests/examples/__snapshots__/example50.snap.svg +93 -5
- package/tests/examples/__snapshots__/example51.snap.svg +952 -0
- package/tests/examples/example51.test.ts +12 -0
- package/tests/fixtures/convertSolverOutputToCircuitJson.test.ts +219 -0
- package/tests/fixtures/convertSolverOutputToCircuitJson.ts +1058 -0
- package/tests/fixtures/matcher.ts +45 -8
- package/tests/repros/__snapshots__/board-1273-trace-overlap-cycle.snap.svg +762 -2
- package/tests/repros/__snapshots__/board-15984-same-net-junction.snap.svg +111 -2
- package/tests/repros/__snapshots__/board1096-usb-label-overlap-iteration.snap.svg +167 -2
- package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +65 -5
- package/tests/repros/__snapshots__/manufacturePartNumber-text-box.snap.svg +30 -5
- package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +79 -5
- package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +65 -5
- package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +149 -5
- package/tests/repros/__snapshots__/repro-board-589-regulator-section.snap.svg +55 -2
- package/tests/repros/__snapshots__/repro-board-648-esp12f-section.snap.svg +160 -2
- package/tests/repros/__snapshots__/repro-bq24074-battery-charger.snap.svg +135 -5
- package/tests/repros/__snapshots__/repro-bq25895-cross-net-trace-overlap.snap.svg +69 -2
- package/tests/repros/__snapshots__/repro-cc2340r5.snap.svg +86 -5
- package/tests/repros/__snapshots__/repro-core-555-power-cross-net-overlap.snap.svg +44 -5
- package/tests/repros/__snapshots__/repro-core-subcircuit-missing-ground.snap.svg +44 -5
- package/tests/repros/__snapshots__/repro-core-tb67s579ftg-inline-label-routing.snap.svg +260 -0
- package/tests/repros/__snapshots__/repro-example35-minimize-trace-crossing.snap.svg +335 -2
- package/tests/repros/__snapshots__/repro-ground-label-on-lower-rail-end.snap.svg +48 -2
- package/tests/repros/__snapshots__/repro-ina237-current-monitor.snap.svg +149 -5
- package/tests/repros/__snapshots__/repro-missing-trace-netlabel.snap.svg +72 -5
- package/tests/repros/__snapshots__/repro-netlabel-collision-687.snap.svg +100 -5
- package/tests/repros/__snapshots__/repro-netlabel-overlap-trace.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro-nrf52810-clock-routing.snap.svg +90 -2
- package/tests/repros/__snapshots__/repro-power-group-rail-labels.snap.svg +37 -5
- package/tests/repros/__snapshots__/repro-rectifier-trace-overlap.snap.svg +44 -5
- package/tests/repros/__snapshots__/repro-rp2040-gamepad-trace-alignment.snap.svg +237 -2
- package/tests/repros/__snapshots__/repro-rp2040-usb-cc2-ground-overlap.snap.svg +72 -5
- package/tests/repros/__snapshots__/repro-rp2040-v3v3-label-placement.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro-rp2040-zero-crystal-fallback-netlabels.snap.svg +30 -5
- package/tests/repros/__snapshots__/repro-ti-power-output-section.snap.svg +79 -5
- package/tests/repros/__snapshots__/repro-tida010076-j4-ground-bus.snap.svg +27 -2
- package/tests/repros/__snapshots__/repro-tida010076-page02.snap.svg +1150 -5
- package/tests/repros/__snapshots__/repro-tps61222-trace-intersection.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro-type-c-16pin-self-connection.snap.svg +30 -5
- package/tests/repros/__snapshots__/repro-type-c-16pin-to-resistor.snap.svg +30 -5
- package/tests/repros/__snapshots__/repro-type-c-vbus-led-ground-label.snap.svg +44 -5
- package/tests/repros/__snapshots__/repro-usb-power-vbus-label-detour.snap.svg +685 -2
- package/tests/repros/__snapshots__/repro-vcc-pin1-detour.snap.svg +27 -2
- package/tests/repros/__snapshots__/repro129-host-custom-symbol-passives.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro130-bq27441-fuel-gauge-trace-through-c1.snap.svg +100 -5
- package/tests/repros/__snapshots__/repro161-power-section-autolayout.snap.svg +107 -5
- package/tests/repros/__snapshots__/repro47-endpoint-obstacle-detour.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro48-555-timer-vcc-rail-label.snap.svg +104 -2
- package/tests/repros/__snapshots__/repro5-escape-padded-text-obstacles.snap.svg +30 -5
- package/tests/repros/__snapshots__/repro51-overlap-junction-crossing.snap.svg +65 -5
- package/tests/repros/__snapshots__/repro84-stacked-gnd-label-orientation.snap.svg +27 -2
- package/tests/repros/__snapshots__/small-variant-resistor-facing-direction.snap.svg +58 -5
- package/tests/repros/__snapshots__/trace-overlap-box-resistor.snap.svg +37 -5
- package/tests/repros/assets/repro-core-tb67s579ftg-inline-label-routing.input.json +900 -0
- package/tests/repros/repro-core-tb67s579ftg-inline-label-routing.test.ts +40 -0
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/fallback-net-label-width.snap.svg +25 -7
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-anchored-label-clearance.snap.svg +34 -2
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-port-stub.snap.svg +23 -5
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-two-pin-net.snap.svg +23 -5
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label01.snap.svg +23 -5
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label02.snap.svg +23 -5
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/terminal-stub-trace-clearance.snap.svg +71 -0
- package/tests/solvers/InlineNetLabelSolver/fallback-net-label-width.test.ts +10 -1
- package/tests/solvers/InlineNetLabelSolver/terminal-stub-trace-clearance.test.ts +102 -0
- package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_01-example17-d1_1-u1_1.snap.svg +23 -5
- package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_repro47-short-opposing-pins.snap.svg +20 -2
- package/tests/solvers/TraceCleanupSolver/__snapshots__/TraceCleanupSolver.snap.svg +44 -5
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/__snapshots__/TraceLabelOverlapAvoidanceSolver.snap.svg +79 -5
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/MergedNetLabelObstacles.snap.svg +44 -5
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/OverlapAvoidanceStepSolver.snap.svg +23 -5
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/SingleOverlapSolver.snap.svg +30 -5
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
<svg width="
|
|
1
|
+
<svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
|
|
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="-2.65,0 2.75,-0.2" data-type="line" data-label="" points="182.64150943396226,325.811320754717 467.92452830188677,336.37735849056605" fill="none" stroke="hsl(288, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.65,-0.2 2.75,0" data-type="line" data-label="" points="182.64150943396226,336.37735849056605 467.92452830188677,325.811320754717" fill="none" stroke="hsl(344, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.65,0 0.050000000000000044,0 0.050000000000000044,-0.2 2.75,-0.2" data-type="line" data-label="" points="182.64150943396226,325.811320754717 325.2830188679245,325.811320754717 325.2830188679245,336.37735849056605 467.92452830188677,336.37735849056605" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-4" data-y="0" x="40" y="304.6792452830189" width="142.64150943396226" height="42.2641509433962" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="4" data-y="0" x="467.92452830188677" y="304.6792452830189" width="132.07547169811323" height="42.2641509433962" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="power" data-x="-4.65" data-y="0.53" x="61.13207547169809" y="293.0566037735849" width="31.698113207547152" height="9.509433962264097" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="load" data-x="3.3899999999999997" data-y="0.53" x="489.0566037735849" y="293.0566037735849" width="25.358490566037688" height="9.509433962264097" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="netId: .power > .VOUT_3V3 to .load > .3V3
|
|
2
4
|
globalConnNetId: connectivity_net0" data-x="-1.2999999999999998" data-y="0.225" x="248.67924528301884" y="302.0377358490566" width="10.56603773584908" height="23.773584905660357" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="netId: .power > .SEC_GND to .load > .GND
|
|
3
5
|
globalConnNetId: connectivity_net1" data-x="-2.424" data-y="-0.2" x="182.6943396226415" y="331.09433962264154" width="23.773584905660385" height="10.56603773584908" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01892857142857143"/></g><g><rect data-type="rect" data-label="netId: .power > .SEC_GND to .load > .GND
|
|
4
6
|
globalConnNetId: connectivity_net1" data-x="2.524" data-y="0" x="444.0981132075471" y="320.52830188679246" width="23.773584905660414" height="10.566037735849022" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01892857142857143"/></g><g><circle data-type="point" data-label="schematic_component_0.1
|
|
@@ -20,7 +22,7 @@ orientation: x-" data-x="2.75" data-y="0" cx="467.92452830188677" cy="325.811320
|
|
|
20
22
|
const h = svg.getElementById('crosshair-h');
|
|
21
23
|
const v = svg.getElementById('crosshair-v');
|
|
22
24
|
const coords = svg.getElementById('coordinates');
|
|
23
|
-
|
|
25
|
+
|
|
24
26
|
crosshair.style.display = 'block';
|
|
25
27
|
h.setAttribute('x1', '0');
|
|
26
28
|
h.setAttribute('x2', '640');
|
|
@@ -39,13 +41,13 @@ orientation: x-" data-x="2.75" data-y="0" cx="467.92452830188677" cy="325.811320
|
|
|
39
41
|
// y' = (y - ty) / sy
|
|
40
42
|
const sx = matrix.a;
|
|
41
43
|
const sy = matrix.d;
|
|
42
|
-
const tx = matrix.e;
|
|
44
|
+
const tx = matrix.e;
|
|
43
45
|
const ty = matrix.f;
|
|
44
46
|
const realPoint = {
|
|
45
47
|
x: (x - tx) / sx,
|
|
46
48
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
47
49
|
}
|
|
48
|
-
|
|
50
|
+
|
|
49
51
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
50
52
|
coords.setAttribute('x', (x + 5).toString());
|
|
51
53
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -53,4 +55,41 @@ orientation: x-" data-x="2.75" data-y="0" cx="467.92452830188677" cy="325.811320
|
|
|
53
55
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
54
56
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
55
57
|
});
|
|
56
|
-
]]></script
|
|
58
|
+
]]></script>
|
|
59
|
+
</g>
|
|
60
|
+
<g transform="translate(1216, 200)">
|
|
61
|
+
<style>
|
|
62
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
63
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
64
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
65
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
66
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
67
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
68
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
69
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
70
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
71
|
+
|
|
72
|
+
</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 351.17370892025 410.3286384977 L 604.69483568075 410.3286384977 L 604.69483568075 429.1079812207 L 858.21596244125 429.1079812207" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.023474178399999px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 351.17370892025 410.3286384977 L 604.69483568075 410.3286384977 L 604.69483568075 429.1079812207 L 858.21596244125 429.1079812207" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.8779342722999999px" 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="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="135.21126760574998" y="372.7699530517" width="178.40375586850007" height="75.11737089200005" stroke-width="1.8779342722999999px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="135.21126760574998" y="372.7699530517" width="178.40375586850007" height="75.11737089200005" fill="transparent"/><text class="sch-text" x="224.41314554000002" y="410.3286384977" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="16.9014084507px" transform="rotate(0, 224.41314554000002, 410.3286384977)">schematic_component_0</text><line class="component-pin sch-component-pin sch-port-line" x1="313.61502347425005" y1="391.5492957747" x2="349.29577464795" y2="391.5492957747" stroke-width="1.8779342722999999px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="351.17370892025" cy="391.5492957747" r="1.8779342722999999" stroke-width="1.8779342722999999px"/><rect x="349.29577464795" y="389.6713615024" width="3.7558685445999997" height="3.7558685445999997" opacity="0"/></g><text class="pin-number sch-pin-number" x="332.39436619725" y="389.67136150240003" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.08450704225px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="313.61502347425005" y1="410.3286384977" x2="351.17370892025" y2="410.3286384977" stroke-width="1.8779342722999999px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="349.29577464795" y="408.4507042254" width="3.7558685445999997" height="3.7558685445999997" opacity="0"/></g><text class="pin-number sch-pin-number" x="332.39436619725" y="408.4507042254" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.08450704225px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="313.61502347425005" y1="429.1079812207" x2="349.29577464795" y2="429.1079812207" stroke-width="1.8779342722999999px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="351.17370892025" cy="429.1079812207" r="1.8779342722999999" stroke-width="1.8779342722999999px"/><rect x="349.29577464795" y="427.2300469484" width="3.7558685445999997" height="3.7558685445999997" opacity="0"/></g><text class="pin-number sch-pin-number" x="332.39436619725" y="427.2300469484" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.08450704225px" 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="895.77464788725" y="372.7699530517" width="159.62441314550006" height="75.11737089200005" stroke-width="1.8779342722999999px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="895.77464788725" y="372.7699530517" width="159.62441314550006" height="75.11737089200005" fill="transparent"/><text class="sch-text" x="975.58685446" y="410.3286384977" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="16.9014084507px" transform="rotate(0, 975.58685446, 410.3286384977)">schematic_component_1</text><line class="component-pin sch-component-pin sch-port-line" x1="895.77464788725" y1="391.5492957747" x2="860.0938967135501" y2="391.5492957747" stroke-width="1.8779342722999999px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="858.21596244125" cy="391.5492957747" r="1.8779342722999999" stroke-width="1.8779342722999999px"/><rect x="856.33802816895" y="389.6713615024" width="3.7558685445999997" height="3.7558685445999997" opacity="0"/></g><text class="pin-number sch-pin-number" x="876.99530516425" y="389.67136150240003" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.08450704225px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="895.77464788725" y1="410.3286384977" x2="860.0938967135501" y2="410.3286384977" stroke-width="1.8779342722999999px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="858.21596244125" cy="410.3286384977" r="1.8779342722999999" stroke-width="1.8779342722999999px"/><rect x="856.33802816895" y="408.4507042254" width="3.7558685445999997" height="3.7558685445999997" opacity="0"/></g><text class="pin-number sch-pin-number" x="876.99530516425" y="408.4507042254" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.08450704225px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="895.77464788725" y1="429.1079812207" x2="858.21596244125" y2="429.1079812207" stroke-width="1.8779342722999999px"/><g class="sch-port" data-schematic-port-id="source_port_1_2__stack1"><rect x="856.33802816895" y="427.2300469484" width="3.7558685445999997" height="3.7558685445999997" opacity="0"/></g><text class="pin-number sch-pin-number" x="876.99530516425" y="427.2300469484" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.08450704225px" transform="">3</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="351.17370892025" cy="391.5492957747" r="3.7558685445999997" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="351.17370892025" cy="410.3286384977" r="3.7558685445999997" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="351.17370892025" cy="429.1079812207" r="3.7558685445999997" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="858.21596244125" cy="391.5492957747" r="3.7558685445999997" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="858.21596244125" cy="410.3286384977" r="3.7558685445999997" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_2__stack1"><circle cx="858.21596244125" cy="429.1079812207" r="3.7558685445999997" 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="
|
|
73
|
+
M 477.9342723005,410.3286384977
|
|
74
|
+
L 468.544600939,405.25821596249
|
|
75
|
+
L 468.544600939,373.05790297345266
|
|
76
|
+
L 487.32394366200003,373.05790297345266
|
|
77
|
+
L 487.32394366200003,405.25821596249
|
|
78
|
+
Z
|
|
79
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8779342722999999px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="477.9342723005" y="401.87793427235" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.9014084507px" transform="rotate(-90 477.9342723005 401.87793427235)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="
|
|
80
|
+
M 351.17370892025,429.1079812207
|
|
81
|
+
L 356.24413145546004,419.7183098592
|
|
82
|
+
L 388.4444444444974,419.7183098592
|
|
83
|
+
L 388.4444444444974,438.49765258220003
|
|
84
|
+
L 356.24413145546004,438.49765258220003
|
|
85
|
+
Z
|
|
86
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8779342722999999px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="359.62441314560004" y="429.1079812207" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.9014084507px" 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_2__stack1" d="
|
|
87
|
+
M 858.21596244125,410.3286384977
|
|
88
|
+
L 853.14553990604,419.7183098592
|
|
89
|
+
L 820.9452269170026,419.7183098592
|
|
90
|
+
L 820.9452269170026,400.9389671362
|
|
91
|
+
L 853.14553990604,400.9389671362
|
|
92
|
+
Z
|
|
93
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8779342722999999px"/><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="849.7652582159" y="410.3286384977" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.9014084507px" transform="">XX</text><text class="sch-text" x="163.38028169025" y="360.56338028175" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="16.901408450699993px" transform="rotate(0, 163.38028169025, 360.56338028175)">power</text><text class="sch-text" x="918.30985915485" y="360.56338028175" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="16.901408450699993px" transform="rotate(0, 918.30985915485, 360.56338028175)">load</text><rect class="schematic-box sch-box" x="135.21126760574998" y="352.1126760564" width="56.33802816899998" height="16.90140845069999" stroke-width="1.8779342722999999px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="15.023474178399999 7.5117370891999995"/><rect class="schematic-box sch-box" x="895.77464788725" y="352.1126760564" width="45.070422535199896" height="16.90140845069999" stroke-width="1.8779342722999999px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="15.023474178399999 7.5117370891999995"/>
|
|
94
|
+
</g>
|
|
95
|
+
</svg>
|