@tscircuit/schematic-trace-solver 0.0.124 → 0.0.125
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/dist/index.d.ts +1 -0
- package/dist/index.js +34 -2
- package/lib/solvers/AvailableNetOrientationSolver/geometry.ts +5 -1
- package/lib/solvers/RailNetLabelCornerPlacementSolver/RailNetLabelCornerPlacementSolver.ts +49 -6
- package/package.json +1 -1
- package/site/bug-reports/bug-report-20260805T061316Z.page.tsx +4 -0
- package/site/bug-reports/bug-report-20260806T061548Z.page.tsx +4 -0
- package/tests/bug-reports/bug-report-20260805T061316Z/__snapshots__/bug-report-20260805T061316Z.snap.svg +212 -0
- package/tests/bug-reports/bug-report-20260805T061316Z/bug-report-20260805T061316Z.json +889 -0
- package/tests/bug-reports/bug-report-20260805T061316Z/bug-report-20260805T061316Z.test.ts +12 -0
- package/tests/bug-reports/bug-report-20260806T061548Z/__snapshots__/bug-report-20260806T061548Z.snap.svg +212 -0
- package/tests/bug-reports/bug-report-20260806T061548Z/bug-report-20260806T061548Z.json +960 -0
- package/tests/bug-reports/bug-report-20260806T061548Z/bug-report-20260806T061548Z.test.ts +32 -0
- package/tests/examples/__snapshots__/example01.snap.svg +18 -18
package/dist/index.d.ts
CHANGED
|
@@ -875,6 +875,7 @@ declare class RailNetLabelCornerPlacementSolver extends BaseSolver {
|
|
|
875
875
|
private intersectsAnyOtherNetLabel;
|
|
876
876
|
private getCornerCandidatesForLabel;
|
|
877
877
|
private isConfiguredRailLabel;
|
|
878
|
+
private isLabelCrossedByOtherNetTrace;
|
|
878
879
|
private pointsEqual;
|
|
879
880
|
private getVerticalSegmentPointIndices;
|
|
880
881
|
private isPinAlignedCorner;
|
package/dist/index.js
CHANGED
|
@@ -9045,6 +9045,7 @@ var ensureGraphicsArrays2 = (graphics) => {
|
|
|
9045
9045
|
};
|
|
9046
9046
|
|
|
9047
9047
|
// lib/solvers/RailNetLabelCornerPlacementSolver/RailNetLabelCornerPlacementSolver.ts
|
|
9048
|
+
var LABEL_TRACE_CLEARANCE3 = 0.1;
|
|
9048
9049
|
var RailNetLabelCornerPlacementSolver = class extends BaseSolver {
|
|
9049
9050
|
inputProblem;
|
|
9050
9051
|
traces;
|
|
@@ -9226,11 +9227,11 @@ var RailNetLabelCornerPlacementSolver = class extends BaseSolver {
|
|
|
9226
9227
|
const anchorAlignedCandidates = [];
|
|
9227
9228
|
const railAlignedCandidates = [];
|
|
9228
9229
|
const labelTraces = this.getTraceLinesForLabel(label);
|
|
9229
|
-
const allowRailAlignedFallback = this.isConfiguredRailLabel(label) && !labelTraces.some(
|
|
9230
|
+
const allowRailAlignedFallback = this.isConfiguredRailLabel(label) && (this.isLabelCrossedByOtherNetTrace(label) || !labelTraces.some(
|
|
9230
9231
|
(trace) => getTraceCorners(trace.tracePath).some(
|
|
9231
9232
|
(corner) => this.pointsEqual(corner, label.anchorPoint)
|
|
9232
9233
|
)
|
|
9233
|
-
);
|
|
9234
|
+
));
|
|
9234
9235
|
for (const trace of labelTraces) {
|
|
9235
9236
|
const path = trace.tracePath;
|
|
9236
9237
|
const pins = [path[0], path[path.length - 1]];
|
|
@@ -9269,6 +9270,13 @@ var RailNetLabelCornerPlacementSolver = class extends BaseSolver {
|
|
|
9269
9270
|
(orientation) => orientation === "y+" || orientation === "y-"
|
|
9270
9271
|
);
|
|
9271
9272
|
}
|
|
9273
|
+
isLabelCrossedByOtherNetTrace(label) {
|
|
9274
|
+
const bounds = getRectBounds(label.center, label.width, label.height);
|
|
9275
|
+
const otherNetTraceMap = Object.fromEntries(
|
|
9276
|
+
this.traces.filter((trace) => trace.globalConnNetId !== label.globalConnNetId).map((trace) => [trace.mspPairId, trace])
|
|
9277
|
+
);
|
|
9278
|
+
return traceCrossesBoundsInterior(bounds, otherNetTraceMap);
|
|
9279
|
+
}
|
|
9272
9280
|
pointsEqual(a, b) {
|
|
9273
9281
|
return Math.abs(a.x - b.x) <= EPS6 && Math.abs(a.y - b.y) <= EPS6;
|
|
9274
9282
|
}
|
|
@@ -9318,6 +9326,30 @@ var RailNetLabelCornerPlacementSolver = class extends BaseSolver {
|
|
|
9318
9326
|
shiftedCoordinates.add(chipBounds.minX - label.width / 2);
|
|
9319
9327
|
shiftedCoordinates.add(chipBounds.maxX + label.width / 2);
|
|
9320
9328
|
}
|
|
9329
|
+
for (const otherTrace of this.traces) {
|
|
9330
|
+
if (otherTrace.globalConnNetId === label.globalConnNetId) continue;
|
|
9331
|
+
for (let i = 0; i < otherTrace.tracePath.length - 1; i++) {
|
|
9332
|
+
const start = otherTrace.tracePath[i];
|
|
9333
|
+
const end = otherTrace.tracePath[i + 1];
|
|
9334
|
+
if (!segmentCrossesBoundsInterior(start, end, labelBounds)) continue;
|
|
9335
|
+
const halfLabelWidth = label.width / 2;
|
|
9336
|
+
if (Math.abs(start.x - end.x) <= EPS6) {
|
|
9337
|
+
shiftedCoordinates.add(
|
|
9338
|
+
start.x - halfLabelWidth - LABEL_TRACE_CLEARANCE3
|
|
9339
|
+
);
|
|
9340
|
+
shiftedCoordinates.add(
|
|
9341
|
+
start.x + halfLabelWidth + LABEL_TRACE_CLEARANCE3
|
|
9342
|
+
);
|
|
9343
|
+
} else {
|
|
9344
|
+
shiftedCoordinates.add(
|
|
9345
|
+
Math.min(start.x, end.x) - halfLabelWidth - LABEL_TRACE_CLEARANCE3
|
|
9346
|
+
);
|
|
9347
|
+
shiftedCoordinates.add(
|
|
9348
|
+
Math.max(start.x, end.x) + halfLabelWidth + LABEL_TRACE_CLEARANCE3
|
|
9349
|
+
);
|
|
9350
|
+
}
|
|
9351
|
+
}
|
|
9352
|
+
}
|
|
9321
9353
|
return [...shiftedCoordinates].flatMap((x) => {
|
|
9322
9354
|
if (Math.abs(x - corner.x) <= EPS6) return [];
|
|
9323
9355
|
const reroutedTracePath = simplifyPath(
|
|
@@ -41,7 +41,11 @@ export const traceCrossesBoundsInterior = (
|
|
|
41
41
|
return false
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
const segmentCrossesBoundsInterior = (
|
|
44
|
+
export const segmentCrossesBoundsInterior = (
|
|
45
|
+
p1: Point,
|
|
46
|
+
p2: Point,
|
|
47
|
+
bounds: Bounds,
|
|
48
|
+
) => {
|
|
45
49
|
const interiorBounds = {
|
|
46
50
|
minX: bounds.minX + TRACE_BOUNDARY_TOLERANCE,
|
|
47
51
|
minY: bounds.minY + TRACE_BOUNDARY_TOLERANCE,
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { GraphicsObject } from "graphics-debug"
|
|
2
2
|
import type { Point } from "@tscircuit/math-utils"
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
segmentCrossesBoundsInterior,
|
|
5
|
+
traceCrossesBoundsInterior,
|
|
6
|
+
} from "lib/solvers/AvailableNetOrientationSolver/geometry"
|
|
4
7
|
import { BaseSolver } from "lib/solvers/BaseSolver/BaseSolver"
|
|
5
8
|
import { moveAttachedLabelsToReroutedTrace } from "lib/solvers/Example28Solver/labelMovement"
|
|
6
9
|
import type { NetLabelPlacement } from "lib/solvers/NetLabelPlacementSolver/NetLabelPlacementSolver"
|
|
@@ -32,6 +35,8 @@ import type {
|
|
|
32
35
|
import { visualizeRailNetLabelCornerPlacementSolver } from "./visualize"
|
|
33
36
|
import { rectIntersectsAnyTextBox } from "lib/utils/textBoxBounds"
|
|
34
37
|
|
|
38
|
+
const LABEL_TRACE_CLEARANCE = 0.1
|
|
39
|
+
|
|
35
40
|
export class RailNetLabelCornerPlacementSolver extends BaseSolver {
|
|
36
41
|
inputProblem: InputProblem
|
|
37
42
|
traces: SolvedTracePath[]
|
|
@@ -271,11 +276,12 @@ export class RailNetLabelCornerPlacementSolver extends BaseSolver {
|
|
|
271
276
|
const labelTraces = this.getTraceLinesForLabel(label)
|
|
272
277
|
const allowRailAlignedFallback =
|
|
273
278
|
this.isConfiguredRailLabel(label) &&
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
+
(this.isLabelCrossedByOtherNetTrace(label) ||
|
|
280
|
+
!labelTraces.some((trace) =>
|
|
281
|
+
getTraceCorners(trace.tracePath).some((corner) =>
|
|
282
|
+
this.pointsEqual(corner, label.anchorPoint),
|
|
283
|
+
),
|
|
284
|
+
))
|
|
279
285
|
|
|
280
286
|
for (const trace of labelTraces) {
|
|
281
287
|
const path = trace.tracePath
|
|
@@ -324,6 +330,17 @@ export class RailNetLabelCornerPlacementSolver extends BaseSolver {
|
|
|
324
330
|
)
|
|
325
331
|
}
|
|
326
332
|
|
|
333
|
+
private isLabelCrossedByOtherNetTrace(label: NetLabelPlacement) {
|
|
334
|
+
const bounds = getRectBounds(label.center, label.width, label.height)
|
|
335
|
+
const otherNetTraceMap = Object.fromEntries(
|
|
336
|
+
this.traces
|
|
337
|
+
.filter((trace) => trace.globalConnNetId !== label.globalConnNetId)
|
|
338
|
+
.map((trace) => [trace.mspPairId, trace]),
|
|
339
|
+
)
|
|
340
|
+
|
|
341
|
+
return traceCrossesBoundsInterior(bounds, otherNetTraceMap)
|
|
342
|
+
}
|
|
343
|
+
|
|
327
344
|
private pointsEqual(a: Point, b: Point) {
|
|
328
345
|
return Math.abs(a.x - b.x) <= EPS && Math.abs(a.y - b.y) <= EPS
|
|
329
346
|
}
|
|
@@ -394,6 +411,32 @@ export class RailNetLabelCornerPlacementSolver extends BaseSolver {
|
|
|
394
411
|
shiftedCoordinates.add(chipBounds.minX - label.width / 2)
|
|
395
412
|
shiftedCoordinates.add(chipBounds.maxX + label.width / 2)
|
|
396
413
|
}
|
|
414
|
+
for (const otherTrace of this.traces) {
|
|
415
|
+
if (otherTrace.globalConnNetId === label.globalConnNetId) continue
|
|
416
|
+
|
|
417
|
+
for (let i = 0; i < otherTrace.tracePath.length - 1; i++) {
|
|
418
|
+
const start = otherTrace.tracePath[i]!
|
|
419
|
+
const end = otherTrace.tracePath[i + 1]!
|
|
420
|
+
if (!segmentCrossesBoundsInterior(start, end, labelBounds)) continue
|
|
421
|
+
|
|
422
|
+
const halfLabelWidth = label.width / 2
|
|
423
|
+
if (Math.abs(start.x - end.x) <= EPS) {
|
|
424
|
+
shiftedCoordinates.add(
|
|
425
|
+
start.x - halfLabelWidth - LABEL_TRACE_CLEARANCE,
|
|
426
|
+
)
|
|
427
|
+
shiftedCoordinates.add(
|
|
428
|
+
start.x + halfLabelWidth + LABEL_TRACE_CLEARANCE,
|
|
429
|
+
)
|
|
430
|
+
} else {
|
|
431
|
+
shiftedCoordinates.add(
|
|
432
|
+
Math.min(start.x, end.x) - halfLabelWidth - LABEL_TRACE_CLEARANCE,
|
|
433
|
+
)
|
|
434
|
+
shiftedCoordinates.add(
|
|
435
|
+
Math.max(start.x, end.x) + halfLabelWidth + LABEL_TRACE_CLEARANCE,
|
|
436
|
+
)
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
397
440
|
|
|
398
441
|
return [...shiftedCoordinates].flatMap((x) => {
|
|
399
442
|
if (Math.abs(x - corner.x) <= EPS) return []
|
package/package.json
CHANGED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="1.7199999999999998,-1.6 1.7199999999999998,-1.4" data-type="line" data-label="" points="196.26234444887297,162.77047074974536 196.26234444887297,157.8105486913777" fill="none" stroke="hsl(166, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.88,0.30000000000000115 -1.88,-1.4999999999999987" data-type="line" data-label="" points="106.9837473982552,115.65121119525263 106.9837473982552,160.29050972056152" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,0.30000000000000115 -1.88,-3.9" data-type="line" data-label="" points="106.9837473982552,115.65121119525263 106.9837473982552,219.80957442097338" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,0.30000000000000115 1.7199999999999998,-4.600000000000001" data-type="line" data-label="" points="106.9837473982552,115.65121119525263 196.26234444887297,237.16930162526023" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,0.30000000000000115 1.7199999999999998,-2.800000000000001" data-type="line" data-label="" points="106.9837473982552,115.65121119525263 196.26234444887297,192.53000309995133" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,0.30000000000000115 1.7199999999999998,-2.400000000000001" data-type="line" data-label="" points="106.9837473982552,115.65121119525263 196.26234444887297,182.610158983216" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,0.30000000000000115 1.7199999999999998,-1.6" data-type="line" data-label="" points="106.9837473982552,115.65121119525263 196.26234444887297,162.77047074974536" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,0.30000000000000115 1.7199999999999998,-1.4" data-type="line" data-label="" points="106.9837473982552,115.65121119525263 196.26234444887297,157.8105486913777" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-1.4999999999999987 -1.88,-3.9" data-type="line" data-label="" points="106.9837473982552,160.29050972056152 106.9837473982552,219.80957442097338" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-1.4999999999999987 1.7199999999999998,-4.600000000000001" data-type="line" data-label="" points="106.9837473982552,160.29050972056152 196.26234444887297,237.16930162526023" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-1.4999999999999987 1.7199999999999998,-2.800000000000001" data-type="line" data-label="" points="106.9837473982552,160.29050972056152 196.26234444887297,192.53000309995133" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-1.4999999999999987 1.7199999999999998,-2.400000000000001" data-type="line" data-label="" points="106.9837473982552,160.29050972056152 196.26234444887297,182.610158983216" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-1.4999999999999987 1.7199999999999998,-1.6" data-type="line" data-label="" points="106.9837473982552,160.29050972056152 196.26234444887297,162.77047074974536" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-1.4999999999999987 1.7199999999999998,-1.4" data-type="line" data-label="" points="106.9837473982552,160.29050972056152 196.26234444887297,157.8105486913777" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-3.9 1.7199999999999998,-4.600000000000001" data-type="line" data-label="" points="106.9837473982552,219.80957442097338 196.26234444887297,237.16930162526023" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-3.9 1.7199999999999998,-2.800000000000001" data-type="line" data-label="" points="106.9837473982552,219.80957442097338 196.26234444887297,192.53000309995133" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-3.9 1.7199999999999998,-2.400000000000001" data-type="line" data-label="" points="106.9837473982552,219.80957442097338 196.26234444887297,182.610158983216" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-3.9 1.7199999999999998,-1.6" data-type="line" data-label="" points="106.9837473982552,219.80957442097338 196.26234444887297,162.77047074974536" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-3.9 1.7199999999999998,-1.4" data-type="line" data-label="" points="106.9837473982552,219.80957442097338 196.26234444887297,157.8105486913777" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-4.600000000000001 1.7199999999999998,-2.800000000000001" data-type="line" data-label="" points="196.26234444887297,237.16930162526023 196.26234444887297,192.53000309995133" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-4.600000000000001 1.7199999999999998,-2.400000000000001" data-type="line" data-label="" points="196.26234444887297,237.16930162526023 196.26234444887297,182.610158983216" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-4.600000000000001 1.7199999999999998,-1.6" data-type="line" data-label="" points="196.26234444887297,237.16930162526023 196.26234444887297,162.77047074974536" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-4.600000000000001 1.7199999999999998,-1.4" data-type="line" data-label="" points="196.26234444887297,237.16930162526023 196.26234444887297,157.8105486913777" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-2.800000000000001 1.7199999999999998,-2.400000000000001" data-type="line" data-label="" points="196.26234444887297,192.53000309995133 196.26234444887297,182.610158983216" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-2.800000000000001 1.7199999999999998,-1.6" data-type="line" data-label="" points="196.26234444887297,192.53000309995133 196.26234444887297,162.77047074974536" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-2.800000000000001 1.7199999999999998,-1.4" data-type="line" data-label="" points="196.26234444887297,192.53000309995133 196.26234444887297,157.8105486913777" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-2.400000000000001 1.7199999999999998,-1.6" data-type="line" data-label="" points="196.26234444887297,182.610158983216 196.26234444887297,162.77047074974536" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-2.400000000000001 1.7199999999999998,-1.4" data-type="line" data-label="" points="196.26234444887297,182.610158983216 196.26234444887297,157.8105486913777" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-1.6 1.7199999999999998,-1.4" data-type="line" data-label="" points="196.26234444887297,162.77047074974536 196.26234444887297,157.8105486913777" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-3.3 1.7199999999999998,0.20000000000000107" data-type="line" data-label="" points="106.9837473982552,204.92980824587042 196.26234444887297,118.13117222443645" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-3.3 -3.65,-4.08" data-type="line" data-label="" points="106.9837473982552,204.92980824587042 63.088437181701465,224.27350427350427" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,0.20000000000000107 -3.65,-4.08" data-type="line" data-label="" points="196.26234444887297,118.13117222443645 63.088437181701465,224.27350427350427" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-4.1 1.7199999999999998,-2.2000000000000006" data-type="line" data-label="" points="106.9837473982552,224.76949647934103 196.26234444887297,177.65023692484834" fill="none" stroke="hsl(30, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-4.1 1.7199999999999998,-1.2000000000000002" data-type="line" data-label="" points="106.9837473982552,224.76949647934103 196.26234444887297,152.85062663301005" fill="none" stroke="hsl(30, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.88,-4.1 -3.65,-3.3200000000000003" data-type="line" data-label="" points="106.9837473982552,224.76949647934103 63.088437181701465,205.4258004517072" fill="none" stroke="hsl(30, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-2.2000000000000006 1.7199999999999998,-1.2000000000000002" data-type="line" data-label="" points="196.26234444887297,177.65023692484834 196.26234444887297,152.85062663301005" fill="none" stroke="hsl(30, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-2.2000000000000006 -3.65,-3.3200000000000003" data-type="line" data-label="" points="196.26234444887297,177.65023692484834 63.088437181701465,205.4258004517072" fill="none" stroke="hsl(30, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.7199999999999998,-1.2000000000000002 -3.65,-3.3200000000000003" data-type="line" data-label="" points="196.26234444887297,152.85062663301005 63.088437181701465,205.4258004517072" fill="none" stroke="hsl(30, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="12.33,-12.05 12.13,-12.05 12.13,-14 12.8,-14 12.8,-13.8" data-type="line" data-label="" points="459.386209645277,421.9263982994553 454.4262875869094,421.9263982994553 454.4262875869094,470.28563836853994 471.04202648244103,470.28563836853994 471.04202648244103,465.3257163101723" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.6,-13.8 8.6,-14 7.93,-14 7.93,-12.05 8.129999999999999,-12.05" data-type="line" data-label="" points="366.8836632567203,465.3257163101723 366.8836632567203,470.28563836853994 350.26792436118865,470.28563836853994 350.26792436118865,421.9263982994553 355.2278464195563,421.9263982994553" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.88,-1.4999999999999987 -2.08,-1.4999999999999987 -2.08,0.30000000000000115 -1.88,0.30000000000000115" data-type="line" data-label="" points="106.9837473982552,160.29050972056152 102.02382533988754,160.29050972056152 102.02382533988754,115.65121119525263 106.9837473982552,115.65121119525263" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.7199999999999998,-1.4 1.8199999999999996,-1.4 1.8199999999999996,-1.6 1.7199999999999998,-1.6" data-type="line" data-label="" points="196.26234444887297,157.8105486913777 198.74230547805678,157.8105486913777 198.74230547805678,162.77047074974536 196.26234444887297,162.77047074974536" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.8800000000000003,-3.3000000000000007 -2.765,-3.3000000000000007 -2.765,-4.28 -3.65,-4.28 -3.65,-4.08" data-type="line" data-label="" points="106.98374739825519,204.92980824587045 85.03609228997833,204.92980824587045 85.03609228997833,229.23342633187195 63.088437181701465,229.23342633187195 63.088437181701465,224.27350427350427" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.7199999999999998,-2.800000000000001 2.6609999999999996,-2.800000000000001 2.6609999999999996,-4.600000000000001 1.7199999999999998,-4.600000000000001" data-type="line" data-label="" points="196.26234444887297,192.53000309995133 219.5987777334928,192.53000309995133 219.5987777334928,237.16930162526023 196.26234444887297,237.16930162526023" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.7199999999999998,-2.400000000000001 2.901,-2.400000000000001 2.901,-2.800000000000001 1.7199999999999998,-2.800000000000001" data-type="line" data-label="" points="196.26234444887297,182.610158983216 225.55068420353396,182.610158983216 225.55068420353396,192.53000309995133 196.26234444887297,192.53000309995133" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.7199999999999998,-1.6 2.471,-1.6 2.471,-2.400000000000001 1.7199999999999998,-2.400000000000001" data-type="line" data-label="" points="196.26234444887297,162.77047074974536 214.8868517780435,162.77047074974536 214.8868517780435,182.610158983216 196.26234444887297,182.610158983216" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.7199999999999998,-1.2000000000000002 2.571,-1.2000000000000002 2.571,-2.2000000000000006 1.7199999999999998,-2.2000000000000006" data-type="line" data-label="" points="196.26234444887297,152.85062663301005 217.36681280722735,152.85062663301005 217.36681280722735,177.65023692484834 196.26234444887297,177.65023692484834" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.08,0.30000000000000115 -2.4299999999999997,0.30000000000000115" data-type="line" data-label="" points="102.02382533988754,115.65121119525263 93.34396173774417,115.65121119525263" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.88,-3.9 -2.5309999999999997,-3.9 -2.5309999999999997,-3.199" data-type="line" data-label="" points="106.9837473982552,219.80957442097338 90.83920109826849,219.80957442097338 90.83920109826849,202.42504760639474" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.7199999999999998,0.20000000000000107 2.811,0.20000000000000107 2.811,0.14900000000000108" data-type="line" data-label="" points="196.26234444887297,118.13117222443645 223.31871927726854,118.13117222443645 223.31871927726854,119.39595234932021" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.88,-4.1 -4.281000000000001,-4.1 -4.281000000000001,-3.298999999999999" data-type="line" data-label="" points="106.9837473982552,224.76949647934103 47.43988308755149,224.76949647934103 47.43988308755149,204.90500863557855" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.0199999999999996,-1.2000000000000002 2.869999999999999,-1.2000000000000002 2.869999999999999,-0.6990000000000003" data-type="line" data-label="" points="203.70222753642446,152.85062663301005 224.78189628448695,152.85062663301005 224.78189628448695,140.4260218767991" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-0.08000000000000007" data-y="-2.5" x="106.98374739825522" y="113.1712501660688" width="89.27859705061776" height="143.837739692662" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-3.4575" data-y="-3.7" x="51.928612550374254" y="205.42580045170723" width="31.867499225012153" height="18.84770382179707" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="12.955000000000002" data-y="-13.5" x="459.8822018511138" y="450.4459501350692" width="30.00752845312428" height="14.879766175103043" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="17" data-y="-4" x="550.4007794163235" y="197.48992515831895" width="49.59922058367647" height="49.59922058367653" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="13.3" data-y="-7.700000000000001" x="474.5139719232984" y="305.6162260307338" width="17.855719410123527" height="16.863734998450013" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="13.3" data-y="-6.6" x="474.5139719232984" y="278.3366547097117" width="17.855719410123527" height="16.863734998450013" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="1.92" data-y="-12.5" x="169.9747575395244" y="415.47849962357736" width="62.49501793543243" height="35.21544661441038" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="8.6" data-y="-12" x="355.2278464195563" y="411.7720651875471" width="23.311633674327993" height="17.82870519463262" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="12.8" data-y="-12" x="459.386209645277" y="411.7720651875471" width="23.31163367432805" height="17.82870519463262" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="8.815000000000001" data-y="-13.5" x="355.7238386253931" y="450.4459501350692" width="32.98348168814482" height="14.879766175103043" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_10" data-x="10.555" data-y="-12.2" x="400.36313715070196" y="418.20645675567954" width="30.00752845312428" height="14.879766175102986" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_11" data-x="9.06125" data-y="-16.5" x="361.9237411983526" y="529.8047030689518" width="32.797484610956076" height="4.959922058367738" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="schematic_component_12" data-x="12.661249999999999" data-y="-16.5" x="451.20233824897036" y="529.8047030689518" width="32.79748461095602" height="4.959922058367738" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="RP2040" data-x="-1.12" data-y="-5.53" x="116.90359151499052" y="258.00097427040436" width="17.85571941012354" height="4.463929852530896" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="U1" data-x="-1.3599999999999999" data-y="0.5149999999999999" x="115.4156148974802" y="107.21934369602765" width="8.927859705061778" height="6.199902572959559" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="W25Q16JVUXIQ" data-x="17.119999999999997" data-y="-5.13" x="560.3206235330588" y="248.081130153669" width="35.71143882024694" height="4.4639298525308675" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="U2" data-x="16.519999999999996" data-y="-2.885" x="558.8326469155484" y="191.53801868827776" width="8.927859705061792" height="6.199902572959559" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
2
|
+
globalConnNetId: connectivity_net7" data-x="2.901" data-y="-2.190000000000001" x="218.1108011159825" y="172.19432266064393" width="14.87976617510293" height="10.415836322572062" fill="#ef444466" stroke="#ef4444" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
3
|
+
globalConnNetId: connectivity_net7" data-x="-2.4299999999999997" data-y="0.5100000000000011" x="85.9040786501927" y="105.23537487268055" width="14.879766175102944" height="10.415836322572076" fill="#ef444466" stroke="#ef4444" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
4
|
+
globalConnNetId: connectivity_net7" data-x="-2.5309999999999997" data-y="-2.989" x="83.39931801071701" y="192.0092112838227" width="14.879766175102958" height="10.415836322572034" fill="#ef444466" stroke="#ef4444" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
5
|
+
globalConnNetId: connectivity_net15" data-x="-3.65" data-y="-4.49" x="57.136530711660285" y="229.23342633187195" width="11.90381294008236" height="10.415836322572062" fill="#00000066" stroke="#000000" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
6
|
+
globalConnNetId: connectivity_net15" data-x="2.811" data-y="-0.060999999999998916" x="217.36681280722735" y="119.3959523493202" width="11.90381294008236" height="10.415836322572076" fill="#00000066" stroke="#000000" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: XIN
|
|
7
|
+
globalConnNetId: connectivity_net10" data-x="0.4739999999999999" data-y="-12.51" x="160.7741021212524" y="430.8542580045171" width="9.175855807980156" height="4.959922058367624" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: XIN
|
|
8
|
+
globalConnNetId: connectivity_net10" data-x="-2.066" data-y="-3.5" x="97.7830919799832" y="207.40976927505426" width="9.17585580798017" height="4.959922058367653" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: XOUT
|
|
9
|
+
globalConnNetId: connectivity_net11" data-x="1.74" data-y="-13.446" x="194.27837562552594" y="450.7187458482796" width="4.959922058367653" height="11.655816837163968" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: XOUT
|
|
10
|
+
globalConnNetId: connectivity_net11" data-x="-2.1159999999999997" data-y="-3.6999999999999997" x="95.30313095079939" y="212.36969133342188" width="11.655816837163982" height="4.959922058367681" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: V1V1
|
|
11
|
+
globalConnNetId: connectivity_net16" data-x="-4.281000000000001" data-y="-3.088999999999999" x="40.000000000000014" y="194.48917231300652" width="14.879766175102958" height="10.415836322572062" fill="#ef444466" stroke="#ef4444" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: V1V1
|
|
12
|
+
globalConnNetId: connectivity_net16" data-x="2.869999999999999" data-y="-0.4890000000000003" x="217.34201319693545" y="130.010185554227" width="14.879766175102958" height="10.415836322572062" fill="#ef444466" stroke="#ef4444" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: V1V1
|
|
13
|
+
globalConnNetId: connectivity_net16" data-x="-3.65" data-y="-3.1090000000000004" x="55.648554094149986" y="194.9851645188433" width="14.879766175102958" height="10.415836322572062" fill="#ef444466" stroke="#ef4444" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: SWCLK
|
|
14
|
+
globalConnNetId: connectivity_net13" data-x="-2.161" data-y="-4.300000000000001" x="93.07116602453394" y="227.24945750852487" width="13.887781763429416" height="4.959922058367653" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: SWCLK
|
|
15
|
+
globalConnNetId: connectivity_net13" data-x="8.119000000000002" data-y="-16.5" x="348.0111598246314" y="529.8047030689518" width="13.887781763429416" height="4.959922058367738" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: SWD
|
|
16
|
+
globalConnNetId: connectivity_net14" data-x="-2.066" data-y="-4.5" x="97.7830919799832" y="232.20937956689255" width="9.17585580798017" height="4.959922058367624" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: SWD
|
|
17
|
+
globalConnNetId: connectivity_net14" data-x="11.814" data-y="-16.5" x="442.0016828306983" y="529.8047030689518" width="9.175855807980213" height="4.959922058367738" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: RUN_SW
|
|
18
|
+
globalConnNetId: connectivity_net0" data-x="12.13" data-y="-11.725000000000001" x="451.94632655772557" y="405.8066516097605" width="4.959922058367624" height="16.119746689694807" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: RUN_SW
|
|
19
|
+
globalConnNetId: connectivity_net0" data-x="-2.206" data-y="-4.700000000000001" x="90.83920109826849" y="237.16930162526023" width="16.119746689694864" height="4.959922058367624" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: LED_GP25
|
|
20
|
+
globalConnNetId: connectivity_net12" data-x="2.1409999999999996" data-y="-3.800000000000001" x="196.2871440591648" y="214.84965236260575" width="20.831672645144153" height="4.959922058367681" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: LED_GP25
|
|
21
|
+
globalConnNetId: connectivity_net12" data-x="10.4" data-y="-11.479" x="409.04300075284533" y="397.3499845002435" width="4.959922058367624" height="20.83167264514418" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: ADC_VREF
|
|
22
|
+
globalConnNetId: connectivity_net17" data-x="2.2609999999999997" data-y="-2.600000000000001" x="196.2871440591648" y="185.09012001239984" width="26.78357911518532" height="4.959922058367653" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: USB_DN
|
|
23
|
+
globalConnNetId: connectivity_net8" data-x="13.985999999999999" data-y="-7.7" x="492.3944909437138" y="311.56813250077494" width="16.119746689694807" height="4.959922058367681" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: USB_DN
|
|
24
|
+
globalConnNetId: connectivity_net8" data-x="2.046" data-y="-2.0000000000000004" x="196.2871440591648" y="170.21035383729685" width="16.119746689694892" height="4.959922058367681" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: USB_DP
|
|
25
|
+
globalConnNetId: connectivity_net9" data-x="13.985999999999999" data-y="-6.6" x="492.3944909437138" y="284.28856117975283" width="16.119746689694807" height="4.959922058367681" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: USB_DP
|
|
26
|
+
globalConnNetId: connectivity_net9" data-x="2.046" data-y="-1.8000000000000003" x="196.2871440591648" y="165.25043177892923" width="16.119746689694892" height="4.959922058367653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SD3
|
|
27
|
+
globalConnNetId: connectivity_net5" data-x="2.1409999999999996" data-y="-1" x="196.2871440591648" y="145.41074354545856" width="20.831672645144153" height="4.959922058367653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SD3
|
|
28
|
+
globalConnNetId: connectivity_net5" data-x="15.579" data-y="-4.4" x="529.5443071608876" y="229.72941853770874" width="20.83167264514418" height="4.959922058367653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SCLK
|
|
29
|
+
globalConnNetId: connectivity_net6" data-x="2.1859999999999995" data-y="-0.7999999999999998" x="196.2871440591648" y="140.45082148709093" width="23.063637571409572" height="4.959922058367624" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SCLK
|
|
30
|
+
globalConnNetId: connectivity_net6" data-x="15.534" data-y="-4.2" x="527.3123422346221" y="224.76949647934106" width="23.063637571409572" height="4.959922058367624" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SD0
|
|
31
|
+
globalConnNetId: connectivity_net2" data-x="2.1409999999999996" data-y="-0.5999999999999996" x="196.2871440591648" y="135.49089942872325" width="20.831672645144153" height="4.959922058367653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SD0
|
|
32
|
+
globalConnNetId: connectivity_net2" data-x="15.579" data-y="-4" x="529.5443071608876" y="219.80957442097338" width="20.83167264514418" height="4.959922058367653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SD2
|
|
33
|
+
globalConnNetId: connectivity_net4" data-x="2.1409999999999996" data-y="-0.39999999999999947" x="196.2871440591648" y="130.53097737035563" width="20.831672645144153" height="4.959922058367653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SD2
|
|
34
|
+
globalConnNetId: connectivity_net4" data-x="15.579" data-y="-3.8000000000000003" x="529.5443071608876" y="214.84965236260575" width="20.83167264514418" height="4.959922058367653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SD1
|
|
35
|
+
globalConnNetId: connectivity_net3" data-x="2.1409999999999996" data-y="-0.1999999999999993" x="196.2871440591648" y="125.57105531198793" width="20.831672645144153" height="4.959922058367653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SD1
|
|
36
|
+
globalConnNetId: connectivity_net3" data-x="15.579" data-y="-3.6" x="529.5443071608876" y="209.88973030423807" width="20.83167264514418" height="4.959922058367681" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: BOOT_R
|
|
37
|
+
globalConnNetId: connectivity_net1" data-x="2.046" data-y="8.881784197001252e-16" x="196.2871440591648" y="120.61113325362027" width="16.119746689694892" height="4.959922058367667" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: QSPI_SS
|
|
38
|
+
globalConnNetId: connectivity_net1" data-x="15.624" data-y="-3.4000000000000004" x="531.7762720871531" y="204.92980824587045" width="18.599707718878676" height="4.959922058367653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><rect data-type="rect" data-label="netId: BOOT_R
|
|
39
|
+
globalConnNetId: connectivity_net1" data-x="8.924999999999999" data-y="-14" x="366.88366325672024" y="467.8056773393561" width="16.119746689694807" height="4.959922058367624" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.04032321428571429"/></g><g><circle data-type="point" data-label="schematic_port_0
|
|
40
|
+
x-" data-x="-1.88" data-y="0.30000000000000115" cx="106.9837473982552" cy="115.65121119525263" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_1
|
|
41
|
+
x-" data-x="-1.88" data-y="0.10000000000000098" cx="106.9837473982552" cy="120.61113325362028" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_2
|
|
42
|
+
x-" data-x="-1.88" data-y="-0.09999999999999876" cx="106.9837473982552" cy="125.57105531198793" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_3
|
|
43
|
+
x-" data-x="-1.88" data-y="-0.29999999999999893" cx="106.9837473982552" cy="130.5309773703556" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_4
|
|
44
|
+
x-" data-x="-1.88" data-y="-0.4999999999999991" cx="106.9837473982552" cy="135.49089942872325" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_5
|
|
45
|
+
x-" data-x="-1.88" data-y="-0.6999999999999988" cx="106.9837473982552" cy="140.4508214870909" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_6
|
|
46
|
+
x-" data-x="-1.88" data-y="-0.8999999999999988" cx="106.9837473982552" cy="145.41074354545856" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_7
|
|
47
|
+
x-" data-x="-1.88" data-y="-1.0999999999999988" cx="106.9837473982552" cy="150.3706656038262" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_8
|
|
48
|
+
x-" data-x="-1.88" data-y="-1.2999999999999987" cx="106.9837473982552" cy="155.33058766219386" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_9
|
|
49
|
+
x-" data-x="-1.88" data-y="-1.4999999999999987" cx="106.9837473982552" cy="160.29050972056152" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_10
|
|
50
|
+
x-" data-x="-1.88" data-y="-1.6999999999999986" cx="106.9837473982552" cy="165.25043177892917" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_11
|
|
51
|
+
x-" data-x="-1.88" data-y="-1.8999999999999986" cx="106.9837473982552" cy="170.21035383729682" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_12
|
|
52
|
+
x-" data-x="-1.88" data-y="-2.0999999999999988" cx="106.9837473982552" cy="175.17027589566447" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_13
|
|
53
|
+
x-" data-x="-1.88" data-y="-2.299999999999999" cx="106.9837473982552" cy="180.13019795403213" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_14
|
|
54
|
+
x-" data-x="-1.88" data-y="-2.499999999999999" cx="106.9837473982552" cy="185.09012001239978" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_15
|
|
55
|
+
x-" data-x="-1.88" data-y="-2.6999999999999993" cx="106.9837473982552" cy="190.05004207076746" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_16
|
|
56
|
+
x-" data-x="-1.88" data-y="-2.8999999999999995" cx="106.9837473982552" cy="195.0099641291351" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_17
|
|
57
|
+
x-" data-x="-1.88" data-y="-3.0999999999999996" cx="106.9837473982552" cy="199.96988618750277" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_18
|
|
58
|
+
x-" data-x="-1.88" data-y="-3.3" cx="106.9837473982552" cy="204.92980824587042" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_19
|
|
59
|
+
x-" data-x="-1.88" data-y="-3.5" cx="106.9837473982552" cy="209.88973030423807" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_20
|
|
60
|
+
x-" data-x="-1.88" data-y="-3.6999999999999997" cx="106.9837473982552" cy="214.84965236260572" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_21
|
|
61
|
+
x-" data-x="-1.88" data-y="-3.9" cx="106.9837473982552" cy="219.80957442097338" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_22
|
|
62
|
+
x-" data-x="-1.88" data-y="-4.1" cx="106.9837473982552" cy="224.76949647934103" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_23
|
|
63
|
+
x-" data-x="-1.88" data-y="-4.300000000000001" cx="106.9837473982552" cy="229.7294185377087" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_24
|
|
64
|
+
x-" data-x="-1.88" data-y="-4.5" cx="106.9837473982552" cy="234.68934059607636" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_25
|
|
65
|
+
x-" data-x="-1.88" data-y="-4.700000000000001" cx="106.9837473982552" cy="239.64926265444404" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_26
|
|
66
|
+
x-" data-x="-1.88" data-y="-4.9" cx="106.9837473982552" cy="244.60918471281167" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_27
|
|
67
|
+
x-" data-x="-1.88" data-y="-5.100000000000001" cx="106.9837473982552" cy="249.56910677117935" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_28
|
|
68
|
+
x-" data-x="-1.88" data-y="-5.300000000000001" cx="106.9837473982552" cy="254.52902882954697" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_29
|
|
69
|
+
x+" data-x="1.7199999999999998" data-y="-5.200000000000001" cx="196.26234444887297" cy="252.04906780036316" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_30
|
|
70
|
+
x+" data-x="1.7199999999999998" data-y="-5.000000000000001" cx="196.26234444887297" cy="247.0891457419955" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_31
|
|
71
|
+
x+" data-x="1.7199999999999998" data-y="-4.800000000000001" cx="196.26234444887297" cy="242.12922368362786" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_32
|
|
72
|
+
x+" data-x="1.7199999999999998" data-y="-4.600000000000001" cx="196.26234444887297" cy="237.16930162526023" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_33
|
|
73
|
+
x+" data-x="1.7199999999999998" data-y="-4.400000000000001" cx="196.26234444887297" cy="232.20937956689255" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_34
|
|
74
|
+
x+" data-x="1.7199999999999998" data-y="-4.200000000000001" cx="196.26234444887297" cy="227.2494575085249" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_35
|
|
75
|
+
x+" data-x="1.7199999999999998" data-y="-4.000000000000001" cx="196.26234444887297" cy="222.28953545015725" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_36
|
|
76
|
+
x+" data-x="1.7199999999999998" data-y="-3.800000000000001" cx="196.26234444887297" cy="217.3296133917896" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_37
|
|
77
|
+
x+" data-x="1.7199999999999998" data-y="-3.6000000000000014" cx="196.26234444887297" cy="212.36969133342194" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_38
|
|
78
|
+
x+" data-x="1.7199999999999998" data-y="-3.4000000000000012" cx="196.26234444887297" cy="207.4097692750543" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_39
|
|
79
|
+
x+" data-x="1.7199999999999998" data-y="-3.200000000000001" cx="196.26234444887297" cy="202.44984721668663" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_40
|
|
80
|
+
x+" data-x="1.7199999999999998" data-y="-3.0000000000000013" cx="196.26234444887297" cy="197.48992515831898" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_41
|
|
81
|
+
x+" data-x="1.7199999999999998" data-y="-2.800000000000001" cx="196.26234444887297" cy="192.53000309995133" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_42
|
|
82
|
+
x+" data-x="1.7199999999999998" data-y="-2.600000000000001" cx="196.26234444887297" cy="187.57008104158365" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_43
|
|
83
|
+
x+" data-x="1.7199999999999998" data-y="-2.400000000000001" cx="196.26234444887297" cy="182.610158983216" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_44
|
|
84
|
+
x+" data-x="1.7199999999999998" data-y="-2.2000000000000006" cx="196.26234444887297" cy="177.65023692484834" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_45
|
|
85
|
+
x+" data-x="1.7199999999999998" data-y="-2.0000000000000004" cx="196.26234444887297" cy="172.6903148664807" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_46
|
|
86
|
+
x+" data-x="1.7199999999999998" data-y="-1.8000000000000003" cx="196.26234444887297" cy="167.73039280811304" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_47
|
|
87
|
+
x+" data-x="1.7199999999999998" data-y="-1.6" cx="196.26234444887297" cy="162.77047074974536" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_48
|
|
88
|
+
x+" data-x="1.7199999999999998" data-y="-1.4" cx="196.26234444887297" cy="157.8105486913777" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_49
|
|
89
|
+
x+" data-x="1.7199999999999998" data-y="-1.2000000000000002" cx="196.26234444887297" cy="152.85062663301005" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_50
|
|
90
|
+
x+" data-x="1.7199999999999998" data-y="-1" cx="196.26234444887297" cy="147.8907045746424" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_51
|
|
91
|
+
x+" data-x="1.7199999999999998" data-y="-0.7999999999999998" cx="196.26234444887297" cy="142.93078251627475" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_52
|
|
92
|
+
x+" data-x="1.7199999999999998" data-y="-0.5999999999999996" cx="196.26234444887297" cy="137.9708604579071" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_53
|
|
93
|
+
x+" data-x="1.7199999999999998" data-y="-0.39999999999999947" cx="196.26234444887297" cy="133.01093839953944" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_54
|
|
94
|
+
x+" data-x="1.7199999999999998" data-y="-0.1999999999999993" cx="196.26234444887297" cy="128.05101634117176" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_55
|
|
95
|
+
x+" data-x="1.7199999999999998" data-y="8.881784197001252e-16" cx="196.26234444887297" cy="123.09109428280411" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_56
|
|
96
|
+
x+" data-x="1.7199999999999998" data-y="0.20000000000000107" cx="196.26234444887297" cy="118.13117222443645" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_57
|
|
97
|
+
y+" data-x="-3.65" data-y="-3.3200000000000003" cx="63.088437181701465" cy="205.4258004517072" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_58
|
|
98
|
+
y-" data-x="-3.65" data-y="-4.08" cx="63.088437181701465" cy="224.27350427350427" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_59
|
|
99
|
+
y-" data-x="12.8" data-y="-13.8" cx="471.04202648244103" cy="465.3257163101723" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_60
|
|
100
|
+
y+" data-x="12.8" data-y="-13.2" cx="471.04202648244103" cy="450.44595013506927" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_61
|
|
101
|
+
x-" data-x="16" data-y="-3.4000000000000004" cx="550.4007794163235" cy="207.40976927505426" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_62
|
|
102
|
+
x-" data-x="16" data-y="-3.6" cx="550.4007794163235" cy="212.3696913334219" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_63
|
|
103
|
+
x-" data-x="16" data-y="-3.8000000000000003" cx="550.4007794163235" cy="217.32961339178956" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_64
|
|
104
|
+
x-" data-x="16" data-y="-4.6" cx="550.4007794163235" cy="237.16930162526018" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_65
|
|
105
|
+
x-" data-x="16" data-y="-4" cx="550.4007794163235" cy="222.28953545015722" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_66
|
|
106
|
+
x-" data-x="16" data-y="-4.2" cx="550.4007794163235" cy="227.24945750852487" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_67
|
|
107
|
+
x-" data-x="16" data-y="-4.4" cx="550.4007794163235" cy="232.20937956689255" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_68
|
|
108
|
+
x-" data-x="16" data-y="-3.2" cx="550.4007794163235" cy="202.4498472166866" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_69
|
|
109
|
+
x-" data-x="16" data-y="-4.8" cx="550.4007794163235" cy="242.12922368362783" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_70
|
|
110
|
+
x-" data-x="12.940000000000001" data-y="-7.7" cx="474.5139719232984" cy="314.0480935299588" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_71
|
|
111
|
+
x+" data-x="13.66" data-y="-7.7" cx="492.36969133342194" cy="314.0480935299588" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_72
|
|
112
|
+
x-" data-x="12.940000000000001" data-y="-6.6" cx="474.5139719232984" cy="286.7685222089367" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_73
|
|
113
|
+
x+" data-x="13.66" data-y="-6.6" cx="492.36969133342194" cy="286.7685222089367" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_74
|
|
114
|
+
y+" data-x="1.2" data-y="-11.79" cx="183.36654709711706" cy="415.4784996235773" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_75
|
|
115
|
+
y-" data-x="1.18" data-y="-13.21" cx="182.8705548912803" cy="450.6939462379877" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_76
|
|
116
|
+
x-" data-x="0.6599999999999999" data-y="-12.51" cx="169.9747575395244" cy="433.3342190337009" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_77
|
|
117
|
+
y-" data-x="1.74" data-y="-13.21" cx="196.75833665470975" cy="450.6939462379877" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_78
|
|
118
|
+
x-" data-x="8.129999999999999" data-y="-12.05" cx="355.2278464195563" cy="421.9263982994553" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_79
|
|
119
|
+
x-" data-x="8.129999999999999" data-y="-12.05" cx="355.2278464195563" cy="421.9263982994553" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_80
|
|
120
|
+
x+" data-x="9.07" data-y="-12.05" cx="378.53948009388426" cy="421.9263982994553" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_81
|
|
121
|
+
x+" data-x="9.07" data-y="-12.05" cx="378.53948009388426" cy="421.9263982994553" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_82
|
|
122
|
+
x-" data-x="12.33" data-y="-12.05" cx="459.386209645277" cy="421.9263982994553" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_83
|
|
123
|
+
x-" data-x="12.33" data-y="-12.05" cx="459.386209645277" cy="421.9263982994553" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_84
|
|
124
|
+
x+" data-x="13.270000000000001" data-y="-12.05" cx="482.69784331960506" cy="421.9263982994553" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_85
|
|
125
|
+
x+" data-x="13.270000000000001" data-y="-12.05" cx="482.69784331960506" cy="421.9263982994553" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_86
|
|
126
|
+
y-" data-x="8.6" data-y="-13.8" cx="366.8836632567203" cy="465.3257163101723" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_87
|
|
127
|
+
y+" data-x="8.6" data-y="-13.2" cx="366.8836632567203" cy="450.44595013506927" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_88
|
|
128
|
+
y+" data-x="10.4" data-y="-11.899999999999999" cx="411.52296178202914" cy="418.20645675567954" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_89
|
|
129
|
+
y-" data-x="10.4" data-y="-12.5" cx="411.52296178202914" cy="433.0862229307825" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_90
|
|
130
|
+
x-" data-x="8.4" data-y="-16.5" cx="361.9237411983526" cy="532.2846640981356" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_91
|
|
131
|
+
x-" data-x="12" data-y="-16.5" cx="451.2023382489704" cy="532.2846640981356" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
132
|
+
orientation: y+" data-x="2.901" data-y="-2.400000000000001" cx="225.55068420353396" cy="182.610158983216" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
133
|
+
orientation: y+" data-x="-2.4299999999999997" data-y="0.30000000000000115" cx="93.34396173774417" cy="115.65121119525263" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
134
|
+
orientation: y+" data-x="-2.5309999999999997" data-y="-3.199" cx="90.83920109826849" cy="202.42504760639474" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
135
|
+
orientation: y-" data-x="-3.65" data-y="-4.28" cx="63.088437181701465" cy="229.23342633187195" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
136
|
+
orientation: y-" data-x="2.811" data-y="0.14900000000000108" cx="223.31871927726854" cy="119.39595234932021" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
137
|
+
orientation: x-" data-x="0.6599999999999999" data-y="-12.51" cx="169.9747575395244" cy="433.3342190337009" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
138
|
+
orientation: x-" data-x="-1.88" data-y="-3.5" cx="106.9837473982552" cy="209.88973030423807" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
139
|
+
orientation: y-" data-x="1.74" data-y="-13.21" cx="196.75833665470975" cy="450.6939462379877" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
140
|
+
orientation: x-" data-x="-1.88" data-y="-3.6999999999999997" cx="106.9837473982552" cy="214.84965236260572" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
141
|
+
orientation: y+" data-x="-4.281000000000001" data-y="-3.298999999999999" cx="47.43988308755149" cy="204.90500863557855" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
142
|
+
orientation: y+" data-x="2.869999999999999" data-y="-0.6990000000000003" cx="224.78189628448695" cy="140.4260218767991" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
143
|
+
orientation: y+" data-x="-3.65" data-y="-3.3200000000000003" cx="63.088437181701465" cy="205.4258004517072" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
144
|
+
orientation: x-" data-x="-1.88" data-y="-4.300000000000001" cx="106.9837473982552" cy="229.7294185377087" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
145
|
+
orientation: x-" data-x="8.4" data-y="-16.5" cx="361.9237411983526" cy="532.2846640981356" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
146
|
+
orientation: x-" data-x="-1.88" data-y="-4.5" cx="106.9837473982552" cy="234.68934059607636" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
147
|
+
orientation: x-" data-x="12" data-y="-16.5" cx="451.2023382489704" cy="532.2846640981356" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
148
|
+
orientation: y+" data-x="12.13" data-y="-12.05" cx="454.4262875869094" cy="421.9263982994553" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
149
|
+
orientation: x-" data-x="-1.88" data-y="-4.700000000000001" cx="106.9837473982552" cy="239.64926265444404" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
150
|
+
orientation: x+" data-x="1.7199999999999998" data-y="-3.800000000000001" cx="196.26234444887297" cy="217.3296133917896" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
151
|
+
orientation: y+" data-x="10.4" data-y="-11.899999999999999" cx="411.52296178202914" cy="418.20645675567954" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
152
|
+
orientation: x+" data-x="1.7199999999999998" data-y="-2.600000000000001" cx="196.26234444887297" cy="187.57008104158365" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
153
|
+
orientation: x+" data-x="13.66" data-y="-7.7" cx="492.36969133342194" cy="314.0480935299588" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
154
|
+
orientation: x+" data-x="1.7199999999999998" data-y="-2.0000000000000004" cx="196.26234444887297" cy="172.6903148664807" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
155
|
+
orientation: x+" data-x="13.66" data-y="-6.6" cx="492.36969133342194" cy="286.7685222089367" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
156
|
+
orientation: x+" data-x="1.7199999999999998" data-y="-1.8000000000000003" cx="196.26234444887297" cy="167.73039280811304" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
157
|
+
orientation: x+" data-x="1.7199999999999998" data-y="-1" cx="196.26234444887297" cy="147.8907045746424" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
158
|
+
orientation: x-" data-x="16" data-y="-4.4" cx="550.4007794163235" cy="232.20937956689255" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
159
|
+
orientation: x+" data-x="1.7199999999999998" data-y="-0.7999999999999998" cx="196.26234444887297" cy="142.93078251627475" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
160
|
+
orientation: x-" data-x="16" data-y="-4.2" cx="550.4007794163235" cy="227.24945750852487" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
161
|
+
orientation: x+" data-x="1.7199999999999998" data-y="-0.5999999999999996" cx="196.26234444887297" cy="137.9708604579071" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
162
|
+
orientation: x-" data-x="16" data-y="-4" cx="550.4007794163235" cy="222.28953545015722" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
163
|
+
orientation: x+" data-x="1.7199999999999998" data-y="-0.39999999999999947" cx="196.26234444887297" cy="133.01093839953944" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
164
|
+
orientation: x-" data-x="16" data-y="-3.8000000000000003" cx="550.4007794163235" cy="217.32961339178956" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
165
|
+
orientation: x+" data-x="1.7199999999999998" data-y="-0.1999999999999993" cx="196.26234444887297" cy="128.05101634117176" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
166
|
+
orientation: x-" data-x="16" data-y="-3.6" cx="550.4007794163235" cy="212.3696913334219" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
167
|
+
orientation: x+" data-x="1.7199999999999998" data-y="8.881784197001252e-16" cx="196.26234444887297" cy="123.09109428280411" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
168
|
+
orientation: x-" data-x="16" data-y="-3.4000000000000004" cx="550.4007794163235" cy="207.40976927505426" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
169
|
+
orientation: x+" data-x="8.6" data-y="-14" cx="366.8836632567203" cy="470.28563836853994" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
170
|
+
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
171
|
+
const svg = e.currentTarget;
|
|
172
|
+
const rect = svg.getBoundingClientRect();
|
|
173
|
+
const x = e.clientX - rect.left;
|
|
174
|
+
const y = e.clientY - rect.top;
|
|
175
|
+
const crosshair = svg.getElementById('crosshair');
|
|
176
|
+
const h = svg.getElementById('crosshair-h');
|
|
177
|
+
const v = svg.getElementById('crosshair-v');
|
|
178
|
+
const coords = svg.getElementById('coordinates');
|
|
179
|
+
|
|
180
|
+
crosshair.style.display = 'block';
|
|
181
|
+
h.setAttribute('x1', '0');
|
|
182
|
+
h.setAttribute('x2', '640');
|
|
183
|
+
h.setAttribute('y1', y);
|
|
184
|
+
h.setAttribute('y2', y);
|
|
185
|
+
v.setAttribute('x1', x);
|
|
186
|
+
v.setAttribute('x2', x);
|
|
187
|
+
v.setAttribute('y1', '0');
|
|
188
|
+
v.setAttribute('y2', '640');
|
|
189
|
+
|
|
190
|
+
// Calculate real coordinates using inverse transformation
|
|
191
|
+
const matrix = {"a":24.79961029183827,"c":0,"e":153.60701474691115,"b":0,"d":-24.79961029183827,"f":123.09109428280414};
|
|
192
|
+
// Manually invert and apply the affine transform
|
|
193
|
+
// Since we only use translate and scale, we can directly compute:
|
|
194
|
+
// x' = (x - tx) / sx
|
|
195
|
+
// y' = (y - ty) / sy
|
|
196
|
+
const sx = matrix.a;
|
|
197
|
+
const sy = matrix.d;
|
|
198
|
+
const tx = matrix.e;
|
|
199
|
+
const ty = matrix.f;
|
|
200
|
+
const realPoint = {
|
|
201
|
+
x: (x - tx) / sx,
|
|
202
|
+
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
206
|
+
coords.setAttribute('x', (x + 5).toString());
|
|
207
|
+
coords.setAttribute('y', (y - 5).toString());
|
|
208
|
+
});
|
|
209
|
+
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
210
|
+
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
211
|
+
});
|
|
212
|
+
]]></script></svg>
|