@modular-circuit/transpiler 0.1.9 → 0.1.12

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.js CHANGED
@@ -74,88 +74,29 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
74
74
  // src/index.ts
75
75
  var index_exports = {};
76
76
  __export(index_exports, {
77
- AllegroNetlistFileExtension: () => AllegroNetlistFileExtension,
78
- AltiumFootprintLibPathExtension: () => AltiumFootprintLibPathExtension,
79
- ArchiveFileExtension: () => ArchiveFileExtension,
80
77
  BLOCK_PIN_GAP: () => BLOCK_PIN_GAP,
81
78
  BLOCK_PIN_TB_MARGIN: () => BLOCK_PIN_TB_MARGIN,
82
- CadstarFootprintLibPathExtension: () => CadstarFootprintLibPathExtension,
83
- CadstarNetlistFileExtension: () => CadstarNetlistFileExtension,
84
- CadstarPartsLibraryFileExtension: () => CadstarPartsLibraryFileExtension,
85
- CadstarPcbFileExtension: () => CadstarPcbFileExtension,
86
- CadstarSchematicFileExtension: () => CadstarSchematicFileExtension,
87
- CsvFileExtension: () => CsvFileExtension,
88
79
  DEFAULT_PAPER_SIZE: () => DEFAULT_PAPER_SIZE,
89
- DatabaseLibraryFileExtension: () => DatabaseLibraryFileExtension,
90
- DesignRulesFileExtension: () => DesignRulesFileExtension,
91
- DrawingSheetFileExtension: () => DrawingSheetFileExtension,
92
- DrillFileExtension: () => DrillFileExtension,
93
- EagleFootprintLibPathExtension: () => EagleFootprintLibPathExtension,
94
- EaglePcbFileExtension: () => EaglePcbFileExtension,
95
- EquFileExtension: () => EquFileExtension,
96
80
  FONT_SIZE: () => FONT_SIZE,
97
- FootprintAssignmentFileExtension: () => FootprintAssignmentFileExtension,
98
- FootprintPlaceFileExtension: () => FootprintPlaceFileExtension,
99
81
  GENERATOR_NAME: () => GENERATOR_NAME,
100
82
  GENERATOR_VERSION: () => GENERATOR_VERSION,
101
83
  GRID_SIZE: () => GRID_SIZE,
102
- GedaPcbFootprintLibFileExtension: () => GedaPcbFootprintLibFileExtension,
103
- GerberFileExtension: () => GerberFileExtension,
104
- GerberFileExtensionsRegex: () => GerberFileExtensionsRegex,
105
- GerberJobFileExtension: () => GerberJobFileExtension,
106
- GltfBinaryFileExtension: () => GltfBinaryFileExtension,
107
84
  GraphConverter: () => GraphConverter,
108
- HTTPLibraryFileExtension: () => HTTPLibraryFileExtension,
109
- HotkeyFileExtension: () => HotkeyFileExtension,
110
- HtmlFileExtension: () => HtmlFileExtension,
111
- Ipc2581FileExtension: () => Ipc2581FileExtension,
112
- IpcD356FileExtension: () => IpcD356FileExtension,
113
- JpegFileExtension: () => JpegFileExtension,
114
- JsonFileExtension: () => JsonFileExtension,
115
85
  KICAD_SCH_FRAME: () => KICAD_SCH_FRAME,
116
- KiCadFootprintFileExtension: () => KiCadFootprintFileExtension,
117
- KiCadFootprintLibPathExtension: () => KiCadFootprintLibPathExtension,
118
- KiCadPcbFileExtension: () => KiCadPcbFileExtension,
119
86
  KiCadProjectArchive: () => KiCadProjectArchive,
120
- KiCadSchematicFileExtension: () => KiCadSchematicFileExtension,
121
- KiCadSymbolLibFileExtension: () => KiCadSymbolLibFileExtension,
122
87
  Layout: () => Layout,
123
- LegacyFootprintLibPathExtension: () => LegacyFootprintLibPathExtension,
124
- LegacyPcbFileExtension: () => LegacyPcbFileExtension,
125
- LegacyProjectFileExtension: () => LegacyProjectFileExtension,
126
- LegacySchematicFileExtension: () => LegacySchematicFileExtension,
127
- LegacySymbolDocumentFileExtension: () => LegacySymbolDocumentFileExtension,
128
- LegacySymbolLibFileExtension: () => LegacySymbolLibFileExtension,
129
- MacrosFileExtension: () => MacrosFileExtension,
130
- MarkdownFileExtension: () => MarkdownFileExtension,
131
88
  NetListConverter: () => NetListConverter,
132
- NetlistFileExtension: () => NetlistFileExtension,
133
- OrCadPcb2NetlistFileExtension: () => OrCadPcb2NetlistFileExtension,
134
89
  PAPER: () => PAPER,
135
90
  PAPER_SIZE: () => PAPER_SIZE,
136
- PdfFileExtension: () => PdfFileExtension,
137
- PngFileExtension: () => PngFileExtension,
138
- ProjectFileExtension: () => ProjectFileExtension,
139
- ProjectLocalSettingsFileExtension: () => ProjectLocalSettingsFileExtension,
140
- ReportFileExtension: () => ReportFileExtension,
141
91
  SCHEMATIC_PRINTER: () => SCHEMATIC_PRINTER,
142
92
  SCH_VERSION: () => SCH_VERSION,
143
- SVGFileExtension: () => SVGFileExtension,
144
- SchematicSymbolFileExtension: () => SchematicSymbolFileExtension,
145
- SpecctraDsnFileExtension: () => SpecctraDsnFileExtension,
146
- SpecctraSessionFileExtension: () => SpecctraSessionFileExtension,
147
- SpiceFileExtension: () => SpiceFileExtension,
148
- StepFileAbrvExtension: () => StepFileAbrvExtension,
149
- StepFileExtension: () => StepFileExtension,
150
93
  StringFormatter: () => StringFormatter,
151
- TextFileExtension: () => TextFileExtension,
152
- VrmlFileExtension: () => VrmlFileExtension,
153
94
  WIRE_PADDING: () => WIRE_PADDING,
154
- WorkbookFileExtension: () => WorkbookFileExtension,
155
- XmlFileExtension: () => XmlFileExtension,
156
95
  collect_sub_sheets: () => collect_sub_sheets,
157
96
  collect_sub_sheets_by_id: () => collect_sub_sheets_by_id,
97
+ convert_graph_to_design_block: () => convert_graph_to_design_block,
158
98
  convert_graph_to_kicad_project: () => convert_graph_to_kicad_project,
99
+ convert_graph_to_sheets: () => convert_graph_to_sheets,
159
100
  filterNullOrUndefined: () => filterNullOrUndefined,
160
101
  gen_lib_gnd: () => gen_lib_gnd,
161
102
  gen_lib_vcc: () => gen_lib_vcc,
@@ -212,7 +153,7 @@ async function collect_sub_sheets(dependencies, module_resolver) {
212
153
  const zip_archive = await fetch(zip_archive_url).then((res) => res.arrayBuffer());
213
154
  const files = await (0, import_utils.unzipFile)(zip_archive);
214
155
  for (const [name, content] of Object.entries(files)) {
215
- if (name.endsWith(import_utils.KICAD_SHC_FILE_EXT)) {
156
+ if (name.endsWith(import_utils.KiCadSchematicFileExtension)) {
216
157
  const fileName = (0, import_utils.remove_filename_path_prefix)(name);
217
158
  if (fileName in sheets) {
218
159
  console.error(`Duplicate sheet name: ${fileName}`);
@@ -322,7 +263,7 @@ async function collect_sub_sheets_by_id(module_ids, module_resolver) {
322
263
  const zip_archive = await fetch(zip_archive_url).then((res) => res.arrayBuffer());
323
264
  const files = await (0, import_utils2.unzipFile)(zip_archive);
324
265
  for (const [name, content] of Object.entries(files)) {
325
- if (name.endsWith(import_utils2.KICAD_SHC_FILE_EXT)) {
266
+ if (name.endsWith(import_utils2.KiCadSchematicFileExtension)) {
326
267
  const filename = (0, import_utils2.remove_filename_path_prefix)(name);
327
268
  if (filename in sheets) {
328
269
  console.error(`Duplicate sheet name: ${filename}`);
@@ -330,7 +271,7 @@ async function collect_sub_sheets_by_id(module_ids, module_resolver) {
330
271
  }
331
272
  sheets[filename] = content;
332
273
  design_block.schematics.push({ filename, content });
333
- } else if (name.endsWith(import_utils2.KICAD_PCB_FILE_EXT)) {
274
+ } else if (name.endsWith(import_utils2.KiCadPcbFileExtension)) {
334
275
  const filename = (0, import_utils2.remove_filename_path_prefix)(name);
335
276
  design_block.pcb = { pcb: { filename, content } };
336
277
  }
@@ -1841,18 +1782,10 @@ var Layout = class {
1841
1782
  // src/converter/netlist_to_kicad/netlist_converter.ts
1842
1783
  var import_electronics_model8 = require("@modular-circuit/electronics-model");
1843
1784
  var import_ir4 = require("@modular-circuit/ir");
1844
- var import_utils11 = require("@modular-circuit/utils");
1785
+ var import_utils13 = require("@modular-circuit/utils");
1845
1786
 
1846
1787
  // src/kicad/label/net_label.ts
1847
1788
  var import_utils5 = require("@modular-circuit/utils");
1848
-
1849
- // src/kicad/constraints/index.ts
1850
- var DEFAULT_FONT_SIZE = {
1851
- x: 1.27,
1852
- y: 1.27
1853
- };
1854
-
1855
- // src/kicad/label/net_label.ts
1856
1789
  var gen_net_label = (name, at, justify) => ({
1857
1790
  label_type: "label",
1858
1791
  text: name,
@@ -1860,7 +1793,7 @@ var gen_net_label = (name, at, justify) => ({
1860
1793
  fields_autoplaced: true,
1861
1794
  at: { position: at, rotation: 0 },
1862
1795
  effects: {
1863
- font: { size: DEFAULT_FONT_SIZE },
1796
+ font: { size: import_utils5.DEFAULT_FONT_SIZE },
1864
1797
  justify
1865
1798
  },
1866
1799
  uuid: (0, import_utils5.gen_uuid)()
@@ -1871,7 +1804,7 @@ var import_utils6 = require("@modular-circuit/utils");
1871
1804
  var gen_base_hierarchical_label = (text, at, justify, rotation, shape) => ({
1872
1805
  shape,
1873
1806
  effects: {
1874
- font: { size: DEFAULT_FONT_SIZE },
1807
+ font: { size: import_utils6.DEFAULT_FONT_SIZE },
1875
1808
  justify
1876
1809
  },
1877
1810
  text,
@@ -1898,7 +1831,7 @@ var gen_sch_sheet = (rect, pins, fields) => ({
1898
1831
  text: fields.Sheetname,
1899
1832
  at: { position: { x: rect.pos.x, y: rect.pos.y - TEXT_MARGIN }, rotation: 0 },
1900
1833
  effects: {
1901
- font: { size: DEFAULT_FONT_SIZE },
1834
+ font: { size: import_utils7.DEFAULT_FONT_SIZE },
1902
1835
  justify: {
1903
1836
  vertical: "bottom",
1904
1837
  horizontal: "left"
@@ -1910,7 +1843,7 @@ var gen_sch_sheet = (rect, pins, fields) => ({
1910
1843
  text: fields.Sheetfile,
1911
1844
  at: { position: { x: rect.pos.x, y: rect.pos.y + rect.size.y + TEXT_MARGIN }, rotation: 0 },
1912
1845
  effects: {
1913
- font: { size: DEFAULT_FONT_SIZE },
1846
+ font: { size: import_utils7.DEFAULT_FONT_SIZE },
1914
1847
  justify: {
1915
1848
  vertical: "top",
1916
1849
  horizontal: "left"
@@ -1932,6 +1865,7 @@ var gen_sch_sheet = (rect, pins, fields) => ({
1932
1865
  // src/kicad/symbols/lib_symbol/gnd.ts
1933
1866
  var import_electronics_model5 = require("@modular-circuit/electronics-model");
1934
1867
  var import_ir2 = require("@modular-circuit/ir");
1868
+ var import_utils8 = require("@modular-circuit/utils");
1935
1869
  var gen_lib_gnd = (value) => ({
1936
1870
  name: `power:${value}`,
1937
1871
  pin_numbers: {
@@ -1951,7 +1885,7 @@ var gen_lib_gnd = (value) => ({
1951
1885
  text: "#PWR",
1952
1886
  at: { position: { x: 0, y: -6.35 }, rotation: 0 },
1953
1887
  effects: {
1954
- font: { size: DEFAULT_FONT_SIZE },
1888
+ font: { size: import_utils8.DEFAULT_FONT_SIZE },
1955
1889
  hide: true
1956
1890
  }
1957
1891
  },
@@ -1960,7 +1894,7 @@ var gen_lib_gnd = (value) => ({
1960
1894
  text: `${value}`,
1961
1895
  at: { position: { x: 0, y: -3.81 }, rotation: 0 },
1962
1896
  effects: {
1963
- font: { size: DEFAULT_FONT_SIZE }
1897
+ font: { size: import_utils8.DEFAULT_FONT_SIZE }
1964
1898
  }
1965
1899
  },
1966
1900
  {
@@ -1968,7 +1902,7 @@ var gen_lib_gnd = (value) => ({
1968
1902
  text: "",
1969
1903
  at: { position: { x: 0, y: 0 }, rotation: 0 },
1970
1904
  effects: {
1971
- font: { size: DEFAULT_FONT_SIZE },
1905
+ font: { size: import_utils8.DEFAULT_FONT_SIZE },
1972
1906
  hide: true
1973
1907
  }
1974
1908
  },
@@ -1977,7 +1911,7 @@ var gen_lib_gnd = (value) => ({
1977
1911
  text: "",
1978
1912
  at: { position: { x: 0, y: 0 }, rotation: 0 },
1979
1913
  effects: {
1980
- font: { size: DEFAULT_FONT_SIZE },
1914
+ font: { size: import_utils8.DEFAULT_FONT_SIZE },
1981
1915
  hide: true
1982
1916
  }
1983
1917
  },
@@ -1986,7 +1920,7 @@ var gen_lib_gnd = (value) => ({
1986
1920
  text: 'Power symbol creates a global label with name \\"GND\\" , ground',
1987
1921
  at: { position: { x: 0, y: 0 }, rotation: 0 },
1988
1922
  effects: {
1989
- font: { size: DEFAULT_FONT_SIZE },
1923
+ font: { size: import_utils8.DEFAULT_FONT_SIZE },
1990
1924
  hide: true
1991
1925
  }
1992
1926
  },
@@ -1995,7 +1929,7 @@ var gen_lib_gnd = (value) => ({
1995
1929
  text: "global power",
1996
1930
  at: { position: { x: 0, y: 0 }, rotation: 0 },
1997
1931
  effects: {
1998
- font: { size: DEFAULT_FONT_SIZE },
1932
+ font: { size: import_utils8.DEFAULT_FONT_SIZE },
1999
1933
  hide: true
2000
1934
  }
2001
1935
  }
@@ -2036,13 +1970,13 @@ var gen_lib_gnd = (value) => ({
2036
1970
  name: {
2037
1971
  text: "~",
2038
1972
  effects: {
2039
- font: { size: DEFAULT_FONT_SIZE }
1973
+ font: { size: import_utils8.DEFAULT_FONT_SIZE }
2040
1974
  }
2041
1975
  },
2042
1976
  number: {
2043
1977
  text: "1",
2044
1978
  effects: {
2045
- font: { size: DEFAULT_FONT_SIZE }
1979
+ font: { size: import_utils8.DEFAULT_FONT_SIZE }
2046
1980
  }
2047
1981
  }
2048
1982
  }
@@ -2054,6 +1988,7 @@ var gen_lib_gnd = (value) => ({
2054
1988
  // src/kicad/symbols/lib_symbol/vcc.ts
2055
1989
  var import_electronics_model6 = require("@modular-circuit/electronics-model");
2056
1990
  var import_ir3 = require("@modular-circuit/ir");
1991
+ var import_utils9 = require("@modular-circuit/utils");
2057
1992
  var gen_lib_vcc = (value) => ({
2058
1993
  name: `power:${value}`,
2059
1994
  power: true,
@@ -2074,7 +2009,7 @@ var gen_lib_vcc = (value) => ({
2074
2009
  text: "#PWR",
2075
2010
  at: { position: { x: 0, y: -3.81 }, rotation: 0 },
2076
2011
  effects: {
2077
- font: { size: DEFAULT_FONT_SIZE },
2012
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
2078
2013
  hide: true
2079
2014
  }
2080
2015
  },
@@ -2083,7 +2018,7 @@ var gen_lib_vcc = (value) => ({
2083
2018
  text: `${value}`,
2084
2019
  at: { position: { x: 0, y: 3.556 }, rotation: 0 },
2085
2020
  effects: {
2086
- font: { size: DEFAULT_FONT_SIZE }
2021
+ font: { size: import_utils9.DEFAULT_FONT_SIZE }
2087
2022
  }
2088
2023
  },
2089
2024
  {
@@ -2091,7 +2026,7 @@ var gen_lib_vcc = (value) => ({
2091
2026
  text: "",
2092
2027
  at: { position: { x: 0, y: 0 }, rotation: 0 },
2093
2028
  effects: {
2094
- font: { size: DEFAULT_FONT_SIZE },
2029
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
2095
2030
  hide: true
2096
2031
  }
2097
2032
  },
@@ -2100,7 +2035,7 @@ var gen_lib_vcc = (value) => ({
2100
2035
  text: "",
2101
2036
  at: { position: { x: 0, y: 0 }, rotation: 0 },
2102
2037
  effects: {
2103
- font: { size: DEFAULT_FONT_SIZE },
2038
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
2104
2039
  hide: true
2105
2040
  }
2106
2041
  },
@@ -2109,7 +2044,7 @@ var gen_lib_vcc = (value) => ({
2109
2044
  text: `Power symbol creates a global label with name \\"${value}\\"`,
2110
2045
  at: { position: { x: 0, y: 0 }, rotation: 0 },
2111
2046
  effects: {
2112
- font: { size: DEFAULT_FONT_SIZE },
2047
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
2113
2048
  hide: true
2114
2049
  }
2115
2050
  },
@@ -2118,7 +2053,7 @@ var gen_lib_vcc = (value) => ({
2118
2053
  text: "global power",
2119
2054
  at: { position: { x: 0, y: 0 }, rotation: 0 },
2120
2055
  effects: {
2121
- font: { size: DEFAULT_FONT_SIZE },
2056
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
2122
2057
  hide: true
2123
2058
  }
2124
2059
  }
@@ -2156,13 +2091,13 @@ var gen_lib_vcc = (value) => ({
2156
2091
  name: {
2157
2092
  text: "~",
2158
2093
  effects: {
2159
- font: { size: DEFAULT_FONT_SIZE }
2094
+ font: { size: import_utils9.DEFAULT_FONT_SIZE }
2160
2095
  }
2161
2096
  },
2162
2097
  number: {
2163
2098
  text: "1",
2164
2099
  effects: {
2165
- font: { size: DEFAULT_FONT_SIZE }
2100
+ font: { size: import_utils9.DEFAULT_FONT_SIZE }
2166
2101
  }
2167
2102
  }
2168
2103
  }
@@ -2172,7 +2107,7 @@ var gen_lib_vcc = (value) => ({
2172
2107
  });
2173
2108
 
2174
2109
  // src/kicad/symbols/sch_symbol/gnd.ts
2175
- var import_utils8 = require("@modular-circuit/utils");
2110
+ var import_utils10 = require("@modular-circuit/utils");
2176
2111
 
2177
2112
  // src/kicad/symbols/symbol_utils.ts
2178
2113
  var gen_pwr_ref = (pwr_num) => `#PWR${pwr_num}`;
@@ -2187,14 +2122,14 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2187
2122
  on_board: true,
2188
2123
  dnp: false,
2189
2124
  fields_autoplaced: true,
2190
- uuid: (0, import_utils8.gen_uuid)(),
2125
+ uuid: (0, import_utils10.gen_uuid)(),
2191
2126
  properties: [
2192
2127
  {
2193
2128
  name: "Reference",
2194
2129
  text: gen_pwr_ref(pwr_number),
2195
2130
  at: { position: { x: position.x, y: position.y + 6.35 }, rotation: 0 },
2196
2131
  effects: {
2197
- font: { size: DEFAULT_FONT_SIZE },
2132
+ font: { size: import_utils10.DEFAULT_FONT_SIZE },
2198
2133
  hide: true
2199
2134
  }
2200
2135
  },
@@ -2203,7 +2138,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2203
2138
  text: `${value}`,
2204
2139
  at: { position: { x: position.x, y: position.y + 5.08 }, rotation: 0 },
2205
2140
  effects: {
2206
- font: { size: DEFAULT_FONT_SIZE }
2141
+ font: { size: import_utils10.DEFAULT_FONT_SIZE }
2207
2142
  }
2208
2143
  },
2209
2144
  {
@@ -2211,7 +2146,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2211
2146
  text: "",
2212
2147
  at: { position, rotation: 0 },
2213
2148
  effects: {
2214
- font: { size: DEFAULT_FONT_SIZE },
2149
+ font: { size: import_utils10.DEFAULT_FONT_SIZE },
2215
2150
  hide: true
2216
2151
  }
2217
2152
  },
@@ -2220,7 +2155,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2220
2155
  text: "",
2221
2156
  at: { position, rotation: 0 },
2222
2157
  effects: {
2223
- font: { size: DEFAULT_FONT_SIZE },
2158
+ font: { size: import_utils10.DEFAULT_FONT_SIZE },
2224
2159
  hide: true
2225
2160
  }
2226
2161
  },
@@ -2229,7 +2164,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2229
2164
  text: `Power symbol creates a global label with name \\"${value}\\" , ground`,
2230
2165
  at: { position, rotation: 0 },
2231
2166
  effects: {
2232
- font: { size: DEFAULT_FONT_SIZE },
2167
+ font: { size: import_utils10.DEFAULT_FONT_SIZE },
2233
2168
  hide: true
2234
2169
  }
2235
2170
  }
@@ -2243,7 +2178,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2243
2178
  });
2244
2179
 
2245
2180
  // src/kicad/symbols/sch_symbol/vcc.ts
2246
- var import_utils9 = require("@modular-circuit/utils");
2181
+ var import_utils11 = require("@modular-circuit/utils");
2247
2182
  var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2248
2183
  lib_id: `power:${value}`,
2249
2184
  at: { position, rotation: 0 },
@@ -2253,14 +2188,14 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2253
2188
  on_board: true,
2254
2189
  dnp: false,
2255
2190
  fields_autoplaced: true,
2256
- uuid: (0, import_utils9.gen_uuid)(),
2191
+ uuid: (0, import_utils11.gen_uuid)(),
2257
2192
  properties: [
2258
2193
  {
2259
2194
  name: "Reference",
2260
2195
  text: gen_pwr_ref(pwr_number),
2261
2196
  at: { position: { x: position.x, y: position.y + 3.81 }, rotation: 0 },
2262
2197
  effects: {
2263
- font: { size: DEFAULT_FONT_SIZE },
2198
+ font: { size: import_utils11.DEFAULT_FONT_SIZE },
2264
2199
  hide: true
2265
2200
  }
2266
2201
  },
@@ -2269,7 +2204,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2269
2204
  text: `${value}`,
2270
2205
  at: { position: { x: position.x, y: position.y - 5.08 }, rotation: 0 },
2271
2206
  effects: {
2272
- font: { size: DEFAULT_FONT_SIZE }
2207
+ font: { size: import_utils11.DEFAULT_FONT_SIZE }
2273
2208
  }
2274
2209
  },
2275
2210
  {
@@ -2277,7 +2212,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2277
2212
  text: "",
2278
2213
  at: { position, rotation: 0 },
2279
2214
  effects: {
2280
- font: { size: DEFAULT_FONT_SIZE },
2215
+ font: { size: import_utils11.DEFAULT_FONT_SIZE },
2281
2216
  hide: true
2282
2217
  }
2283
2218
  },
@@ -2286,7 +2221,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2286
2221
  text: "",
2287
2222
  at: { position, rotation: 0 },
2288
2223
  effects: {
2289
- font: { size: DEFAULT_FONT_SIZE },
2224
+ font: { size: import_utils11.DEFAULT_FONT_SIZE },
2290
2225
  hide: true
2291
2226
  }
2292
2227
  },
@@ -2295,7 +2230,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2295
2230
  text: `Power symbol creates a global label with name \\"${value}\\"`,
2296
2231
  at: { position, rotation: 0 },
2297
2232
  effects: {
2298
- font: { size: DEFAULT_FONT_SIZE },
2233
+ font: { size: import_utils11.DEFAULT_FONT_SIZE },
2299
2234
  hide: true
2300
2235
  }
2301
2236
  }
@@ -2310,7 +2245,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2310
2245
 
2311
2246
  // src/kicad/wire/gen_wire.ts
2312
2247
  var import_electronics_model7 = require("@modular-circuit/electronics-model");
2313
- var import_utils10 = require("@modular-circuit/utils");
2248
+ var import_utils12 = require("@modular-circuit/utils");
2314
2249
  var gen_wire = (start, end) => ({
2315
2250
  stroke: {
2316
2251
  type: "default",
@@ -2318,7 +2253,7 @@ var gen_wire = (start, end) => ({
2318
2253
  },
2319
2254
  start,
2320
2255
  end,
2321
- uuid: (0, import_utils10.gen_uuid)(),
2256
+ uuid: (0, import_utils12.gen_uuid)(),
2322
2257
  type: import_electronics_model7.GS_SCH_ITEM_TYPE.LINE
2323
2258
  });
2324
2259
 
@@ -2374,7 +2309,7 @@ var NetListConverter = class {
2374
2309
  },
2375
2310
  title_block: {
2376
2311
  title: name.replace(`.${import_ir4.MODULAR_CIRCUIT_SCH_EXT}`, ""),
2377
- date: (0, import_utils11.replaceAll)((/* @__PURE__ */ new Date()).toISOString().slice(0, 10), "-", "/"),
2312
+ date: (0, import_utils13.replaceAll)((/* @__PURE__ */ new Date()).toISOString().slice(0, 10), "-", "/"),
2378
2313
  rev: "1.0",
2379
2314
  comment: {
2380
2315
  1: "https://www.eda.cn",
@@ -2536,72 +2471,38 @@ var NetListConverter = class {
2536
2471
 
2537
2472
  // src/builder/graph_to_kicad/convert_graph_to_sheets.ts
2538
2473
  var import_ir5 = require("@modular-circuit/ir");
2539
-
2540
- // src/kicad/project/wildcards_and_files_ext.ts
2541
- var KiCadSymbolLibFileExtension = "kicad_sym";
2542
- var SchematicSymbolFileExtension = "sym";
2543
- var LegacySymbolLibFileExtension = "lib";
2544
- var LegacySymbolDocumentFileExtension = "dcm";
2545
- var VrmlFileExtension = "wrl";
2546
- var ProjectFileExtension = "kicad_pro";
2547
- var LegacyProjectFileExtension = "pro";
2548
- var ProjectLocalSettingsFileExtension = "kicad_prl";
2549
- var LegacySchematicFileExtension = "sch";
2550
- var CadstarSchematicFileExtension = "csa";
2551
- var CadstarPartsLibraryFileExtension = "lib";
2552
- var KiCadSchematicFileExtension = "kicad_sch";
2553
- var SpiceFileExtension = "cir";
2554
- var CadstarNetlistFileExtension = "frp";
2555
- var OrCadPcb2NetlistFileExtension = "net";
2556
- var NetlistFileExtension = "net";
2557
- var AllegroNetlistFileExtension = "txt";
2558
- var FootprintAssignmentFileExtension = "cmp";
2559
- var GerberFileExtension = "gbr";
2560
- var GerberJobFileExtension = "gbrjob";
2561
- var HtmlFileExtension = "html";
2562
- var EquFileExtension = "equ";
2563
- var HotkeyFileExtension = "hotkeys";
2564
- var DatabaseLibraryFileExtension = "kicad_dbl";
2565
- var HTTPLibraryFileExtension = "kicad_httplib";
2566
- var ArchiveFileExtension = "zip";
2567
- var LegacyPcbFileExtension = "brd";
2568
- var EaglePcbFileExtension = "brd";
2569
- var CadstarPcbFileExtension = "cpa";
2570
- var KiCadPcbFileExtension = "kicad_pcb";
2571
- var DrawingSheetFileExtension = "kicad_wks";
2572
- var DesignRulesFileExtension = "kicad_dru";
2573
- var PdfFileExtension = "pdf";
2574
- var MacrosFileExtension = "mcr";
2575
- var DrillFileExtension = "drl";
2576
- var SVGFileExtension = "svg";
2577
- var ReportFileExtension = "rpt";
2578
- var FootprintPlaceFileExtension = "pos";
2579
- var KiCadFootprintLibPathExtension = "pretty";
2580
- var LegacyFootprintLibPathExtension = "mod";
2581
- var AltiumFootprintLibPathExtension = "PcbLib";
2582
- var CadstarFootprintLibPathExtension = "cpa";
2583
- var EagleFootprintLibPathExtension = "lbr";
2584
- var GedaPcbFootprintLibFileExtension = "fp";
2585
- var KiCadFootprintFileExtension = "kicad_mod";
2586
- var SpecctraDsnFileExtension = "dsn";
2587
- var SpecctraSessionFileExtension = "ses";
2588
- var IpcD356FileExtension = "d356";
2589
- var Ipc2581FileExtension = "xml";
2590
- var WorkbookFileExtension = "wbk";
2591
- var PngFileExtension = "png";
2592
- var JpegFileExtension = "jpg";
2593
- var TextFileExtension = "txt";
2594
- var MarkdownFileExtension = "md";
2595
- var CsvFileExtension = "csv";
2596
- var XmlFileExtension = "xml";
2597
- var JsonFileExtension = "json";
2598
- var StepFileExtension = "step";
2599
- var StepFileAbrvExtension = "stp";
2600
- var GltfBinaryFileExtension = "glb";
2601
- var GerberFileExtensionsRegex = /(gbr|gko|pho|(g[tb][alops])|(gm?\\d\\d*)|(gp[tb]))/;
2474
+ var import_perc = require("@modular-circuit/perc");
2475
+ var import_utils14 = require("@modular-circuit/utils");
2476
+ async function do_convert_graph_to_kicad_project(ctx) {
2477
+ const { sheets } = await collect_sub_sheets(ctx.project.dependencies, ctx.module_resolver);
2478
+ const netlist = new GraphConverter({
2479
+ ...ctx
2480
+ }).convert_to_netlist();
2481
+ const converted_sheets = await new NetListConverter({
2482
+ ...ctx,
2483
+ netlist
2484
+ }).convert_to_kicad();
2485
+ const sexpr_printer = new SCHEMATIC_PRINTER();
2486
+ for (const [k, v] of Object.entries(converted_sheets)) {
2487
+ if (k in sheets) {
2488
+ console.error(`Duplicated sheet file name found ${k}`);
2489
+ }
2490
+ sheets[k.replace(import_ir5.MODULAR_CIRCUIT_SCH_EXT, import_utils14.KiCadSchematicFileExtension)] = sexpr_printer.schematic(v);
2491
+ }
2492
+ return sheets;
2493
+ }
2494
+ async function convert_graph_to_sheets(ctx) {
2495
+ return do_convert_graph_to_kicad_project({
2496
+ ...ctx,
2497
+ ...await (0, import_perc.build_connection_graph)({
2498
+ ...ctx,
2499
+ dependencies: ctx.project.dependencies
2500
+ })
2501
+ });
2502
+ }
2602
2503
 
2603
2504
  // src/kicad/project/kicad_project_archive.ts
2604
- var import_utils12 = require("@modular-circuit/utils");
2505
+ var import_utils16 = require("@modular-circuit/utils");
2605
2506
 
2606
2507
  // src/kicad/project/kicad_prl.ts
2607
2508
  var kicad_prl = (prj_name) => ({
@@ -2689,6 +2590,7 @@ var kicad_prl = (prj_name) => ({
2689
2590
  });
2690
2591
 
2691
2592
  // src/kicad/project/kicad_pro.ts
2593
+ var import_utils15 = require("@modular-circuit/utils");
2692
2594
  var kicad_pro = (project_name) => ({
2693
2595
  board: {
2694
2596
  "3dviewports": [],
@@ -2898,7 +2800,7 @@ var kicad_pro = (project_name) => ({
2898
2800
  version: 1
2899
2801
  },
2900
2802
  net_format_name: "",
2901
- page_layout_descr_file: `${project_name}.${DrawingSheetFileExtension}`,
2803
+ page_layout_descr_file: `${project_name}.${import_utils15.DrawingSheetFileExtension}`,
2902
2804
  plot_directory: "",
2903
2805
  spice_current_sheet_as_root: false,
2904
2806
  spice_external_command: 'spice "%I"',
@@ -2914,6 +2816,7 @@ var kicad_pro = (project_name) => ({
2914
2816
  });
2915
2817
 
2916
2818
  // src/kicad/project/kicad_project_archive.ts
2819
+ var import_utils17 = require("@modular-circuit/utils");
2917
2820
  var KICAD_SCH_FRAME = get_sch_default_drawing_sheet();
2918
2821
  var KiCadProjectArchive = class {
2919
2822
  constructor(project_name, sheets) {
@@ -2935,51 +2838,21 @@ var KiCadProjectArchive = class {
2935
2838
  return kicad_pro(this.project_name);
2936
2839
  }
2937
2840
  get main_sch_name() {
2938
- return this.get_project_directive_file_name(KiCadSchematicFileExtension);
2841
+ return this.get_project_directive_file_name(import_utils17.KiCadSchematicFileExtension);
2939
2842
  }
2940
2843
  get_project_directive_file_name(ext) {
2941
2844
  return `${this.project_name}.${ext}`;
2942
2845
  }
2943
2846
  toZip() {
2944
- return (0, import_utils12.zipFiles)({
2945
- [this.get_project_directive_file_name(ProjectLocalSettingsFileExtension)]: JSON.stringify(this.kicad_prl),
2946
- [this.get_project_directive_file_name(ProjectFileExtension)]: JSON.stringify(this.kicad_pro),
2947
- [this.get_project_directive_file_name(DrawingSheetFileExtension)]: this.sch_frame,
2847
+ return (0, import_utils16.zipFiles)({
2848
+ [this.get_project_directive_file_name(import_utils17.ProjectLocalSettingsFileExtension)]: JSON.stringify(this.kicad_prl),
2849
+ [this.get_project_directive_file_name(import_utils17.ProjectFileExtension)]: JSON.stringify(this.kicad_pro),
2850
+ [this.get_project_directive_file_name(import_utils17.DrawingSheetFileExtension)]: this.sch_frame,
2948
2851
  ...this.sheets
2949
2852
  });
2950
2853
  }
2951
2854
  };
2952
2855
 
2953
- // src/builder/graph_to_kicad/convert_graph_to_sheets.ts
2954
- var import_perc = require("@modular-circuit/perc");
2955
- async function do_convert_graph_to_kicad_project(ctx) {
2956
- const { sheets } = await collect_sub_sheets(ctx.project.dependencies, ctx.module_resolver);
2957
- const netlist = new GraphConverter({
2958
- ...ctx
2959
- }).convert_to_netlist();
2960
- const converted_sheets = await new NetListConverter({
2961
- ...ctx,
2962
- netlist
2963
- }).convert_to_kicad();
2964
- const sexpr_printer = new SCHEMATIC_PRINTER();
2965
- for (const [k, v] of Object.entries(converted_sheets)) {
2966
- if (k in sheets) {
2967
- console.error(`Duplicated sheet file name found ${k}`);
2968
- }
2969
- sheets[k.replace(import_ir5.MODULAR_CIRCUIT_SCH_EXT, KiCadSchematicFileExtension)] = sexpr_printer.schematic(v);
2970
- }
2971
- return sheets;
2972
- }
2973
- async function convert_graph_to_sheets(ctx) {
2974
- return do_convert_graph_to_kicad_project({
2975
- ...ctx,
2976
- ...await (0, import_perc.build_connection_graph)({
2977
- ...ctx,
2978
- dependencies: ctx.project.dependencies
2979
- })
2980
- });
2981
- }
2982
-
2983
2856
  // src/builder/graph_to_kicad/convert_graph_to_kicad_project.ts
2984
2857
  async function convert_graph_to_kicad_project(ctx) {
2985
2858
  const sheets = await convert_graph_to_sheets(ctx);
@@ -2988,90 +2861,51 @@ async function convert_graph_to_kicad_project(ctx) {
2988
2861
  });
2989
2862
  return kicad_project.toZip();
2990
2863
  }
2864
+
2865
+ // src/builder/graph_to_kicad/convert_graph_to_design_block.ts
2866
+ async function convert_graph_to_design_block(ctx) {
2867
+ const sheets = await convert_graph_to_sheets(ctx);
2868
+ const kicad_project = new KiCadProjectArchive(ctx.project.name, {
2869
+ ...sheets
2870
+ });
2871
+ const design_block = {
2872
+ root: kicad_project.main_sch_name,
2873
+ pcb: null,
2874
+ components: [],
2875
+ schematics: Object.entries(sheets).map(([filename, content]) => {
2876
+ return {
2877
+ filename,
2878
+ content
2879
+ };
2880
+ })
2881
+ };
2882
+ return design_block;
2883
+ }
2991
2884
  // Annotate the CommonJS export names for ESM import in node:
2992
2885
  0 && (module.exports = {
2993
- AllegroNetlistFileExtension,
2994
- AltiumFootprintLibPathExtension,
2995
- ArchiveFileExtension,
2996
2886
  BLOCK_PIN_GAP,
2997
2887
  BLOCK_PIN_TB_MARGIN,
2998
- CadstarFootprintLibPathExtension,
2999
- CadstarNetlistFileExtension,
3000
- CadstarPartsLibraryFileExtension,
3001
- CadstarPcbFileExtension,
3002
- CadstarSchematicFileExtension,
3003
- CsvFileExtension,
3004
2888
  DEFAULT_PAPER_SIZE,
3005
- DatabaseLibraryFileExtension,
3006
- DesignRulesFileExtension,
3007
- DrawingSheetFileExtension,
3008
- DrillFileExtension,
3009
- EagleFootprintLibPathExtension,
3010
- EaglePcbFileExtension,
3011
- EquFileExtension,
3012
2889
  FONT_SIZE,
3013
- FootprintAssignmentFileExtension,
3014
- FootprintPlaceFileExtension,
3015
2890
  GENERATOR_NAME,
3016
2891
  GENERATOR_VERSION,
3017
2892
  GRID_SIZE,
3018
- GedaPcbFootprintLibFileExtension,
3019
- GerberFileExtension,
3020
- GerberFileExtensionsRegex,
3021
- GerberJobFileExtension,
3022
- GltfBinaryFileExtension,
3023
2893
  GraphConverter,
3024
- HTTPLibraryFileExtension,
3025
- HotkeyFileExtension,
3026
- HtmlFileExtension,
3027
- Ipc2581FileExtension,
3028
- IpcD356FileExtension,
3029
- JpegFileExtension,
3030
- JsonFileExtension,
3031
2894
  KICAD_SCH_FRAME,
3032
- KiCadFootprintFileExtension,
3033
- KiCadFootprintLibPathExtension,
3034
- KiCadPcbFileExtension,
3035
2895
  KiCadProjectArchive,
3036
- KiCadSchematicFileExtension,
3037
- KiCadSymbolLibFileExtension,
3038
2896
  Layout,
3039
- LegacyFootprintLibPathExtension,
3040
- LegacyPcbFileExtension,
3041
- LegacyProjectFileExtension,
3042
- LegacySchematicFileExtension,
3043
- LegacySymbolDocumentFileExtension,
3044
- LegacySymbolLibFileExtension,
3045
- MacrosFileExtension,
3046
- MarkdownFileExtension,
3047
2897
  NetListConverter,
3048
- NetlistFileExtension,
3049
- OrCadPcb2NetlistFileExtension,
3050
2898
  PAPER,
3051
2899
  PAPER_SIZE,
3052
- PdfFileExtension,
3053
- PngFileExtension,
3054
- ProjectFileExtension,
3055
- ProjectLocalSettingsFileExtension,
3056
- ReportFileExtension,
3057
2900
  SCHEMATIC_PRINTER,
3058
2901
  SCH_VERSION,
3059
- SVGFileExtension,
3060
- SchematicSymbolFileExtension,
3061
- SpecctraDsnFileExtension,
3062
- SpecctraSessionFileExtension,
3063
- SpiceFileExtension,
3064
- StepFileAbrvExtension,
3065
- StepFileExtension,
3066
2902
  StringFormatter,
3067
- TextFileExtension,
3068
- VrmlFileExtension,
3069
2903
  WIRE_PADDING,
3070
- WorkbookFileExtension,
3071
- XmlFileExtension,
3072
2904
  collect_sub_sheets,
3073
2905
  collect_sub_sheets_by_id,
2906
+ convert_graph_to_design_block,
3074
2907
  convert_graph_to_kicad_project,
2908
+ convert_graph_to_sheets,
3075
2909
  filterNullOrUndefined,
3076
2910
  gen_lib_gnd,
3077
2911
  gen_lib_vcc,