@modular-circuit/transpiler 0.1.1 → 0.1.3

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
@@ -462,11 +462,20 @@ declare class StringFormatter {
462
462
  append_quote(str: string): void;
463
463
  }
464
464
 
465
+ interface NamedContent {
466
+ filename: string;
467
+ content: string;
468
+ }
469
+ interface DesignBlock {
470
+ main_sch: string;
471
+ sheets: NamedContent[];
472
+ pcb?: NamedContent;
473
+ }
465
474
  declare function collect_sub_sheets_by_id(module_ids: string[], module_resolver: ModuleResolver): Promise<{
466
475
  sheets: Record<string, string>;
467
476
  module_main_sheet: Record<string, string>;
468
477
  modules: Record<string, ModuleCircuit>;
469
- boards: Record<string, string>;
478
+ design_blocks: DesignBlock[];
470
479
  }>;
471
480
 
472
481
  declare const gen_lib_gnd: (value: string) => LIB_SYMBOL;
@@ -477,4 +486,4 @@ declare const gen_sch_gnd: (value: string, pwr_number: number, port_id: string,
477
486
 
478
487
  declare const gen_sch_vcc: (value: string, pwr_number: number, port_id: string, position: VECTOR2) => SCH_SYMBOL;
479
488
 
480
- export { AllegroNetlistFileExtension, AltiumFootprintLibPathExtension, ArchiveFileExtension, BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, CadstarFootprintLibPathExtension, CadstarNetlistFileExtension, CadstarPartsLibraryFileExtension, CadstarPcbFileExtension, CadstarSchematicFileExtension, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, CsvFileExtension, DEFAULT_PAPER_SIZE, DatabaseLibraryFileExtension, DesignRulesFileExtension, DrawingSheetFileExtension, DrillFileExtension, EagleFootprintLibPathExtension, EaglePcbFileExtension, EquFileExtension, FONT_SIZE, FootprintAssignmentFileExtension, FootprintPlaceFileExtension, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GedaPcbFootprintLibFileExtension, GerberFileExtension, GerberFileExtensionsRegex, GerberJobFileExtension, GltfBinaryFileExtension, GraphConverter, HTTPLibraryFileExtension, HotkeyFileExtension, HtmlFileExtension, Ipc2581FileExtension, IpcD356FileExtension, JpegFileExtension, JsonFileExtension, KICAD_SCH_FRAME, KiCadFootprintFileExtension, KiCadFootprintLibPathExtension, KiCadPcbFileExtension, KiCadProjectArchive, KiCadSchematicFileExtension, KiCadSymbolLibFileExtension, type LabelPadding, Layout, LegacyFootprintLibPathExtension, LegacyPcbFileExtension, LegacyProjectFileExtension, LegacySchematicFileExtension, LegacySymbolDocumentFileExtension, LegacySymbolLibFileExtension, MacrosFileExtension, MarkdownFileExtension, NetListConverter, NetlistFileExtension, type NetlistProject, type NetlistToKicadContext, OrCadPcb2NetlistFileExtension, PAPER, PAPER_SIZE, PdfFileExtension, PngFileExtension, ProjectFileExtension, ProjectLocalSettingsFileExtension, ReportFileExtension, SCHEMATIC_PRINTER, SCH_VERSION, SVGFileExtension, SchematicSymbolFileExtension, type Size, SpecctraDsnFileExtension, SpecctraSessionFileExtension, SpiceFileExtension, StepFileAbrvExtension, StepFileExtension, StringFormatter, TextFileExtension, VrmlFileExtension, WIRE_PADDING, WorkbookFileExtension, XmlFileExtension, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_kicad_project, filterNullOrUndefined, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
489
+ export { AllegroNetlistFileExtension, AltiumFootprintLibPathExtension, ArchiveFileExtension, BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, CadstarFootprintLibPathExtension, CadstarNetlistFileExtension, CadstarPartsLibraryFileExtension, CadstarPcbFileExtension, CadstarSchematicFileExtension, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, CsvFileExtension, DEFAULT_PAPER_SIZE, DatabaseLibraryFileExtension, type DesignBlock, DesignRulesFileExtension, DrawingSheetFileExtension, DrillFileExtension, EagleFootprintLibPathExtension, EaglePcbFileExtension, EquFileExtension, FONT_SIZE, FootprintAssignmentFileExtension, FootprintPlaceFileExtension, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GedaPcbFootprintLibFileExtension, GerberFileExtension, GerberFileExtensionsRegex, GerberJobFileExtension, GltfBinaryFileExtension, GraphConverter, HTTPLibraryFileExtension, HotkeyFileExtension, HtmlFileExtension, Ipc2581FileExtension, IpcD356FileExtension, JpegFileExtension, JsonFileExtension, KICAD_SCH_FRAME, KiCadFootprintFileExtension, KiCadFootprintLibPathExtension, KiCadPcbFileExtension, KiCadProjectArchive, KiCadSchematicFileExtension, KiCadSymbolLibFileExtension, type LabelPadding, Layout, LegacyFootprintLibPathExtension, LegacyPcbFileExtension, LegacyProjectFileExtension, LegacySchematicFileExtension, LegacySymbolDocumentFileExtension, LegacySymbolLibFileExtension, MacrosFileExtension, MarkdownFileExtension, type NamedContent, NetListConverter, NetlistFileExtension, type NetlistProject, type NetlistToKicadContext, OrCadPcb2NetlistFileExtension, PAPER, PAPER_SIZE, PdfFileExtension, PngFileExtension, ProjectFileExtension, ProjectLocalSettingsFileExtension, ReportFileExtension, SCHEMATIC_PRINTER, SCH_VERSION, SVGFileExtension, SchematicSymbolFileExtension, type Size, SpecctraDsnFileExtension, SpecctraSessionFileExtension, SpiceFileExtension, StepFileAbrvExtension, StepFileExtension, StringFormatter, TextFileExtension, VrmlFileExtension, WIRE_PADDING, WorkbookFileExtension, XmlFileExtension, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_kicad_project, filterNullOrUndefined, 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
@@ -462,11 +462,20 @@ declare class StringFormatter {
462
462
  append_quote(str: string): void;
463
463
  }
464
464
 
465
+ interface NamedContent {
466
+ filename: string;
467
+ content: string;
468
+ }
469
+ interface DesignBlock {
470
+ main_sch: string;
471
+ sheets: NamedContent[];
472
+ pcb?: NamedContent;
473
+ }
465
474
  declare function collect_sub_sheets_by_id(module_ids: string[], module_resolver: ModuleResolver): Promise<{
466
475
  sheets: Record<string, string>;
467
476
  module_main_sheet: Record<string, string>;
468
477
  modules: Record<string, ModuleCircuit>;
469
- boards: Record<string, string>;
478
+ design_blocks: DesignBlock[];
470
479
  }>;
471
480
 
472
481
  declare const gen_lib_gnd: (value: string) => LIB_SYMBOL;
@@ -477,4 +486,4 @@ declare const gen_sch_gnd: (value: string, pwr_number: number, port_id: string,
477
486
 
478
487
  declare const gen_sch_vcc: (value: string, pwr_number: number, port_id: string, position: VECTOR2) => SCH_SYMBOL;
479
488
 
480
- export { AllegroNetlistFileExtension, AltiumFootprintLibPathExtension, ArchiveFileExtension, BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, CadstarFootprintLibPathExtension, CadstarNetlistFileExtension, CadstarPartsLibraryFileExtension, CadstarPcbFileExtension, CadstarSchematicFileExtension, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, CsvFileExtension, DEFAULT_PAPER_SIZE, DatabaseLibraryFileExtension, DesignRulesFileExtension, DrawingSheetFileExtension, DrillFileExtension, EagleFootprintLibPathExtension, EaglePcbFileExtension, EquFileExtension, FONT_SIZE, FootprintAssignmentFileExtension, FootprintPlaceFileExtension, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GedaPcbFootprintLibFileExtension, GerberFileExtension, GerberFileExtensionsRegex, GerberJobFileExtension, GltfBinaryFileExtension, GraphConverter, HTTPLibraryFileExtension, HotkeyFileExtension, HtmlFileExtension, Ipc2581FileExtension, IpcD356FileExtension, JpegFileExtension, JsonFileExtension, KICAD_SCH_FRAME, KiCadFootprintFileExtension, KiCadFootprintLibPathExtension, KiCadPcbFileExtension, KiCadProjectArchive, KiCadSchematicFileExtension, KiCadSymbolLibFileExtension, type LabelPadding, Layout, LegacyFootprintLibPathExtension, LegacyPcbFileExtension, LegacyProjectFileExtension, LegacySchematicFileExtension, LegacySymbolDocumentFileExtension, LegacySymbolLibFileExtension, MacrosFileExtension, MarkdownFileExtension, NetListConverter, NetlistFileExtension, type NetlistProject, type NetlistToKicadContext, OrCadPcb2NetlistFileExtension, PAPER, PAPER_SIZE, PdfFileExtension, PngFileExtension, ProjectFileExtension, ProjectLocalSettingsFileExtension, ReportFileExtension, SCHEMATIC_PRINTER, SCH_VERSION, SVGFileExtension, SchematicSymbolFileExtension, type Size, SpecctraDsnFileExtension, SpecctraSessionFileExtension, SpiceFileExtension, StepFileAbrvExtension, StepFileExtension, StringFormatter, TextFileExtension, VrmlFileExtension, WIRE_PADDING, WorkbookFileExtension, XmlFileExtension, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_kicad_project, filterNullOrUndefined, gen_lib_gnd, gen_lib_vcc, gen_sch_gnd, gen_sch_vcc, get_power_pos, get_sch_default_drawing_sheet, tab };
489
+ export { AllegroNetlistFileExtension, AltiumFootprintLibPathExtension, ArchiveFileExtension, BLOCK_PIN_GAP, BLOCK_PIN_TB_MARGIN, type BlockLabelPadding, type BlockSize, type BoxGeometry, CadstarFootprintLibPathExtension, CadstarNetlistFileExtension, CadstarPartsLibraryFileExtension, CadstarPcbFileExtension, CadstarSchematicFileExtension, type ConnectionGraphMap, type ConvertGraphToKiCadContext, type ConvertGraphToKiCadInput, CsvFileExtension, DEFAULT_PAPER_SIZE, DatabaseLibraryFileExtension, type DesignBlock, DesignRulesFileExtension, DrawingSheetFileExtension, DrillFileExtension, EagleFootprintLibPathExtension, EaglePcbFileExtension, EquFileExtension, FONT_SIZE, FootprintAssignmentFileExtension, FootprintPlaceFileExtension, GENERATOR_NAME, GENERATOR_VERSION, GRID_SIZE, GedaPcbFootprintLibFileExtension, GerberFileExtension, GerberFileExtensionsRegex, GerberJobFileExtension, GltfBinaryFileExtension, GraphConverter, HTTPLibraryFileExtension, HotkeyFileExtension, HtmlFileExtension, Ipc2581FileExtension, IpcD356FileExtension, JpegFileExtension, JsonFileExtension, KICAD_SCH_FRAME, KiCadFootprintFileExtension, KiCadFootprintLibPathExtension, KiCadPcbFileExtension, KiCadProjectArchive, KiCadSchematicFileExtension, KiCadSymbolLibFileExtension, type LabelPadding, Layout, LegacyFootprintLibPathExtension, LegacyPcbFileExtension, LegacyProjectFileExtension, LegacySchematicFileExtension, LegacySymbolDocumentFileExtension, LegacySymbolLibFileExtension, MacrosFileExtension, MarkdownFileExtension, type NamedContent, NetListConverter, NetlistFileExtension, type NetlistProject, type NetlistToKicadContext, OrCadPcb2NetlistFileExtension, PAPER, PAPER_SIZE, PdfFileExtension, PngFileExtension, ProjectFileExtension, ProjectLocalSettingsFileExtension, ReportFileExtension, SCHEMATIC_PRINTER, SCH_VERSION, SVGFileExtension, SchematicSymbolFileExtension, type Size, SpecctraDsnFileExtension, SpecctraSessionFileExtension, SpiceFileExtension, StepFileAbrvExtension, StepFileExtension, StringFormatter, TextFileExtension, VrmlFileExtension, WIRE_PADDING, WorkbookFileExtension, XmlFileExtension, collect_sub_sheets, collect_sub_sheets_by_id, convert_graph_to_kicad_project, filterNullOrUndefined, 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
@@ -286,9 +286,9 @@ var StringFormatter = class {
286
286
  var import_utils2 = require("@modular-circuit/utils");
287
287
  async function collect_sub_sheets_by_id(module_ids, module_resolver) {
288
288
  const sheets = {};
289
- const boards = {};
290
289
  const module_main_sheet = {};
291
290
  const modules = {};
291
+ const design_blocks = [];
292
292
  for (const id of module_ids) {
293
293
  const zip_archive_url = await module_resolver.get_module_archive_by_id(id);
294
294
  const module_circuit = await module_resolver.get_module_circuit_by_id(id);
@@ -307,27 +307,28 @@ async function collect_sub_sheets_by_id(module_ids, module_resolver) {
307
307
  const k = (0, import_utils2.fmt_module_name)(module_circuit);
308
308
  module_main_sheet[k] = module_circuit.main;
309
309
  modules[k] = module_circuit;
310
+ const design_block = {
311
+ main_sch: module_circuit.main,
312
+ sheets: []
313
+ };
310
314
  const zip_archive = await fetch(zip_archive_url).then((res) => res.arrayBuffer());
311
315
  const files = await (0, import_utils2.unzipFile)(zip_archive);
312
316
  for (const [name, content] of Object.entries(files)) {
313
317
  if (name.endsWith(import_utils2.KICAD_SHC_FILE_EXT)) {
314
- const fileName = (0, import_utils2.remove_filename_path_prefix)(name);
315
- if (fileName in sheets) {
316
- console.error(`Duplicate sheet name: ${fileName}`);
318
+ const filename = (0, import_utils2.remove_filename_path_prefix)(name);
319
+ if (filename in sheets) {
320
+ console.error(`Duplicate sheet name: ${filename}`);
317
321
  continue;
318
322
  }
319
- sheets[fileName] = content;
323
+ sheets[filename] = content;
324
+ design_block.sheets.push({ filename, content });
320
325
  } else if (name.endsWith(import_utils2.KICAD_PCB_FILE_EXT)) {
321
- const fileName = (0, import_utils2.remove_filename_path_prefix)(name);
322
- if (fileName in boards) {
323
- console.error(`Duplicate module name: ${fileName}`);
324
- continue;
325
- }
326
- boards[fileName] = content;
326
+ const filename = (0, import_utils2.remove_filename_path_prefix)(name);
327
+ design_block.pcb = { filename, content };
327
328
  }
328
329
  }
329
330
  }
330
- return { sheets, module_main_sheet, modules, boards };
331
+ return { sheets, module_main_sheet, modules, design_blocks };
331
332
  }
332
333
 
333
334
  // src/converter/kicad_sexpr/eeschema/printer.ts
package/dist/index.mjs CHANGED
@@ -173,9 +173,9 @@ import {
173
173
  } from "@modular-circuit/utils";
174
174
  async function collect_sub_sheets_by_id(module_ids, module_resolver) {
175
175
  const sheets = {};
176
- const boards = {};
177
176
  const module_main_sheet = {};
178
177
  const modules = {};
178
+ const design_blocks = [];
179
179
  for (const id of module_ids) {
180
180
  const zip_archive_url = await module_resolver.get_module_archive_by_id(id);
181
181
  const module_circuit = await module_resolver.get_module_circuit_by_id(id);
@@ -194,27 +194,28 @@ async function collect_sub_sheets_by_id(module_ids, module_resolver) {
194
194
  const k = fmt_module_name(module_circuit);
195
195
  module_main_sheet[k] = module_circuit.main;
196
196
  modules[k] = module_circuit;
197
+ const design_block = {
198
+ main_sch: module_circuit.main,
199
+ sheets: []
200
+ };
197
201
  const zip_archive = await fetch(zip_archive_url).then((res) => res.arrayBuffer());
198
202
  const files = await unzipFile2(zip_archive);
199
203
  for (const [name, content] of Object.entries(files)) {
200
204
  if (name.endsWith(KICAD_SHC_FILE_EXT2)) {
201
- const fileName = remove_filename_path_prefix2(name);
202
- if (fileName in sheets) {
203
- console.error(`Duplicate sheet name: ${fileName}`);
205
+ const filename = remove_filename_path_prefix2(name);
206
+ if (filename in sheets) {
207
+ console.error(`Duplicate sheet name: ${filename}`);
204
208
  continue;
205
209
  }
206
- sheets[fileName] = content;
210
+ sheets[filename] = content;
211
+ design_block.sheets.push({ filename, content });
207
212
  } else if (name.endsWith(KICAD_PCB_FILE_EXT)) {
208
- const fileName = remove_filename_path_prefix2(name);
209
- if (fileName in boards) {
210
- console.error(`Duplicate module name: ${fileName}`);
211
- continue;
212
- }
213
- boards[fileName] = content;
213
+ const filename = remove_filename_path_prefix2(name);
214
+ design_block.pcb = { filename, content };
214
215
  }
215
216
  }
216
217
  }
217
- return { sheets, module_main_sheet, modules, boards };
218
+ return { sheets, module_main_sheet, modules, design_blocks };
218
219
  }
219
220
 
220
221
  // src/converter/kicad_sexpr/eeschema/printer.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modular-circuit/transpiler",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Intermediate representation of the modular circuit",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -31,8 +31,8 @@
31
31
  "js-base64": "^3.7.7",
32
32
  "jszip": "^3.10.1",
33
33
  "@modular-circuit/electronics-model": "0.1.0",
34
- "@modular-circuit/perc": "0.1.1",
35
34
  "@modular-circuit/ir": "0.1.1",
35
+ "@modular-circuit/perc": "0.1.1",
36
36
  "@modular-circuit/utils": "0.1.1"
37
37
  },
38
38
  "scripts": {