@tscircuit/schematic-viewer 1.4.0 → 1.4.1

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.
Files changed (30) hide show
  1. package/biome.json +45 -0
  2. package/dist/index.js +55 -16
  3. package/dist/index.js.map +1 -1
  4. package/package.json +6 -4
  5. package/src/Schematic.tsx +3 -1
  6. package/src/lib/render-context/index.ts +1 -1
  7. package/src/lib/types/source-component.ts +1 -1
  8. package/src/lib/utils/collect-element-refs.ts +4 -4
  9. package/src/lib/utils/colors.ts +215 -216
  10. package/src/lib/utils/direction-to-vec.ts +3 -3
  11. package/src/schematic-components/SVGPathComponent.tsx +67 -48
  12. package/src/schematic-components/SchematicChip.tsx +124 -85
  13. package/src/schematic-components/SchematicComponent.tsx +17 -8
  14. package/src/schematic-components/SchematicComponentFromSymbol.tsx +3 -1
  15. package/src/schematic-components/SchematicNetLabel.tsx +3 -0
  16. package/src/schematic-components/SchematicText.tsx +4 -6
  17. package/src/schematic-components/SchematicTrace.tsx +1 -1
  18. package/src/schematic-components/TableViewer.tsx +1 -1
  19. package/src/schematic-components/index.tsx +0 -1
  20. package/src/stories/basics/schematic-net-label.stories.tsx +2 -0
  21. package/src/stories/bug-connections.stories.tsx +18 -16
  22. package/src/stories/bug-high-port-numbers.stories.tsx +16 -8
  23. package/src/stories/bug-one-sided.stories.tsx +17 -15
  24. package/src/stories/bug-pin-spacing.stories.tsx +19 -17
  25. package/src/stories/bugs/bug1-y-flip.stories.tsx +7 -5
  26. package/src/stories/bugs/bug5-diode.stories.tsx +3 -1
  27. package/src/stories/bugs/bug6-trace-scaling.stories.tsx +5 -41
  28. package/src/stories/led-circuit-react.stories.tsx +3 -8
  29. package/src/stories/rotated-resistor.stories.tsx +10 -8
  30. package/src/stories/three-sided-bug.stories.tsx +17 -15
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/schematic-viewer",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -9,6 +9,7 @@
9
9
  },
10
10
  "scripts": {
11
11
  "start": "storybook dev -p 6006",
12
+ "format": "biome format . --write",
12
13
  "typecheck": "tsc --noEmit",
13
14
  "build": "tsup",
14
15
  "yalc": "npm run build && yalc push",
@@ -22,6 +23,7 @@
22
23
  },
23
24
  "devDependencies": {
24
25
  "@babel/core": "^7.18.9",
26
+ "@biomejs/biome": "^1.8.3",
25
27
  "@emotion/react": "^11",
26
28
  "@emotion/styled": "^11",
27
29
  "@semantic-release/changelog": "^6.0.3",
@@ -40,7 +42,7 @@
40
42
  "@vitejs/plugin-react": "^4.3.0",
41
43
  "ava": "^4.3.1",
42
44
  "chromatic": "^11.5.5",
43
- "circuit-json": "^0.0.82",
45
+ "circuit-json": "^0.0.92",
44
46
  "esbuild": "^0.20.2",
45
47
  "esbuild-register": "^3.5.0",
46
48
  "next": "^14.2.3",
@@ -63,11 +65,11 @@
63
65
  },
64
66
  "dependencies": {
65
67
  "@storybook/react-vite": "^8.1.3",
66
- "@tscircuit/core": "^0.0.125",
68
+ "@tscircuit/core": "^0.0.132",
67
69
  "@tscircuit/layout": "^0.0.25",
68
70
  "@tscircuit/props": "^0.0.23",
69
71
  "@tscircuit/soup-util": "^0.0.38",
70
- "circuit-to-svg": "^0.0.40",
72
+ "circuit-to-svg": "^0.0.54",
71
73
  "convert-units": "^2.3.4",
72
74
  "react-error-boundary": "^4.0.4",
73
75
  "react-supergrid": "^1.0.10",
package/src/Schematic.tsx CHANGED
@@ -237,7 +237,9 @@ export const SchematicWithoutContext = ({
237
237
  </ErrorBoundary>
238
238
  ))}
239
239
  </div>
