circuit-to-svg 0.0.109 → 0.0.110

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
@@ -337,7 +337,8 @@ function createSvgObjectsFromPcbSilkscreenText(pcbSilkscreenText, transform) {
337
337
  text,
338
338
  font_size = 1,
339
339
  layer = "top",
340
- ccw_rotation = 0
340
+ ccw_rotation = 0,
341
+ stroke_width = 0
341
342
  } = pcbSilkscreenText;
342
343
  if (!anchor_position || typeof anchor_position.x !== "number" || typeof anchor_position.y !== "number") {
343
344
  console.error("Invalid anchor_position:", anchor_position);
@@ -348,10 +349,10 @@ function createSvgObjectsFromPcbSilkscreenText(pcbSilkscreenText, transform) {
348
349
  anchor_position.y
349
350
  ]);
350
351
  const transformedFontSize = font_size * Math.abs(transform.a);
352
+ const transformedStrokeWidth = stroke_width * Math.abs(transform.a);
351
353
  const textTransform = compose2(
352
354
  translate2(transformedX, transformedY),
353
355
  rotate2(ccw_rotation * Math.PI / 180)
354
- // Convert degrees to radians
355
356
  );
356
357
  const svgObject = {
357
358
  name: "text",
@@ -366,7 +367,9 @@ function createSvgObjectsFromPcbSilkscreenText(pcbSilkscreenText, transform) {
366
367
  "dominant-baseline": "central",
367
368
  transform: matrixToString2(textTransform),
368
369
  class: `pcb-silkscreen-text pcb-silkscreen-${layer}`,
369
- "data-pcb-silkscreen-text-id": pcbSilkscreenText.pcb_component_id
370
+ "data-pcb-silkscreen-text-id": pcbSilkscreenText.pcb_component_id,
371
+ stroke: "#f2eda1",
372
+ "stroke-width": transformedStrokeWidth.toString()
370
373
  },
371
374
  children: [
372
375
  {
@@ -392,7 +395,8 @@ function createSvgObjectsFromPcbSilkscreenRect(pcbSilkscreenRect, transform) {
392
395
  width,
393
396
  height,
394
397
  layer = "top",
395
- pcb_silkscreen_rect_id
398
+ pcb_silkscreen_rect_id,
399
+ stroke_width = 1
396
400
  } = pcbSilkscreenRect;
397
401
  if (!center || typeof center.x !== "number" || typeof center.y !== "number" || typeof width !== "number" || typeof height !== "number") {
398
402
  console.error("Invalid rectangle data:", { center, width, height });
@@ -404,6 +408,7 @@ function createSvgObjectsFromPcbSilkscreenRect(pcbSilkscreenRect, transform) {
404
408
  ]);
405
409
  const transformedWidth = width * Math.abs(transform.a);
406
410
  const transformedHeight = height * Math.abs(transform.d);
411
+ const transformedStrokeWidth = stroke_width * Math.abs(transform.a);
407
412
  const svgObject = {
408
413
  name: "rect",
409
414
  type: "element",
@@ -415,7 +420,7 @@ function createSvgObjectsFromPcbSilkscreenRect(pcbSilkscreenRect, transform) {
415
420
  class: `pcb-silkscreen-rect pcb-silkscreen-${layer}`,
416
421
  fill: "none",
417
422
  stroke: "#f2eda1",
418
- "stroke-width": "1",
423
+ "stroke-width": transformedStrokeWidth.toString(),
419
424
  "data-pcb-silkscreen-rect-id": pcb_silkscreen_rect_id
420
425
  },
421
426
  value: "",
@@ -433,7 +438,8 @@ function createSvgObjectsFromPcbSilkscreenCircle(pcbSilkscreenCircle, transform)
433
438
  center,
434
439
  radius,
435
440
  layer = "top",
436
- pcb_silkscreen_circle_id
441
+ pcb_silkscreen_circle_id,
442
+ stroke_width = 1
437
443
  } = pcbSilkscreenCircle;
438
444
  if (!center || typeof center.x !== "number" || typeof center.y !== "number" || typeof radius !== "number") {
439
445
  console.error("Invalid PCB Silkscreen Circle data:", { center, radius });
@@ -444,6 +450,7 @@ function createSvgObjectsFromPcbSilkscreenCircle(pcbSilkscreenCircle, transform)
444
450
  center.y
445
451
  ]);
446
452
  const transformedRadius = radius * Math.abs(transform.a);
453
+ const transformedStrokeWidth = stroke_width * Math.abs(transform.a);
447
454
  const svgObject = {
448
455
  name: "circle",
449
456
  type: "element",
@@ -453,7 +460,7 @@ function createSvgObjectsFromPcbSilkscreenCircle(pcbSilkscreenCircle, transform)
453
460
  r: transformedRadius.toString(),
454
461
  class: `pcb-silkscreen-circle pcb-silkscreen-${layer}`,
455
462
  stroke: "#f2eda1",
456
- "stroke-width": "1",
463
+ "stroke-width": transformedStrokeWidth.toString(),
457
464
  "data-pcb-silkscreen-circle-id": pcb_silkscreen_circle_id
458
465
  },
459
466
  value: "",
@@ -1899,7 +1906,7 @@ function getSchematicBoundsFromCircuitJson(soup, padding = 0.5) {
1899
1906
  const portSize = 0.2;
1900
1907
  for (const item of soup) {
1901
1908
  if (item.type === "schematic_component") {
1902
- updateBounds(item.center, item.size, item.rotation || 0);
1909
+ updateBounds(item.center, item.size, 0);
1903
1910
  } else if (item.type === "schematic_port") {
1904
1911
  updateBounds(item.center, { width: portSize, height: portSize }, 0);
1905
1912
  } else if (item.type === "schematic_debug_object") {