circuit-json-to-tscircuit 0.0.68 → 0.0.70

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.
@@ -573,6 +573,7 @@ var DEFAULT_BOX_BODY_STROKE_WIDTH = 0.02;
573
573
  var DEFAULT_BOX_BODY_STROKE_COLOR = "#840000";
574
574
  var DEFAULT_BOX_BODY_FILL_COLOR = "#ffffc2";
575
575
  var DEFAULT_PIN_TEXT_FONT_SIZE = 0.15;
576
+ var DEFAULT_PIN_TEXT_COLOR = "#a90000";
576
577
  var DEFAULT_PIN_LABEL_DISTANCE_FROM_EDGE = 0.1;
577
578
  var DEFAULT_PIN_NUMBER_BASELINE_OFFSET = 0.02;
578
579
  var convertBoxComponent = ({
@@ -661,6 +662,7 @@ var convertBoxComponent = ({
661
662
  schY: labelPosition.y,
662
663
  anchor,
663
664
  fontSize: DEFAULT_PIN_TEXT_FONT_SIZE,
665
+ color: DEFAULT_PIN_TEXT_COLOR,
664
666
  schRotation: rotation || void 0
665
667
  })
666
668
  );
@@ -672,6 +674,7 @@ var convertBoxComponent = ({
672
674
  schY: pinNumberPosition.y,
673
675
  anchor: "bottom_center",
674
676
  fontSize: DEFAULT_PIN_TEXT_FONT_SIZE,
677
+ color: DEFAULT_PIN_TEXT_COLOR,
675
678
  schRotation: rotation || void 0
676
679
  })
677
680
  );
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-KCSCUJOW.js";
4
+ } from "../chunk-7VW2746G.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.67",
19
+ version: "0.0.69",
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-KCSCUJOW.js";
3
+ } from "../chunk-7VW2746G.js";
4
4
  export {
5
5
  convertCircuitJsonToTscircuit
6
6
  };
@@ -12,6 +12,7 @@ const DEFAULT_BOX_BODY_FILL_COLOR = "#ffffc2"
12
12
  // Circuit JSON does not encode these presentation values. They mirror the
13
13
  // circuit-to-svg defaults so reconstructed box pins keep the compiled view.
14
14
  const DEFAULT_PIN_TEXT_FONT_SIZE = 0.15
15
+ const DEFAULT_PIN_TEXT_COLOR = "#a90000"
15
16
  const DEFAULT_PIN_LABEL_DISTANCE_FROM_EDGE = 0.1
16
17
  const DEFAULT_PIN_NUMBER_BASELINE_OFFSET = 0.02
17
18
 
@@ -106,6 +107,7 @@ export const convertBoxComponent = ({
106
107
  schY: labelPosition.y,
107
108
  anchor,
108
109
  fontSize: DEFAULT_PIN_TEXT_FONT_SIZE,
110
+ color: DEFAULT_PIN_TEXT_COLOR,
109
111
  schRotation: rotation || undefined,
110
112
  }),
111
113
  )
@@ -117,6 +119,7 @@ export const convertBoxComponent = ({
117
119
  schY: pinNumberPosition.y,
118
120
  anchor: "bottom_center",
119
121
  fontSize: DEFAULT_PIN_TEXT_FONT_SIZE,
122
+ color: DEFAULT_PIN_TEXT_COLOR,
120
123
  schRotation: rotation || undefined,
121
124
  }),
122
125
  )
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.68",
9
+ "version": "0.0.70",
10
10
  "repository": {
11
11
  "type": "git",
12
12
  "url": "https://github.com/tscircuit/circuit-json-to-tscircuit.git"
@@ -0,0 +1,54 @@
1
+ import { expect, test } from "bun:test"
2
+ import type { CircuitJson } from "circuit-json"
3
+ import { convertCircuitJsonToTscircuit } from "lib"
4
+ import { runTscircuitCode } from "tscircuit"
5
+
6
+ test("uses the compiled schematic color for box pin text", async () => {
7
+ const circuitJson: CircuitJson = [
8
+ {
9
+ type: "pcb_board",
10
+ pcb_board_id: "board",
11
+ center: { x: 0, y: 0 },
12
+ width: 10,
13
+ height: 10,
14
+ num_layers: 2,
15
+ thickness: 1.6,
16
+ material: "fr4",
17
+ },
18
+ {
19
+ type: "schematic_component",
20
+ schematic_component_id: "controller",
21
+ center: { x: 0, y: 0 },
22
+ size: { width: 2, height: 1 },
23
+ is_box_with_pins: true,
24
+ },
25
+ {
26
+ type: "source_port",
27
+ source_port_id: "feedback_source",
28
+ name: "FB",
29
+ pin_number: 1,
30
+ },
31
+ {
32
+ type: "schematic_port",
33
+ schematic_port_id: "feedback",
34
+ source_port_id: "feedback_source",
35
+ schematic_component_id: "controller",
36
+ center: { x: -1.4, y: 0 },
37
+ distance_from_component_edge: 0.4,
38
+ side_of_component: "left",
39
+ facing_direction: "left",
40
+ pin_number: 1,
41
+ },
42
+ ]
43
+ const renderedCircuitJson = await runTscircuitCode(
44
+ convertCircuitJsonToTscircuit(circuitJson, {
45
+ componentName: "ImportedController",
46
+ }),
47
+ )
48
+ const pinTexts = renderedCircuitJson
49
+ .filter((element) => element.type === "schematic_text")
50
+ .filter((element) => element.text === "FB" || element.text === "1")
51
+
52
+ expect(pinTexts).toHaveLength(2)
53
+ expect(pinTexts.every((text) => text.color === "#a90000")).toBe(true)
54
+ })
@@ -87,7 +87,7 @@ export async function createTiEvmRoundtrip({
87
87
  }
88
88
  }
89
89
 
90
- function createComparisonSvg({
90
+ export function createComparisonSvg({
91
91
  fixtureName,
92
92
  kind,
93
93
  renderedSvg,
@@ -100,8 +100,8 @@ function createComparisonSvg({
100
100
  }): string {
101
101
  return stackSvgsHorizontally([sourceSvg, renderedSvg], {
102
102
  gap: 24,
103
- normalizeSize: kind !== "PCB",
104
- targetSize: 800,
103
+ // Schematic SVGs have no viewBox; normalizing only their canvas clips them.
104
+ normalizeSize: false,
105
105
  rootAttributes: {
106
106
  "aria-label": `${fixtureName} ${kind}: source Circuit JSON on left, generated tscircuit render on right`,
107
107
  role: "img",