circuit-json-to-tscircuit 0.0.50 → 0.0.52

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.
@@ -170,7 +170,9 @@ var convertFabrication = (circuitJson) => {
170
170
  if (fabText.layer === "bottom") {
171
171
  attrs.push(`layer="bottom"`);
172
172
  }
173
- elementStrings.push(`<fabricationnotetext ${attrs.join(" ")} />`);
173
+ elementStrings.push(
174
+ `<fabricationnotetext ${attrs.join(" ")}${formatPcbRotationAttr(fabText.ccw_rotation)} />`
175
+ );
174
176
  }
175
177
  for (const fabRect of fabricationNoteRects) {
176
178
  const center = fabRect.center ?? { x: 0, y: 0 };
@@ -604,7 +606,10 @@ var generateFootprintTsx = (circuitJson) => {
604
606
  };
605
607
 
606
608
  // lib/get-board-using-template.ts
607
- var getBoardUsingTemplate = ({ circuitJson }) => {
609
+ var getBoardUsingTemplate = ({
610
+ circuitJson,
611
+ componentName
612
+ }) => {
608
613
  const pcbBoard = su12(circuitJson).pcb_board.list()[0];
609
614
  const boardProps = [];
610
615
  if (pcbBoard) {
@@ -646,11 +651,12 @@ var getBoardUsingTemplate = ({ circuitJson }) => {
646
651
  const footprintTsx = generateFootprintTsx(circuitJson);
647
652
  const children = footprintTsx ? `<chip footprint={${footprintTsx}} />` : "";
648
653
  return `
649
- export default () => (
654
+ ${componentName ? `export const ${componentName} =` : "export default"} () => (
650
655
  <board${boardPropsStr ? ` ${boardPropsStr}` : ""}>
651
656
  ${children}
652
657
  </board>
653
658
  )
659
+ ${componentName ? `export default ${componentName}` : ""}
654
660
  `.replace(/\n\s*\n/g, "\n").trim();
655
661
  };
656
662
 
@@ -984,7 +990,10 @@ ${pinLabels ? `const pinLabels = ${JSON.stringify(pinLabels, null, " ")} as con
984
990
  var convertCircuitJsonToTscircuit = (circuitJson, opts) => {
985
991
  const hasBoard = circuitJson.some((el) => el.type === "pcb_board");
986
992
  if (hasBoard) {
987
- return getBoardUsingTemplate({ circuitJson });
993
+ return getBoardUsingTemplate({
994
+ circuitJson,
995
+ componentName: opts.componentName
996
+ });
988
997
  }
989
998
  return getComponentUsingTemplate({
990
999
  circuitJson,
package/dist/cli/main.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  convertCircuitJsonToTscircuit
4
- } from "../chunk-6TIIS52N.js";
4
+ } from "../chunk-YC65LHVL.js";
5
5
 
6
6
  // cli/main.ts
7
7
  import { Command } from "commander";
@@ -16,7 +16,7 @@ var package_default = {
16
16
  "./cli": "./dist/cli/main.js"
17
17
  },
18
18
  type: "module",
19
- version: "0.0.49",
19
+ version: "0.0.51",
20
20
  repository: {
21
21
  type: "git",
22
22
  url: "https://github.com/tscircuit/circuit-json-to-tscircuit.git"
package/dist/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  convertCircuitJsonToTscircuit
3
- } from "../chunk-6TIIS52N.js";
3
+ } from "../chunk-YC65LHVL.js";
4
4
  export {
5
5
  convertCircuitJsonToTscircuit
6
6
  };
@@ -1,4 +1,5 @@
1
1
  import { su } from "@tscircuit/soup-util"
2
+ import { formatPcbRotationAttr } from "./footprint-tsx-attribute-formatters/format-pcb-rotation-attr"
2
3
  import type { FootprintElementConverter } from "./converter-types"
3
4
  import { escapeJsxText } from "./footprint-tsx-attribute-formatters/escape-jsx-text"
4
5
 
@@ -48,7 +49,9 @@ export const convertFabrication: FootprintElementConverter = (circuitJson) => {
48
49
  attrs.push(`layer="bottom"`)
49
50
  }
50
51
 
51
- elementStrings.push(`<fabricationnotetext ${attrs.join(" ")} />`)
52
+ elementStrings.push(
53
+ `<fabricationnotetext ${attrs.join(" ")}${formatPcbRotationAttr(fabText.ccw_rotation)} />`,
54
+ )
52
55
  }
53
56
 
54
57
  for (const fabRect of fabricationNoteRects) {
@@ -5,9 +5,13 @@ import { generateFootprintTsx } from "./generate-footprint-tsx"
5
5
 
6
6
  export interface BoardTemplateParams {
7
7
  circuitJson: AnyCircuitElement[]
8
+ componentName?: string
8
9
  }
9
10
 
10
- export const getBoardUsingTemplate = ({ circuitJson }: BoardTemplateParams) => {
11
+ export const getBoardUsingTemplate = ({
12
+ circuitJson,
13
+ componentName,
14
+ }: BoardTemplateParams) => {
11
15
  const pcbBoard = su(circuitJson).pcb_board.list()[0]
12
16
 
13
17
  const boardProps: string[] = []
@@ -56,11 +60,12 @@ export const getBoardUsingTemplate = ({ circuitJson }: BoardTemplateParams) => {
56
60
  const children = footprintTsx ? `<chip footprint={${footprintTsx}} />` : ""
57
61
 
58
62
  return `
59
- export default () => (
63
+ ${componentName ? `export const ${componentName} =` : "export default"} () => (
60
64
  <board${boardPropsStr ? ` ${boardPropsStr}` : ""}>
61
65
  ${children}
62
66
  </board>
63
67
  )
68
+ ${componentName ? `export default ${componentName}` : ""}
64
69
  `
65
70
  .replace(/\n\s*\n/g, "\n")
66
71
  .trim()
package/lib/index.ts CHANGED
@@ -15,7 +15,10 @@ export const convertCircuitJsonToTscircuit = (
15
15
  const hasBoard = circuitJson.some((el) => el.type === "pcb_board")
16
16
 
17
17
  if (hasBoard) {
18
- return getBoardUsingTemplate({ circuitJson })
18
+ return getBoardUsingTemplate({
19
+ circuitJson,
20
+ componentName: opts.componentName,
21
+ })
19
22
  }
20
23
 
21
24
  return getComponentUsingTemplate({
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "./cli": "./dist/cli/main.js"
7
7
  },
8
8
  "type": "module",
9
- "version": "0.0.50",
9
+ "version": "0.0.52",
10
10
  "repository": {
11
11
  "type": "git",
12
12
  "url": "https://github.com/tscircuit/circuit-json-to-tscircuit.git"
@@ -0,0 +1,30 @@
1
+ import { expect, test } from "bun:test"
2
+ import { convertCircuitJsonToTscircuit } from "lib"
3
+ import { getBoardUsingTemplate } from "../lib/get-board-using-template"
4
+ import { runTscircuitCode } from "tscircuit"
5
+
6
+ const board = [
7
+ {
8
+ type: "pcb_board",
9
+ pcb_board_id: "board",
10
+ center: { x: 0, y: 0 },
11
+ width: 20,
12
+ height: 10,
13
+ num_layers: 2,
14
+ thickness: 1.6,
15
+ material: "fr4",
16
+ },
17
+ ] as any
18
+
19
+ test("board conversion exports the requested name while retaining the default export", async () => {
20
+ const tsx = convertCircuitJsonToTscircuit(board, {
21
+ componentName: "MyNamedBoard",
22
+ })
23
+ expect(tsx).toContain("export const MyNamedBoard =")
24
+ expect(tsx).toContain("export default MyNamedBoard")
25
+ const rendered = await runTscircuitCode(tsx)
26
+ expect(rendered.filter((el) => el.type === "pcb_board")).toHaveLength(1)
27
+ expect(getBoardUsingTemplate({ circuitJson: board })).toContain(
28
+ "export default () =>",
29
+ )
30
+ }, 15000)
@@ -0,0 +1,26 @@
1
+ import { expect, test } from "bun:test"
2
+ import { convertFabrication } from "../lib/generate-footprint-tsx/convert-fabrication"
3
+
4
+ // Repro for rotations lost by the TI EVM Circuit JSON -> TSX conversion.
5
+ test("preserves fabricationnotetext rotations on both layers", () => {
6
+ for (const layer of ["top", "bottom"]) {
7
+ for (const rotation of [0, 30, 90, 180, 270, -45, undefined]) {
8
+ const [tsx] = convertFabrication([
9
+ {
10
+ type: "pcb_fabrication_note_text",
11
+ layer,
12
+ ccw_rotation: rotation,
13
+ anchor_position: { x: 1, y: 2 },
14
+ text: "Assembly",
15
+ },
16
+ ] as any)
17
+ if (rotation === undefined) expect(tsx).not.toContain("pcbRotation")
18
+ else expect(tsx).toContain(`pcbRotation="${rotation}deg"`)
19
+ expect(
20
+ new Bun.Transpiler({ loader: "tsx" }).transformSync(
21
+ `export default () => (${tsx})`,
22
+ ),
23
+ ).toBeTruthy()
24
+ }
25
+ }
26
+ })
@@ -17,10 +17,11 @@ test("test19 board conversion", async () => {
17
17
  })
18
18
 
19
19
  expect(tscircuitCode).toMatchInlineSnapshot(`
20
- "export default () => (
20
+ "export const MyBoard = () => (
21
21
  <board width="20mm" height="10mm" thickness="1.4mm" layers={2} material="fr4">
22
22
  </board>
23
- )"
23
+ )
24
+ export default MyBoard"
24
25
  `)
25
26
 
26
27
  // The generated board code should render back to an equivalent board
@@ -10,7 +10,7 @@ test(
10
10
  })
11
11
 
12
12
  expect(result.generatedTscircuit).toMatchInlineSnapshot(`
13
- "export default () => (
13
+ "export const Drv8307Evm = () => (
14
14
  <board width="87.7316mm" height="75.00010400000001mm" outline={[{ x: 17.5768, y: 38.9636 }, { x: 17.5768, y: 113.963704 }, { x: 105.30839999999999, y: 113.963704 }, { x: 105.30839999999999, y: 38.9636 }, { x: 17.5768, y: 38.9636 }]} thickness="1.6mm" layers={2} material="fr4">
15
15
  <chip footprint={<footprint>
16
16
  <platedhole portHints={["0"]} pcbX="21.6408mm" pcbY="43.0276mm" outerDiameter="4.318mm" holeDiameter="3.81mm" shape="circle" />
@@ -525,68 +525,68 @@ test(
525
525
  <silkscreenline x1={44.65463509999999} y1={49.0791881} x2={44.65463509999999} y2={54.07918826} strokeWidth={0.19999959999999997} />
526
526
  <silkscreenline x1={42.854633619999994} y1={49.0791881} x2={42.854633619999994} y2={54.07918826} strokeWidth={0.19999959999999997} />
527
527
  <fabricationnotepath route={[{"x":105.30839999999999,"y":38.9636},{"x":17.5768,"y":38.96360000000001}]} strokeWidth={0.254} color="#ec4899" />
528
- <fabricationnotetext pcbX={80.13180062} pcbY={49.447599860000004} anchorAlignment="center" text="R15" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
529
- <fabricationnotetext pcbX={43.04679986} pcbY={56.672599379999994} anchorAlignment="center" text="C3" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
530
- <fabricationnotetext pcbX={61.70179937999999} pcbY={107.47360013999999} anchorAlignment="center" text="R17" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
531
- <fabricationnotetext pcbX={63.226800139999995} pcbY={93.64460062} anchorAlignment="center" text="C12" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
532
- <fabricationnotetext pcbX={67.29080013999999} pcbY={93.64460062} anchorAlignment="center" text="C11" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
533
- <fabricationnotetext pcbX={71.6282794} pcbY={93.60760044} anchorAlignment="center" text="C10" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
534
- <fabricationnotetext pcbX={43.41480014} pcbY={92.12060062} anchorAlignment="center" text="C9" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
535
- <fabricationnotetext pcbX={43.41480014} pcbY={84.24660062} anchorAlignment="center" text="C8" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
536
- <fabricationnotetext pcbX={47.23100536} pcbY={46.95015248} anchorAlignment="center" text="C5" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
537
- <fabricationnotetext pcbX={43.41480014} pcbY={46.90860062} anchorAlignment="center" text="C4" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
538
- <fabricationnotetext pcbX={98.92679986} pcbY={70.64259938} anchorAlignment="center" text="C2" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
539
- <fabricationnotetext pcbX={68.19279986} pcbY={77.75459937999999} anchorAlignment="center" text="C14" font="tscircuit2024" fontSize={0.508} color="#ec4899" />
540
- <fabricationnotetext pcbX={67.03680014} pcbY={78.40460062} anchorAlignment="center" text="C15" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
541
- <fabricationnotetext pcbX={63.73480014} pcbY={78.40460062} anchorAlignment="center" text="C16" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
542
- <fabricationnotetext pcbX={56.34962822} pcbY={110.0328} anchorAlignment="center" text="JP1" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
543
- <fabricationnotetext pcbX={27.96079752} pcbY={88.10808896} anchorAlignment="center" text="R3" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
544
- <fabricationnotetext pcbX={27.90053602} pcbY={90.59660062} anchorAlignment="center" text="R4" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
545
- <fabricationnotetext pcbX={27.90053602} pcbY={92.55710978} anchorAlignment="center" text="R5" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
546
- <fabricationnotetext pcbX={65.76579937999999} pcbY={51.84760014} anchorAlignment="center" text="R11" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
547
- <fabricationnotetext pcbX={52.95380062} pcbY={49.447599860000004} anchorAlignment="center" text="R12" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
548
- <fabricationnotetext pcbX={56.367799379999994} pcbY={51.84760014} anchorAlignment="center" text="R13" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
549
- <fabricationnotetext pcbX={62.605800620000004} pcbY={49.447599860000004} anchorAlignment="center" text="R14" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
550
- <fabricationnotetext pcbX={77.59180062} pcbY={49.447599860000004} anchorAlignment="center" text="R18" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
551
- <fabricationnotetext pcbX={50.15980062} pcbY={49.447599860000004} anchorAlignment="center" text="R21" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
552
- <fabricationnotetext pcbX={72.5097991} pcbY={51.859601639999994} anchorAlignment="center" text="R22" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
553
- <fabricationnotetext pcbX={73.15980034} pcbY={45.931368639999995} anchorAlignment="center" text="R23" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
554
- <fabricationnotetext pcbX={34.5948} pcbY={80.3656} anchorAlignment="center" text="U8" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
555
- <fabricationnotetext pcbX={34.2646} pcbY={64.6176} anchorAlignment="center" text="U9" font="tscircuit2024" fontSize={0.508} color="#ec4899" />
556
- <fabricationnotetext pcbX={72.76580062000001} pcbY={78.65759986} anchorAlignment="center" text="C13" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
557
- <fabricationnotetext pcbX={63.73480014} pcbY={76.37260062} anchorAlignment="center" text="C17" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
558
- <fabricationnotetext pcbX={41.014799860000004} pcbY={69.62659937999999} anchorAlignment="center" text="C20" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
559
- <fabricationnotetext pcbX={34.1376} pcbY={95.88499999999999} anchorAlignment="center" text="JP7" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
560
- <fabricationnotetext pcbX={41.00279836} pcbY={79.27859937999999} anchorAlignment="center" text="C7" font="tscircuit2024" fontSize={0.508} color="#ec4899" />
561
- <fabricationnotetext pcbX={41.014799860000004} pcbY={73.94459937999999} anchorAlignment="center" text="R1" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
562
- <fabricationnotetext pcbX={41.014799860000004} pcbY={71.65859938} anchorAlignment="center" text="R2" font="tscircuit2024" fontSize={0.508} color="#ec4899" />
563
- <fabricationnotetext pcbX={43.41480014} pcbY={82.21460062} anchorAlignment="center" text="R9" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
564
- <fabricationnotetext pcbX={43.40279864} pcbY={77.64260062} anchorAlignment="center" text="R10" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
565
- <fabricationnotetext pcbX={36.22011552} pcbY={49.16634566} anchorAlignment="center" text="D8" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
566
- <fabricationnotetext pcbX={20.573999999999998} pcbY={99.8982} anchorAlignment="center" text="JP6" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
567
- <fabricationnotetext pcbX={83.32879956} pcbY={69.42259928} anchorAlignment="center" text="R25" font="tscircuit2024" fontSize={0.5588} color="#ec4899" />
568
- <fabricationnotetext pcbX={77.48679956} pcbY={85.67859928} anchorAlignment="center" text="R26" font="tscircuit2024" fontSize={0.5588} color="#ec4899" />
569
- <fabricationnotetext pcbX={84.09079956} pcbY={79.07459928} anchorAlignment="center" text="R27" font="tscircuit2024" fontSize={0.5588} color="#ec4899" />
570
- <fabricationnotetext pcbX={82.56679955999999} pcbY={94.31459928} anchorAlignment="center" text="R28" font="tscircuit2024" fontSize={0.5588} color="#ec4899" />
571
- <fabricationnotetext pcbX={77.48679956} pcbY={87.45659928} anchorAlignment="center" text="R29" font="tscircuit2024" fontSize={0.5588} color="#ec4899" />
572
- <fabricationnotetext pcbX={84.09079956} pcbY={77.04259928} anchorAlignment="center" text="R24" font="tscircuit2024" fontSize={0.5588} color="#ec4899" />
573
- <fabricationnotetext pcbX={53.3146} pcbY={108.204} anchorAlignment="center" text="R16" font="tscircuit2024" fontSize={0.889} color="#ec4899" />
574
- <fabricationnotetext pcbX={43.41480014} pcbY={68.24460062} anchorAlignment="center" text="C6" font="tscircuit2024" fontSize={0.635} color="#ec4899" />
575
- <fabricationnotetext pcbX={79.29079899999999} pcbY={76.69760124} anchorAlignment="center" text="R19" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
576
- <fabricationnotetext pcbX={49.0595539} pcbY={108.56516514} anchorAlignment="center" text="JP2" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
577
- <fabricationnotetext pcbX={36.78979942} pcbY={74.85260112} anchorAlignment="center" text="U11" font="tscircuit2024" fontSize={0.508} color="#ec4899" />
578
- <fabricationnotetext pcbX={38.9636} pcbY={95.88499999999999} anchorAlignment="center" text="JP5" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
579
- <fabricationnotetext pcbX={59.94031192} pcbY={49.022411479999995} anchorAlignment="center" text="D3" font="tscircuit2024" fontSize={0.762} color="#ec4899" />
580
- <fabricationnotetext pcbX={82.95615362} pcbY={49.022411479999995} anchorAlignment="center" text="D4" font="tscircuit2024" fontSize={0.762} color="#ec4899" />
581
- <fabricationnotetext pcbX={100.3808} pcbY={57.27743687999999} anchorAlignment="center" text="P1" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
582
- <fabricationnotetext pcbX={100.40027926} pcbY={80.34560004} anchorAlignment="center" text="P2" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
583
- <fabricationnotetext pcbX={77.14879922} pcbY={107.48360012} anchorAlignment="center" text="P3" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
584
- <fabricationnotetext pcbX={34.2646} pcbY={88.2396} anchorAlignment="center" text="U7" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
585
- <fabricationnotetext pcbX={65.83444034} pcbY={86.63979877999999} anchorAlignment="center" text="U1" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
586
- <fabricationnotetext pcbX={31.595555299999997} pcbY={54.56992388} anchorAlignment="center" text="D7" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
587
- <fabricationnotetext pcbX={42.230634359999996} pcbY={51.07118818} anchorAlignment="center" text="U5" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
588
- <fabricationnotetext pcbX={90.41079962} pcbY={62.55759903999999} anchorAlignment="center" text="C1" font="tscircuit2024" fontSize={1.016} color="#ec4899" />
589
- <fabricationnotetext pcbX={91.7448} pcbY={61.315599999999996} anchorAlignment="center" text="+" font="tscircuit2024" fontSize={1.499997} color="#ec4899" />
528
+ <fabricationnotetext pcbX={80.13180062} pcbY={49.447599860000004} anchorAlignment="center" text="R15" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="90deg" />
529
+ <fabricationnotetext pcbX={43.04679986} pcbY={56.672599379999994} anchorAlignment="center" text="C3" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="0deg" />
530
+ <fabricationnotetext pcbX={61.70179937999999} pcbY={107.47360013999999} anchorAlignment="center" text="R17" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="270deg" />
531
+ <fabricationnotetext pcbX={63.226800139999995} pcbY={93.64460062} anchorAlignment="center" text="C12" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
532
+ <fabricationnotetext pcbX={67.29080013999999} pcbY={93.64460062} anchorAlignment="center" text="C11" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
533
+ <fabricationnotetext pcbX={71.6282794} pcbY={93.60760044} anchorAlignment="center" text="C10" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
534
+ <fabricationnotetext pcbX={43.41480014} pcbY={92.12060062} anchorAlignment="center" text="C9" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
535
+ <fabricationnotetext pcbX={43.41480014} pcbY={84.24660062} anchorAlignment="center" text="C8" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
536
+ <fabricationnotetext pcbX={47.23100536} pcbY={46.95015248} anchorAlignment="center" text="C5" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
537
+ <fabricationnotetext pcbX={43.41480014} pcbY={46.90860062} anchorAlignment="center" text="C4" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
538
+ <fabricationnotetext pcbX={98.92679986} pcbY={70.64259938} anchorAlignment="center" text="C2" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="0deg" />
539
+ <fabricationnotetext pcbX={68.19279986} pcbY={77.75459937999999} anchorAlignment="center" text="C14" font="tscircuit2024" fontSize={0.508} color="#ec4899" pcbRotation="0deg" />
540
+ <fabricationnotetext pcbX={67.03680014} pcbY={78.40460062} anchorAlignment="center" text="C15" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
541
+ <fabricationnotetext pcbX={63.73480014} pcbY={78.40460062} anchorAlignment="center" text="C16" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
542
+ <fabricationnotetext pcbX={56.34962822} pcbY={110.0328} anchorAlignment="center" text="JP1" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="270deg" />
543
+ <fabricationnotetext pcbX={27.96079752} pcbY={88.10808896} anchorAlignment="center" text="R3" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
544
+ <fabricationnotetext pcbX={27.90053602} pcbY={90.59660062} anchorAlignment="center" text="R4" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
545
+ <fabricationnotetext pcbX={27.90053602} pcbY={92.55710978} anchorAlignment="center" text="R5" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
546
+ <fabricationnotetext pcbX={65.76579937999999} pcbY={51.84760014} anchorAlignment="center" text="R11" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="270deg" />
547
+ <fabricationnotetext pcbX={52.95380062} pcbY={49.447599860000004} anchorAlignment="center" text="R12" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="90deg" />
548
+ <fabricationnotetext pcbX={56.367799379999994} pcbY={51.84760014} anchorAlignment="center" text="R13" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="270deg" />
549
+ <fabricationnotetext pcbX={62.605800620000004} pcbY={49.447599860000004} anchorAlignment="center" text="R14" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="90deg" />
550
+ <fabricationnotetext pcbX={77.59180062} pcbY={49.447599860000004} anchorAlignment="center" text="R18" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="90deg" />
551
+ <fabricationnotetext pcbX={50.15980062} pcbY={49.447599860000004} anchorAlignment="center" text="R21" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="90deg" />
552
+ <fabricationnotetext pcbX={72.5097991} pcbY={51.859601639999994} anchorAlignment="center" text="R22" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="270deg" />
553
+ <fabricationnotetext pcbX={73.15980034} pcbY={45.931368639999995} anchorAlignment="center" text="R23" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="90deg" />
554
+ <fabricationnotetext pcbX={34.5948} pcbY={80.3656} anchorAlignment="center" text="U8" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="90deg" />
555
+ <fabricationnotetext pcbX={34.2646} pcbY={64.6176} anchorAlignment="center" text="U9" font="tscircuit2024" fontSize={0.508} color="#ec4899" pcbRotation="0deg" />
556
+ <fabricationnotetext pcbX={72.76580062000001} pcbY={78.65759986} anchorAlignment="center" text="C13" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="90deg" />
557
+ <fabricationnotetext pcbX={63.73480014} pcbY={76.37260062} anchorAlignment="center" text="C17" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
558
+ <fabricationnotetext pcbX={41.014799860000004} pcbY={69.62659937999999} anchorAlignment="center" text="C20" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="0deg" />
559
+ <fabricationnotetext pcbX={34.1376} pcbY={95.88499999999999} anchorAlignment="center" text="JP7" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="90deg" />
560
+ <fabricationnotetext pcbX={41.00279836} pcbY={79.27859937999999} anchorAlignment="center" text="C7" font="tscircuit2024" fontSize={0.508} color="#ec4899" pcbRotation="0deg" />
561
+ <fabricationnotetext pcbX={41.014799860000004} pcbY={73.94459937999999} anchorAlignment="center" text="R1" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="0deg" />
562
+ <fabricationnotetext pcbX={41.014799860000004} pcbY={71.65859938} anchorAlignment="center" text="R2" font="tscircuit2024" fontSize={0.508} color="#ec4899" pcbRotation="0deg" />
563
+ <fabricationnotetext pcbX={43.41480014} pcbY={82.21460062} anchorAlignment="center" text="R9" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
564
+ <fabricationnotetext pcbX={43.40279864} pcbY={77.64260062} anchorAlignment="center" text="R10" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
565
+ <fabricationnotetext pcbX={36.22011552} pcbY={49.16634566} anchorAlignment="center" text="D8" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="90deg" />
566
+ <fabricationnotetext pcbX={20.573999999999998} pcbY={99.8982} anchorAlignment="center" text="JP6" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="270deg" />
567
+ <fabricationnotetext pcbX={83.32879956} pcbY={69.42259928} anchorAlignment="center" text="R25" font="tscircuit2024" fontSize={0.5588} color="#ec4899" pcbRotation="0deg" />
568
+ <fabricationnotetext pcbX={77.48679956} pcbY={85.67859928} anchorAlignment="center" text="R26" font="tscircuit2024" fontSize={0.5588} color="#ec4899" pcbRotation="0deg" />
569
+ <fabricationnotetext pcbX={84.09079956} pcbY={79.07459928} anchorAlignment="center" text="R27" font="tscircuit2024" fontSize={0.5588} color="#ec4899" pcbRotation="0deg" />
570
+ <fabricationnotetext pcbX={82.56679955999999} pcbY={94.31459928} anchorAlignment="center" text="R28" font="tscircuit2024" fontSize={0.5588} color="#ec4899" pcbRotation="0deg" />
571
+ <fabricationnotetext pcbX={77.48679956} pcbY={87.45659928} anchorAlignment="center" text="R29" font="tscircuit2024" fontSize={0.5588} color="#ec4899" pcbRotation="0deg" />
572
+ <fabricationnotetext pcbX={84.09079956} pcbY={77.04259928} anchorAlignment="center" text="R24" font="tscircuit2024" fontSize={0.5588} color="#ec4899" pcbRotation="0deg" />
573
+ <fabricationnotetext pcbX={53.3146} pcbY={108.204} anchorAlignment="center" text="R16" font="tscircuit2024" fontSize={0.889} color="#ec4899" pcbRotation="90deg" />
574
+ <fabricationnotetext pcbX={43.41480014} pcbY={68.24460062} anchorAlignment="center" text="C6" font="tscircuit2024" fontSize={0.635} color="#ec4899" pcbRotation="180deg" />
575
+ <fabricationnotetext pcbX={79.29079899999999} pcbY={76.69760124} anchorAlignment="center" text="R19" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="90deg" />
576
+ <fabricationnotetext pcbX={49.0595539} pcbY={108.56516514} anchorAlignment="center" text="JP2" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="270deg" />
577
+ <fabricationnotetext pcbX={36.78979942} pcbY={74.85260112} anchorAlignment="center" text="U11" font="tscircuit2024" fontSize={0.508} color="#ec4899" pcbRotation="180deg" />
578
+ <fabricationnotetext pcbX={38.9636} pcbY={95.88499999999999} anchorAlignment="center" text="JP5" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="90deg" />
579
+ <fabricationnotetext pcbX={59.94031192} pcbY={49.022411479999995} anchorAlignment="center" text="D3" font="tscircuit2024" fontSize={0.762} color="#ec4899" pcbRotation="90deg" />
580
+ <fabricationnotetext pcbX={82.95615362} pcbY={49.022411479999995} anchorAlignment="center" text="D4" font="tscircuit2024" fontSize={0.762} color="#ec4899" pcbRotation="90deg" />
581
+ <fabricationnotetext pcbX={100.3808} pcbY={57.27743687999999} anchorAlignment="center" text="P1" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="90deg" />
582
+ <fabricationnotetext pcbX={100.40027926} pcbY={80.34560004} anchorAlignment="center" text="P2" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="90deg" />
583
+ <fabricationnotetext pcbX={77.14879922} pcbY={107.48360012} anchorAlignment="center" text="P3" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="0deg" />
584
+ <fabricationnotetext pcbX={34.2646} pcbY={88.2396} anchorAlignment="center" text="U7" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="0deg" />
585
+ <fabricationnotetext pcbX={65.83444034} pcbY={86.63979877999999} anchorAlignment="center" text="U1" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="270deg" />
586
+ <fabricationnotetext pcbX={31.595555299999997} pcbY={54.56992388} anchorAlignment="center" text="D7" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="270deg" />
587
+ <fabricationnotetext pcbX={42.230634359999996} pcbY={51.07118818} anchorAlignment="center" text="U5" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="0deg" />
588
+ <fabricationnotetext pcbX={90.41079962} pcbY={62.55759903999999} anchorAlignment="center" text="C1" font="tscircuit2024" fontSize={1.016} color="#ec4899" pcbRotation="180deg" />
589
+ <fabricationnotetext pcbX={91.7448} pcbY={61.315599999999996} anchorAlignment="center" text="+" font="tscircuit2024" fontSize={1.499997} color="#ec4899" pcbRotation="180deg" />
590
590
  <fabricationnotedimension from={{ x: 17.5641, y: 27.139899999999997 }} to={{ x: 42.964099999999995, y: 27.139899999999997 }} text="1000.00 mil" font="tscircuit2024" fontSize={1.524} color="#ec4899" arrowSize={1.524} offset={0} />
591
591
  <fabricationnotedimension from={{ x: 17.5768, y: 38.9636 }} to={{ x: 17.5768, y: 38.96360000000001 }} text="0.00 mil" font="tscircuit2024" fontSize={1.524} color="#ec4899" arrowSize={1.524} offset={2.54} />
592
592
  <silkscreentext pcbX={80.0608} pcbY={87.22359999999999} anchorAlignment="center" fontSize={1.397} font="tscircuit2024" pcbRotation="0deg" mirrored={false} layer="top" text="R29" />
@@ -784,7 +784,8 @@ test(
784
784
  <courtyardoutline outline={[{"x":40.004634239999994,"y":48.8291886},{"x":47.50463447999999,"y":48.8291886},{"x":47.50463447999999,"y":54.329187759999996},{"x":40.004634239999994,"y":54.329187759999996}]} layer="top" />
785
785
  </footprint>} />
786
786
  </board>
787
- )"
787
+ )
788
+ export default Drv8307Evm"
788
789
  `)
789
790
  await expect(result.pcbComparisonSvg).toMatchSvgSnapshot(
790
791
  import.meta.path,