@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.52,1 -0.9,0.7999999999999999" data-type="line" data-label="" points="476.7266775777414,259.0507364975451 163.27332242225856,277.3813420621932" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.5200000000000005,1 2.7200000000000006,1 2.7200000000000006,3.3900000000000006 -1.1,3.3900000000000006 -1.1,0.7999999999999999 -0.9,0.7999999999999999" data-type="line" data-label="" points="476.7266775777414,259.0507364975451 495.0572831423895,259.0507364975451 495.0572831423895,40 144.94271685761043,40 144.94271685761043,277.3813420621932 163.27332242225856,277.3813420621932" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="163.27332242225856" y="121.57119476268417" width="164.97545008183306" height="458.26513911620293" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2" data-y="1.0699999999999998" x="381.40752864157116" y="221.4729950900164" width="95.31914893617022" height="62.324058919803605" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="part-number" data-x="0.15999999999999992" data-y="-2.63" x="199.93453355155478" y="583.5024549918166" width="120.98199672667755" height="16.49754500818335" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.38" data-y="2.615" x="194.43535188216038" y="99.57446808510645" width="32.99509001636659" height="22.91325695581014" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="netId: .LED1 > port.right to .U1 > .pin20
|
|
2
4
|
globalConnNetId: connectivity_net0" data-x="2.6200000000000006" data-y="0.775" x="476.7266775777414" y="259.0507364975451" width="18.330605564648124" height="41.243862520458265" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.010910714285714287"/></g><g><circle data-type="point" data-label="U1.1
|
|
3
5
|
x+" data-x="0.9" data-y="1.2" cx="328.2487725040916" cy="240.72013093289695" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
|
|
4
6
|
x+" data-x="0.9" data-y="0.3999999999999999" cx="328.2487725040916" cy="314.04255319148945" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
|
|
@@ -38,7 +40,7 @@ orientation: y-" data-x="2.6200000000000006" data-y="1" cx="485.8919803600654" c
|
|
|
38
40
|
const h = svg.getElementById('crosshair-h');
|
|
39
41
|
const v = svg.getElementById('crosshair-v');
|
|
40
42
|
const coords = svg.getElementById('coordinates');
|
|
41
|
-
|
|
43
|
+
|
|
42
44
|
crosshair.style.display = 'block';
|
|
43
45
|
h.setAttribute('x1', '0');
|
|
44
46
|
h.setAttribute('x2', '640');
|
|
@@ -57,13 +59,13 @@ orientation: y-" data-x="2.6200000000000006" data-y="1" cx="485.8919803600654" c
|
|
|
57
59
|
// y' = (y - ty) / sy
|
|
58
60
|
const sx = matrix.a;
|
|
59
61
|
const sy = matrix.d;
|
|
60
|
-
const tx = matrix.e;
|
|
62
|
+
const tx = matrix.e;
|
|
61
63
|
const ty = matrix.f;
|
|
62
64
|
const realPoint = {
|
|
63
65
|
x: (x - tx) / sx,
|
|
64
66
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
65
67
|
}
|
|
66
|
-
|
|
68
|
+
|
|
67
69
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
68
70
|
coords.setAttribute('x', (x + 5).toString());
|
|
69
71
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -71,4 +73,27 @@ orientation: y-" data-x="2.6200000000000006" data-y="1" cx="485.8919803600654" c
|
|
|
71
73
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
72
74
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
73
75
|
});
|
|
74
|
-
]]></script
|
|
76
|
+
]]></script>
|
|
77
|
+
</g>
|
|
78
|
+
<g transform="translate(1216, 200)">
|
|
79
|
+
<style>
|
|
80
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
81
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
82
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
83
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
84
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
85
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
86
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
87
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
88
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
89
|
+
|
|
90
|
+
</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 791.0614525139081 328.4916201118 L 813.407821228988 328.4916201118 L 813.407821228988 61.452513966593926 L 386.59217877096 61.452513966593926 L 386.59217877096 350.83798882688 L 408.93854748604 350.83798882688" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.877094972064px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 791.0614525139081 328.4916201118 L 813.407821228988 328.4916201118 L 813.407821228988 61.452513966593926 L 386.59217877096 61.452513966593926 L 386.59217877096 350.83798882688 L 408.93854748604 350.83798882688" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.234636871508px" 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="453.6312849162" y="160.8938547487" width="111.73184357540003" height="558.659217877" stroke-width="2.234636871508px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="453.6312849162" y="160.8938547487" width="111.73184357540003" height="558.659217877" fill="transparent"/><text class="sch-text" x="509.4972067039" y="440.2234636872" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.111731843572px" transform="rotate(0, 509.4972067039, 440.2234636872)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="306.14525139672" x2="607.821229050252" y2="306.14525139672" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="306.14525139672" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="303.91061452521205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="303.91061452521205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="395.53072625704004" x2="607.821229050252" y2="395.53072625704004" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="395.53072625704004" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="393.29608938553207" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="393.296089385532" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="373.18435754196" x2="607.821229050252" y2="373.18435754196" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="373.18435754196" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="370.94972067045205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="370.94972067045205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="395.53072625704004" x2="411.173184357548" y2="395.53072625704004" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="395.53072625704004" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="393.29608938553207" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="393.296089385532" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="328.49162011180005" x2="607.821229050252" y2="328.49162011180005" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="328.49162011180005" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="326.2569832402921" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="326.256983240292" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="462.56983240228004" x2="607.821229050252" y2="462.56983240228004" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="462.56983240228004" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="460.33519553077207" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="460.335195530772" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="529.60893854752" x2="411.173184357548" y2="529.60893854752" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="529.60893854752" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="527.374301676012" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="527.374301676012" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">7</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="417.87709497212" x2="607.821229050252" y2="417.87709497212" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="417.87709497212" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="415.64245810061203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="415.64245810061203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">9</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="440.2234636872" x2="607.821229050252" y2="440.2234636872" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_8__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="440.2234636872" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="437.98882681569205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="437.98882681569205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">10</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="350.83798882688006" x2="607.821229050252" y2="350.83798882688006" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_9__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="350.83798882688006" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="348.6033519553721" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="348.60335195537203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">11</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="574.30167597768" x2="607.821229050252" y2="574.30167597768" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_10__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="574.30167597768" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="572.067039106172" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="572.067039106172" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">12</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="551.9553072626001" x2="607.821229050252" y2="551.9553072626001" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_11__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="551.9553072626001" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="549.7206703910921" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="549.720670391092" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">13</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="529.60893854752" x2="607.821229050252" y2="529.60893854752" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_12__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="529.60893854752" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="527.374301676012" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="527.374301676012" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">14</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="328.4916201118" x2="411.173184357548" y2="328.4916201118" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_13__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="328.4916201118" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="326.256983240292" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="326.256983240292" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">15</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="306.14525139672" x2="411.173184357548" y2="306.14525139672" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_14__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="306.14525139672" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="303.91061452521205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="303.91061452521205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">16</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="373.18435754196" x2="411.173184357548" y2="373.18435754196" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_15__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="373.18435754196" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="370.94972067045205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="370.94972067045205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">17</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="551.9553072626" x2="411.173184357548" y2="551.9553072626" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_16__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="551.9553072626" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="549.720670391092" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="549.720670391092" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">18</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="462.56983240228004" x2="411.173184357548" y2="462.56983240228004" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_17__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="462.56983240228004" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="460.33519553077207" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="460.335195530772" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">19</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="350.83798882688" x2="408.93854748604" y2="350.83798882688" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_18__stack1"><rect x="406.70391061453205" y="348.60335195537203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="348.60335195537203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">20</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="574.30167597768" x2="411.173184357548" y2="574.30167597768" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_19__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="574.30167597768" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="572.067039106172" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="572.067039106172" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">21</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="507.26256983244" x2="607.821229050252" y2="507.26256983244" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_20__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="507.26256983244" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="505.02793296093205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="505.027932960932" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">22</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="484.91620111736" x2="607.821229050252" y2="484.91620111736" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_21__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="484.91620111736" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="482.68156424585203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="482.68156424585203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">23</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="507.26256983244" x2="411.173184357548" y2="507.26256983244" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_22__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="507.26256983244" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="505.02793296093205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="505.027932960932" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">25</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="484.91620111736" x2="411.173184357548" y2="484.91620111736" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_23__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="484.91620111736" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="482.68156424585203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="482.68156424585203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">26</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="417.87709497212" x2="411.173184357548" y2="417.87709497212" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_24__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="417.87709497212" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="415.64245810061203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="415.64245810061203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">27</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="440.2234636872" x2="411.173184357548" y2="440.2234636872" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_25__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="440.2234636872" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="437.98882681569205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="437.98882681569205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">28</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component-overlay sch-component-overlay" x="674.8603351954921" y="294.0616594248619" width="116.20111731841598" height="49.49306848747352" fill="transparent"/><path class="sch-component-symbol-path" d="M 748.0240016552355 328.4916201118 L 718.9737223256315 343.5547279123354" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 746.9480653837687 328.4916201118 L 791.0614525139081 328.4916201118" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 718.9737223256315 314.5044485827314 L 748.0240016552355 328.4916201118" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 718.9737223256315 343.5547279123354 L 718.9737223256315 314.5044485827314" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 748.0240016552355 314.5044485827314 L 748.0240016552355 343.5547279123354" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 718.9737223256315 328.4916201118 L 674.8603351954921 328.4916201118" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 750.1758741981691 297.28946823926236 L 759.8593006413705 296.2135319677956 L 756.63149182697 305.8969584109969" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 741.5683840264346 310.20070349686415 L 742.6443202979015 310.20070349686415 L 755.5555555555032 299.441340782196 L 755.5555555555032 299.441340782196" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 730.8090213117665 295.13759569632873 L 741.5683840264346 294.0616594248619 L 737.2646389405674 303.74508586806326" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 722.201531140032 308.0488309539305 L 723.2774674114987 306.9728946824637 L 737.2646389405674 297.28946823926236 L 737.2646389405674 297.28946823926236" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><text class="sch-component-text" x="732.9608938547001" y="351.0862818126031" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="20.111731843572px"></text><text class="sch-component-name sch-component-text" x="732.9608938547001" y="284.3782329816606" stroke="rgb(245, 241, 237)" stroke-width="2.234636871508px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="20.111731843572px">LED1</text><circle class="component-pin sch-component-pin" cx="674.8603351954921" cy="328.4916201118" r="2.234636871508px" stroke-width="2.234636871508px" fill="none" stroke="rgb(132, 0, 0)"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="610.0558659217601" cy="306.14525139672" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="610.0558659217601" cy="395.53072625704004" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="610.0558659217601" cy="373.18435754196" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="408.93854748604" cy="395.53072625704004" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="610.0558659217601" cy="328.49162011180005" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="610.0558659217601" cy="462.56983240228004" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="408.93854748604" cy="529.60893854752" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="610.0558659217601" cy="417.87709497212" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_8__stack1"><circle cx="610.0558659217601" cy="440.2234636872" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_9__stack1"><circle cx="610.0558659217601" cy="350.83798882688006" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_10__stack1"><circle cx="610.0558659217601" cy="574.30167597768" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_11__stack1"><circle cx="610.0558659217601" cy="551.9553072626001" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_12__stack1"><circle cx="610.0558659217601" cy="529.60893854752" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_13__stack1"><circle cx="408.93854748604" cy="328.4916201118" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_14__stack1"><circle cx="408.93854748604" cy="306.14525139672" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_15__stack1"><circle cx="408.93854748604" cy="373.18435754196" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_16__stack1"><circle cx="408.93854748604" cy="551.9553072626" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_17__stack1"><circle cx="408.93854748604" cy="462.56983240228004" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_18__stack1"><circle cx="408.93854748604" cy="350.83798882688" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_19__stack1"><circle cx="408.93854748604" cy="574.30167597768" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_20__stack1"><circle cx="610.0558659217601" cy="507.26256983244" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_21__stack1"><circle cx="610.0558659217601" cy="484.91620111736" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_22__stack1"><circle cx="408.93854748604" cy="507.26256983244" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_23__stack1"><circle cx="408.93854748604" cy="484.91620111736" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_24__stack1"><circle cx="408.93854748604" cy="417.87709497212" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_25__stack1"><circle cx="408.93854748604" cy="440.2234636872" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="672.625698323984" cy="328.4916201118" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="788.8268156424001" cy="328.4916201118" r="4.469273743016" 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="
|
|
91
|
+
M 802.2346368714482,328.4916201118
|
|
92
|
+
L 813.4078212289882,334.5251396648716
|
|
93
|
+
L 813.4078212289882,372.8417132216621
|
|
94
|
+
L 791.0614525139082,372.8417132216621
|
|
95
|
+
L 791.0614525139082,334.5251396648716
|
|
96
|
+
Z
|
|
97
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.234636871508px"/><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="802.2346368714482" y="338.547486033586" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="20.111731843572px" transform="rotate(90 802.2346368714482 338.547486033586)">XX</text><text class="sch-text" x="527.374301675964" y="734.078212290502" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.11173184357197px" transform="rotate(0, 527.374301675964, 734.078212290502)">part-number</text><text class="sch-text" x="467.039106145248" y="148.04469273752898" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.111731843572px" transform="rotate(0, 467.039106145248, 148.04469273752898)">U1</text><rect class="schematic-box sch-box" x="453.6312849162" y="724.0223463687161" width="147.48603351952806" height="20.111731843571874" stroke-width="2.234636871508px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.877094972064 8.938547486032"/><rect class="schematic-box sch-box" x="446.927374301676" y="134.07821229060403" width="40.223463687143976" height="27.932960893849952" stroke-width="2.234636871508px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.877094972064 8.938547486032"/>
|
|
98
|
+
</g>
|
|
99
|
+
</svg>
|
|
@@ -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="1.2000000000000002,-0.30000000000000004 1.6,2.1049999999999995" data-type="line" data-label="" points="308.80000000000007,477.08 353.6,207.72000000000003" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.09999999999999998 1.6,2.3049999999999997" data-type="line" data-label="" points="308.80000000000007,432.28 353.6,185.32" fill="none" stroke="hsl(158, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.6,2.505" data-type="line" data-label="" points="308.80000000000007,409.87999999999994 353.6,162.91999999999996" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,-0.30000000000000004 1.411,-0.30000000000000004 1.411,-0.5010000000000001" data-type="line" data-label="" points="308.80000000000007,477.08 332.432,477.08 332.432,499.592" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,2.1049999999999995 1.3890000000000002,2.1049999999999995 1.3890000000000002,1.9039999999999997" data-type="line" data-label="" points="353.6,207.72000000000003 329.9680000000001,207.72000000000003 329.9680000000001,230.232" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.411,0.30000000000000004 1.411,0.5010000000000001" data-type="line" data-label="" points="308.80000000000007,409.87999999999994 332.432,409.87999999999994 332.432,387.36799999999994" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,2.505 1.3890000000000002,2.505 1.3890000000000002,2.706" data-type="line" data-label="" points="353.6,162.91999999999996 329.9680000000001,162.91999999999996 329.9680000000001,140.40799999999996" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40" y="387.47999999999996" width="268.80000000000007" height="112" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2.7" data-y="2.3049999999999997" x="353.6000000000001" y="140.51999999999998" width="246.39999999999998" height="89.6" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.68" data-y="0.63" x="84.80000000000001" y="362.84" width="26.88000000000001" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="J1" data-x="2.12" data-y="2.835" x="398.4" y="115.88" width="26.880000000000052" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
2
4
|
globalConnNetId: connectivity_net0" data-x="1.411" data-y="-0.7410000000000001" x="308.91200000000003" y="499.592" width="47.039999999999964" height="53.75999999999999" fill="#00000066" stroke="#000000" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
3
5
|
globalConnNetId: connectivity_net0" data-x="1.3890000000000002" data-y="1.6639999999999997" x="306.4480000000001" y="230.23199999999997" width="47.039999999999964" height="53.75999999999996" fill="#00000066" stroke="#000000" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: OUT
|
|
4
6
|
globalConnNetId: connectivity_net1" data-x="1.441" data-y="0.09999999999999998" x="308.91200000000003" y="421.08" width="53.75999999999999" height="22.399999999999977" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: OUT
|
|
@@ -31,7 +33,7 @@ orientation: y+" data-x="1.3890000000000002" data-y="2.706" cx="329.968000000000
|
|
|
31
33
|
const h = svg.getElementById('crosshair-h');
|
|
32
34
|
const v = svg.getElementById('crosshair-v');
|
|
33
35
|
const coords = svg.getElementById('coordinates');
|
|
34
|
-
|
|
36
|
+
|
|
35
37
|
crosshair.style.display = 'block';
|
|
36
38
|
h.setAttribute('x1', '0');
|
|
37
39
|
h.setAttribute('x2', '640');
|
|
@@ -50,13 +52,13 @@ orientation: y+" data-x="1.3890000000000002" data-y="2.706" cx="329.968000000000
|
|
|
50
52
|
// y' = (y - ty) / sy
|
|
51
53
|
const sx = matrix.a;
|
|
52
54
|
const sy = matrix.d;
|
|
53
|
-
const tx = matrix.e;
|
|
55
|
+
const tx = matrix.e;
|
|
54
56
|
const ty = matrix.f;
|
|
55
57
|
const realPoint = {
|
|
56
58
|
x: (x - tx) / sx,
|
|
57
59
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
58
60
|
}
|
|
59
|
-
|
|
61
|
+
|
|
60
62
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
61
63
|
coords.setAttribute('x', (x + 5).toString());
|
|
62
64
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -64,4 +66,62 @@ orientation: y+" data-x="1.3890000000000002" data-y="2.706" cx="329.968000000000
|
|
|
64
66
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
65
67
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
66
68
|
});
|
|
67
|
-
]]></script
|
|
69
|
+
]]></script>
|
|
70
|
+
</g>
|
|
71
|
+
<g transform="translate(1216, 200)">
|
|
72
|
+
<style>
|
|
73
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
74
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
75
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
76
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
77
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
78
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
79
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
80
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
81
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
82
|
+
|
|
83
|
+
</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 622.91913365676 614.2938996905899 L 655.1587150005813 614.2938996905899 L 655.1587150005813 645.0055387906283" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.447075900528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 622.91913365676 614.2938996905899 L 655.1587150005813 614.2938996905899 L 655.1587150005813 645.0055387906283" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.055884487566px" 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 684.03682340808 246.82379006077855 L 651.7972420642587 246.82379006077855 L 651.7972420642587 277.5354291608168" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.447075900528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 684.03682340808 246.82379006077855 L 651.7972420642587 246.82379006077855 L 651.7972420642587 277.5354291608168" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.055884487566px" 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 622.91913365676 522.61736506361 L 655.1587150005813 522.61736506361 L 655.1587150005813 491.9057259635716" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.447075900528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 622.91913365676 522.61736506361 L 655.1587150005813 522.61736506361 L 655.1587150005813 491.9057259635716" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.055884487566px" 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 684.03682340808 185.70610030945852 L 651.7972420642587 185.70610030945852 L 651.7972420642587 154.9944612094202" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.447075900528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 684.03682340808 185.70610030945852 L 651.7972420642587 185.70610030945852 L 651.7972420642587 154.9944612094202" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.055884487566px" 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="317.33068490016" y="492.05852018794997" width="244.47075900528" height="152.7942243783" stroke-width="3.055884487566px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="317.33068490016" y="492.05852018794997" width="244.47075900528" height="152.7942243783" fill="transparent"/><text class="sch-text" x="439.5660644028" y="568.4556323771" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.502960388093996px" transform="rotate(0, 439.5660644028, 568.4556323771)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="561.80144390544" y1="614.2938996905899" x2="622.91913365676" y2="614.2938996905899" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="619.863249169194" y="611.2380152030239" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="592.3602887811" y="611.2380152030239" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="317.33068490016" y1="614.2938996905899" x2="259.26887963640604" y2="614.2938996905899" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="256.21299514884004" cy="614.2938996905899" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="253.15711066127403" y="611.2380152030239" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="286.77184002449997" y="611.2380152030239" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="561.80144390544" y1="553.1762099392699" x2="619.863249169194" y2="553.1762099392699" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="622.91913365676" cy="553.1762099392699" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="619.863249169194" y="550.1203254517039" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="592.3602887811" y="550.1203254517039" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="317.33068490016" y1="522.61736506361" x2="259.26887963640604" y2="522.61736506361" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="256.21299514884004" cy="522.61736506361" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="253.15711066127403" y="519.561480576044" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="286.77184002449997" y="519.561480576044" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="317.33068490016" y1="553.1762099392699" x2="259.26887963640604" y2="553.1762099392699" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="256.21299514884004" cy="553.1762099392699" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="253.15711066127403" y="550.1203254517039" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="286.77184002449997" y="550.1203254517039" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="317.33068490016" y1="583.73505481493" x2="259.26887963640604" y2="583.73505481493" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="256.21299514884004" cy="583.73505481493" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="253.15711066127403" y="580.679170327364" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="286.77184002449997" y="580.679170327364" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="561.80144390544" y1="583.73505481493" x2="619.863249169194" y2="583.73505481493" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="622.91913365676" cy="583.73505481493" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="619.863249169194" y="580.679170327364" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="592.3602887811" y="580.679170327364" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">7</text><line class="component-pin sch-component-pin sch-port-line" x1="561.80144390544" y1="522.61736506361" x2="622.91913365676" y2="522.61736506361" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><rect x="619.863249169194" y="519.561480576044" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="592.3602887811" y="519.561480576044" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">8</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="745.1545131594" y="155.14725543379853" width="213.91191412962007" height="122.23537950264" stroke-width="3.055884487566px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="745.1545131594" y="155.14725543379853" width="213.91191412962007" height="122.23537950264" fill="transparent"/><text class="sch-text" x="852.1104702242101" y="216.2649451851185" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.502960388093996px" transform="rotate(0, 852.1104702242101, 216.2649451851185)">J1</text><line class="component-pin sch-component-pin sch-port-line" x1="745.1545131594" y1="185.70610030945852" x2="684.03682340808" y2="185.70610030945852" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="680.980938920514" y="182.65021582189252" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="714.59566828374" y="182.65021582189252" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="745.1545131594" y1="216.2649451851185" x2="687.0927078956461" y2="216.2649451851185" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="684.03682340808" cy="216.2649451851185" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="680.980938920514" y="213.2090606975525" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="714.59566828374" y="213.20906069755256" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="745.1545131594" y1="246.82379006077855" x2="684.03682340808" y2="246.82379006077855" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_1_2__stack1"><rect x="680.980938920514" y="243.76790557321254" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="714.59566828374" y="243.76790557321254" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">3</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="622.91913365676" cy="614.2938996905899" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="256.21299514884004" cy="614.2938996905899" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="622.91913365676" cy="553.1762099392699" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="256.21299514884004" cy="522.61736506361" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="256.21299514884004" cy="553.1762099392699" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="256.21299514884004" cy="583.73505481493" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="622.91913365676" cy="583.73505481493" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="622.91913365676" cy="522.61736506361" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="684.03682340808" cy="185.70610030945852" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="684.03682340808" cy="216.2649451851185" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_2__stack1"><circle cx="684.03682340808" cy="246.82379006077855" r="6.111768975132" 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="
|
|
84
|
+
M 655.1587150005813,645.0055387906283
|
|
85
|
+
L 670.4381374384113,653.2564269070565
|
|
86
|
+
L 670.4381374384113,723.6028878108258
|
|
87
|
+
L 639.8792925627513,723.6028878108258
|
|
88
|
+
L 639.8792925627513,653.2564269070565
|
|
89
|
+
Z
|
|
90
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><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="655.1587150005813" y="658.7570189846753" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="rotate(90 655.1587150005813 658.7570189846753)">XXX</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="
|
|
91
|
+
M 651.7972420642587,277.5354291608168
|
|
92
|
+
L 667.0766645020888,285.786317277245
|
|
93
|
+
L 667.0766645020888,356.1327781810143
|
|
94
|
+
L 636.5178196264287,356.1327781810143
|
|
95
|
+
L 636.5178196264287,285.786317277245
|
|
96
|
+
Z
|
|
97
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><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="651.7972420642587" y="291.28690935486384" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="rotate(90 651.7972420642587 291.28690935486384)">XXX</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="
|
|
98
|
+
M 622.91913365676,553.1762099392699
|
|
99
|
+
L 631.1700217731882,537.8967875014399
|
|
100
|
+
L 701.5164826769575,537.8967875014399
|
|
101
|
+
L 701.5164826769575,568.4556323771
|
|
102
|
+
L 631.1700217731882,568.4556323771
|
|
103
|
+
Z
|
|
104
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><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="636.670613850807" y="553.1762099392699" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="">XXX</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="
|
|
105
|
+
M 684.03682340808,216.2649451851185
|
|
106
|
+
L 675.7859352916518,231.5443676229485
|
|
107
|
+
L 605.4394743878825,231.5443676229485
|
|
108
|
+
L 605.4394743878825,200.98552274728848
|
|
109
|
+
L 675.7859352916518,200.9855227472885
|
|
110
|
+
Z
|
|
111
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><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="670.285343214033" y="216.2649451851185" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="">XXX</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="
|
|
112
|
+
M 655.1587150005813,491.9057259635716
|
|
113
|
+
L 639.8792925627513,483.6548378471434
|
|
114
|
+
L 639.8792925627513,413.3083769433741
|
|
115
|
+
L 670.4381374384113,413.3083769433741
|
|
116
|
+
L 670.4381374384113,483.6548378471434
|
|
117
|
+
Z
|
|
118
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" x="655.1587150005813" y="478.1542457695246" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="rotate(-90 655.1587150005813 478.1542457695246)">XXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" d="
|
|
119
|
+
M 651.7972420642587,154.9944612094202
|
|
120
|
+
L 636.5178196264287,146.743573092992
|
|
121
|
+
L 636.5178196264287,76.39711218922268
|
|
122
|
+
L 667.0766645020888,76.39711218922268
|
|
123
|
+
L 667.0766645020888,146.743573092992
|
|
124
|
+
Z
|
|
125
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" x="651.7972420642587" y="141.2429810153732" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="rotate(-90 651.7972420642587 141.2429810153732)">XXX</text><text class="sch-text" x="335.66599182555603" y="472.195271018771" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.50296038809399px" transform="rotate(0, 335.66599182555603, 472.195271018771)">U1</text><text class="sch-text" x="763.4898200847961" y="135.2840062646195" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.502960388093953px" transform="rotate(0, 763.4898200847961, 135.2840062646195)">J1</text><rect class="schematic-box sch-box" x="317.33068490016" y="458.443790824724" width="36.670613850791995" height="27.50296038809398" stroke-width="3.055884487566px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="24.447075900528 12.223537950264"/><rect class="schematic-box sch-box" x="745.1545131594" y="121.53252607057254" width="36.67061385079205" height="27.502960388093925" stroke-width="3.055884487566px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="24.447075900528 12.223537950264"/>
|
|
126
|
+
</g>
|
|
127
|
+
</svg>
|
|
@@ -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="0.2,0.3 -0.2,-0.3999999999999999" data-type="line" data-label="" points="315.05882352941177,281.5686274509804 271.13725490196083,358.4313725490196" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2,0.30000000000000004 0.2,-0.04999999999999993 -0.2,-0.04999999999999993 -0.2,-0.3999999999999999" data-type="line" data-label="" points="315.05882352941177,281.5686274509804 315.05882352941177,320 271.13725490196083,320 271.13725490196083,358.4313725490196" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.2,-0.04999999999999993 0.2,6.938893903907228e-17 0.65,6.938893903907228e-17 0.65,-0.10099999999999994" data-type="line" data-label="" points="315.05882352941177,320 315.05882352941177,314.5098039215686 364.47058823529414,314.5098039215686 364.47058823529414,325.59999999999997" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="TOP" data-x="0" data-y="1.4" x="249.1764705882353" y="40" width="87.84313725490199" height="241.5686274509804" fill="hsl(93, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009107142857142857"/></g><g><rect data-type="rect" data-label="BOTTOM" data-x="0" data-y="-1.5" x="249.1764705882353" y="358.43137254901967" width="87.84313725490199" height="241.5686274509804" fill="hsl(259, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009107142857142857"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
2
4
|
globalConnNetId: connectivity_net0" data-x="0.65" data-y="-0.31099999999999994" x="338.11764705882354" y="325.59999999999997" width="52.70588235294122" height="46.117647058823536" fill="#00000066" stroke="#000000" stroke-width="0.009107142857142857"/></g><g><circle data-type="point" data-label="TOP.GND
|
|
3
5
|
y-" data-x="0.2" data-y="0.3" cx="315.05882352941177" cy="281.5686274509804" r="3" fill="hsl(116, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="BOTTOM.GND
|
|
4
6
|
y+" data-x="-0.2" data-y="-0.3999999999999999" cx="271.13725490196083" cy="358.4313725490196" r="3" fill="hsl(42, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
@@ -45,4 +47,27 @@ orientation: y-" data-x="0.65" data-y="-0.10099999999999994" cx="364.47058823529
|
|
|
45
47
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
46
48
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
47
49
|
});
|
|
48
|
-
]]></script
|
|
50
|
+
]]></script>
|
|
51
|
+
</g>
|
|
52
|
+
<g transform="translate(1216, 200)">
|
|
53
|
+
<style>
|
|
54
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
55
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
56
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
57
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
58
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
59
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
60
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
61
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
62
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
63
|
+
|
|
64
|
+
</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 614.33962264148 347.16981132077996 L 614.33962264148 400.00000000001995 L 553.96226415092 400.00000000001995 L 553.96226415092 452.83018867925995" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.150943396224px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 614.33962264148 347.16981132077996 L 614.33962264148 400.00000000001995 L 553.96226415092 400.00000000001995 L 553.96226415092 452.83018867925995" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.018867924528px" 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 614.33962264148 400.00000000001995 L 614.33962264148 392.4528301887 L 682.2641509433599 392.4528301887 L 682.2641509433599 407.6981132075664" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.150943396224px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 614.33962264148 400.00000000001995 L 614.33962264148 392.4528301887 L 682.2641509433599 392.4528301887 L 682.2641509433599 407.6981132075664" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.018867924528px" 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"><circle cx="614.33962264148" cy="400.00000000001995" r="4.528301886792" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><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="523.77358490564" y="75.47169811326" width="120.75471698112005" height="211.32075471695998" stroke-width="3.018867924528px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="523.77358490564" y="75.47169811326" width="120.75471698112005" height="211.32075471695998" fill="transparent"/><text class="sch-text" x="584.1509433962" y="181.13207547173997" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.169811320752px" transform="rotate(0, 584.1509433962, 181.13207547173997)">TOP</text><line class="component-pin sch-component-pin sch-port-line" x1="614.33962264148" y1="286.79245283022" x2="614.33962264148" y2="347.16981132077996" stroke-width="3.018867924528px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="611.320754716952" y="344.15094339625193" width="6.037735849056" height="6.037735849056" opacity="0"/></g><text class="pin-number sch-pin-number" x="611.320754716952" y="316.9811320755" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.64150943396px" transform="rotate(-90 611.320754716952 316.9811320755)"></text><text class="pin-number sch-pin-label" x="614.33962264148" y="271.69811320758" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="22.64150943396px" transform="rotate(-90 614.33962264148 271.69811320758)">GND</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="523.77358490564" y="513.2075471698199" width="120.75471698112005" height="211.3207547169601" stroke-width="3.018867924528px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="523.77358490564" y="513.2075471698199" width="120.75471698112005" height="211.3207547169601" fill="transparent"/><text class="sch-text" x="584.1509433962" y="618.8679245283" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.169811320752px" transform="rotate(0, 584.1509433962, 618.8679245283)">BOTTOM</text><line class="component-pin sch-component-pin sch-port-line" x1="553.96226415092" y1="513.2075471698199" x2="553.96226415092" y2="452.83018867925995" stroke-width="3.018867924528px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="550.943396226392" y="449.8113207547319" width="6.037735849056" height="6.037735849056" opacity="0"/></g><text class="pin-number sch-pin-number" x="550.943396226392" y="483.01886792453996" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.64150943396px" transform="rotate(-90 550.943396226392 483.01886792453996)"></text><text class="pin-number sch-pin-label" x="553.96226415092" y="528.30188679246" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="22.64150943396px" transform="rotate(-90 553.96226415092 528.30188679246)">GND</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="614.33962264148" cy="347.16981132077996" r="6.037735849056" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="553.96226415092" cy="452.83018867925995" r="6.037735849056" 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="
|
|
65
|
+
M 682.2641509433599,407.6981132075664
|
|
66
|
+
L 697.3584905659999,415.849056603792
|
|
67
|
+
L 697.3584905659999,467.61257861636545
|
|
68
|
+
L 667.16981132072,467.61257861636545
|
|
69
|
+
L 667.16981132072,415.849056603792
|
|
70
|
+
Z
|
|
71
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.018867924528px"/><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="682.2641509433599" y="421.2830188679424" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.169811320752px" transform="rotate(90 682.2641509433599 421.2830188679424)">XX</text>
|
|
72
|
+
</g>
|
|
73
|
+
</svg>
|