@tscircuit/schematic-trace-solver 0.0.149 → 0.0.151
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/README.md +6 -4
- package/dist/index.d.ts +64 -3
- package/dist/index.js +383 -66
- package/lib/solvers/InlineNetLabelSolver/InlineNetLabelSolver.ts +123 -84
- 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/solvers/NetLabelToTraceSolver/NetLabelToTraceSolver.ts +338 -0
- package/lib/solvers/NetLabelTraceRecovery/getTraceRecoveryConnectivityMaps.ts +33 -0
- package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +15 -0
- package/lib/types/InputProblem.ts +27 -1
- package/package.json +8 -1
- 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 +594 -21
- 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 +170 -5
- 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 +30 -5
- 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/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 +23 -5
- package/tests/solvers/InlineNetLabelSolver/fallback-net-label-width.test.ts +10 -1
- 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="-3.4,-0.8999999999999999 0,-1.4" data-type="line" data-label="" points="113.04347826086953,371.76956521739135 320,402.204347826087" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.4,-0.49999999999999994 -1.3,-0.5" data-type="line" data-label="" points="113.04347826086953,347.4217391304348 240.8695652173913,347.42173913043484" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.4,-0.2999999999999999 -1.3,-0.30000000000000004" data-type="line" data-label="" points="113.04347826086953,335.24782608695654 240.8695652173913,335.24782608695654" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.4,-0.09999999999999992 -1.3,-0.10000000000000009" data-type="line" data-label="" points="113.04347826086953,323.0739130434783 240.8695652173913,323.0739130434783" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.4,0.10000000000000003 -1.3,0.09999999999999998" data-type="line" data-label="" points="113.04347826086953,310.90000000000003 240.8695652173913,310.90000000000003" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4,-0.5 1.3,-0.5" data-type="line" data-label="" points="526.9565217391305,347.42173913043484 399.1304347826087,347.42173913043484" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4,-0.3000000000000001 1.3,-0.3" data-type="line" data-label="" points="526.9565217391305,335.24782608695654 399.1304347826087,335.24782608695654" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4,-0.10000000000000003 1.3,-0.09999999999999998" data-type="line" data-label="" points="526.9565217391305,323.0739130434783 399.1304347826087,323.0739130434783" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4,0.09999999999999998 1.3,0.10000000000000009" data-type="line" data-label="" points="526.9565217391305,310.90000000000003 399.1304347826087,310.90000000000003" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.2,1.4 -3.4,-0.7" data-type="line" data-label="" points="307.82608695652175,231.76956521739135 113.04347826086953,359.5956521739131" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0,-1.4 -3.4,-0.8999999999999999" data-type="line" data-label="" points="320,402.204347826087 113.04347826086953,371.76956521739135" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0,-1.4 3.4,-0.8999999999999999" data-type="line" data-label="" points="320,402.204347826087 526.9565217391305,371.76956521739135" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.4,-0.8999999999999999 3.4,-0.8999999999999999" data-type="line" data-label="" points="113.04347826086953,371.76956521739135 526.9565217391305,371.76956521739135" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2,1.4 3.4,-0.7" data-type="line" data-label="" points="332.17391304347825,231.76956521739135 526.9565217391305,359.5956521739131" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0,-1.4 0,-1.5999999999999999 -1.7,-1.5999999999999999 -1.7,-0.8999999999999999 -3.4,-0.8999999999999999" data-type="line" data-label="" points="320,402.204347826087 320,414.3782608695652 216.52173913043475,414.3782608695652 216.52173913043475,371.76956521739135 113.04347826086953,371.76956521739135" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4,-0.8999999999999999 1.6999999999999997,-0.8999999999999999 1.6999999999999997,-1.5999999999999999 0,-1.5999999999999999 0,-1.4" data-type="line" data-label="" points="526.9565217391305,371.76956521739135 423.47826086956525,371.76956521739135 423.47826086956525,414.3782608695652 320,414.3782608695652 320,402.204347826087" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.4,-0.49999999999999994 -1.3,-0.5" data-type="line" data-label="" points="113.04347826086953,347.4217391304348 240.8695652173913,347.42173913043484" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.4,-0.2999999999999999 -1.3,-0.30000000000000004" data-type="line" data-label="" points="113.04347826086953,335.24782608695654 240.8695652173913,335.24782608695654" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.4,-0.09999999999999992 -1.3,-0.10000000000000009" data-type="line" data-label="" points="113.04347826086953,323.0739130434783 240.8695652173913,323.0739130434783" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.4,0.10000000000000003 -1.3,0.09999999999999998" data-type="line" data-label="" points="113.04347826086953,310.90000000000003 240.8695652173913,310.90000000000003" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4,-0.5 1.3,-0.5" data-type="line" data-label="" points="526.9565217391305,347.42173913043484 399.1304347826087,347.42173913043484" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4,-0.3000000000000001 1.3,-0.3" data-type="line" data-label="" points="526.9565217391305,335.24782608695654 399.1304347826087,335.24782608695654" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4,-0.10000000000000003 1.3,-0.09999999999999998" data-type="line" data-label="" points="526.9565217391305,323.0739130434783 399.1304347826087,323.0739130434783" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4,0.09999999999999998 1.3,0.10000000000000009" data-type="line" data-label="" points="526.9565217391305,310.90000000000003 399.1304347826087,310.90000000000003" 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="240.8695652173913" y="231.76956521739135" width="158.26086956521738" height="170.43478260869563" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016428571428571428"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-4" data-y="-0.3" x="39.999999999999986" y="286.5521739130435" width="73.04347826086953" height="97.39130434782612" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016428571428571428"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="4" data-y="-0.3" x="526.9565217391305" y="286.5521739130435" width="73.0434782608695" height="97.39130434782612" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016428571428571428"/></g><g><rect data-type="rect" data-label="netId: V3_3
|
|
2
4
|
globalConnNetId: connectivity_net9" data-x="-0.2" data-y="1.6009999999999998" x="301.7391304347826" y="207.3608695652174" width="12.173913043478251" height="24.34782608695653" fill="#ef444466" stroke="#ef4444" stroke-width="0.016428571428571428"/></g><g><rect data-type="rect" data-label="netId: V3_3
|
|
3
5
|
globalConnNetId: connectivity_net9" data-x="-3.199" data-y="-0.7" x="113.10434782608692" y="353.50869565217397" width="24.34782608695656" height="12.173913043478251" fill="#ef444466" stroke="#ef4444" stroke-width="0.016428571428571428"/></g><g><rect data-type="rect" data-label="netId: pinheader.JP1 > port.pin6 to .U1 > .pin2
|
|
4
6
|
globalConnNetId: connectivity_net4" data-x="-2.35" data-y="0.325" x="170.86956521739125" y="283.5086956521739" width="12.17391304347828" height="27.39130434782612" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016428571428571428"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
@@ -48,7 +50,7 @@ orientation: x-" data-x="3.4" data-y="-0.7" cx="526.9565217391305" cy="359.59565
|
|
|
48
50
|
const h = svg.getElementById('crosshair-h');
|
|
49
51
|
const v = svg.getElementById('crosshair-v');
|
|
50
52
|
const coords = svg.getElementById('coordinates');
|
|
51
|
-
|
|
53
|
+
|
|
52
54
|
crosshair.style.display = 'block';
|
|
53
55
|
h.setAttribute('x1', '0');
|
|
54
56
|
h.setAttribute('x2', '640');
|
|
@@ -67,13 +69,13 @@ orientation: x-" data-x="3.4" data-y="-0.7" cx="526.9565217391305" cy="359.59565
|
|
|
67
69
|
// y' = (y - ty) / sy
|
|
68
70
|
const sx = matrix.a;
|
|
69
71
|
const sy = matrix.d;
|
|
70
|
-
const tx = matrix.e;
|
|
72
|
+
const tx = matrix.e;
|
|
71
73
|
const ty = matrix.f;
|
|
72
74
|
const realPoint = {
|
|
73
75
|
x: (x - tx) / sx,
|
|
74
76
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
75
77
|
}
|
|
76
|
-
|
|
78
|
+
|
|
77
79
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
78
80
|
coords.setAttribute('x', (x + 5).toString());
|
|
79
81
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -81,4 +83,69 @@ orientation: x-" data-x="3.4" data-y="-0.7" cx="526.9565217391305" cy="359.59565
|
|
|
81
83
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
82
84
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
83
85
|
});
|
|
84
|
-
]]></script
|
|
86
|
+
]]></script>
|
|
87
|
+
</g>
|
|
88
|
+
<g transform="translate(1216, 200)">
|
|
89
|
+
<style>
|
|
90
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
91
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
92
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
93
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
94
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
95
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
96
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
97
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
98
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
99
|
+
|
|
100
|
+
</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 600 570.9098532495 L 600 596.0670859539 L 386.1635220126 596.0670859539 L 386.1635220126 508.01677148849996 L 172.32704402520005 508.01677148849996" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 600 570.9098532495 L 600 596.0670859539 L 386.1635220126 596.0670859539 L 386.1635220126 508.01677148849996 L 172.32704402520005 508.01677148849996" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" 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 1027.6729559748 508.01677148849996 L 813.8364779873999 508.01677148849996 L 813.8364779873999 596.0670859539 L 600 596.0670859539 L 600 570.9098532495" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1027.6729559748 508.01677148849996 L 813.8364779873999 508.01677148849996 L 813.8364779873999 596.0670859539 L 600 596.0670859539 L 600 570.9098532495" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" 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 172.32704402520005 457.70230607969995 L 436.47798742140003 457.7023060797" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 172.32704402520005 457.70230607969995 L 436.47798742140003 457.7023060797" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"><path d="M 172.32704402520005 432.5450733753 L 436.47798742140003 432.5450733753" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 172.32704402520005 432.5450733753 L 436.47798742140003 432.5450733753" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><path d="M 172.32704402520005 407.3878406709 L 436.47798742140003 407.3878406709" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 172.32704402520005 407.3878406709 L 436.47798742140003 407.3878406709" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"><path d="M 172.32704402520005 382.2306079665 L 436.47798742140003 382.2306079665" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 172.32704402520005 382.2306079665 L 436.47798742140003 382.2306079665" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_6__stack1"><path d="M 1027.6729559748 457.7023060797 L 763.5220125786 457.7023060797" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1027.6729559748 457.7023060797 L 763.5220125786 457.7023060797" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" 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_7__stack1"><path d="M 1027.6729559748 432.5450733753 L 763.5220125786 432.5450733753" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1027.6729559748 432.5450733753 L 763.5220125786 432.5450733753" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" 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_8__stack1"><path d="M 1027.6729559748 407.3878406709 L 763.5220125786 407.3878406709" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1027.6729559748 407.3878406709 L 763.5220125786 407.3878406709" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" 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_9__stack1"><path d="M 1027.6729559748 382.2306079665 L 763.5220125786 382.2306079665" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="20.12578616352px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1027.6729559748 382.2306079665 L 763.5220125786 382.2306079665" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.51572327044px" 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="600" cy="570.9098532495" r="3.77358490566" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/><circle cx="600" cy="596.0670859539" r="3.77358490566" 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="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_6__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_7__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_8__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_9__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="486.7924528302" y="269.0230607967" width="226.41509433960005" height="251.5723270439999" stroke-width="2.51572327044px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="486.7924528302" y="269.0230607967" width="226.41509433960005" height="251.5723270439999" fill="transparent"/><text class="sch-text" x="600" y="394.8092243187" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.64150943396px" transform="rotate(0, 600, 394.8092243187)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="574.8427672956" y1="269.0230607967" x2="574.8427672956" y2="221.22431865834" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="574.8427672956" cy="218.7085953879" r="2.51572327044" stroke-width="2.51572327044px"/><rect x="572.3270440251599" y="216.19287211746" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="572.32704402516" y="243.8658280923" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="rotate(-90 572.32704402516 243.8658280923)">1</text><line class="component-pin sch-component-pin sch-port-line" x1="486.7924528302" y1="382.2306079665" x2="436.47798742140003" y2="382.2306079665" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="433.96226415096004" y="379.71488469606" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.6352201258" y="379.71488469606" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="486.7924528302" y1="407.3878406709" x2="436.47798742140003" y2="407.3878406709" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><rect x="433.96226415096004" y="404.87211740046" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.6352201258" y="404.87211740046" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="486.7924528302" y1="432.5450733753" x2="436.47798742140003" y2="432.5450733753" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><rect x="433.96226415096004" y="430.02935010486" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.6352201258" y="430.02935010486" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="486.7924528302" y1="457.7023060797" x2="436.47798742140003" y2="457.7023060797" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><rect x="433.96226415096004" y="455.18658280926" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.6352201258" y="455.18658280926" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="600" y1="520.5953878406999" x2="600" y2="570.9098532495" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><rect x="597.48427672956" y="568.3941299790599" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="597.48427672956" y="545.7526205451" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="rotate(-90 597.48427672956 545.7526205451)">7</text><line class="component-pin sch-component-pin sch-port-line" x1="486.7924528302" y1="331.91614255769997" x2="438.99371069183996" y2="331.91614255769997" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="436.47798742140003" cy="331.91614255769997" r="2.51572327044" stroke-width="2.51572327044px"/><rect x="433.96226415096004" y="329.40041928726" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.6352201258" y="329.40041928726" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">8</text><line class="component-pin sch-component-pin sch-port-line" x1="713.2075471698" y1="457.7023060797" x2="763.5220125786" y2="457.7023060797" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><rect x="761.0062893081599" y="455.18658280926" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="738.3647798741999" y="455.18658280926" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">10</text><line class="component-pin sch-component-pin sch-port-line" x1="713.2075471698" y1="432.5450733753" x2="763.5220125786" y2="432.5450733753" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_8__stack1"><rect x="761.0062893081599" y="430.02935010486" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="738.3647798741999" y="430.02935010486" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">11</text><line class="component-pin sch-component-pin sch-port-line" x1="713.2075471698" y1="407.3878406709" x2="763.5220125786" y2="407.3878406709" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_9__stack1"><rect x="761.0062893081599" y="404.87211740046" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="738.3647798741999" y="404.87211740046" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">12</text><line class="component-pin sch-component-pin sch-port-line" x1="713.2075471698" y1="382.2306079665" x2="763.5220125786" y2="382.2306079665" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_10__stack1"><rect x="761.0062893081599" y="379.71488469606" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="738.3647798741999" y="379.71488469606" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">13</text><line class="component-pin sch-component-pin sch-port-line" x1="625.1572327044" y1="269.0230607967" x2="625.1572327044" y2="221.22431865834" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_0_11__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="625.1572327044" cy="218.7085953879" r="2.51572327044" stroke-width="2.51572327044px"/><rect x="622.64150943396" y="216.19287211746" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="622.64150943396" y="243.8658280923" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="rotate(-90 622.64150943396 243.8658280923)">14</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="71.69811320760004" y="331.91614255769997" width="50.314465408800004" height="201.25786163519996" stroke-width="2.51572327044px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="71.69811320760004" y="331.91614255769997" width="50.314465408800004" height="201.25786163519996" fill="transparent"/><text class="sch-text" x="96.85534591200002" y="432.5450733753" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.64150943396px" transform="rotate(0, 96.85534591200002, 432.5450733753)">JP1</text><line class="component-pin sch-component-pin sch-port-line" x1="122.01257861640005" y1="508.01677148849996" x2="172.32704402520005" y2="508.01677148849996" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="169.81132075476006" y="505.50104821805996" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="147.16981132080002" y="505.50104821805996" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="122.01257861640005" y1="482.8595387841" x2="169.81132075476" y2="482.8595387841" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="172.32704402520005" cy="482.8595387841" r="2.51572327044" stroke-width="2.51572327044px"/><rect x="169.81132075476006" y="480.34381551366" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="147.16981132080002" y="480.34381551366" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="122.01257861640005" y1="457.70230607969995" x2="172.32704402520005" y2="457.70230607969995" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_1_2__stack1"><rect x="169.81132075476006" y="455.18658280925996" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="147.16981132080002" y="455.18658280925996" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="122.01257861640005" y1="432.5450733753" x2="172.32704402520005" y2="432.5450733753" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_1_3__stack1"><rect x="169.81132075476006" y="430.02935010486" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="147.16981132080002" y="430.02935010486" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="122.01257861640005" y1="407.3878406709" x2="172.32704402520005" y2="407.3878406709" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_1_4__stack1"><rect x="169.81132075476006" y="404.87211740046" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="147.16981132080002" y="404.87211740045996" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="122.01257861640005" y1="382.2306079665" x2="172.32704402520005" y2="382.2306079665" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_1_5__stack1"><rect x="169.81132075476006" y="379.71488469606" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="147.16981132080002" y="379.71488469606" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="122.01257861640005" y1="357.0733752621" x2="169.81132075476" y2="357.0733752621" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_1_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="172.32704402520005" cy="357.0733752621" r="2.51572327044" stroke-width="2.51572327044px"/><rect x="169.81132075476006" y="354.55765199166" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="147.16981132080002" y="354.55765199166" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">7</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="1077.9874213836" y="331.91614255769997" width="50.31446540880006" height="201.25786163519996" stroke-width="2.51572327044px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="1077.9874213836" y="331.91614255769997" width="50.31446540880006" height="201.25786163519996" fill="transparent"/><text class="sch-text" x="1103.144654088" y="432.5450733753" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.64150943396px" transform="rotate(0, 1103.144654088, 432.5450733753)">JP2</text><line class="component-pin sch-component-pin sch-port-line" x1="1077.9874213836" y1="508.01677148849996" x2="1027.6729559748" y2="508.01677148849996" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><rect x="1025.15723270436" y="505.50104821805996" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="1052.8301886792" y="505.50104821805996" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="1077.9874213836" y1="482.8595387841" x2="1030.18867924524" y2="482.8595387841" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1027.6729559748" cy="482.8595387841" r="2.51572327044" stroke-width="2.51572327044px"/><rect x="1025.15723270436" y="480.34381551366" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="1052.8301886792" y="480.34381551366" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="1077.9874213836" y1="457.7023060797" x2="1027.6729559748" y2="457.7023060797" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_2_2__stack1"><rect x="1025.15723270436" y="455.18658280926" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="1052.8301886792" y="455.18658280926" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="1077.9874213836" y1="432.5450733753" x2="1027.6729559748" y2="432.5450733753" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_2_3__stack1"><rect x="1025.15723270436" y="430.02935010486" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="1052.8301886792" y="430.02935010486" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="1077.9874213836" y1="407.3878406709" x2="1027.6729559748" y2="407.3878406709" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_2_4__stack1"><rect x="1025.15723270436" y="404.87211740046" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="1052.8301886792" y="404.87211740046" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="1077.9874213836" y1="382.2306079665" x2="1027.6729559748" y2="382.2306079665" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_2_5__stack1"><rect x="1025.15723270436" y="379.71488469606" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="1052.8301886792" y="379.71488469606" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="1077.9874213836" y1="357.0733752621" x2="1030.18867924524" y2="357.0733752621" stroke-width="2.51572327044px"/><g class="sch-port" data-schematic-port-id="source_port_2_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1027.6729559748" cy="357.0733752621" r="2.51572327044" stroke-width="2.51572327044px"/><rect x="1025.15723270436" y="354.55765199166" width="5.03144654088" height="5.03144654088" opacity="0"/></g><text class="pin-number sch-pin-number" x="1052.8301886792" y="354.55765199166" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.867924528299998px" transform="">7</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="574.8427672956" cy="218.7085953879" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="436.47798742140003" cy="382.2306079665" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="436.47798742140003" cy="407.3878406709" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="436.47798742140003" cy="432.5450733753" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="436.47798742140003" cy="457.7023060797" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="600" cy="570.9098532495" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="436.47798742140003" cy="331.91614255769997" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="763.5220125786" cy="457.7023060797" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_8__stack1"><circle cx="763.5220125786" cy="432.5450733753" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_9__stack1"><circle cx="763.5220125786" cy="407.3878406709" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_10__stack1"><circle cx="763.5220125786" cy="382.2306079665" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_11__stack1"><circle cx="625.1572327044" cy="218.7085953879" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="172.32704402520005" cy="508.01677148849996" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="172.32704402520005" cy="482.8595387841" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_2__stack1"><circle cx="172.32704402520005" cy="457.70230607969995" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_3__stack1"><circle cx="172.32704402520005" cy="432.5450733753" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_4__stack1"><circle cx="172.32704402520005" cy="407.3878406709" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_5__stack1"><circle cx="172.32704402520005" cy="382.2306079665" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_6__stack1"><circle cx="172.32704402520005" cy="357.0733752621" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="1027.6729559748" cy="508.01677148849996" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="1027.6729559748" cy="482.8595387841" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_2__stack1"><circle cx="1027.6729559748" cy="457.7023060797" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_3__stack1"><circle cx="1027.6729559748" cy="432.5450733753" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_4__stack1"><circle cx="1027.6729559748" cy="407.3878406709" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_5__stack1"><circle cx="1027.6729559748" cy="382.2306079665" r="5.03144654088" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_6__stack1"><circle cx="1027.6729559748" cy="357.0733752621" r="5.03144654088" 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="
|
|
101
|
+
M 574.8427672956,218.7085953879
|
|
102
|
+
L 562.2641509434,211.916142557712
|
|
103
|
+
L 562.2641509434,168.7798742139008
|
|
104
|
+
L 587.4213836478,168.7798742139008
|
|
105
|
+
L 587.4213836478,211.916142557712
|
|
106
|
+
Z
|
|
107
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.51572327044px"/><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="574.8427672956" y="207.38784067092" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.64150943396px" transform="rotate(-90 574.8427672956 207.38784067092)">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="
|
|
108
|
+
M 172.32704402520005,482.8595387841
|
|
109
|
+
L 179.11949685538806,470.28092243189997
|
|
110
|
+
L 222.25576519919926,470.28092243189997
|
|
111
|
+
L 222.25576519919926,495.4381551363
|
|
112
|
+
L 179.11949685538806,495.4381551363
|
|
113
|
+
Z
|
|
114
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.51572327044px"/><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="183.64779874218004" y="482.8595387841" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.64150943396px" 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="
|
|
115
|
+
M 304.4025157233,382.2306079665
|
|
116
|
+
L 291.82389937109997,375.438155136312
|
|
117
|
+
L 291.82389937109997,332.3018867925008
|
|
118
|
+
L 316.9811320755,332.3018867925008
|
|
119
|
+
L 316.9811320755,375.438155136312
|
|
120
|
+
Z
|
|
121
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.51572327044px"/><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="304.4025157233" y="370.90985324952" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.64150943396px" transform="rotate(-90 304.4025157233 370.90985324952)">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="
|
|
122
|
+
M 600,596.0670859539
|
|
123
|
+
L 612.5786163522,602.859538784088
|
|
124
|
+
L 612.5786163522,631.2201257861816
|
|
125
|
+
L 587.4213836478,631.2201257861816
|
|
126
|
+
L 587.4213836478,602.859538784088
|
|
127
|
+
Z
|
|
128
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.51572327044px"/><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="600" y="607.38784067088" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.64150943396px" transform="rotate(90 600 607.38784067088)">X</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="
|
|
129
|
+
M 895.5974842767,382.2306079665
|
|
130
|
+
L 883.0188679245,375.438155136312
|
|
131
|
+
L 883.0188679245,332.3018867925008
|
|
132
|
+
L 908.1761006289,332.3018867925008
|
|
133
|
+
L 908.1761006289,375.438155136312
|
|
134
|
+
Z
|
|
135
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.51572327044px"/><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="895.5974842767" y="370.90985324952" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.64150943396px" transform="rotate(-90 895.5974842767 370.90985324952)">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="
|
|
136
|
+
M 625.1572327044,218.7085953879
|
|
137
|
+
L 612.5786163522,211.916142557712
|
|
138
|
+
L 612.5786163522,183.5555555556184
|
|
139
|
+
L 637.7358490566,183.5555555556184
|
|
140
|
+
L 637.7358490566,211.916142557712
|
|
141
|
+
Z
|
|
142
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.51572327044px"/><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="625.1572327044" y="207.38784067092" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.64150943396px" transform="rotate(-90 625.1572327044 207.38784067092)">X</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="
|
|
143
|
+
M 1027.6729559748,482.8595387841
|
|
144
|
+
L 1020.880503144612,495.4381551363
|
|
145
|
+
L 992.5199161425185,495.4381551363
|
|
146
|
+
L 992.5199161425185,470.28092243189997
|
|
147
|
+
L 1020.880503144612,470.28092243189997
|
|
148
|
+
Z
|
|
149
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.51572327044px"/><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="1016.3522012578201" y="482.8595387841" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.64150943396px" transform="">X</text>
|
|
150
|
+
</g>
|
|
151
|
+
</svg>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
<svg width="
|
|
1
|
+
<svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
|
|
2
|
+
<g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
|
|
3
|
+
<rect width="100%" height="100%" fill="white"/><g><polyline data-points="-0.3,0.1 -0.3,-0.1" data-type="line" data-label="" points="273.3851276359601,343.30743618202 273.3851276359601,405.46059933407327" fill="none" stroke="hsl(325, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.3,0.1 -0.5,0.1 -0.5,-0.1 -0.3,-0.1" data-type="line" data-label="" points="273.3851276359601,343.30743618202 211.23196448390684,343.30743618202 211.23196448390684,405.46059933407327 273.3851276359601,405.46059933407327" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.3,0 -0.6000000000000001,0" data-type="line" data-label="" points="273.3851276359601,374.38401775804664 180.15538290788018,374.38401775804664" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="1" data-x="0" data-y="0" x="273.3851276359601" y="312.2308546059934" width="186.45948945615987" height="124.3063263041065" fill="hsl(49, 100%, 50%, 0.8)" stroke="black" stroke-width="0.003217857142857143"/></g><g><rect data-type="rect" data-label="netId: V5_IN
|
|
2
4
|
globalConnNetId: connectivity_net0" data-x="-0.4" data-y="0.325" x="211.23196448390684" y="203.46281908990014" width="62.15316315205325" height="139.8446170921199" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.003217857142857143"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
3
5
|
globalConnNetId: connectivity_net2" data-x="-0.8260000000000001" data-y="0" x="40.00000000000003" y="343.30743618202" width="139.8446170921199" height="62.15316315205325" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.003217857142857143"/></g><g><rect data-type="rect" data-label="netId: V3P3
|
|
4
6
|
globalConnNetId: connectivity_net1" data-x="0.526" data-y="0.1" x="460.15538290788015" y="312.2308546059934" width="139.8446170921199" height="62.15316315205325" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.003217857142857143"/></g><g><circle data-type="point" data-label="IN
|
|
@@ -19,7 +21,7 @@ orientation: x+" data-x="0.3" data-y="0.1" cx="459.84461709211996" cy="343.30743
|
|
|
19
21
|
const h = svg.getElementById('crosshair-h');
|
|
20
22
|
const v = svg.getElementById('crosshair-v');
|
|
21
23
|
const coords = svg.getElementById('coordinates');
|
|
22
|
-
|
|
24
|
+
|
|
23
25
|
crosshair.style.display = 'block';
|
|
24
26
|
h.setAttribute('x1', '0');
|
|
25
27
|
h.setAttribute('x2', '640');
|
|
@@ -38,13 +40,13 @@ orientation: x+" data-x="0.3" data-y="0.1" cx="459.84461709211996" cy="343.30743
|
|
|
38
40
|
// y' = (y - ty) / sy
|
|
39
41
|
const sx = matrix.a;
|
|
40
42
|
const sy = matrix.d;
|
|
41
|
-
const tx = matrix.e;
|
|
43
|
+
const tx = matrix.e;
|
|
42
44
|
const ty = matrix.f;
|
|
43
45
|
const realPoint = {
|
|
44
46
|
x: (x - tx) / sx,
|
|
45
47
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
46
48
|
}
|
|
47
|
-
|
|
49
|
+
|
|
48
50
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
49
51
|
coords.setAttribute('x', (x + 5).toString());
|
|
50
52
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -52,4 +54,41 @@ orientation: x+" data-x="0.3" data-y="0.1" cx="459.84461709211996" cy="343.30743
|
|
|
52
54
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
53
55
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
54
56
|
});
|
|
55
|
-
]]></script
|
|
57
|
+
]]></script>
|
|
58
|
+
</g>
|
|
59
|
+
<g transform="translate(1216, 200)">
|
|
60
|
+
<style>
|
|
61
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
62
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
63
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
64
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
65
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
66
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
67
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
68
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
69
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
70
|
+
|
|
71
|
+
</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 533.18154820824 421.58978420118 L 444.09027915260003 421.58978420118 L 444.09027915260003 510.68105325681995 L 533.18154820824 510.68105325681995" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="71.273015244512px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 533.18154820824 421.58978420118 L 444.09027915260003 421.58978420118 L 444.09027915260003 510.68105325681995 L 533.18154820824 510.68105325681995" stroke="rgb(0, 150, 0)" fill="none" stroke-width="8.909126905564px" 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 533.18154820824 466.135418729 L 399.54464462477995 466.135418729" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="71.273015244512px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 533.18154820824 466.135418729 L 399.54464462477995 466.135418729" stroke="rgb(0, 150, 0)" fill="none" stroke-width="8.909126905564px" 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="644.54563452779" y="377.04414967336" width="44.545634527820084" height="178.18253811128005" stroke-width="8.909126905564px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="644.54563452779" y="377.04414967336" width="44.545634527820084" height="178.18253811128005" fill="transparent"/><text class="sch-text" x="666.8184517917" y="466.135418729" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="59.39417937042666px" transform="rotate(0, 666.8184517917, 466.135418729)">1</text><line class="component-pin sch-component-pin sch-port-line" x1="644.54563452779" y1="421.58978420118" x2="533.18154820824" y2="421.58978420118" stroke-width="8.909126905564px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="524.272421302676" y="412.680657295616" width="17.818253811128" height="17.818253811128" opacity="0"/></g><text class="pin-number sch-pin-number" x="588.863591368015" y="412.68065729561596" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="66.81845179173px" transform=""></text><text class="pin-number sch-pin-label" x="689.09126905561" y="421.58978420118" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="66.81845179173px" transform="">IN</text><line class="component-pin sch-component-pin sch-port-line" x1="644.54563452779" y1="466.135418729" x2="533.18154820824" y2="466.135418729" stroke-width="8.909126905564px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="524.272421302676" y="457.226291823436" width="17.818253811128" height="17.818253811128" opacity="0"/></g><text class="pin-number sch-pin-number" x="588.863591368015" y="457.226291823436" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="66.81845179173px" transform=""></text><text class="pin-number sch-pin-label" x="689.09126905561" y="466.135418729" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="66.81845179173px" transform="">GND</text><line class="component-pin sch-component-pin sch-port-line" x1="644.54563452779" y1="510.68105325681995" x2="533.18154820824" y2="510.68105325681995" stroke-width="8.909126905564px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><rect x="524.272421302676" y="501.77192635125596" width="17.818253811128" height="17.818253811128" opacity="0"/></g><text class="pin-number sch-pin-number" x="588.863591368015" y="501.77192635125596" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="66.81845179173px" transform=""></text><text class="pin-number sch-pin-label" x="689.09126905561" y="510.68105325681995" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="66.81845179173px" transform="">EN</text><line class="component-pin sch-component-pin sch-port-line" x1="689.09126905561" y1="421.58978420118" x2="791.546228469596" y2="421.58978420118" stroke-width="8.909126905564px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="800.45535537516" cy="421.58978420118" r="8.909126905564" stroke-width="8.909126905564px"/><rect x="791.546228469596" y="412.680657295616" width="17.818253811128" height="17.818253811128" opacity="0"/></g><text class="pin-number sch-pin-number" x="744.773312215385" y="412.68065729561596" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="66.81845179173px" transform=""></text><text class="pin-number sch-pin-label" x="644.54563452779" y="421.58978420118" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="66.81845179173px" transform="">OUT</text><line class="component-pin sch-component-pin sch-port-line" x1="689.09126905561" y1="466.135418729" x2="791.546228469596" y2="466.135418729" stroke-width="8.909126905564px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="800.45535537516" cy="466.135418729" r="8.909126905564" stroke-width="8.909126905564px"/><rect x="791.546228469596" y="457.226291823436" width="17.818253811128" height="17.818253811128" opacity="0"/></g><text class="pin-number sch-pin-number" x="744.773312215385" y="457.226291823436" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="66.81845179173px" transform=""></text><text class="pin-number sch-pin-label" x="644.54563452779" y="466.135418729" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="66.81845179173px" transform="">NC</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="533.18154820824" cy="421.58978420118" r="17.818253811128" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="533.18154820824" cy="466.135418729" r="17.818253811128" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="533.18154820824" cy="510.68105325681995" r="17.818253811128" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="800.45535537516" cy="421.58978420118" r="17.818253811128" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="800.45535537516" cy="466.135418729" r="17.818253811128" 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="
|
|
72
|
+
M 488.63591368042,421.58978420118
|
|
73
|
+
L 444.09027915260003,397.5351415561572
|
|
74
|
+
L 444.09027915260003,244.77331221541985
|
|
75
|
+
L 533.18154820824,244.77331221541985
|
|
76
|
+
L 533.18154820824,397.5351415561572
|
|
77
|
+
Z
|
|
78
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="8.909126905564px"/><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="488.63591368042" y="381.49871312614204" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="80.18214215007599px" transform="rotate(-90 488.63591368042 381.49871312614204)">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="
|
|
79
|
+
M 399.54464462477995,466.135418729
|
|
80
|
+
L 375.49000197975715,510.68105325681995
|
|
81
|
+
L 222.7281726390198,510.68105325681995
|
|
82
|
+
L 222.7281726390198,421.58978420117995
|
|
83
|
+
L 375.49000197975715,421.58978420118
|
|
84
|
+
Z
|
|
85
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="8.909126905564px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="359.453573549742" y="466.135418729" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="80.18214215007599px" 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="
|
|
86
|
+
M 800.45535537516,421.58978420118
|
|
87
|
+
L 824.5099980201828,377.04414967336004
|
|
88
|
+
L 977.2718273609202,377.04414967336004
|
|
89
|
+
L 977.2718273609202,466.135418729
|
|
90
|
+
L 824.5099980201828,466.135418729
|
|
91
|
+
Z
|
|
92
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="8.909126905564px"/><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="840.546426450198" y="421.58978420118" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="80.18214215007599px" transform="">XX</text>
|
|
93
|
+
</g>
|
|
94
|
+
</svg>
|