circuit-to-canvas 0.0.50 → 0.0.52
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.ts +10 -4
- package/dist/index.js +2911 -2719
- package/lib/drawer/CircuitToCanvasDrawer.ts +317 -366
- package/lib/drawer/elements/helper-functions/draw-pill.ts +39 -0
- package/lib/drawer/elements/helper-functions/draw-polygon.ts +25 -0
- package/lib/drawer/elements/helper-functions/draw-rounded-rect.ts +34 -0
- package/lib/drawer/elements/helper-functions/index.ts +3 -0
- package/lib/drawer/elements/pcb-board.ts +28 -13
- package/lib/drawer/elements/pcb-hole.ts +56 -338
- package/lib/drawer/elements/pcb-plated-hole.ts +154 -442
- package/lib/drawer/elements/pcb-smtpad.ts +3 -292
- package/lib/drawer/elements/pcb-soldermask/board.ts +44 -0
- package/lib/drawer/elements/pcb-soldermask/cutout.ts +74 -0
- package/lib/drawer/elements/pcb-soldermask/hole.ts +288 -0
- package/lib/drawer/elements/pcb-soldermask/index.ts +140 -0
- package/lib/drawer/elements/pcb-soldermask/plated-hole.ts +365 -0
- package/lib/drawer/elements/pcb-soldermask/smt-pad.ts +354 -0
- package/lib/drawer/elements/pcb-soldermask/via.ts +27 -0
- package/package.json +1 -1
- package/tests/board-snapshot/__snapshots__/usb-c-flashlight-board.snap.png +0 -0
- package/tests/board-snapshot/usb-c-flashlight-board.test.ts +1 -0
- package/tests/elements/__snapshots__/board-with-elements.snap.png +0 -0
- package/tests/elements/__snapshots__/brep-copper-pours.snap.png +0 -0
- package/tests/elements/__snapshots__/custom-outline-board.snap.png +0 -0
- package/tests/elements/__snapshots__/oval-plated-hole.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-board.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-comprehensive-soldermask-margin.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-fabrication-note-dimension.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-hole-soldermask-margin.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-keepout-layer-filter.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-keepout-multiple-layers.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-keepout-rect-and-circle.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-keepout-with-group-id.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-no-soldermask.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-plated-hole-soldermask-margin.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-plated-hole.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-silkscreen-on-component.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-silkscreen-oval.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-smtpad-asymmetric-soldermask-margin.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-smtpad-soldermask-coverage.snap.png +0 -0
- package/tests/elements/__snapshots__/pcb-smtpad-soldermask-margin.snap.png +0 -0
- package/tests/elements/__snapshots__/pill-plated-hole.snap.png +0 -0
- package/tests/elements/pcb-board.test.ts +2 -2
- package/tests/elements/pcb-comprehensive-soldermask-margin.test.ts +2 -2
- package/tests/elements/pcb-hole-soldermask-margin.test.ts +155 -2
- package/tests/elements/pcb-keepout-with-group-id.test.ts +1 -1
- package/tests/elements/pcb-no-soldermask.test.ts +1281 -0
- package/tests/elements/pcb-plated-hole-soldermask-margin.test.ts +1 -1
- package/tests/elements/pcb-plated-hole.test.ts +40 -4
- package/tests/elements/pcb-smtpad-asymmetric-soldermask-margin.test.ts +1 -1
- package/tests/elements/pcb-smtpad-soldermask-coverage.test.ts +1 -1
- package/tests/elements/pcb-smtpad-soldermask-margin.test.ts +1 -1
- package/tests/fixtures/getStackedPngSvgComparison.ts +10 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyCircuitElement, PcbRenderLayer, NinePointAnchor, PcbPlatedHole, PCBVia,
|
|
1
|
+
import { AnyCircuitElement, PcbRenderLayer, NinePointAnchor, PcbPlatedHole, PCBVia, PcbHole, PcbSmtPad, PCBTrace, PcbBoard, PcbSilkscreenText, PcbSilkscreenRect, PcbSilkscreenCircle, PcbSilkscreenLine, PcbSilkscreenPath, PcbSilkscreenPill, PcbSilkscreenOval, PcbCutout, PCBKeepout, PcbCopperPour, PcbCopperText, PcbFabricationNoteText, PcbFabricationNoteRect, PcbNoteRect, PcbFabricationNotePath, PcbNotePath, PcbNoteText, PcbNoteDimension, PcbFabricationNoteDimension } from 'circuit-json';
|
|
2
2
|
import { Matrix } from 'transformation-matrix';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -90,6 +90,10 @@ interface DrawContext {
|
|
|
90
90
|
|
|
91
91
|
interface DrawElementsOptions {
|
|
92
92
|
layers?: PcbRenderLayer[];
|
|
93
|
+
/** Whether to render the soldermask layer. Defaults to false. */
|
|
94
|
+
drawSoldermask?: boolean;
|
|
95
|
+
/** Whether to render the board material (substrate fill). Defaults to false. */
|
|
96
|
+
drawBoardMaterial?: boolean;
|
|
93
97
|
}
|
|
94
98
|
interface CanvasLike {
|
|
95
99
|
getContext(contextId: "2d"): CanvasContext | null;
|
|
@@ -102,8 +106,6 @@ declare class CircuitToCanvasDrawer {
|
|
|
102
106
|
configure(config: DrawerConfig): void;
|
|
103
107
|
setCameraBounds(bounds: CameraBounds): void;
|
|
104
108
|
drawElements(elements: AnyCircuitElement[], options?: DrawElementsOptions): void;
|
|
105
|
-
private drawBoardWithSoldermask;
|
|
106
|
-
private drawElement;
|
|
107
109
|
}
|
|
108
110
|
|
|
109
111
|
interface DrawCircleParams {
|
|
@@ -293,6 +295,8 @@ interface DrawPcbPlatedHoleParams {
|
|
|
293
295
|
hole: PcbPlatedHole;
|
|
294
296
|
realToCanvasMat: Matrix;
|
|
295
297
|
colorMap: PcbColorMap;
|
|
298
|
+
soldermaskMargin?: number;
|
|
299
|
+
drawSoldermask?: boolean;
|
|
296
300
|
}
|
|
297
301
|
declare function drawPcbPlatedHole(params: DrawPcbPlatedHoleParams): void;
|
|
298
302
|
|
|
@@ -306,9 +310,10 @@ declare function drawPcbVia(params: DrawPcbViaParams): void;
|
|
|
306
310
|
|
|
307
311
|
interface DrawPcbHoleParams {
|
|
308
312
|
ctx: CanvasContext;
|
|
309
|
-
hole:
|
|
313
|
+
hole: PcbHole;
|
|
310
314
|
realToCanvasMat: Matrix;
|
|
311
315
|
colorMap: PcbColorMap;
|
|
316
|
+
soldermaskMargin?: number;
|
|
312
317
|
}
|
|
313
318
|
declare function drawPcbHole(params: DrawPcbHoleParams): void;
|
|
314
319
|
|
|
@@ -371,6 +376,7 @@ interface DrawPcbBoardParams {
|
|
|
371
376
|
board: PcbBoard;
|
|
372
377
|
realToCanvasMat: Matrix;
|
|
373
378
|
colorMap: PcbColorMap;
|
|
379
|
+
drawBoardMaterial: boolean;
|
|
374
380
|
}
|
|
375
381
|
declare function drawPcbBoard(params: DrawPcbBoardParams): void;
|
|
376
382
|
|