circuit-to-canvas 0.0.49 → 0.0.51
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 +13 -5
- package/dist/index.js +1450 -1226
- package/lib/drawer/CircuitToCanvasDrawer.ts +262 -312
- 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 +13 -3
- 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 +5 -271
- 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/lib/drawer/elements/soldermask-margin.ts +39 -8
- package/package.json +2 -2
- 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-comprehensive-soldermask-margin.test.ts +2 -2
- package/tests/elements/pcb-hole-soldermask-margin.test.ts +155 -2
- 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 +140 -0
- package/tests/elements/pcb-smtpad-soldermask-coverage.test.ts +1 -1
- package/tests/elements/pcb-smtpad-soldermask-margin.test.ts +18 -2
- package/tests/fixtures/getStackedPngSvgComparison.ts +8 -2
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,8 @@ interface DrawContext {
|
|
|
90
90
|
|
|
91
91
|
interface DrawElementsOptions {
|
|
92
92
|
layers?: PcbRenderLayer[];
|
|
93
|
+
/** Whether to render the soldermask layer. Defaults to false. */
|
|
94
|
+
showSoldermask?: boolean;
|
|
93
95
|
}
|
|
94
96
|
interface CanvasLike {
|
|
95
97
|
getContext(contextId: "2d"): CanvasContext | null;
|
|
@@ -102,8 +104,6 @@ declare class CircuitToCanvasDrawer {
|
|
|
102
104
|
configure(config: DrawerConfig): void;
|
|
103
105
|
setCameraBounds(bounds: CameraBounds): void;
|
|
104
106
|
drawElements(elements: AnyCircuitElement[], options?: DrawElementsOptions): void;
|
|
105
|
-
private drawBoardWithSoldermask;
|
|
106
|
-
private drawElement;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
interface DrawCircleParams {
|
|
@@ -293,6 +293,8 @@ interface DrawPcbPlatedHoleParams {
|
|
|
293
293
|
hole: PcbPlatedHole;
|
|
294
294
|
realToCanvasMat: Matrix;
|
|
295
295
|
colorMap: PcbColorMap;
|
|
296
|
+
soldermaskMargin?: number;
|
|
297
|
+
showSoldermask?: boolean;
|
|
296
298
|
}
|
|
297
299
|
declare function drawPcbPlatedHole(params: DrawPcbPlatedHoleParams): void;
|
|
298
300
|
|
|
@@ -306,9 +308,10 @@ declare function drawPcbVia(params: DrawPcbViaParams): void;
|
|
|
306
308
|
|
|
307
309
|
interface DrawPcbHoleParams {
|
|
308
310
|
ctx: CanvasContext;
|
|
309
|
-
hole:
|
|
311
|
+
hole: PcbHole;
|
|
310
312
|
realToCanvasMat: Matrix;
|
|
311
313
|
colorMap: PcbColorMap;
|
|
314
|
+
soldermaskMargin?: number;
|
|
312
315
|
}
|
|
313
316
|
declare function drawPcbHole(params: DrawPcbHoleParams): void;
|
|
314
317
|
|
|
@@ -327,7 +330,12 @@ declare function drawPcbSmtPad(params: DrawPcbSmtPadParams): void;
|
|
|
327
330
|
declare function drawSoldermaskRingForRect(ctx: CanvasContext, center: {
|
|
328
331
|
x: number;
|
|
329
332
|
y: number;
|
|
330
|
-
}, width: number, height: number, margin: number, borderRadius: number, rotation: number, realToCanvasMat: Matrix, soldermaskColor: string, padColor: string
|
|
333
|
+
}, width: number, height: number, margin: number, borderRadius: number, rotation: number, realToCanvasMat: Matrix, soldermaskColor: string, padColor: string, asymmetricMargins?: {
|
|
334
|
+
left: number;
|
|
335
|
+
right: number;
|
|
336
|
+
top: number;
|
|
337
|
+
bottom: number;
|
|
338
|
+
}): void;
|
|
331
339
|
/**
|
|
332
340
|
* Draws a soldermask ring for circular shapes with negative margin
|
|
333
341
|
* (soldermask appears inside the pad boundary)
|