@modular-circuit/transpiler 0.1.13 → 0.1.15

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.mts CHANGED
@@ -412,6 +412,11 @@ declare function collect_sub_sheets_by_id(module_ids: string[], module_resolver:
412
412
  design_blocks: DesignBlockContent[];
413
413
  }>;
414
414
 
415
+ declare const fmt_to_valid_filename: (name: string) => string;
416
+ declare const fmt_module_place_holder_sch_name: (mod_name: string) => string;
417
+
418
+ declare const gen_empty_sch: (name: string) => Promise<string>;
419
+
415
420
  declare const gen_lib_gnd: (value: string) => LIB_SYMBOL;
416
421
 
417
422
  declare const gen_lib_vcc: (value: string) => LIB_SYMBOL;
@@ -420,4 +425,4 @@ declare const gen_sch_gnd: (value: string, pwr_number: number, port_id: string,
420
425
 
421
426
  declare const gen_sch_vcc: (value: string, pwr_number: number, port_id: string, position: VECTOR2) => SCH_SYMBOL;
422
427
 
423
- export { BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, DEFAULT_PAPER_SIZE, FONT_SIZE, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GraphConverter, KICAD_SCH_FRAME, KiCadProjectArchive, type LabelPadding, Layout, NetListConverter, type NetlistProject, type NetlistToKicadContext, PAPER, PAPER_SIZE, SCHEMATIC_PRINTER, SCH_VERSION, type Size, StringFormatter, WIRE_PADDING, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_design_block, convert_graph_to_kicad_project, convert_graph_to_sheets, filterNullOrUndefined, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
428
+ export { BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, DEFAULT_PAPER_SIZE, FONT_SIZE, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GraphConverter, KICAD_SCH_FRAME, KiCadProjectArchive, type LabelPadding, Layout, NetListConverter, type NetlistProject, type NetlistToKicadContext, PAPER, PAPER_SIZE, SCHEMATIC_PRINTER, SCH_VERSION, type Size, StringFormatter, WIRE_PADDING, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_design_block, convert_graph_to_kicad_project, convert_graph_to_sheets, filterNullOrUndefined, fmt_module_place_holder_sch_name, fmt_to_valid_filename, gen_empty_sch, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
package/dist/index.d.ts CHANGED
@@ -412,6 +412,11 @@ declare function collect_sub_sheets_by_id(module_ids: string[], module_resolver:
412
412
  design_blocks: DesignBlockContent[];
413
413
  }>;
414
414
 
415
+ declare const fmt_to_valid_filename: (name: string) => string;
416
+ declare const fmt_module_place_holder_sch_name: (mod_name: string) => string;
417
+
418
+ declare const gen_empty_sch: (name: string) => Promise<string>;
419
+
415
420
  declare const gen_lib_gnd: (value: string) => LIB_SYMBOL;
416
421
 
417
422
  declare const gen_lib_vcc: (value: string) => LIB_SYMBOL;
@@ -420,4 +425,4 @@ declare const gen_sch_gnd: (value: string, pwr_number: number, port_id: string,
420
425
 
421
426
  declare const gen_sch_vcc: (value: string, pwr_number: number, port_id: string, position: VECTOR2) => SCH_SYMBOL;
422
427
 
423
- export { BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, DEFAULT_PAPER_SIZE, FONT_SIZE, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GraphConverter, KICAD_SCH_FRAME, KiCadProjectArchive, type LabelPadding, Layout, NetListConverter, type NetlistProject, type NetlistToKicadContext, PAPER, PAPER_SIZE, SCHEMATIC_PRINTER, SCH_VERSION, type Size, StringFormatter, WIRE_PADDING, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_design_block, convert_graph_to_kicad_project, convert_graph_to_sheets, filterNullOrUndefined, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
428
+ export { BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, DEFAULT_PAPER_SIZE, FONT_SIZE, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GraphConverter, KICAD_SCH_FRAME, KiCadProjectArchive, type LabelPadding, Layout, NetListConverter, type NetlistProject, type NetlistToKicadContext, PAPER, PAPER_SIZE, SCHEMATIC_PRINTER, SCH_VERSION, type Size, StringFormatter, WIRE_PADDING, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_design_block, convert_graph_to_kicad_project, convert_graph_to_sheets, filterNullOrUndefined, fmt_module_place_holder_sch_name, fmt_to_valid_filename, gen_empty_sch, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
package/dist/index.js CHANGED
@@ -98,6 +98,9 @@ __export(index_exports, {
98
98
  convert_graph_to_kicad_project: () => convert_graph_to_kicad_project,
99
99
  convert_graph_to_sheets: () => convert_graph_to_sheets,
100
100
  filterNullOrUndefined: () => filterNullOrUndefined,
101
+ fmt_module_place_holder_sch_name: () => fmt_module_place_holder_sch_name,
102
+ fmt_to_valid_filename: () => fmt_to_valid_filename,
103
+ gen_empty_sch: () => gen_empty_sch,
101
104
  gen_lib_gnd: () => gen_lib_gnd,
102
105
  gen_lib_vcc: () => gen_lib_vcc,
103
106
  gen_sch_gnd: () => gen_sch_gnd,
@@ -122,7 +125,7 @@ function get_sch_default_drawing_sheet() {
122
125
  // src/converter/kicad_sexpr/eeschema/printer.ts
123
126
  var import_electronics_model = require("@modular-circuit/electronics-model");
124
127
  var import_ir = require("@modular-circuit/ir");
125
- var import_utils3 = require("@modular-circuit/utils");
128
+ var import_utils4 = require("@modular-circuit/utils");
126
129
 
127
130
  // src/utils/collect_sub_sheets.ts
128
131
  var import_utils = require("@modular-circuit/utils");
@@ -284,6 +287,38 @@ async function collect_sub_sheets_by_id(module_ids, module_resolver) {
284
287
  return { sheets, module_main_sheet, modules, design_blocks };
285
288
  }
286
289
 
290
+ // src/utils/fmt_to_valid_filename.ts
291
+ var fmt_to_valid_filename = (name) => {
292
+ return name.replace(/[\\/:*?"<>|]/g, "_").trim();
293
+ };
294
+ var fmt_module_place_holder_sch_name = (mod_name) => `placeholder_${fmt_to_valid_filename(mod_name)}.kicad_sch`;
295
+
296
+ // src/utils/gen_empty_sch.ts
297
+ var import_utils3 = require("@modular-circuit/utils");
298
+ var gen_empty_sch = async (name) => {
299
+ const printer = new SCHEMATIC_PRINTER();
300
+ const schematics = {};
301
+ const filename = `${name}`;
302
+ schematics[filename] = {
303
+ uuid: (0, import_utils3.gen_uuid)(),
304
+ filename,
305
+ sheet_symbols: [],
306
+ powers: [],
307
+ hiera_labels: []
308
+ };
309
+ const EMPTY_SCH = await new NetListConverter({
310
+ netlist: {
311
+ nets: [],
312
+ schematics
313
+ },
314
+ project: {
315
+ author: "eda.cn",
316
+ name
317
+ }
318
+ }).convert_to_kicad();
319
+ return printer.schematic(EMPTY_SCH[filename]);
320
+ };
321
+
287
322
  // src/converter/kicad_sexpr/eeschema/printer.ts
288
323
  var SCOPE_START = "\n ";
289
324
  var SPACE = " ";
@@ -321,7 +356,7 @@ var SCHEMATIC_PRINTER = class {
321
356
  (version ${SCH_VERSION})
322
357
  (generator "${GENERATOR_NAME}")
323
358
  (generator_version "${GENERATOR_VERSION}")
324
- (uuid "${(0, import_utils3.gen_uuid)()}")
359
+ (uuid "${(0, import_utils4.gen_uuid)()}")
325
360
  (paper "${PAPER}")
326
361
  ${lib_symbols}
327
362
  ${wires}
@@ -1782,10 +1817,10 @@ var Layout = class {
1782
1817
  // src/converter/netlist_to_kicad/netlist_converter.ts
1783
1818
  var import_electronics_model8 = require("@modular-circuit/electronics-model");
1784
1819
  var import_ir4 = require("@modular-circuit/ir");
1785
- var import_utils13 = require("@modular-circuit/utils");
1820
+ var import_utils14 = require("@modular-circuit/utils");
1786
1821
 
1787
1822
  // src/kicad/label/net_label.ts
1788
- var import_utils5 = require("@modular-circuit/utils");
1823
+ var import_utils6 = require("@modular-circuit/utils");
1789
1824
  var gen_net_label = (name, at, justify) => ({
1790
1825
  label_type: "label",
1791
1826
  text: name,
@@ -1793,23 +1828,23 @@ var gen_net_label = (name, at, justify) => ({
1793
1828
  fields_autoplaced: true,
1794
1829
  at: { position: at, rotation: 0 },
1795
1830
  effects: {
1796
- font: { size: import_utils5.DEFAULT_FONT_SIZE },
1831
+ font: { size: import_utils6.DEFAULT_FONT_SIZE },
1797
1832
  justify
1798
1833
  },
1799
- uuid: (0, import_utils5.gen_uuid)()
1834
+ uuid: (0, import_utils6.gen_uuid)()
1800
1835
  });
1801
1836
 
1802
1837
  // src/kicad/label/sheet_pin.ts
1803
- var import_utils6 = require("@modular-circuit/utils");
1838
+ var import_utils7 = require("@modular-circuit/utils");
1804
1839
  var gen_base_hierarchical_label = (text, at, justify, rotation, shape) => ({
1805
1840
  shape,
1806
1841
  effects: {
1807
- font: { size: import_utils6.DEFAULT_FONT_SIZE },
1842
+ font: { size: import_utils7.DEFAULT_FONT_SIZE },
1808
1843
  justify
1809
1844
  },
1810
1845
  text,
1811
1846
  at: { position: at, rotation },
1812
- uuid: (0, import_utils6.gen_uuid)()
1847
+ uuid: (0, import_utils7.gen_uuid)()
1813
1848
  });
1814
1849
  var gen_sheet_pin = (text, at, justify, rotation, shape) => ({
1815
1850
  label_type: "hierarchical_label",
@@ -1818,7 +1853,7 @@ var gen_sheet_pin = (text, at, justify, rotation, shape) => ({
1818
1853
  var gen_hierarchical_label = gen_sheet_pin;
1819
1854
 
1820
1855
  // src/kicad/sheet/sheet.ts
1821
- var import_utils7 = require("@modular-circuit/utils");
1856
+ var import_utils8 = require("@modular-circuit/utils");
1822
1857
  var TEXT_MARGIN = 0.7116;
1823
1858
  var gen_sch_sheet = (rect, pins, fields) => ({
1824
1859
  // NOTE no rotation in the sheet
@@ -1831,7 +1866,7 @@ var gen_sch_sheet = (rect, pins, fields) => ({
1831
1866
  text: fields.Sheetname,
1832
1867
  at: { position: { x: rect.pos.x, y: rect.pos.y - TEXT_MARGIN }, rotation: 0 },
1833
1868
  effects: {
1834
- font: { size: import_utils7.DEFAULT_FONT_SIZE },
1869
+ font: { size: import_utils8.DEFAULT_FONT_SIZE },
1835
1870
  justify: {
1836
1871
  vertical: "bottom",
1837
1872
  horizontal: "left"
@@ -1843,7 +1878,7 @@ var gen_sch_sheet = (rect, pins, fields) => ({
1843
1878
  text: fields.Sheetfile,
1844
1879
  at: { position: { x: rect.pos.x, y: rect.pos.y + rect.size.y + TEXT_MARGIN }, rotation: 0 },
1845
1880
  effects: {
1846
- font: { size: import_utils7.DEFAULT_FONT_SIZE },
1881
+ font: { size: import_utils8.DEFAULT_FONT_SIZE },
1847
1882
  justify: {
1848
1883
  vertical: "top",
1849
1884
  horizontal: "left"
@@ -1859,13 +1894,13 @@ var gen_sch_sheet = (rect, pins, fields) => ({
1859
1894
  fill: {
1860
1895
  color: { r: 0, g: 0, b: 0, a: 0 }
1861
1896
  },
1862
- uuid: (0, import_utils7.gen_uuid)()
1897
+ uuid: (0, import_utils8.gen_uuid)()
1863
1898
  });
1864
1899
 
1865
1900
  // src/kicad/symbols/lib_symbol/gnd.ts
1866
1901
  var import_electronics_model5 = require("@modular-circuit/electronics-model");
1867
1902
  var import_ir2 = require("@modular-circuit/ir");
1868
- var import_utils8 = require("@modular-circuit/utils");
1903
+ var import_utils9 = require("@modular-circuit/utils");
1869
1904
  var gen_lib_gnd = (value) => ({
1870
1905
  name: `power:${value}`,
1871
1906
  pin_numbers: {
@@ -1885,7 +1920,7 @@ var gen_lib_gnd = (value) => ({
1885
1920
  text: "#PWR",
1886
1921
  at: { position: { x: 0, y: -6.35 }, rotation: 0 },
1887
1922
  effects: {
1888
- font: { size: import_utils8.DEFAULT_FONT_SIZE },
1923
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
1889
1924
  hide: true
1890
1925
  }
1891
1926
  },
@@ -1894,7 +1929,7 @@ var gen_lib_gnd = (value) => ({
1894
1929
  text: `${value}`,
1895
1930
  at: { position: { x: 0, y: -3.81 }, rotation: 0 },
1896
1931
  effects: {
1897
- font: { size: import_utils8.DEFAULT_FONT_SIZE }
1932
+ font: { size: import_utils9.DEFAULT_FONT_SIZE }
1898
1933
  }
1899
1934
  },
1900
1935
  {
@@ -1902,7 +1937,7 @@ var gen_lib_gnd = (value) => ({
1902
1937
  text: "",
1903
1938
  at: { position: { x: 0, y: 0 }, rotation: 0 },
1904
1939
  effects: {
1905
- font: { size: import_utils8.DEFAULT_FONT_SIZE },
1940
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
1906
1941
  hide: true
1907
1942
  }
1908
1943
  },
@@ -1911,7 +1946,7 @@ var gen_lib_gnd = (value) => ({
1911
1946
  text: "",
1912
1947
  at: { position: { x: 0, y: 0 }, rotation: 0 },
1913
1948
  effects: {
1914
- font: { size: import_utils8.DEFAULT_FONT_SIZE },
1949
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
1915
1950
  hide: true
1916
1951
  }
1917
1952
  },
@@ -1920,7 +1955,7 @@ var gen_lib_gnd = (value) => ({
1920
1955
  text: 'Power symbol creates a global label with name \\"GND\\" , ground',
1921
1956
  at: { position: { x: 0, y: 0 }, rotation: 0 },
1922
1957
  effects: {
1923
- font: { size: import_utils8.DEFAULT_FONT_SIZE },
1958
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
1924
1959
  hide: true
1925
1960
  }
1926
1961
  },
@@ -1929,7 +1964,7 @@ var gen_lib_gnd = (value) => ({
1929
1964
  text: "global power",
1930
1965
  at: { position: { x: 0, y: 0 }, rotation: 0 },
1931
1966
  effects: {
1932
- font: { size: import_utils8.DEFAULT_FONT_SIZE },
1967
+ font: { size: import_utils9.DEFAULT_FONT_SIZE },
1933
1968
  hide: true
1934
1969
  }
1935
1970
  }
@@ -1970,13 +2005,13 @@ var gen_lib_gnd = (value) => ({
1970
2005
  name: {
1971
2006
  text: "~",
1972
2007
  effects: {
1973
- font: { size: import_utils8.DEFAULT_FONT_SIZE }
2008
+ font: { size: import_utils9.DEFAULT_FONT_SIZE }
1974
2009
  }
1975
2010
  },
1976
2011
  number: {
1977
2012
  text: "1",
1978
2013
  effects: {
1979
- font: { size: import_utils8.DEFAULT_FONT_SIZE }
2014
+ font: { size: import_utils9.DEFAULT_FONT_SIZE }
1980
2015
  }
1981
2016
  }
1982
2017
  }
@@ -1988,7 +2023,7 @@ var gen_lib_gnd = (value) => ({
1988
2023
  // src/kicad/symbols/lib_symbol/vcc.ts
1989
2024
  var import_electronics_model6 = require("@modular-circuit/electronics-model");
1990
2025
  var import_ir3 = require("@modular-circuit/ir");
1991
- var import_utils9 = require("@modular-circuit/utils");
2026
+ var import_utils10 = require("@modular-circuit/utils");
1992
2027
  var gen_lib_vcc = (value) => ({
1993
2028
  name: `power:${value}`,
1994
2029
  power: true,
@@ -2009,7 +2044,7 @@ var gen_lib_vcc = (value) => ({
2009
2044
  text: "#PWR",
2010
2045
  at: { position: { x: 0, y: -3.81 }, rotation: 0 },
2011
2046
  effects: {
2012
- font: { size: import_utils9.DEFAULT_FONT_SIZE },
2047
+ font: { size: import_utils10.DEFAULT_FONT_SIZE },
2013
2048
  hide: true
2014
2049
  }
2015
2050
  },
@@ -2018,7 +2053,7 @@ var gen_lib_vcc = (value) => ({
2018
2053
  text: `${value}`,
2019
2054
  at: { position: { x: 0, y: 3.556 }, rotation: 0 },
2020
2055
  effects: {
2021
- font: { size: import_utils9.DEFAULT_FONT_SIZE }
2056
+ font: { size: import_utils10.DEFAULT_FONT_SIZE }
2022
2057
  }
2023
2058
  },
2024
2059
  {
@@ -2026,7 +2061,7 @@ var gen_lib_vcc = (value) => ({
2026
2061
  text: "",
2027
2062
  at: { position: { x: 0, y: 0 }, rotation: 0 },
2028
2063
  effects: {
2029
- font: { size: import_utils9.DEFAULT_FONT_SIZE },
2064
+ font: { size: import_utils10.DEFAULT_FONT_SIZE },
2030
2065
  hide: true
2031
2066
  }
2032
2067
  },
@@ -2035,7 +2070,7 @@ var gen_lib_vcc = (value) => ({
2035
2070
  text: "",
2036
2071
  at: { position: { x: 0, y: 0 }, rotation: 0 },
2037
2072
  effects: {
2038
- font: { size: import_utils9.DEFAULT_FONT_SIZE },
2073
+ font: { size: import_utils10.DEFAULT_FONT_SIZE },
2039
2074
  hide: true
2040
2075
  }
2041
2076
  },
@@ -2044,7 +2079,7 @@ var gen_lib_vcc = (value) => ({
2044
2079
  text: `Power symbol creates a global label with name \\"${value}\\"`,
2045
2080
  at: { position: { x: 0, y: 0 }, rotation: 0 },
2046
2081
  effects: {
2047
- font: { size: import_utils9.DEFAULT_FONT_SIZE },
2082
+ font: { size: import_utils10.DEFAULT_FONT_SIZE },
2048
2083
  hide: true
2049
2084
  }
2050
2085
  },
@@ -2053,7 +2088,7 @@ var gen_lib_vcc = (value) => ({
2053
2088
  text: "global power",
2054
2089
  at: { position: { x: 0, y: 0 }, rotation: 0 },
2055
2090
  effects: {
2056
- font: { size: import_utils9.DEFAULT_FONT_SIZE },
2091
+ font: { size: import_utils10.DEFAULT_FONT_SIZE },
2057
2092
  hide: true
2058
2093
  }
2059
2094
  }
@@ -2091,13 +2126,13 @@ var gen_lib_vcc = (value) => ({
2091
2126
  name: {
2092
2127
  text: "~",
2093
2128
  effects: {
2094
- font: { size: import_utils9.DEFAULT_FONT_SIZE }
2129
+ font: { size: import_utils10.DEFAULT_FONT_SIZE }
2095
2130
  }
2096
2131
  },
2097
2132
  number: {
2098
2133
  text: "1",
2099
2134
  effects: {
2100
- font: { size: import_utils9.DEFAULT_FONT_SIZE }
2135
+ font: { size: import_utils10.DEFAULT_FONT_SIZE }
2101
2136
  }
2102
2137
  }
2103
2138
  }
@@ -2107,7 +2142,7 @@ var gen_lib_vcc = (value) => ({
2107
2142
  });
2108
2143
 
2109
2144
  // src/kicad/symbols/sch_symbol/gnd.ts
2110
- var import_utils10 = require("@modular-circuit/utils");
2145
+ var import_utils11 = require("@modular-circuit/utils");
2111
2146
 
2112
2147
  // src/kicad/symbols/symbol_utils.ts
2113
2148
  var gen_pwr_ref = (pwr_num) => `#PWR${pwr_num}`;
@@ -2122,14 +2157,14 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2122
2157
  on_board: true,
2123
2158
  dnp: false,
2124
2159
  fields_autoplaced: true,
2125
- uuid: (0, import_utils10.gen_uuid)(),
2160
+ uuid: (0, import_utils11.gen_uuid)(),
2126
2161
  properties: [
2127
2162
  {
2128
2163
  name: "Reference",
2129
2164
  text: gen_pwr_ref(pwr_number),
2130
2165
  at: { position: { x: position.x, y: position.y + 6.35 }, rotation: 0 },
2131
2166
  effects: {
2132
- font: { size: import_utils10.DEFAULT_FONT_SIZE },
2167
+ font: { size: import_utils11.DEFAULT_FONT_SIZE },
2133
2168
  hide: true
2134
2169
  }
2135
2170
  },
@@ -2138,7 +2173,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2138
2173
  text: `${value}`,
2139
2174
  at: { position: { x: position.x, y: position.y + 5.08 }, rotation: 0 },
2140
2175
  effects: {
2141
- font: { size: import_utils10.DEFAULT_FONT_SIZE }
2176
+ font: { size: import_utils11.DEFAULT_FONT_SIZE }
2142
2177
  }
2143
2178
  },
2144
2179
  {
@@ -2146,7 +2181,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2146
2181
  text: "",
2147
2182
  at: { position, rotation: 0 },
2148
2183
  effects: {
2149
- font: { size: import_utils10.DEFAULT_FONT_SIZE },
2184
+ font: { size: import_utils11.DEFAULT_FONT_SIZE },
2150
2185
  hide: true
2151
2186
  }
2152
2187
  },
@@ -2155,7 +2190,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2155
2190
  text: "",
2156
2191
  at: { position, rotation: 0 },
2157
2192
  effects: {
2158
- font: { size: import_utils10.DEFAULT_FONT_SIZE },
2193
+ font: { size: import_utils11.DEFAULT_FONT_SIZE },
2159
2194
  hide: true
2160
2195
  }
2161
2196
  },
@@ -2164,7 +2199,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2164
2199
  text: `Power symbol creates a global label with name \\"${value}\\" , ground`,
2165
2200
  at: { position, rotation: 0 },
2166
2201
  effects: {
2167
- font: { size: import_utils10.DEFAULT_FONT_SIZE },
2202
+ font: { size: import_utils11.DEFAULT_FONT_SIZE },
2168
2203
  hide: true
2169
2204
  }
2170
2205
  }
@@ -2178,7 +2213,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2178
2213
  });
2179
2214
 
2180
2215
  // src/kicad/symbols/sch_symbol/vcc.ts
2181
- var import_utils11 = require("@modular-circuit/utils");
2216
+ var import_utils12 = require("@modular-circuit/utils");
2182
2217
  var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2183
2218
  lib_id: `power:${value}`,
2184
2219
  at: { position, rotation: 0 },
@@ -2188,14 +2223,14 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2188
2223
  on_board: true,
2189
2224
  dnp: false,
2190
2225
  fields_autoplaced: true,
2191
- uuid: (0, import_utils11.gen_uuid)(),
2226
+ uuid: (0, import_utils12.gen_uuid)(),
2192
2227
  properties: [
2193
2228
  {
2194
2229
  name: "Reference",
2195
2230
  text: gen_pwr_ref(pwr_number),
2196
2231
  at: { position: { x: position.x, y: position.y + 3.81 }, rotation: 0 },
2197
2232
  effects: {
2198
- font: { size: import_utils11.DEFAULT_FONT_SIZE },
2233
+ font: { size: import_utils12.DEFAULT_FONT_SIZE },
2199
2234
  hide: true
2200
2235
  }
2201
2236
  },
@@ -2204,7 +2239,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2204
2239
  text: `${value}`,
2205
2240
  at: { position: { x: position.x, y: position.y - 5.08 }, rotation: 0 },
2206
2241
  effects: {
2207
- font: { size: import_utils11.DEFAULT_FONT_SIZE }
2242
+ font: { size: import_utils12.DEFAULT_FONT_SIZE }
2208
2243
  }
2209
2244
  },
2210
2245
  {
@@ -2212,7 +2247,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2212
2247
  text: "",
2213
2248
  at: { position, rotation: 0 },
2214
2249
  effects: {
2215
- font: { size: import_utils11.DEFAULT_FONT_SIZE },
2250
+ font: { size: import_utils12.DEFAULT_FONT_SIZE },
2216
2251
  hide: true
2217
2252
  }
2218
2253
  },
@@ -2221,7 +2256,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2221
2256
  text: "",
2222
2257
  at: { position, rotation: 0 },
2223
2258
  effects: {
2224
- font: { size: import_utils11.DEFAULT_FONT_SIZE },
2259
+ font: { size: import_utils12.DEFAULT_FONT_SIZE },
2225
2260
  hide: true
2226
2261
  }
2227
2262
  },
@@ -2230,7 +2265,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2230
2265
  text: `Power symbol creates a global label with name \\"${value}\\"`,
2231
2266
  at: { position, rotation: 0 },
2232
2267
  effects: {
2233
- font: { size: import_utils11.DEFAULT_FONT_SIZE },
2268
+ font: { size: import_utils12.DEFAULT_FONT_SIZE },
2234
2269
  hide: true
2235
2270
  }
2236
2271
  }
@@ -2245,7 +2280,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2245
2280
 
2246
2281
  // src/kicad/wire/gen_wire.ts
2247
2282
  var import_electronics_model7 = require("@modular-circuit/electronics-model");
2248
- var import_utils12 = require("@modular-circuit/utils");
2283
+ var import_utils13 = require("@modular-circuit/utils");
2249
2284
  var gen_wire = (start, end) => ({
2250
2285
  stroke: {
2251
2286
  type: "default",
@@ -2253,7 +2288,7 @@ var gen_wire = (start, end) => ({
2253
2288
  },
2254
2289
  start,
2255
2290
  end,
2256
- uuid: (0, import_utils12.gen_uuid)(),
2291
+ uuid: (0, import_utils13.gen_uuid)(),
2257
2292
  type: import_electronics_model7.GS_SCH_ITEM_TYPE.LINE
2258
2293
  });
2259
2294
 
@@ -2309,7 +2344,7 @@ var NetListConverter = class {
2309
2344
  },
2310
2345
  title_block: {
2311
2346
  title: name.replace(`.${import_ir4.MODULAR_CIRCUIT_SCH_EXT}`, ""),
2312
- date: (0, import_utils13.replaceAll)((/* @__PURE__ */ new Date()).toISOString().slice(0, 10), "-", "/"),
2347
+ date: (0, import_utils14.replaceAll)((/* @__PURE__ */ new Date()).toISOString().slice(0, 10), "-", "/"),
2313
2348
  rev: "1.0",
2314
2349
  comment: {
2315
2350
  1: "https://www.eda.cn",
@@ -2472,12 +2507,33 @@ var NetListConverter = class {
2472
2507
  // src/builder/graph_to_kicad/convert_graph_to_sheets.ts
2473
2508
  var import_ir5 = require("@modular-circuit/ir");
2474
2509
  var import_perc = require("@modular-circuit/perc");
2475
- var import_utils14 = require("@modular-circuit/utils");
2510
+ var import_utils15 = require("@modular-circuit/utils");
2476
2511
  async function do_convert_graph_to_kicad_project(ctx) {
2477
- const { sheets } = await collect_sub_sheets(ctx.project.dependencies, ctx.module_resolver);
2512
+ const module_ids = [];
2513
+ for (const sch of Object.values(ctx.schematics)) {
2514
+ for (const mod of sch.blocks ?? []) {
2515
+ if (!(0, import_ir5.block_is_abstract)(mod) && (0, import_ir5.block_is_associated_with_concrete_module)(mod.type)) {
2516
+ module_ids.push(mod.type);
2517
+ }
2518
+ }
2519
+ }
2520
+ const { sheets } = {
2521
+ ...await collect_sub_sheets(ctx.project.dependencies, ctx.module_resolver),
2522
+ ...await collect_sub_sheets_by_id(module_ids, ctx.module_resolver)
2523
+ };
2478
2524
  const netlist = new GraphConverter({
2479
2525
  ...ctx
2480
2526
  }).convert_to_netlist();
2527
+ for (const sch of Object.values(netlist.schematics)) {
2528
+ for (const sheet of sch.sheet_symbols) {
2529
+ const original_st_fn = sheet.sheet_file_name;
2530
+ if (!(original_st_fn in sheets)) {
2531
+ const placeholder_fn = fmt_module_place_holder_sch_name(sheet.sheet_name);
2532
+ sheet.sheet_file_name = placeholder_fn;
2533
+ sheets[placeholder_fn] = await gen_empty_sch(placeholder_fn);
2534
+ }
2535
+ }
2536
+ }
2481
2537
  const converted_sheets = await new NetListConverter({
2482
2538
  ...ctx,
2483
2539
  netlist
@@ -2487,7 +2543,7 @@ async function do_convert_graph_to_kicad_project(ctx) {
2487
2543
  if (k in sheets) {
2488
2544
  console.error(`Duplicated sheet file name found ${k}`);
2489
2545
  }
2490
- sheets[k.replace(import_ir5.MODULAR_CIRCUIT_SCH_EXT, import_utils14.KiCadSchematicFileExtension)] = sexpr_printer.schematic(v);
2546
+ sheets[k.replace(import_ir5.MODULAR_CIRCUIT_SCH_EXT, import_utils15.KiCadSchematicFileExtension)] = sexpr_printer.schematic(v);
2491
2547
  }
2492
2548
  return sheets;
2493
2549
  }
@@ -2587,7 +2643,7 @@ var kicad_prl = (prj_name) => ({
2587
2643
  });
2588
2644
 
2589
2645
  // src/kicad/project/kicad_pro.ts
2590
- var import_utils15 = require("@modular-circuit/utils");
2646
+ var import_utils17 = require("@modular-circuit/utils");
2591
2647
  var kicad_pro = (project_name) => ({
2592
2648
  board: {
2593
2649
  "3dviewports": [],
@@ -2797,7 +2853,7 @@ var kicad_pro = (project_name) => ({
2797
2853
  version: 1
2798
2854
  },
2799
2855
  net_format_name: "",
2800
- page_layout_descr_file: `${project_name}.${import_utils15.DrawingSheetFileExtension}`,
2856
+ page_layout_descr_file: `${project_name}.${import_utils17.DrawingSheetFileExtension}`,
2801
2857
  plot_directory: "",
2802
2858
  spice_current_sheet_as_root: false,
2803
2859
  spice_external_command: 'spice "%I"',
@@ -2813,7 +2869,7 @@ var kicad_pro = (project_name) => ({
2813
2869
  });
2814
2870
 
2815
2871
  // src/kicad/project/kicad_project_archive.ts
2816
- var import_utils16 = require("@modular-circuit/utils");
2872
+ var import_utils18 = require("@modular-circuit/utils");
2817
2873
  var import_jszip = __toESM(require("jszip"));
2818
2874
  var KICAD_SCH_FRAME = get_sch_default_drawing_sheet();
2819
2875
  var KiCadProjectArchive = class {
@@ -2837,7 +2893,7 @@ var KiCadProjectArchive = class {
2837
2893
  return kicad_pro(this.project_name);
2838
2894
  }
2839
2895
  get main_sch_name() {
2840
- return this.get_project_directive_file_name(import_utils16.KiCadSchematicFileExtension);
2896
+ return this.get_project_directive_file_name(import_utils18.KiCadSchematicFileExtension);
2841
2897
  }
2842
2898
  get_project_directive_file_name(ext) {
2843
2899
  return `${this.project_name}.${ext}`;
@@ -2845,15 +2901,15 @@ var KiCadProjectArchive = class {
2845
2901
  async toZip() {
2846
2902
  const zip = new import_jszip.default();
2847
2903
  zip.file(
2848
- this.get_project_directive_file_name(import_utils16.ProjectLocalSettingsFileExtension),
2904
+ this.get_project_directive_file_name(import_utils18.ProjectLocalSettingsFileExtension),
2849
2905
  JSON.stringify(this.kicad_prl)
2850
2906
  );
2851
2907
  zip.file(
2852
- this.get_project_directive_file_name(import_utils16.ProjectFileExtension),
2908
+ this.get_project_directive_file_name(import_utils18.ProjectFileExtension),
2853
2909
  JSON.stringify(this.kicad_pro)
2854
2910
  );
2855
2911
  zip.file(
2856
- this.get_project_directive_file_name(import_utils16.DrawingSheetFileExtension),
2912
+ this.get_project_directive_file_name(import_utils18.DrawingSheetFileExtension),
2857
2913
  this.sch_frame
2858
2914
  );
2859
2915
  for (const schematic of this.designBlock.schematics) {
@@ -2909,9 +2965,9 @@ var KiCadProjectArchive = class {
2909
2965
  };
2910
2966
 
2911
2967
  // src/builder/graph_to_kicad/convert_graph_to_design_block.ts
2912
- var import_utils17 = require("@modular-circuit/utils");
2968
+ var import_utils19 = require("@modular-circuit/utils");
2913
2969
  async function convert_graph_to_design_block(ctx) {
2914
- const root = ctx.project.main.replace(import_utils17.ModularCircuitFileExtension, import_utils17.KiCadSchematicFileExtension);
2970
+ const root = ctx.project.main.replace(import_utils19.ModularCircuitFileExtension, import_utils19.KiCadSchematicFileExtension);
2915
2971
  const sheets = await convert_graph_to_sheets(ctx);
2916
2972
  if (!(root in sheets)) {
2917
2973
  throw new Error(`Cannot find root sch file ${root}`);
@@ -2962,6 +3018,9 @@ async function convert_graph_to_kicad_project(ctx) {
2962
3018
  convert_graph_to_kicad_project,
2963
3019
  convert_graph_to_sheets,
2964
3020
  filterNullOrUndefined,
3021
+ fmt_module_place_holder_sch_name,
3022
+ fmt_to_valid_filename,
3023
+ gen_empty_sch,
2965
3024
  gen_lib_gnd,
2966
3025
  gen_lib_vcc,
2967
3026
  gen_sch_gnd,
package/dist/index.mjs CHANGED
@@ -62,7 +62,7 @@ import { READABLE_ELECTRICAL_PINTYPE } from "@modular-circuit/electronics-model"
62
62
  import {
63
63
  SHAPE_T
64
64
  } from "@modular-circuit/ir";
65
- import { gen_uuid } from "@modular-circuit/utils";
65
+ import { gen_uuid as gen_uuid2 } from "@modular-circuit/utils";
66
66
 
67
67
  // src/utils/collect_sub_sheets.ts
68
68
  import { KiCadSchematicFileExtension, parse_module_name, remove_filename_path_prefix, unzipFile } from "@modular-circuit/utils";
@@ -230,6 +230,38 @@ async function collect_sub_sheets_by_id(module_ids, module_resolver) {
230
230
  return { sheets, module_main_sheet, modules, design_blocks };
231
231
  }
232
232
 
233
+ // src/utils/fmt_to_valid_filename.ts
234
+ var fmt_to_valid_filename = (name) => {
235
+ return name.replace(/[\\/:*?"<>|]/g, "_").trim();
236
+ };
237
+ var fmt_module_place_holder_sch_name = (mod_name) => `placeholder_${fmt_to_valid_filename(mod_name)}.kicad_sch`;
238
+
239
+ // src/utils/gen_empty_sch.ts
240
+ import { gen_uuid } from "@modular-circuit/utils";
241
+ var gen_empty_sch = async (name) => {
242
+ const printer = new SCHEMATIC_PRINTER();
243
+ const schematics = {};
244
+ const filename = `${name}`;
245
+ schematics[filename] = {
246
+ uuid: gen_uuid(),
247
+ filename,
248
+ sheet_symbols: [],
249
+ powers: [],
250
+ hiera_labels: []
251
+ };
252
+ const EMPTY_SCH = await new NetListConverter({
253
+ netlist: {
254
+ nets: [],
255
+ schematics
256
+ },
257
+ project: {
258
+ author: "eda.cn",
259
+ name
260
+ }
261
+ }).convert_to_kicad();
262
+ return printer.schematic(EMPTY_SCH[filename]);
263
+ };
264
+
233
265
  // src/converter/kicad_sexpr/eeschema/printer.ts
234
266
  var SCOPE_START = "\n ";
235
267
  var SPACE = " ";
@@ -267,7 +299,7 @@ var SCHEMATIC_PRINTER = class {
267
299
  (version ${SCH_VERSION})
268
300
  (generator "${GENERATOR_NAME}")
269
301
  (generator_version "${GENERATOR_VERSION}")
270
- (uuid "${gen_uuid()}")
302
+ (uuid "${gen_uuid2()}")
271
303
  (paper "${PAPER}")
272
304
  ${lib_symbols}
273
305
  ${wires}
@@ -1745,7 +1777,7 @@ import {
1745
1777
  import { replaceAll } from "@modular-circuit/utils";
1746
1778
 
1747
1779
  // src/kicad/label/net_label.ts
1748
- import { DEFAULT_FONT_SIZE, gen_uuid as gen_uuid2 } from "@modular-circuit/utils";
1780
+ import { DEFAULT_FONT_SIZE, gen_uuid as gen_uuid3 } from "@modular-circuit/utils";
1749
1781
  var gen_net_label = (name, at, justify) => ({
1750
1782
  label_type: "label",
1751
1783
  text: name,
@@ -1756,11 +1788,11 @@ var gen_net_label = (name, at, justify) => ({
1756
1788
  font: { size: DEFAULT_FONT_SIZE },
1757
1789
  justify
1758
1790
  },
1759
- uuid: gen_uuid2()
1791
+ uuid: gen_uuid3()
1760
1792
  });
1761
1793
 
1762
1794
  // src/kicad/label/sheet_pin.ts
1763
- import { DEFAULT_FONT_SIZE as DEFAULT_FONT_SIZE2, gen_uuid as gen_uuid3 } from "@modular-circuit/utils";
1795
+ import { DEFAULT_FONT_SIZE as DEFAULT_FONT_SIZE2, gen_uuid as gen_uuid4 } from "@modular-circuit/utils";
1764
1796
  var gen_base_hierarchical_label = (text, at, justify, rotation, shape) => ({
1765
1797
  shape,
1766
1798
  effects: {
@@ -1769,7 +1801,7 @@ var gen_base_hierarchical_label = (text, at, justify, rotation, shape) => ({
1769
1801
  },
1770
1802
  text,
1771
1803
  at: { position: at, rotation },
1772
- uuid: gen_uuid3()
1804
+ uuid: gen_uuid4()
1773
1805
  });
1774
1806
  var gen_sheet_pin = (text, at, justify, rotation, shape) => ({
1775
1807
  label_type: "hierarchical_label",
@@ -1778,7 +1810,7 @@ var gen_sheet_pin = (text, at, justify, rotation, shape) => ({
1778
1810
  var gen_hierarchical_label = gen_sheet_pin;
1779
1811
 
1780
1812
  // src/kicad/sheet/sheet.ts
1781
- import { DEFAULT_FONT_SIZE as DEFAULT_FONT_SIZE3, gen_uuid as gen_uuid4 } from "@modular-circuit/utils";
1813
+ import { DEFAULT_FONT_SIZE as DEFAULT_FONT_SIZE3, gen_uuid as gen_uuid5 } from "@modular-circuit/utils";
1782
1814
  var TEXT_MARGIN = 0.7116;
1783
1815
  var gen_sch_sheet = (rect, pins, fields) => ({
1784
1816
  // NOTE no rotation in the sheet
@@ -1819,7 +1851,7 @@ var gen_sch_sheet = (rect, pins, fields) => ({
1819
1851
  fill: {
1820
1852
  color: { r: 0, g: 0, b: 0, a: 0 }
1821
1853
  },
1822
- uuid: gen_uuid4()
1854
+ uuid: gen_uuid5()
1823
1855
  });
1824
1856
 
1825
1857
  // src/kicad/symbols/lib_symbol/gnd.ts
@@ -2067,7 +2099,7 @@ var gen_lib_vcc = (value) => ({
2067
2099
  });
2068
2100
 
2069
2101
  // src/kicad/symbols/sch_symbol/gnd.ts
2070
- import { DEFAULT_FONT_SIZE as DEFAULT_FONT_SIZE6, gen_uuid as gen_uuid5 } from "@modular-circuit/utils";
2102
+ import { DEFAULT_FONT_SIZE as DEFAULT_FONT_SIZE6, gen_uuid as gen_uuid6 } from "@modular-circuit/utils";
2071
2103
 
2072
2104
  // src/kicad/symbols/symbol_utils.ts
2073
2105
  var gen_pwr_ref = (pwr_num) => `#PWR${pwr_num}`;
@@ -2082,7 +2114,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2082
2114
  on_board: true,
2083
2115
  dnp: false,
2084
2116
  fields_autoplaced: true,
2085
- uuid: gen_uuid5(),
2117
+ uuid: gen_uuid6(),
2086
2118
  properties: [
2087
2119
  {
2088
2120
  name: "Reference",
@@ -2138,7 +2170,7 @@ var gen_sch_gnd = (value, pwr_number, port_id, position) => ({
2138
2170
  });
2139
2171
 
2140
2172
  // src/kicad/symbols/sch_symbol/vcc.ts
2141
- import { DEFAULT_FONT_SIZE as DEFAULT_FONT_SIZE7, gen_uuid as gen_uuid6 } from "@modular-circuit/utils";
2173
+ import { DEFAULT_FONT_SIZE as DEFAULT_FONT_SIZE7, gen_uuid as gen_uuid7 } from "@modular-circuit/utils";
2142
2174
  var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2143
2175
  lib_id: `power:${value}`,
2144
2176
  at: { position, rotation: 0 },
@@ -2148,7 +2180,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2148
2180
  on_board: true,
2149
2181
  dnp: false,
2150
2182
  fields_autoplaced: true,
2151
- uuid: gen_uuid6(),
2183
+ uuid: gen_uuid7(),
2152
2184
  properties: [
2153
2185
  {
2154
2186
  name: "Reference",
@@ -2205,7 +2237,7 @@ var gen_sch_vcc = (value, pwr_number, port_id, position) => ({
2205
2237
 
2206
2238
  // src/kicad/wire/gen_wire.ts
2207
2239
  import { GS_SCH_ITEM_TYPE } from "@modular-circuit/electronics-model";
2208
- import { gen_uuid as gen_uuid7 } from "@modular-circuit/utils";
2240
+ import { gen_uuid as gen_uuid8 } from "@modular-circuit/utils";
2209
2241
  var gen_wire = (start, end) => ({
2210
2242
  stroke: {
2211
2243
  type: "default",
@@ -2213,7 +2245,7 @@ var gen_wire = (start, end) => ({
2213
2245
  },
2214
2246
  start,
2215
2247
  end,
2216
- uuid: gen_uuid7(),
2248
+ uuid: gen_uuid8(),
2217
2249
  type: GS_SCH_ITEM_TYPE.LINE
2218
2250
  });
2219
2251
 
@@ -2430,14 +2462,39 @@ var NetListConverter = class {
2430
2462
  };
2431
2463
 
2432
2464
  // src/builder/graph_to_kicad/convert_graph_to_sheets.ts
2433
- import { MODULAR_CIRCUIT_SCH_EXT as MODULAR_CIRCUIT_SCH_EXT2 } from "@modular-circuit/ir";
2465
+ import {
2466
+ block_is_abstract,
2467
+ block_is_associated_with_concrete_module,
2468
+ MODULAR_CIRCUIT_SCH_EXT as MODULAR_CIRCUIT_SCH_EXT2
2469
+ } from "@modular-circuit/ir";
2434
2470
  import { build_connection_graph } from "@modular-circuit/perc";
2435
2471
  import { KiCadSchematicFileExtension as KiCadSchematicFileExtension3 } from "@modular-circuit/utils";
2436
2472
  async function do_convert_graph_to_kicad_project(ctx) {
2437
- const { sheets } = await collect_sub_sheets(ctx.project.dependencies, ctx.module_resolver);
2473
+ const module_ids = [];
2474
+ for (const sch of Object.values(ctx.schematics)) {
2475
+ for (const mod of sch.blocks ?? []) {
2476
+ if (!block_is_abstract(mod) && block_is_associated_with_concrete_module(mod.type)) {
2477
+ module_ids.push(mod.type);
2478
+ }
2479
+ }
2480
+ }
2481
+ const { sheets } = {
2482
+ ...await collect_sub_sheets(ctx.project.dependencies, ctx.module_resolver),
2483
+ ...await collect_sub_sheets_by_id(module_ids, ctx.module_resolver)
2484
+ };
2438
2485
  const netlist = new GraphConverter({
2439
2486
  ...ctx
2440
2487
  }).convert_to_netlist();
2488
+ for (const sch of Object.values(netlist.schematics)) {
2489
+ for (const sheet of sch.sheet_symbols) {
2490
+ const original_st_fn = sheet.sheet_file_name;
2491
+ if (!(original_st_fn in sheets)) {
2492
+ const placeholder_fn = fmt_module_place_holder_sch_name(sheet.sheet_name);
2493
+ sheet.sheet_file_name = placeholder_fn;
2494
+ sheets[placeholder_fn] = await gen_empty_sch(placeholder_fn);
2495
+ }
2496
+ }
2497
+ }
2441
2498
  const converted_sheets = await new NetListConverter({
2442
2499
  ...ctx,
2443
2500
  netlist
@@ -2926,6 +2983,9 @@ export {
2926
2983
  convert_graph_to_kicad_project,
2927
2984
  convert_graph_to_sheets,
2928
2985
  filterNullOrUndefined,
2986
+ fmt_module_place_holder_sch_name,
2987
+ fmt_to_valid_filename,
2988
+ gen_empty_sch,
2929
2989
  gen_lib_gnd,
2930
2990
  gen_lib_vcc,
2931
2991
  gen_sch_gnd,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modular-circuit/transpiler",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "Intermediate representation of the modular circuit",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -29,9 +29,9 @@
29
29
  "elkjs": "^0.11.0",
30
30
  "js-base64": "^3.7.7",
31
31
  "jszip": "^3.10.1",
32
- "@modular-circuit/ir": "0.1.4",
32
+ "@modular-circuit/ir": "0.1.5",
33
33
  "@modular-circuit/electronics-model": "0.1.1",
34
- "@modular-circuit/perc": "0.1.4",
34
+ "@modular-circuit/perc": "0.1.5",
35
35
  "@modular-circuit/utils": "0.1.5"
36
36
  },
37
37
  "scripts": {