@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="-0.6000000000000001,1.0999999999999999 0.6000000000000001,-0.09999999999999987" data-type="line" data-label="" points="222,158.99999999999997 390,326.99999999999994" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.6000000000000001,0.8999999999999999 0.6000000000000001,-0.2999999999999998" data-type="line" data-label="" points="222,186.99999999999994 390,354.9999999999999" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.6000000000000001,0.6999999999999998 0.6000000000000001,-0.4999999999999998" data-type="line" data-label="" points="222,214.99999999999997 390,382.9999999999999" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.6000000000000001,0.4999999999999998 0.6000000000000001,-0.6999999999999998" data-type="line" data-label="" points="222,242.99999999999997 390,410.9999999999999" fill="none" stroke="hsl(144, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.6000000000000001,0.2999999999999998 0.6000000000000001,-0.8999999999999999" data-type="line" data-label="" points="222,271 390,438.99999999999994" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.6000000000000001,0.09999999999999987 0.6000000000000001,-1.0999999999999999" data-type="line" data-label="" points="222,298.99999999999994 390,466.9999999999999" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.6000000000000001,-0.10000000000000009 0.6000000000000001,0.10000000000000009" data-type="line" data-label="" points="222,326.99999999999994 390,298.99999999999994" fill="none" stroke="hsl(120, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.6000000000000001,1.0999999999999999 -0.8,1.0999999999999999 -0.8,1.4999999999999998 1.1510000000000002,1.4999999999999998 1.1510000000000002,-0.09999999999999992 0.6000000000000001,-0.09999999999999987" data-type="line" data-label="" points="222,158.99999999999997 194,158.99999999999997 194,102.99999999999997 467.14000000000004,102.99999999999997 467.14000000000004,326.99999999999994 390,326.99999999999994" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.6000000000000001,0.4999999999999998 -1.1510000000000002,0.4999999999999998 -1.1510000000000002,-1.6 1.451,-1.6 1.451,-0.6999999999999998 0.6000000000000001,-0.6999999999999998" data-type="line" data-label="" points="222,242.99999999999997 144.85999999999996,242.99999999999997 144.85999999999996,537 509.14,537 509.14,410.9999999999999 390,410.9999999999999" 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="222" y="131" width="168" height="363.9999999999999" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007142857142857143"/></g><g><rect data-type="rect" data-label="netId: P.pin1 to P.pin18
|
|
2
4
|
globalConnNetId: connectivity_net0" data-x="-0.8" data-y="1.7249999999999999" x="180" y="39.99999999999996" width="28" height="63.00000000000003" fill="#ef444466" stroke="#ef4444" stroke-width="0.007142857142857143"/></g><g><rect data-type="rect" data-label="netId: P.pin2 to P.pin17
|
|
3
5
|
globalConnNetId: connectivity_net1" data-x="-0.8260000000000001" data-y="0.8999999999999999" x="158.85999999999999" y="172.99999999999994" width="63" height="27.99999999999997" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143"/></g><g><rect data-type="rect" data-label="netId: P.pin2 to P.pin17
|
|
4
6
|
globalConnNetId: connectivity_net1" data-x="0.8260000000000001" data-y="-0.2999999999999998" x="390.14" y="340.9999999999999" width="63" height="27.999999999999943" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143"/></g><g><rect data-type="rect" data-label="netId: P.pin3 to P.pin16
|
|
@@ -56,7 +58,7 @@ orientation: x+" data-x="0.6000000000000001" data-y="0.10000000000000009" cx="39
|
|
|
56
58
|
const h = svg.getElementById('crosshair-h');
|
|
57
59
|
const v = svg.getElementById('crosshair-v');
|
|
58
60
|
const coords = svg.getElementById('coordinates');
|
|
59
|
-
|
|
61
|
+
|
|
60
62
|
crosshair.style.display = 'block';
|
|
61
63
|
h.setAttribute('x1', '0');
|
|
62
64
|
h.setAttribute('x2', '640');
|
|
@@ -75,13 +77,13 @@ orientation: x+" data-x="0.6000000000000001" data-y="0.10000000000000009" cx="39
|
|
|
75
77
|
// y' = (y - ty) / sy
|
|
76
78
|
const sx = matrix.a;
|
|
77
79
|
const sy = matrix.d;
|
|
78
|
-
const tx = matrix.e;
|
|
80
|
+
const tx = matrix.e;
|
|
79
81
|
const ty = matrix.f;
|
|
80
82
|
const realPoint = {
|
|
81
83
|
x: (x - tx) / sx,
|
|
82
84
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
83
85
|
}
|
|
84
|
-
|
|
86
|
+
|
|
85
87
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
86
88
|
coords.setAttribute('x', (x + 5).toString());
|
|
87
89
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -89,4 +91,104 @@ orientation: x+" data-x="0.6000000000000001" data-y="0.10000000000000009" cx="39
|
|
|
89
91
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
90
92
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
91
93
|
});
|
|
92
|
-
]]></script
|
|
94
|
+
]]></script>
|
|
95
|
+
</g>
|
|
96
|
+
<g transform="translate(1216, 200)">
|
|
97
|
+
<style>
|
|
98
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
99
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
100
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
101
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
102
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
103
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
104
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
105
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
106
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
107
|
+
|
|
108
|
+
</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 481.48430688756 212.00959023546002 L 448.79032258068 212.00959023546002 L 448.79032258068 146.62162162170003 L 767.7201394942945 146.62162162170003 L 767.7201394942945 408.17349607674 L 677.64821272884 408.17349607674" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="26.155187445503998px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 481.48430688756 212.00959023546002 L 448.79032258068 212.00959023546002 L 448.79032258068 146.62162162170003 L 767.7201394942945 146.62162162170003 L 767.7201394942945 408.17349607674 L 677.64821272884 408.17349607674" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.2693984306879997px" 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 481.48430688756 310.09154315610004 L 391.41238012210556 310.09154315610004 L 391.41238012210556 653.3783783783399 L 816.7611159546144 653.3783783783399 L 816.7611159546144 506.25544899738 L 677.64821272884 506.25544899738" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="26.155187445503998px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 481.48430688756 310.09154315610004 L 391.41238012210556 310.09154315610004 L 391.41238012210556 653.3783783783399 L 816.7611159546144 653.3783783783399 L 816.7611159546144 506.25544899738 L 677.64821272884 506.25544899738" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.2693984306879997px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="546.87227550132" y="179.31560592858003" width="65.38796861376" height="425.02179598943997" stroke-width="3.2693984306879997px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="546.87227550132" y="179.31560592858003" width="65.38796861376" height="425.02179598943997" fill="transparent"/><text class="sch-text" x="579.5662598082" y="391.8265039233" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="29.424585876191998px" transform="rotate(0, 579.5662598082, 391.8265039233)">P</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="212.00959023546002" x2="481.48430688756" y2="212.00959023546002" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="478.214908456872" y="208.74019180477202" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="208.74019180477202" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="244.70357454234002" x2="484.753705318248" y2="244.70357454234002" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="244.70357454234002" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="241.43417611165202" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="241.434176111652" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="277.39755884922" x2="484.753705318248" y2="277.39755884922" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="277.39755884922" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="274.128160418532" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="274.12816041853205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="310.09154315610004" x2="481.48430688756" y2="310.09154315610004" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><rect x="478.214908456872" y="306.82214472541204" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="306.82214472541204" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="342.78552746298" x2="484.753705318248" y2="342.78552746298" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="342.78552746298" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="339.516129032292" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="339.51612903229204" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="375.47951176986" x2="484.753705318248" y2="375.47951176986" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="375.47951176986" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="372.210113339172" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="372.210113339172" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="408.17349607674" x2="484.753705318248" y2="408.17349607674" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="408.17349607674" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="404.904097646052" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="404.904097646052" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">7</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="440.86748038362" x2="484.753705318248" y2="440.86748038362" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="440.86748038362" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="437.598081952932" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="437.598081952932" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">8</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="473.5614646905" x2="484.753705318248" y2="473.5614646905" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_8__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="473.5614646905" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="470.292066259812" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="470.292066259812" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">9</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="506.25544899738" x2="484.753705318248" y2="506.25544899738" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_9__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="506.25544899738" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="502.986050566692" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="502.986050566692" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">10</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="538.94943330426" x2="484.753705318248" y2="538.94943330426" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_10__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="538.94943330426" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="535.6800348735719" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="535.6800348735719" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">11</text><line class="component-pin sch-component-pin sch-port-line" x1="546.87227550132" y1="571.64341761114" x2="484.753705318248" y2="571.64341761114" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_11__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="481.48430688756" cy="571.64341761114" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="478.214908456872" y="568.374019180452" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="514.17829119444" y="568.3740191804519" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">12</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="571.64341761114" x2="674.3788142981521" y2="571.64341761114" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_12__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="571.64341761114" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="568.374019180452" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="568.3740191804519" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">13</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="538.94943330426" x2="674.3788142981521" y2="538.94943330426" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_13__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="538.94943330426" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="535.6800348735719" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="535.6800348735719" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">14</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="506.25544899738" x2="677.64821272884" y2="506.25544899738" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_14__stack1"><rect x="674.3788142981521" y="502.986050566692" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="502.9860505666919" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">15</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="473.5614646904999" x2="674.3788142981521" y2="473.5614646904999" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_15__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="473.5614646904999" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="470.2920662598119" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="470.2920662598119" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">16</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="440.86748038362" x2="674.3788142981521" y2="440.86748038362" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_16__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="440.86748038362" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="437.598081952932" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="437.5980819529319" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">17</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="408.17349607674" x2="677.64821272884" y2="408.17349607674" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_17__stack1"><rect x="674.3788142981521" y="404.904097646052" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="404.904097646052" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">18</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="375.47951176986" x2="674.3788142981521" y2="375.47951176986" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_18__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="375.47951176986" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="372.210113339172" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="372.210113339172" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">19</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="342.78552746298" x2="674.3788142981521" y2="342.78552746298" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_19__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="342.78552746298" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="339.516129032292" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="339.516129032292" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">20</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="310.0915431561" x2="674.3788142981521" y2="310.0915431561" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_20__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="310.0915431561" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="306.822144725412" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="306.822144725412" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">21</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="277.39755884922" x2="674.3788142981521" y2="277.39755884922" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_21__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="277.39755884922" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="274.128160418532" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="274.128160418532" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">22</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="244.70357454234002" x2="674.3788142981521" y2="244.70357454234002" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_22__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="244.70357454234002" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="241.43417611165202" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="241.434176111652" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">23</text><line class="component-pin sch-component-pin sch-port-line" x1="612.26024411508" y1="212.00959023546002" x2="674.3788142981521" y2="212.00959023546002" stroke-width="3.2693984306879997px"/><g class="sch-port" data-schematic-port-id="source_port_0_23__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="677.64821272884" cy="212.00959023546002" r="3.2693984306879997" stroke-width="3.2693984306879997px"/><rect x="674.3788142981521" y="208.74019180477202" width="6.5387968613759995" height="6.5387968613759995" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.95422842196" y="208.74019180477202" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="24.520488230159998px" transform="">24</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="481.48430688756" cy="212.00959023546002" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="481.48430688756" cy="244.70357454234002" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="481.48430688756" cy="277.39755884922" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="481.48430688756" cy="310.09154315610004" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="481.48430688756" cy="342.78552746298" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="481.48430688756" cy="375.47951176986" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="481.48430688756" cy="408.17349607674" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="481.48430688756" cy="440.86748038362" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_8__stack1"><circle cx="481.48430688756" cy="473.5614646905" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_9__stack1"><circle cx="481.48430688756" cy="506.25544899738" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_10__stack1"><circle cx="481.48430688756" cy="538.94943330426" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_11__stack1"><circle cx="481.48430688756" cy="571.64341761114" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_12__stack1"><circle cx="677.64821272884" cy="571.64341761114" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_13__stack1"><circle cx="677.64821272884" cy="538.94943330426" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_14__stack1"><circle cx="677.64821272884" cy="506.25544899738" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_15__stack1"><circle cx="677.64821272884" cy="473.5614646904999" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_16__stack1"><circle cx="677.64821272884" cy="440.86748038362" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_17__stack1"><circle cx="677.64821272884" cy="408.17349607674" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_18__stack1"><circle cx="677.64821272884" cy="375.47951176986" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_19__stack1"><circle cx="677.64821272884" cy="342.78552746298" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_20__stack1"><circle cx="677.64821272884" cy="310.0915431561" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_21__stack1"><circle cx="677.64821272884" cy="277.39755884922" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_22__stack1"><circle cx="677.64821272884" cy="244.70357454234002" r="6.5387968613759995" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_23__stack1"><circle cx="677.64821272884" cy="212.00959023546002" r="6.5387968613759995" 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="
|
|
109
|
+
M 448.79032258068,146.62162162170003
|
|
110
|
+
L 432.44333042724,137.79424585884243
|
|
111
|
+
L 432.44333042724,81.7349607673122
|
|
112
|
+
L 465.13731473412,81.7349607673122
|
|
113
|
+
L 465.13731473412,137.79424585884243
|
|
114
|
+
Z
|
|
115
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><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="448.79032258068" y="131.90932868360403" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" transform="rotate(-90 448.79032258068 131.90932868360403)">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="
|
|
116
|
+
M 481.48430688756,244.70357454234002
|
|
117
|
+
L 472.6569311247024,261.05056669578005
|
|
118
|
+
L 416.59764603317217,261.05056669578
|
|
119
|
+
L 416.59764603317217,228.35658238890002
|
|
120
|
+
L 472.65693112470245,228.35658238890002
|
|
121
|
+
Z
|
|
122
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><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="466.77201394946405" y="244.70357454234002" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" 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="
|
|
123
|
+
M 677.64821272884,440.86748038362
|
|
124
|
+
L 686.4755884916976,424.52048823018
|
|
125
|
+
L 742.5348735832279,424.52048823018
|
|
126
|
+
L 742.5348735832279,457.21447253706
|
|
127
|
+
L 686.4755884916976,457.21447253706
|
|
128
|
+
Z
|
|
129
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><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="692.360505666936" y="440.86748038362" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" 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_3__stack1" d="
|
|
130
|
+
M 481.48430688756,277.39755884922
|
|
131
|
+
L 472.6569311247024,293.74455100266
|
|
132
|
+
L 416.59764603317217,293.74455100266
|
|
133
|
+
L 416.59764603317217,261.05056669578
|
|
134
|
+
L 472.65693112470245,261.05056669578
|
|
135
|
+
Z
|
|
136
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><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="466.77201394946405" y="277.39755884922" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" 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_4__stack1" d="
|
|
137
|
+
M 677.64821272884,473.5614646904999
|
|
138
|
+
L 686.4755884916976,457.2144725370599
|
|
139
|
+
L 742.5348735832279,457.2144725370599
|
|
140
|
+
L 742.5348735832279,489.9084568439399
|
|
141
|
+
L 686.4755884916976,489.9084568439399
|
|
142
|
+
Z
|
|
143
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><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="692.360505666936" y="473.5614646904999" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" 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_5__stack1" d="
|
|
144
|
+
M 391.41238012210556,653.3783783783399
|
|
145
|
+
L 407.75937227554556,662.2057541411975
|
|
146
|
+
L 407.75937227554556,718.2650392327278
|
|
147
|
+
L 375.06538796866556,718.2650392327278
|
|
148
|
+
L 375.06538796866556,662.2057541411975
|
|
149
|
+
Z
|
|
150
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><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="391.41238012210556" y="668.0906713164359" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" transform="rotate(90 391.41238012210556 668.0906713164359)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_6__stack1" d="
|
|
151
|
+
M 481.48430688756,342.78552746298
|
|
152
|
+
L 472.6569311247024,359.13251961642
|
|
153
|
+
L 416.59764603317217,359.13251961642
|
|
154
|
+
L 416.59764603317217,326.43853530954
|
|
155
|
+
L 472.65693112470245,326.43853530954
|
|
156
|
+
Z
|
|
157
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_6__stack1" x="466.77201394946405" y="342.78552746298" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" 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_7__stack1" d="
|
|
158
|
+
M 677.64821272884,538.94943330426
|
|
159
|
+
L 686.4755884916976,522.6024411508199
|
|
160
|
+
L 742.5348735832279,522.6024411508199
|
|
161
|
+
L 742.5348735832279,555.2964254577
|
|
162
|
+
L 686.4755884916976,555.2964254577
|
|
163
|
+
Z
|
|
164
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_7__stack1" x="692.360505666936" y="538.94943330426" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" 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_8__stack1" d="
|
|
165
|
+
M 481.48430688756,375.47951176986
|
|
166
|
+
L 472.6569311247024,391.8265039233
|
|
167
|
+
L 416.59764603317217,391.8265039233
|
|
168
|
+
L 416.59764603317217,359.13251961642
|
|
169
|
+
L 472.65693112470245,359.13251961642
|
|
170
|
+
Z
|
|
171
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_8__stack1" x="466.77201394946405" y="375.47951176986" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" 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_9__stack1" d="
|
|
172
|
+
M 677.64821272884,571.64341761114
|
|
173
|
+
L 686.4755884916976,555.2964254577
|
|
174
|
+
L 742.5348735832279,555.2964254577
|
|
175
|
+
L 742.5348735832279,587.9904097645799
|
|
176
|
+
L 686.4755884916976,587.9904097645799
|
|
177
|
+
Z
|
|
178
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_9__stack1" x="692.360505666936" y="571.64341761114" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" 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_10__stack1" d="
|
|
179
|
+
M 481.48430688756,408.17349607674
|
|
180
|
+
L 472.6569311247024,424.52048823018
|
|
181
|
+
L 416.59764603317217,424.52048823018
|
|
182
|
+
L 416.59764603317217,391.8265039233
|
|
183
|
+
L 472.65693112470245,391.8265039233
|
|
184
|
+
Z
|
|
185
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_10__stack1" x="466.77201394946405" y="408.17349607674" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" 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_11__stack1" d="
|
|
186
|
+
M 677.64821272884,375.47951176986
|
|
187
|
+
L 686.4755884916976,359.13251961642
|
|
188
|
+
L 742.5348735832279,359.13251961642
|
|
189
|
+
L 742.5348735832279,391.8265039233
|
|
190
|
+
L 686.4755884916976,391.8265039233
|
|
191
|
+
Z
|
|
192
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.2693984306879997px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_11__stack1" x="692.360505666936" y="375.47951176986" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="29.424585876191998px" transform="">XX</text>
|
|
193
|
+
</g>
|
|
194
|
+
</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 3,-0.10000000000000016" data-type="line" data-label="" points="345.38513974096804,310.52033628720744 574.4239945466941,361.4178595773688" 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.3010000000000002,0.30000000000000004 1.3010000000000002,0.5010000000000001" data-type="line" data-label="" points="345.38513974096804,310.52033628720744 358.2367643717338,310.52033628720744 358.2367643717338,284.94433083390135" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3,-0.10000000000000016 3.101,-0.10000000000000016 3.101,0.10099999999999985" data-type="line" data-label="" points="574.4239945466941,361.4178595773688 587.2756191774597,361.4178595773688 587.2756191774597,335.8418541240627" 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="285.0715746421268" width="305.38513974096804" height="127.24380822540331" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00785892857142857"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2.45" data-y="-0.10000000000000009" x="434.45580549875035" y="336.6746203135652" width="139.96818904794372" height="49.48647852760723" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00785892857142857"/></g><g><rect data-type="rect" data-label="netId: VCC
|
|
2
4
|
globalConnNetId: connectivity_net0" data-x="1.3010000000000002" data-y="0.7260000000000001" x="345.5123835491935" y="227.6846171324699" width="25.44876164508065" height="57.25971370143145" fill="#ef444466" stroke="#ef4444" stroke-width="0.00785892857142857"/></g><g><rect data-type="rect" data-label="netId: VCC
|
|
3
5
|
globalConnNetId: connectivity_net0" data-x="3.101" data-y="0.32599999999999985" x="574.5512383549194" y="278.58214042263126" width="25.448761645080594" height="57.25971370143145" fill="#ef444466" stroke="#ef4444" stroke-width="0.00785892857142857"/></g><g><circle data-type="point" data-label="U1.1
|
|
4
6
|
x+" data-x="1.2000000000000002" data-y="0.30000000000000004" cx="345.38513974096804" cy="310.52033628720744" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
|
|
@@ -14,7 +16,7 @@ orientation: y+" data-x="3.101" data-y="0.10099999999999985" cx="587.27561917745
|
|
|
14
16
|
const h = svg.getElementById('crosshair-h');
|
|
15
17
|
const v = svg.getElementById('crosshair-v');
|
|
16
18
|
const coords = svg.getElementById('coordinates');
|
|
17
|
-
|
|
19
|
+
|
|
18
20
|
crosshair.style.display = 'block';
|
|
19
21
|
h.setAttribute('x1', '0');
|
|
20
22
|
h.setAttribute('x2', '640');
|
|
@@ -33,13 +35,13 @@ orientation: y+" data-x="3.101" data-y="0.10099999999999985" cx="587.27561917745
|
|
|
33
35
|
// y' = (y - ty) / sy
|
|
34
36
|
const sx = matrix.a;
|
|
35
37
|
const sy = matrix.d;
|
|
36
|
-
const tx = matrix.e;
|
|
38
|
+
const tx = matrix.e;
|
|
37
39
|
const ty = matrix.f;
|
|
38
40
|
const realPoint = {
|
|
39
41
|
x: (x - tx) / sx,
|
|
40
42
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
41
43
|
}
|
|
42
|
-
|
|
44
|
+
|
|
43
45
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
44
46
|
coords.setAttribute('x', (x + 5).toString());
|
|
45
47
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -47,4 +49,34 @@ orientation: y+" data-x="3.101" data-y="0.10099999999999985" cx="587.27561917745
|
|
|
47
49
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
48
50
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
49
51
|
});
|
|
50
|
-
]]></script
|
|
52
|
+
]]></script>
|
|
53
|
+
</g>
|
|
54
|
+
<g transform="translate(1216, 200)">
|
|
55
|
+
<style>
|
|
56
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
57
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
58
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
59
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
60
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
61
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
62
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
63
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
64
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
65
|
+
|
|
66
|
+
</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 599.8800239952201 375.75684863027 L 624.1151769646282 375.75684863027 L 624.1151769646282 327.5264947010519" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="38.392321535696px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 599.8800239952201 375.75684863027 L 624.1151769646282 375.75684863027 L 624.1151769646282 327.5264947010519" stroke="rgb(0, 150, 0)" fill="none" stroke-width="4.799040191962px" 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 1031.7936412718 471.73765246951007 L 1056.0287942412083 471.73765246951007 L 1056.0287942412083 423.5072985402919" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="38.392321535696px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1031.7936412718 471.73765246951007 L 1056.0287942412083 471.73765246951007 L 1056.0287942412083 423.5072985402919" stroke="rgb(0, 150, 0)" fill="none" stroke-width="4.799040191962px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="119.97600479901996" y="327.76644671065003" width="383.9232153569601" height="239.95200959809995" stroke-width="4.799040191962px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="119.97600479901996" y="327.76644671065003" width="383.9232153569601" height="239.95200959809995" fill="transparent"/><text class="sch-text" x="311.9376124775" y="447.7424515097" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="43.191361727658px" transform="rotate(0, 311.9376124775, 447.7424515097)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="503.89922015598006" y1="375.75684863027" x2="599.8800239952201" y2="375.75684863027" stroke-width="4.799040191962px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="595.080983803258" y="370.957808438308" width="9.598080383924" height="9.598080383924" opacity="0"/></g><text class="pin-number sch-pin-number" x="551.8896220756001" y="370.957808438308" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="35.992801439715px" transform="">1</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component chip sch-component-body" x="863.8272345531301" y="425.07770045990827" width="71.98560287942996" height="93.31990401920353" stroke-width="4.799040191962px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="863.8272345531301" y="425.07770045990827" width="71.98560287942996" height="93.31990401920353" fill="transparent"/><text class="sch-text" x="899.8200359928451" y="471.73765246951" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="31.106634673067852px" transform="rotate(0, 899.8200359928451, 471.73765246951)">R1</text><line class="component-pin sch-component-pin sch-port-line" x1="935.8128374325601" y1="471.73765246951007" x2="1031.7936412718" y2="471.73765246951007" stroke-width="4.799040191962px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="1026.994601079838" y="466.9386122775481" width="9.598080383924" height="9.598080383924" opacity="0"/></g><text class="pin-number sch-pin-number" x="983.80323935218" y="466.93861227754803" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="35.992801439715px" transform="">1</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="599.8800239952201" cy="375.75684863027" r="9.598080383924" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="1031.7936412718" cy="471.73765246951007" r="9.598080383924" 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="
|
|
67
|
+
M 624.1151769646282,327.5264947010519
|
|
68
|
+
L 600.1199760048182,314.56908618275446
|
|
69
|
+
L 600.1199760048182,232.28154369124607
|
|
70
|
+
L 648.1103779244381,232.28154369124607
|
|
71
|
+
L 648.1103779244381,314.5690861827545
|
|
72
|
+
Z
|
|
73
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="4.799040191962px"/><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="624.1151769646282" y="305.9308138372229" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="43.191361727658px" transform="rotate(-90 624.1151769646282 305.9308138372229)">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="
|
|
74
|
+
M 1056.0287942412083,423.5072985402919
|
|
75
|
+
L 1032.0335932813982,410.5498900219945
|
|
76
|
+
L 1032.0335932813982,328.26234753048607
|
|
77
|
+
L 1080.0239952010184,328.26234753048607
|
|
78
|
+
L 1080.0239952010184,410.54989002199454
|
|
79
|
+
Z
|
|
80
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="4.799040191962px"/><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="1056.0287942412083" y="401.9116176764629" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="43.191361727658px" transform="rotate(-90 1056.0287942412083 401.9116176764629)">XX</text>
|
|
81
|
+
</g>
|
|
82
|
+
</svg>
|