240
- {showTable !== false && elements && <TableViewer elements={elements as any} />}
240
+ {showTable !== false && elements && (
241
+ <TableViewer elements={elements as any} />
242
+ )}
241
243
  </>
242
244
  )
243
245
  }
@@ -20,7 +20,7 @@ export const createRenderContextStore = () =>
20
20
  }))
21
21
 
22
22
  export const useGlobalStore = <T = RenderContextState>(
23
- s?: (state: RenderContextState) => T
23
+ s?: (state: RenderContextState) => T,
24
24
  ): T => {
25
25
  const store = useContext(StoreContext)
26
26
 
@@ -69,5 +69,5 @@ export type SourceComponentFType = Extract<
69
69
  { ftype: string }
70
70
  >["ftype"]
71
71
  export type SourceComponent<
72
- T extends SourceComponentFType = SourceComponentFType
72
+ T extends SourceComponentFType = SourceComponentFType,
73
73
  > = Extract<AnySourceComponent, { ftype: T }>
@@ -2,19 +2,19 @@ import { AnyCircuitElement, SourcePort } from "circuit-json"
2
2
 
3
3
  export const collectElementRefs = (
4
4
  elm: AnyCircuitElement,
5
- allElms: AnyCircuitElement[]
5
+ allElms: AnyCircuitElement[],
6
6
  ) => {
7
7
  const source_port = allElms.find(
8
8
  (e) =>
9
9
  e.type === "source_port" &&
10
- e.source_port_id === (elm as any).source_port_id
10
+ e.source_port_id === (elm as any).source_port_id,
11
11
  ) as SourcePort | null
12
12
  const source_component_id: string =
13
13
  (elm as any).source_component_id ?? source_port?.source_component_id
14
14
  const source_component = allElms.find(
15
15
  (e) =>
16
16
  e.type === "source_component" &&
17
- e.source_component_id === source_component_id
17
+ e.source_component_id === source_component_id,
18
18
  )
19
19
  if (
20
20
  [
@@ -29,7 +29,7 @@ export const collectElementRefs = (
29
29
  const schematic_children = allElms.filter(
30
30
  (e) =>
31
31
  "schematic_component_id" in e &&
32
- e.schematic_component_id === (elm as any).schematic_component_id
32
+ e.schematic_component_id === (elm as any).schematic_component_id,
33
33
  )
34
34
 
35
35
  return {
@@ -1,182 +1,144 @@
1
1
  // Kicad-2020 color scheme
2
2
  export const colorMap = {
3
- "3d_viewer": {
4
- background_bottom: "rgb(102, 102, 128)",
5
- background_top: "rgb(204, 204, 230)",
6
- board: "rgb(51, 43, 23)",
7
- copper: "rgb(179, 156, 0)",
8
- silkscreen_bottom: "rgb(230, 230, 230)",
9
- silkscreen_top: "rgb(230, 230, 230)",
10
- soldermask: "rgb(20, 51, 36)",
11
- solderpaste: "rgb(128, 128, 128)",
3
+ "3d_viewer": {
4
+ background_bottom: "rgb(102, 102, 128)",
5
+ background_top: "rgb(204, 204, 230)",
6
+ board: "rgb(51, 43, 23)",
7
+ copper: "rgb(179, 156, 0)",
8
+ silkscreen_bottom: "rgb(230, 230, 230)",
9
+ silkscreen_top: "rgb(230, 230, 230)",
10
+ soldermask: "rgb(20, 51, 36)",
11
+ solderpaste: "rgb(128, 128, 128)",
12
+ },
13
+ board: {
14
+ anchor: "rgb(255, 38, 226)",
15
+ aux_items: "rgb(255, 255, 255)",
16
+ b_adhes: "rgb(0, 0, 132)",
17
+ b_crtyd: "rgb(255, 38, 226)",
18
+ b_fab: "rgb(88, 93, 132)",
19
+ b_mask: "rgba(2, 255, 238, 0.400)",
20
+ b_paste: "rgb(0, 194, 194)",
21
+ b_silks: "rgb(232, 178, 167)",
22
+ background: "rgb(0, 16, 35)",
23
+ cmts_user: "rgb(89, 148, 220)",
24
+ copper: {
25
+ b: "rgb(77, 127, 196)",
26
+ f: "rgb(200, 52, 52)",
27
+ in1: "rgb(127, 200, 127)",
28
+ in10: "rgb(237, 124, 51)",
29
+ in11: "rgb(91, 195, 235)",
30
+ in12: "rgb(247, 111, 142)",
31
+ in13: "rgb(167, 165, 198)",
32
+ in14: "rgb(40, 204, 217)",
33
+ in15: "rgb(232, 178, 167)",
34
+ in16: "rgb(242, 237, 161)",
35
+ in17: "rgb(237, 124, 51)",
36
+ in18: "rgb(91, 195, 235)",
37
+ in19: "rgb(247, 111, 142)",
38
+ in2: "rgb(206, 125, 44)",
39
+ in20: "rgb(167, 165, 198)",
40
+ in21: "rgb(40, 204, 217)",
41
+ in22: "rgb(232, 178, 167)",
42
+ in23: "rgb(242, 237, 161)",
43
+ in24: "rgb(237, 124, 51)",
44
+ in25: "rgb(91, 195, 235)",
45
+ in26: "rgb(247, 111, 142)",
46
+ in27: "rgb(167, 165, 198)",
47
+ in28: "rgb(40, 204, 217)",
48
+ in29: "rgb(232, 178, 167)",
49
+ in3: "rgb(79, 203, 203)",
50
+ in30: "rgb(242, 237, 161)",
51
+ in4: "rgb(219, 98, 139)",
52
+ in5: "rgb(167, 165, 198)",
53
+ in6: "rgb(40, 204, 217)",
54
+ in7: "rgb(232, 178, 167)",
55
+ in8: "rgb(242, 237, 161)",
56
+ in9: "rgb(141, 203, 129)",
12
57
  },
13
- board: {
14
- anchor: "rgb(255, 38, 226)",
15
- aux_items: "rgb(255, 255, 255)",
16
- b_adhes: "rgb(0, 0, 132)",
17
- b_crtyd: "rgb(255, 38, 226)",
18
- b_fab: "rgb(88, 93, 132)",
19
- b_mask: "rgba(2, 255, 238, 0.400)",
20
- b_paste: "rgb(0, 194, 194)",
21
- b_silks: "rgb(232, 178, 167)",
22
- background: "rgb(0, 16, 35)",
23
- cmts_user: "rgb(89, 148, 220)",
24
- copper: {
25
- b: "rgb(77, 127, 196)",
26
- f: "rgb(200, 52, 52)",
27
- in1: "rgb(127, 200, 127)",
28
- in10: "rgb(237, 124, 51)",
29
- in11: "rgb(91, 195, 235)",
30
- in12: "rgb(247, 111, 142)",
31
- in13: "rgb(167, 165, 198)",
32
- in14: "rgb(40, 204, 217)",
33
- in15: "rgb(232, 178, 167)",
34
- in16: "rgb(242, 237, 161)",
35
- in17: "rgb(237, 124, 51)",
36
- in18: "rgb(91, 195, 235)",
37
- in19: "rgb(247, 111, 142)",
38
- in2: "rgb(206, 125, 44)",
39
- in20: "rgb(167, 165, 198)",
40
- in21: "rgb(40, 204, 217)",
41
- in22: "rgb(232, 178, 167)",
42
- in23: "rgb(242, 237, 161)",
43
- in24: "rgb(237, 124, 51)",
44
- in25: "rgb(91, 195, 235)",
45
- in26: "rgb(247, 111, 142)",
46
- in27: "rgb(167, 165, 198)",
47
- in28: "rgb(40, 204, 217)",
48
- in29: "rgb(232, 178, 167)",
49
- in3: "rgb(79, 203, 203)",
50
- in30: "rgb(242, 237, 161)",
51
- in4: "rgb(219, 98, 139)",
52
- in5: "rgb(167, 165, 198)",
53
- in6: "rgb(40, 204, 217)",
54
- in7: "rgb(232, 178, 167)",
55
- in8: "rgb(242, 237, 161)",
56
- in9: "rgb(141, 203, 129)",
57
- },
58
- cursor: "rgb(255, 255, 255)",
59
- drc: "rgb(194, 194, 194)",
60
- drc_error: "rgba(215, 91, 107, 0.800)",
61
- drc_exclusion: "rgb(255, 255, 255)",
62
- drc_warning: "rgba(255, 208, 66, 0.902)",
63
- dwgs_user: "rgb(194, 194, 194)",
64
- eco1_user: "rgb(180, 219, 210)",
65
- eco2_user: "rgb(216, 200, 82)",
66
- edge_cuts: "rgb(208, 210, 205)",
67
- f_adhes: "rgb(132, 0, 132)",
68
- f_crtyd: "rgb(255, 0, 245)",
69
- f_fab: "rgb(175, 175, 175)",
70
- f_mask: "rgba(216, 100, 255, 0.400)",
71
- f_paste: "rgba(180, 160, 154, 0.902)",
72
- f_silks: "rgb(242, 237, 161)",
73
- footprint_text_back: "rgb(0, 0, 132)",
74
- footprint_text_front: "rgb(194, 194, 194)",
75
- footprint_text_invisible: "rgb(132, 132, 132)",
76
- grid: "rgb(132, 132, 132)",
77
- grid_axes: "rgb(194, 194, 194)",
78
- margin: "rgb(255, 38, 226)",
79
- microvia: "rgb(0, 132, 132)",
80
- no_connect: "rgb(0, 0, 132)",
81
- pad_back: "rgb(77, 127, 196)",
82
- pad_front: "rgb(200, 52, 52)",
83
- pad_plated_hole: "rgb(194, 194, 0)",
84
- pad_through_hole: "rgb(227, 183, 46)",
85
- plated_hole: "rgb(26, 196, 210)",
86
- ratsnest: "rgba(245, 255, 213, 0.702)",
87
- select_overlay: "rgb(4, 255, 67)",
88
- through_via: "rgb(236, 236, 236)",
89
- user_1: "rgb(194, 194, 194)",
90
- user_2: "rgb(89, 148, 220)",
91
- user_3: "rgb(180, 219, 210)",
92
- user_4: "rgb(216, 200, 82)",
93
- user_5: "rgb(194, 194, 194)",
94
- user_6: "rgb(89, 148, 220)",
95
- user_7: "rgb(180, 219, 210)",
96
- user_8: "rgb(216, 200, 82)",
97
- user_9: "rgb(232, 178, 167)",
98
- via_blind_buried: "rgb(187, 151, 38)",
99
- via_hole: "rgb(227, 183, 46)",
100
- via_micro: "rgb(0, 132, 132)",
101
- via_through: "rgb(236, 236, 236)",
102
- worksheet: "rgb(200, 114, 171)",
103
- },
104
- gerbview: {
105
- axes: "rgb(0, 0, 132)",
106
- background: "rgb(0, 0, 0)",
107
- dcodes: "rgb(255, 255, 255)",
108
- grid: "rgb(132, 132, 132)",
109
- layers: [
110
- "rgb(132, 0, 0)",
111
- "rgb(194, 194, 0)",
112
- "rgb(194, 0, 194)",
113
- "rgb(194, 0, 0)",
114
- "rgb(0, 132, 132)",
115
- "rgb(0, 132, 0)",
116
- "rgb(0, 0, 132)",
117
- "rgb(132, 132, 132)",
118
- "rgb(132, 0, 132)",
119
- "rgb(194, 194, 194)",
120
- "rgb(132, 0, 132)",
121
- "rgb(132, 0, 0)",
122
- "rgb(132, 132, 0)",
123
- "rgb(194, 194, 194)",
124
- "rgb(0, 0, 132)",
125
- "rgb(0, 132, 0)",
126
- "rgb(132, 0, 0)",
127
- "rgb(194, 194, 0)",
128
- "rgb(194, 0, 194)",
129
- "rgb(194, 0, 0)",
130
- "rgb(0, 132, 132)",
131
- "rgb(0, 132, 0)",
132
- "rgb(0, 0, 132)",
133
- "rgb(132, 132, 132)",
134
- "rgb(132, 0, 132)",
135
- "rgb(194, 194, 194)",
136
- "rgb(132, 0, 132)",
137
- "rgb(132, 0, 0)",
138
- "rgb(132, 132, 0)",
139
- "rgb(194, 194, 194)",
140
- "rgb(0, 0, 132)",
141
- "rgb(0, 132, 0)",
142
- "rgb(132, 0, 0)",
143
- "rgb(194, 194, 0)",
144
- "rgb(194, 0, 194)",
145
- "rgb(194, 0, 0)",
146
- "rgb(0, 132, 132)",
147
- "rgb(0, 132, 0)",
148
- "rgb(0, 0, 132)",
149
- "rgb(132, 132, 132)",
150
- "rgb(132, 0, 132)",
151
- "rgb(194, 194, 194)",
152
- "rgb(132, 0, 132)",
153
- "rgb(132, 0, 0)",
154
- "rgb(132, 132, 0)",
155
- "rgb(194, 194, 194)",
156
- "rgb(0, 0, 132)",
157
- "rgb(0, 132, 0)",
158
- "rgb(132, 0, 0)",
159
- "rgb(194, 194, 0)",
160
- "rgb(194, 0, 194)",
161
- "rgb(194, 0, 0)",
162
- "rgb(0, 132, 132)",
163
- "rgb(0, 132, 0)",
164
- "rgb(0, 0, 132)",
165
- "rgb(132, 132, 132)",
166
- "rgb(132, 0, 132)",
167
- "rgb(194, 194, 194)",
168
- "rgb(132, 0, 132)",
169
- "rgb(132, 0, 0)",
170
- ],
171
- negative_objects: "rgb(132, 132, 132)",
172
- worksheet: "rgb(0, 0, 132)",
173
- },
174
- meta: {
175
- filename: "kicad_2020",
176
- name: "KiCad 2020",
177
- version: 2,
178
- },
179
- palette: [
58
+ cursor: "rgb(255, 255, 255)",
59
+ drc: "rgb(194, 194, 194)",
60
+ drc_error: "rgba(215, 91, 107, 0.800)",
61
+ drc_exclusion: "rgb(255, 255, 255)",
62
+ drc_warning: "rgba(255, 208, 66, 0.902)",
63
+ dwgs_user: "rgb(194, 194, 194)",
64
+ eco1_user: "rgb(180, 219, 210)",
65
+ eco2_user: "rgb(216, 200, 82)",
66
+ edge_cuts: "rgb(208, 210, 205)",
67
+ f_adhes: "rgb(132, 0, 132)",
68
+ f_crtyd: "rgb(255, 0, 245)",
69
+ f_fab: "rgb(175, 175, 175)",
70
+ f_mask: "rgba(216, 100, 255, 0.400)",
71
+ f_paste: "rgba(180, 160, 154, 0.902)",
72
+ f_silks: "rgb(242, 237, 161)",
73
+ footprint_text_back: "rgb(0, 0, 132)",
74
+ footprint_text_front: "rgb(194, 194, 194)",
75
+ footprint_text_invisible: "rgb(132, 132, 132)",
76
+ grid: "rgb(132, 132, 132)",
77
+ grid_axes: "rgb(194, 194, 194)",
78
+ margin: "rgb(255, 38, 226)",
79
+ microvia: "rgb(0, 132, 132)",
80
+ no_connect: "rgb(0, 0, 132)",
81
+ pad_back: "rgb(77, 127, 196)",
82
+ pad_front: "rgb(200, 52, 52)",
83
+ pad_plated_hole: "rgb(194, 194, 0)",
84
+ pad_through_hole: "rgb(227, 183, 46)",
85
+ plated_hole: "rgb(26, 196, 210)",
86
+ ratsnest: "rgba(245, 255, 213, 0.702)",
87
+ select_overlay: "rgb(4, 255, 67)",
88
+ through_via: "rgb(236, 236, 236)",
89
+ user_1: "rgb(194, 194, 194)",
90
+ user_2: "rgb(89, 148, 220)",
91
+ user_3: "rgb(180, 219, 210)",
92
+ user_4: "rgb(216, 200, 82)",
93
+ user_5: "rgb(194, 194, 194)",
94
+ user_6: "rgb(89, 148, 220)",
95
+ user_7: "rgb(180, 219, 210)",
96
+ user_8: "rgb(216, 200, 82)",
97
+ user_9: "rgb(232, 178, 167)",
98
+ via_blind_buried: "rgb(187, 151, 38)",
99
+ via_hole: "rgb(227, 183, 46)",
100
+ via_micro: "rgb(0, 132, 132)",
101
+ via_through: "rgb(236, 236, 236)",
102
+ worksheet: "rgb(200, 114, 171)",
103
+ },
104
+ gerbview: {
105
+ axes: "rgb(0, 0, 132)",
106
+ background: "rgb(0, 0, 0)",
107
+ dcodes: "rgb(255, 255, 255)",
108
+ grid: "rgb(132, 132, 132)",
109
+ layers: [
110
+ "rgb(132, 0, 0)",
111
+ "rgb(194, 194, 0)",
112
+ "rgb(194, 0, 194)",
113
+ "rgb(194, 0, 0)",
114
+ "rgb(0, 132, 132)",
115
+ "rgb(0, 132, 0)",
116
+ "rgb(0, 0, 132)",
117
+ "rgb(132, 132, 132)",
118
+ "rgb(132, 0, 132)",
119
+ "rgb(194, 194, 194)",
120
+ "rgb(132, 0, 132)",
121
+ "rgb(132, 0, 0)",
122
+ "rgb(132, 132, 0)",
123
+ "rgb(194, 194, 194)",
124
+ "rgb(0, 0, 132)",
125
+ "rgb(0, 132, 0)",
126
+ "rgb(132, 0, 0)",
127
+ "rgb(194, 194, 0)",
128
+ "rgb(194, 0, 194)",
129
+ "rgb(194, 0, 0)",
130
+ "rgb(0, 132, 132)",
131
+ "rgb(0, 132, 0)",
132
+ "rgb(0, 0, 132)",
133
+ "rgb(132, 132, 132)",
134
+ "rgb(132, 0, 132)",
135
+ "rgb(194, 194, 194)",
136
+ "rgb(132, 0, 132)",
137
+ "rgb(132, 0, 0)",
138
+ "rgb(132, 132, 0)",
139
+ "rgb(194, 194, 194)",
140
+ "rgb(0, 0, 132)",
141
+ "rgb(0, 132, 0)",
180
142
  "rgb(132, 0, 0)",
181
143
  "rgb(194, 194, 0)",
182
144
  "rgb(194, 0, 194)",
@@ -193,44 +155,81 @@ export const colorMap = {
193
155
  "rgb(194, 194, 194)",
194
156
  "rgb(0, 0, 132)",
195
157
  "rgb(0, 132, 0)",
158
+ "rgb(132, 0, 0)",
159
+ "rgb(194, 194, 0)",
160
+ "rgb(194, 0, 194)",
161
+ "rgb(194, 0, 0)",
162
+ "rgb(0, 132, 132)",
163
+ "rgb(0, 132, 0)",
164
+ "rgb(0, 0, 132)",
165
+ "rgb(132, 132, 132)",
166
+ "rgb(132, 0, 132)",
167
+ "rgb(194, 194, 194)",
168
+ "rgb(132, 0, 132)",
169
+ "rgb(132, 0, 0)",
196
170
  ],
197
- schematic: {
198
- aux_items: "rgb(46, 46, 46)",
199
- background: "rgb(245, 241, 237)",
200
- brightened: "rgb(255, 0, 255)",
201
- bus: "rgb(0, 0, 132)",
202
- bus_junction: "rgb(0, 0, 132)",
203
- component_body: "rgb(255, 255, 194)",
204
- component_outline: "rgb(132, 0, 0)",
205
- cursor: "rgb(15, 15, 15)",
206
- erc_error: "rgba(230, 9, 13, 0.800)",
207
- erc_warning: "rgba(209, 146, 0, 0.800)",
208
- fields: "rgb(132, 0, 132)",
209
- grid: "rgb(181, 181, 181)",
210
- grid_axes: "rgb(0, 0, 132)",
211
- hidden: "rgb(194, 194, 194)",
212
- junction: "rgb(0, 150, 0)",
213
- label_global: "rgb(132, 0, 0)",
214
- label_hier: "rgb(114, 86, 0)",
215
- label_local: "rgb(15, 15, 15)",
216
- net_name: "rgb(132, 132, 132)",
217
- no_connect: "rgb(0, 0, 132)",
218
- note: "rgb(0, 0, 194)",
219
- override_item_colors: false,
220
- pin: "rgb(132, 0, 0)",
221
- pin_name: "rgb(0, 100, 100)",
222
- pin_number: "rgb(169, 0, 0)",
223
- reference: "rgb(0, 100, 100)",
224
- shadow: "rgba(102, 179, 255, 0.800)",
225
- sheet: "rgb(132, 0, 0)",
226
- sheet_background: "rgba(253, 255, 231, 0.000)",
227
- sheet_fields: "rgb(132, 0, 132)",
228
- sheet_filename: "rgb(114, 86, 0)",
229
- sheet_label: "rgb(0, 100, 100)",
230
- sheet_name: "rgb(0, 100, 100)",
231
- value: "rgb(0, 100, 100)",
232
- wire: "rgb(0, 150, 0)",
233
- worksheet: "rgb(132, 0, 0)",
234
- },
235
- }
236
-
171
+ negative_objects: "rgb(132, 132, 132)",
172
+ worksheet: "rgb(0, 0, 132)",
173
+ },
174
+ meta: {
175
+ filename: "kicad_2020",
176
+ name: "KiCad 2020",
177
+ version: 2,
178
+ },
179
+ palette: [
180
+ "rgb(132, 0, 0)",
181
+ "rgb(194, 194, 0)",
182
+ "rgb(194, 0, 194)",
183
+ "rgb(194, 0, 0)",
184
+ "rgb(0, 132, 132)",
185
+ "rgb(0, 132, 0)",
186
+ "rgb(0, 0, 132)",
187
+ "rgb(132, 132, 132)",
188
+ "rgb(132, 0, 132)",
189
+ "rgb(194, 194, 194)",
190
+ "rgb(132, 0, 132)",
191
+ "rgb(132, 0, 0)",
192
+ "rgb(132, 132, 0)",
193
+ "rgb(194, 194, 194)",
194
+ "rgb(0, 0, 132)",
195
+ "rgb(0, 132, 0)",
196
+ ],
197
+ schematic: {
198
+ aux_items: "rgb(46, 46, 46)",
199
+ background: "rgb(245, 241, 237)",
200
+ brightened: "rgb(255, 0, 255)",
201
+ bus: "rgb(0, 0, 132)",
202
+ bus_junction: "rgb(0, 0, 132)",
203
+ component_body: "rgb(255, 255, 194)",
204
+ component_outline: "rgb(132, 0, 0)",
205
+ cursor: "rgb(15, 15, 15)",
206
+ erc_error: "rgba(230, 9, 13, 0.800)",
207
+ erc_warning: "rgba(209, 146, 0, 0.800)",
208
+ fields: "rgb(132, 0, 132)",
209
+ grid: "rgb(181, 181, 181)",
210
+ grid_axes: "rgb(0, 0, 132)",
211
+ hidden: "rgb(194, 194, 194)",
212
+ junction: "rgb(0, 150, 0)",
213
+ label_global: "rgb(132, 0, 0)",
214
+ label_hier: "rgb(114, 86, 0)",
215
+ label_local: "rgb(15, 15, 15)",
216
+ net_name: "rgb(132, 132, 132)",
217
+ no_connect: "rgb(0, 0, 132)",
218
+ note: "rgb(0, 0, 194)",
219
+ override_item_colors: false,
220
+ pin: "rgb(132, 0, 0)",
221
+ pin_name: "rgb(0, 100, 100)",
222
+ pin_number: "rgb(169, 0, 0)",
223
+ reference: "rgb(0, 100, 100)",
224
+ shadow: "rgba(102, 179, 255, 0.800)",
225
+ sheet: "rgb(132, 0, 0)",
226
+ sheet_background: "rgba(253, 255, 231, 0.000)",
227
+ sheet_fields: "rgb(132, 0, 132)",
228
+ sheet_filename: "rgb(114, 86, 0)",
229
+ sheet_label: "rgb(0, 100, 100)",
230
+ sheet_name: "rgb(0, 100, 100)",
231
+ value: "rgb(0, 100, 100)",
232
+ wire: "rgb(0, 150, 0)",
233
+ worksheet: "rgb(132, 0, 0)",
234
+ },
235
+ }
@@ -17,7 +17,7 @@ export const vecToDirection = ({ x, y }: { x: number; y: number }) => {
17
17
  }
18
18
 
19
19
  export const rotateClockwise = (
20
- direction: "up" | "down" | "left" | "right"
20
+ direction: "up" | "down" | "left" | "right",
21
21
  ) => {
22
22
  if (direction === "up") return "right"
23
23
  else if (direction === "right") return "down"
@@ -26,7 +26,7 @@ export const rotateClockwise = (
26
26
  }
27
27
 
28
28
  export const rotateCounterClockwise = (
29
- direction: "up" | "down" | "left" | "right"
29
+ direction: "up" | "down" | "left" | "right",
30
30
  ) => {
31
31
  if (direction === "up") return "left"
32
32
  else if (direction === "left") return "down"
@@ -36,7 +36,7 @@ export const rotateCounterClockwise = (
36
36
 
37
37
  export const rotateDirection = (
38
38
  direction: "up" | "down" | "left" | "right",
39
- num90DegreeClockwiseTurns: number
39
+ num90DegreeClockwiseTurns: number,
40
40
  ) => {
41
41
  while (num90DegreeClockwiseTurns > 0) {
42
42
  direction = rotateClockwise(direction)