@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="-1.2000000000000002,0.30000000000000004 -3.79,0.39" data-type="line" data-label="" points="357.4007220216606,296.2454873646209 95.5956678700361,287.1480144404332" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.2000000000000002,0.30000000000000004 -2.22,0.38000000000000006" data-type="line" data-label="" points="357.4007220216606,296.2454873646209 254.29602888086637,288.1588447653429" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.79,-0.3899999999999999 -2.22,-0.37999999999999995" data-type="line" data-label="" points="95.5956678700361,365.9927797833935 254.29602888086637,364.9819494584837" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.22,0.3800000000000002 -2.22,0.5800000000000003 -3.79,0.5800000000000003 -3.79,0.39" data-type="line" data-label="" points="254.29602888086637,288.1588447653429 254.29602888086637,267.94223826714796 95.5956678700361,267.94223826714796 95.5956678700361,287.1480144404332" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2000000000000002,0.3 -1.4125,0.3 -1.4125,0.5800000000000003 -2.22,0.5800000000000003 -2.22,0.38000000000000006" data-type="line" data-label="" points="357.4007220216606,296.24548736462094 335.9205776173285,296.24548736462094 335.9205776173285,267.94223826714796 254.29602888086637,267.94223826714796 254.29602888086637,288.1588447653429" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.79,-0.3899999999999999 -3.79,-0.5900000000000001 -2.22,-0.5900000000000001 -2.22,-0.3800000000000001" data-type="line" data-label="" points="95.5956678700361,365.9927797833935 95.5956678700361,386.2093862815884 254.29602888086637,386.2093862815884 254.29602888086637,364.98194945848377" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-3.675" data-y="5.551115123125783e-17" x="40" y="287.1480144404332" width="134.44043321299637" height="78.84476534296027" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2.085" data-y="5.551115123125783e-17" x="221.44404332129963" y="288.1588447653429" width="92.99638989169677" height="76.8231046931408" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0" data-y="0" x="357.4007220216606" y="276.028880866426" width="242.5992779783394" height="101.08303249097469" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.68" data-y="0.615" x="391.76895306859205" y="251.76895306859208" width="36.38989169675091" height="25.270758122743644" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
2
4
|
globalConnNetId: connectivity_net1" data-x="-3.79" data-y="-0.8" x="71.33574007220213" y="386.2093862815884" width="48.519855595667934" height="42.45487364620942" fill="#00000066" stroke="#000000" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="netId: .U1 > .pin1 to .C2 > .pin1
|
|
3
5
|
globalConnNetId: connectivity_net0" data-x="-1.3062500000000001" data-y="0.72" x="336.55234657039705" y="211.33574007220213" width="20.216606498195006" height="84.90974729241879" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009892857142857142"/></g><g><circle data-type="point" data-label="schematic_port_0
|
|
4
6
|
y-" data-x="-3.79" data-y="-0.3899999999999999" cx="95.5956678700361" cy="365.9927797833935" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_1
|
|
@@ -24,7 +26,7 @@ orientation: y+" data-x="-1.3062500000000001" data-y="0.3" cx="346.6606498194945
|
|
|
24
26
|
const h = svg.getElementById('crosshair-h');
|
|
25
27
|
const v = svg.getElementById('crosshair-v');
|
|
26
28
|
const coords = svg.getElementById('coordinates');
|
|
27
|
-
|
|
29
|
+
|
|
28
30
|
crosshair.style.display = 'block';
|
|
29
31
|
h.setAttribute('x1', '0');
|
|
30
32
|
h.setAttribute('x2', '640');
|
|
@@ -43,13 +45,13 @@ orientation: y+" data-x="-1.3062500000000001" data-y="0.3" cx="346.6606498194945
|
|
|
43
45
|
// y' = (y - ty) / sy
|
|
44
46
|
const sx = matrix.a;
|
|
45
47
|
const sy = matrix.d;
|
|
46
|
-
const tx = matrix.e;
|
|
48
|
+
const tx = matrix.e;
|
|
47
49
|
const ty = matrix.f;
|
|
48
50
|
const realPoint = {
|
|
49
51
|
x: (x - tx) / sx,
|
|
50
52
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
51
53
|
}
|
|
52
|
-
|
|
54
|
+
|
|
53
55
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
54
56
|
coords.setAttribute('x', (x + 5).toString());
|
|
55
57
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -57,4 +59,34 @@ orientation: y+" data-x="-1.3062500000000001" data-y="0.3" cx="346.6606498194945
|
|
|
57
59
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
58
60
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
59
61
|
});
|
|
60
|
-
]]></script
|
|
62
|
+
]]></script>
|
|
63
|
+
</g>
|
|
64
|
+
<g transform="translate(1216, 200)">
|
|
65
|
+
<style>
|
|
66
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
67
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
68
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
69
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
70
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
71
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
72
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
73
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
74
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
75
|
+
|
|
76
|
+
</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 545.7125960970359 358.83146067414395 L 545.7125960970359 330.44589000590395 L 322.885866351352 330.44589000590395 L 322.885866351352 357.412182140732" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="22.708456534592003px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 545.7125960970359 358.83146067414395 L 545.7125960970359 330.44589000590395 L 322.885866351352 330.44589000590395 L 322.885866351352 357.412182140732" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.8385570668240003px" 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 690.4790065050599 370.18568894144 L 660.3193376700549 370.18568894144 L 660.3193376700549 330.44589000590395 L 545.7125960970359 330.44589000590395 L 545.7125960970359 358.831460674144" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="22.708456534592003px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 690.4790065050599 370.18568894144 L 660.3193376700549 370.18568894144 L 660.3193376700549 330.44589000590395 L 545.7125960970359 330.44589000590395 L 545.7125960970359 358.831460674144" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.8385570668240003px" 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 322.885866351352 468.115907746868 L 322.885866351352 496.501478415108 L 545.7125960970359 496.501478415108 L 545.7125960970359 466.69662921345605" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="22.708456534592003px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 322.885866351352 468.115907746868 L 322.885866351352 496.501478415108 L 545.7125960970359 496.501478415108 L 545.7125960970359 466.69662921345605" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.8385570668240003px" 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="545.7125960970359" cy="358.83146067414395" r="4.257835600236" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/><circle cx="545.7125960970359" cy="330.44589000590395" r="4.257835600236" 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="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__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="244.82554701369202" y="405.66765227674" width="188.76404494379597" height="14.192785334120003" stroke-width="2.8385570668240003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="244.82554701369202" y="405.66765227674" width="188.76404494379597" height="14.192785334120003" fill="transparent"/><text class="sch-text" x="339.20756948558994" y="412.7640449438" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="25.547013601416px" transform="rotate(0, 339.20756948558994, 412.7640449438)">schematic_component_0</text><line class="component-pin sch-component-pin sch-port-line" x1="322.885866351352" y1="419.86043761086" x2="322.885866351352" y2="468.115907746868" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="320.04730928452796" y="465.277350680044" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="320.04730928452796" y="443.988172678864" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform="rotate(-90 320.04730928452796 443.988172678864)"></text><text class="pin-number sch-pin-label" x="322.885866351352" y="405.66765227674" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="21.28917800118px" transform="rotate(-90 322.885866351352 405.66765227674)">schematic_port_0</text><line class="component-pin sch-component-pin sch-port-line" x1="322.885866351352" y1="405.66765227674" x2="322.885866351352" y2="357.412182140732" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="320.04730928452796" y="354.573625073908" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="320.04730928452796" y="381.539917208736" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform="rotate(-90 320.04730928452796 381.539917208736)"></text><text class="pin-number sch-pin-label" x="322.885866351352" y="419.86043761086" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="21.28917800118px" transform="rotate(-90 322.885866351352 419.86043761086)">schematic_port_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="499.58604376114596" y="405.66765227674" width="130.5736250739041" height="14.192785334120003" stroke-width="2.8385570668240003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="499.58604376114596" y="405.66765227674" width="130.5736250739041" height="14.192785334120003" fill="transparent"/><text class="sch-text" x="564.872856298098" y="412.7640449438" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="25.547013601416px" transform="rotate(0, 564.872856298098, 412.7640449438)">schematic_component_1</text><line class="component-pin sch-component-pin sch-port-line" x1="545.7125960970359" y1="405.66765227674" x2="545.7125960970359" y2="358.831460674144" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="542.8740390302119" y="355.99290360732" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="542.8740390302119" y="382.249556475442" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform="rotate(-90 542.8740390302119 382.249556475442)"></text><text class="pin-number sch-pin-label" x="545.7125960970359" y="419.86043761086" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="21.28917800118px" transform="rotate(-90 545.7125960970359 419.86043761086)">schematic_port_2</text><line class="component-pin sch-component-pin sch-port-line" x1="545.7125960970359" y1="419.86043761086" x2="545.7125960970359" y2="466.696629213456" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="542.8740390302119" y="463.85807214663197" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="542.8740390302119" y="443.27853341215797" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform="rotate(-90 542.8740390302119 443.27853341215797)"></text><text class="pin-number sch-pin-label" x="545.7125960970359" y="405.66765227674" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="21.28917800118px" transform="rotate(-90 545.7125960970359 405.66765227674)">schematic_port_3</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component chip sch-component-body" x="747.25014784154" y="341.8001182732" width="227.08456534592005" height="141.92785334120003" stroke-width="2.8385570668240003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="747.25014784154" y="341.8001182732" width="227.08456534592005" height="141.92785334120003" fill="transparent"/><text class="sch-text" x="860.7924305145" y="412.7640449438" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="25.547013601416px" transform="rotate(0, 860.7924305145, 412.7640449438)">schematic_component_2</text><line class="component-pin sch-component-pin sch-port-line" x1="747.25014784154" y1="370.18568894144" x2="690.4790065050599" y2="370.18568894144" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><rect x="687.6404494382359" y="367.34713187461597" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="718.8645771733" y="367.34713187461597" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform=""></text><text class="pin-number sch-pin-label" x="761.44293317566" y="370.18568894144" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="21.28917800118px" transform="">schematic_port_4</text><line class="component-pin sch-component-pin sch-port-line" x1="747.25014784154" y1="398.57125960968" x2="693.317563571884" y2="398.57125960968" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="690.4790065050599" cy="398.57125960968" r="2.8385570668240003" stroke-width="2.8385570668240003px"/><rect x="687.6404494382359" y="395.732702542856" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="718.8645771733" y="395.732702542856" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform=""></text><text class="pin-number sch-pin-label" x="761.44293317566" y="398.57125960968" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="21.28917800118px" transform="">schematic_port_5</text><line class="component-pin sch-component-pin sch-port-line" x1="747.25014784154" y1="426.95683027792" x2="693.317563571884" y2="426.95683027792" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_2_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="690.4790065050599" cy="426.95683027792" r="2.8385570668240003" stroke-width="2.8385570668240003px"/><rect x="687.6404494382359" y="424.118273211096" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="718.8645771733" y="424.118273211096" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform=""></text><text class="pin-number sch-pin-label" x="761.44293317566" y="426.95683027792" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="21.28917800118px" transform="">schematic_port_6</text><line class="component-pin sch-component-pin sch-port-line" x1="747.25014784154" y1="455.34240094616" x2="693.317563571884" y2="455.34240094616" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_2_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="690.4790065050599" cy="455.34240094616" r="2.8385570668240003" stroke-width="2.8385570668240003px"/><rect x="687.6404494382359" y="452.503843879336" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="718.8645771733" y="452.503843879336" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform=""></text><text class="pin-number sch-pin-label" x="761.44293317566" y="455.34240094616" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="21.28917800118px" transform="">schematic_port_7</text><line class="component-pin sch-component-pin sch-port-line" x1="974.33471318746" y1="455.34240094616" x2="1028.267297457116" y2="455.34240094616" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_2_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1031.10585452394" cy="455.34240094616" r="2.8385570668240003" stroke-width="2.8385570668240003px"/><rect x="1028.267297457116" y="452.503843879336" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1002.7202838557" y="452.503843879336" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform=""></text><text class="pin-number sch-pin-label" x="960.14192785334" y="455.34240094616" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="21.28917800118px" transform="">schematic_port_8</text><line class="component-pin sch-component-pin sch-port-line" x1="974.33471318746" y1="426.95683027792" x2="1028.267297457116" y2="426.95683027792" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_2_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1031.10585452394" cy="426.95683027792" r="2.8385570668240003" stroke-width="2.8385570668240003px"/><rect x="1028.267297457116" y="424.118273211096" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1002.7202838557" y="424.118273211096" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform=""></text><text class="pin-number sch-pin-label" x="960.14192785334" y="426.95683027792" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="21.28917800118px" transform="">schematic_port_9</text><line class="component-pin sch-component-pin sch-port-line" x1="974.33471318746" y1="398.57125960968" x2="1028.267297457116" y2="398.57125960968" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_2_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1031.10585452394" cy="398.57125960968" r="2.8385570668240003" stroke-width="2.8385570668240003px"/><rect x="1028.267297457116" y="395.732702542856" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1002.7202838557" y="395.73270254285603" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform=""></text><text class="pin-number sch-pin-label" x="960.14192785334" y="398.57125960968" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="21.28917800118px" transform="">schematic_port_10</text><line class="component-pin sch-component-pin sch-port-line" x1="974.33471318746" y1="370.18568894144" x2="1028.267297457116" y2="370.18568894144" stroke-width="2.8385570668240003px"/><g class="sch-port" data-schematic-port-id="source_port_2_7__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1031.10585452394" cy="370.18568894144" r="2.8385570668240003" stroke-width="2.8385570668240003px"/><rect x="1028.267297457116" y="367.34713187461597" width="5.677114133648001" height="5.677114133648001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1002.7202838557" y="367.34713187461597" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="21.28917800118px" transform=""></text><text class="pin-number sch-pin-label" x="960.14192785334" y="370.18568894144" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="21.28917800118px" transform="">schematic_port_11</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="322.885866351352" cy="468.115907746868" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="322.885866351352" cy="357.412182140732" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="545.7125960970359" cy="358.831460674144" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="545.7125960970359" cy="466.696629213456" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="690.4790065050599" cy="370.18568894144" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="690.4790065050599" cy="398.57125960968" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_2__stack1"><circle cx="690.4790065050599" cy="426.95683027792" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_3__stack1"><circle cx="690.4790065050599" cy="455.34240094616" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_4__stack1"><circle cx="1031.10585452394" cy="455.34240094616" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_5__stack1"><circle cx="1031.10585452394" cy="426.95683027792" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_6__stack1"><circle cx="1031.10585452394" cy="398.57125960968" r="5.677114133648001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_7__stack1"><circle cx="1031.10585452394" cy="370.18568894144" r="5.677114133648001" 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="
|
|
77
|
+
M 322.885866351352,496.501478415108
|
|
78
|
+
L 337.078651685472,504.1655824955328
|
|
79
|
+
L 337.078651685472,552.837374334675
|
|
80
|
+
L 308.693081017232,552.837374334675
|
|
81
|
+
L 308.693081017232,504.1655824955328
|
|
82
|
+
Z
|
|
83
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.8385570668240003px"/><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="322.885866351352" y="509.274985215816" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="25.547013601416px" transform="rotate(90 322.885866351352 509.274985215816)">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="
|
|
84
|
+
M 675.3991720875574,370.18568894144
|
|
85
|
+
L 661.2063867534374,362.5215848610152
|
|
86
|
+
L 661.2063867534374,247.16262566528783
|
|
87
|
+
L 689.5919574216774,247.16262566528783
|
|
88
|
+
L 689.5919574216774,362.5215848610152
|
|
89
|
+
Z
|
|
90
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.8385570668240003px"/><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="675.3991720875574" y="357.412182140732" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="25.547013601416px" transform="rotate(-90 675.3991720875574 357.412182140732)">XXXXXX</text><text class="sch-text" x="764.281490242484" y="325.478415138962" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="25.547013601416px" transform="rotate(0, 764.281490242484, 325.478415138962)">U1</text><rect class="schematic-box sch-box" x="738.734476641068" y="307.737433471312" width="51.09402720283197" height="35.48196333530001" stroke-width="2.8385570668240003px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="22.708456534592003 11.354228267296001"/>
|
|
91
|
+
</g>
|
|
92
|
+
</svg>
|