circuit-json-to-lbrn 0.0.42 → 0.0.44
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 +12 -1
- package/dist/index.js +238 -15
- package/lib/ConvertContext.ts +12 -0
- package/lib/createCopperCutFillForLayer.ts +217 -0
- package/lib/element-handlers/addPcbTrace/index.ts +35 -13
- package/lib/getManifold.ts +31 -0
- package/lib/index.ts +72 -4
- package/package.json +3 -2
- package/site/index.html +24 -1
- package/site/main.tsx +8 -0
- package/tests/basics/__snapshots__/board-outline-does-not-appear-in soldermask.snap.svg +1 -1
- package/tests/basics/__snapshots__/board-outline.snap.svg +1 -1
- package/tests/basics/__snapshots__/mixed-soldermask-margins.snap.svg +1 -1
- package/tests/basics/addPcbCutout/__snapshots__/pcb-cutout-circle.snap.svg +1 -1
- package/tests/basics/addPcbCutout/__snapshots__/pcb-cutout-path.snap.svg +1 -1
- package/tests/basics/addPcbCutout/__snapshots__/pcb-cutout-polygon.snap.svg +1 -1
- package/tests/basics/addPcbCutout/__snapshots__/pcb-cutout-rect.snap.svg +1 -1
- package/tests/basics/addPcbCutout/pcb-cutout-circle.test.ts +1 -1
- package/tests/basics/addPcbCutout/pcb-cutout-path.test.ts +1 -1
- package/tests/basics/addPcbCutout/pcb-cutout-polygon.test.ts +1 -1
- package/tests/basics/addPcbCutout/pcb-cutout-rect.test.ts +1 -1
- package/tests/basics/addPcbHole/__snapshots__/pcb-hole-circle.snap.svg +1 -1
- package/tests/basics/addPcbHole/__snapshots__/pcb-hole-oval.snap.svg +1 -1
- package/tests/basics/addPcbHole/__snapshots__/pcb-hole-pill.snap.svg +1 -1
- package/tests/basics/addPcbHole/__snapshots__/pcb-hole-rect.snap.svg +1 -1
- package/tests/basics/addPcbHole/__snapshots__/pcb-hole-rotated-pill.snap.svg +1 -1
- package/tests/basics/addPcbHole/__snapshots__/pcb-hole-soldermask-margin.snap.svg +1 -1
- package/tests/basics/addPcbHole/__snapshots__/pcb-hole-with-soldermask.snap.svg +1 -1
- package/tests/basics/addPcbHole/pcb-hole-circle.test.ts +1 -1
- package/tests/basics/addPcbHole/pcb-hole-oval.test.ts +1 -1
- package/tests/basics/addPcbHole/pcb-hole-pill.test.ts +1 -1
- package/tests/basics/addPcbHole/pcb-hole-rect.test.ts +1 -1
- package/tests/basics/addPcbHole/pcb-hole-rotated-pill.test.ts +1 -1
- package/tests/basics/addPcbHole/pcb-hole-soldermask-margin.test.ts +1 -1
- package/tests/basics/addPcbHole/pcb-hole-with-soldermask.test.ts +1 -1
- package/tests/basics/addPcbVia/__snapshots__/pcb-via-basic.snap.svg +1 -1
- package/tests/basics/addPcbVia/__snapshots__/pcb-via-with-net.snap.svg +1 -1
- package/tests/basics/addPcbVia/__snapshots__/pcb-via-with-soldermask.snap.svg +1 -1
- package/tests/basics/addPcbVia/pcb-via-basic.test.ts +1 -1
- package/tests/basics/addPcbVia/pcb-via-with-net.test.ts +1 -1
- package/tests/basics/addPcbVia/pcb-via-with-soldermask.test.ts +1 -1
- package/tests/basics/addPlatedHole/__snapshots__/pcb-plated-hole-circular-hole-with-rect-pad.snap.svg +1 -1
- package/tests/basics/addPlatedHole/__snapshots__/pcb-plated-hole-oval.snap.svg +1 -1
- package/tests/basics/addPlatedHole/__snapshots__/pcb-plated-hole-pill-with-rect-pad.snap.svg +1 -1
- package/tests/basics/addPlatedHole/__snapshots__/pcb-plated-hole-pill.snap.svg +1 -1
- package/tests/basics/addPlatedHole/__snapshots__/pcb-plated-hole-polygon.snap.svg +1 -1
- package/tests/basics/addPlatedHole/__snapshots__/pcb-plated-hole-rotated-pill-with-rect-pad.snap.svg +1 -1
- package/tests/basics/addPlatedHole/pcb-plated-hole-circle.test.ts +1 -1
- package/tests/basics/addPlatedHole/pcb-plated-hole-circular-hole-with-rect-pad.test.ts +1 -1
- package/tests/basics/addPlatedHole/pcb-plated-hole-oval.test.ts +1 -1
- package/tests/basics/addPlatedHole/pcb-plated-hole-pill-with-rect-pad.test.ts +1 -1
- package/tests/basics/addPlatedHole/pcb-plated-hole-pill.test.ts +1 -1
- package/tests/basics/addPlatedHole/pcb-plated-hole-polygon.test.ts +1 -1
- package/tests/basics/addPlatedHole/pcb-plated-hole-rotated-pill-with-rect-pad.test.ts +1 -1
- package/tests/basics/addSmtPad/__snapshots__/circleSmtPad.snap.svg +1 -1
- package/tests/basics/addSmtPad/__snapshots__/pillSmtPad.snap.svg +1 -1
- package/tests/basics/addSmtPad/__snapshots__/polygonSmtPad.snap.svg +1 -1
- package/tests/basics/addSmtPad/__snapshots__/rotatedPillSmtPad.snap.svg +1 -1
- package/tests/basics/addSmtPad/__snapshots__/rotatedRectSmtPad.snap.svg +1 -1
- package/tests/basics/addSmtPad/circleSmtPad.test.ts +1 -1
- package/tests/basics/addSmtPad/pillSmtPad.test.ts +1 -1
- package/tests/basics/addSmtPad/polygonSmtPad.test.ts +1 -1
- package/tests/basics/addSmtPad/rotatedPillSmtPad.test.ts +1 -1
- package/tests/basics/addSmtPad/rotatedRectSmtPad.test.ts +1 -1
- package/tests/basics/board-outline-does-not-appear-in soldermask.test.ts +1 -1
- package/tests/basics/board-outline.test.ts +1 -1
- package/tests/basics/copper-cut-fill/__snapshots__/copper-cut-fill-basic.snap.svg +8 -0
- package/tests/basics/copper-cut-fill/__snapshots__/copper-cut-fill-with-pads.snap.svg +8 -0
- package/tests/basics/copper-cut-fill/copper-cut-fill-basic.test.ts +73 -0
- package/tests/basics/copper-cut-fill/copper-cut-fill-with-pads.test.ts +128 -0
- package/tests/basics/keyboard-defaul60/keyboard-both-layer-includeSoldermask.test.ts +1 -1
- package/tests/basics/keyboard-defaul60/keyboard-both-layers.test.ts +1 -1
- package/tests/basics/keyboard-defaul60/keyboard-bottom-layer.test.ts +1 -1
- package/tests/basics/keyboard-defaul60/keyboard-top-layer.test.ts +1 -1
- package/tests/basics/laser-profile.test.ts +4 -4
- package/tests/basics/lga-interconnect.test.ts +1 -1
- package/tests/basics/mixed-soldermask-margins.test.ts +1 -1
- package/tests/basics/single-trace.test.ts +1 -1
- package/tests/basics/soldermask/copper-and-soldermask.test.ts +1 -1
- package/tests/basics/soldermask/copper-only.test.ts +1 -1
- package/tests/basics/soldermask/soldermask-only.test.ts +1 -1
- package/tests/basics/soldermask-margin/__snapshots__/percent-soldermask-margin.snap.svg +1 -1
- package/tests/basics/soldermask-margin/negative-soldermask-margin.test.ts +1 -1
- package/tests/basics/soldermask-margin/percent-soldermask-margin.test.ts +1 -1
- package/tests/basics/soldermask-margin/positive-soldermask-margin.test.ts +1 -1
- package/tests/basics/trace-margin/pico-w-3x5-led-matrix-trace-margin.test.ts +1 -1
- package/tests/basics/trace-margin/trace-margin-basic.test.ts +1 -1
- package/tests/basics/trace-margin/trace-margin-error.test.ts +4 -4
- package/tests/examples/example01/__snapshots__/example01.snap.svg +1 -1
- package/tests/examples/example01/example01.test.ts +1 -1
- package/tests/examples/example02/example02.test.ts +1 -1
- package/tests/examples/example03/example03.test.ts +1 -1
- package/tests/examples/example04/example04.test.ts +1 -1
- package/tests/examples/example05/__snapshots__/example05.snap.svg +1 -0
- package/tests/examples/example05/example05.circuit.json +9562 -0
- package/tests/examples/example05/example05.test.ts +31 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { test, expect } from "bun:test"
|
|
2
|
+
import circuitJson from "./example05.circuit.json" with { type: "json" }
|
|
3
|
+
import { convertCircuitJsonToPcbSvg } from "circuit-to-svg"
|
|
4
|
+
import { generateLightBurnSvg } from "lbrnts"
|
|
5
|
+
import { convertCircuitJsonToLbrn } from "lib/index"
|
|
6
|
+
import { stackSvgsVertically } from "stack-svgs"
|
|
7
|
+
import type { CircuitJson } from "circuit-json"
|
|
8
|
+
|
|
9
|
+
test("example05 - copper fill conversion", async () => {
|
|
10
|
+
const pcbSvg = await convertCircuitJsonToPcbSvg(circuitJson as CircuitJson)
|
|
11
|
+
|
|
12
|
+
const project = await convertCircuitJsonToLbrn(circuitJson as CircuitJson, {
|
|
13
|
+
includeLayers: ["top"],
|
|
14
|
+
copperCutFillMargin: 0.5,
|
|
15
|
+
includeCopperCutFill: true,
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
Bun.write("tmp/example05.lbrn2", project.getString(), {
|
|
19
|
+
createPath: true,
|
|
20
|
+
})
|
|
21
|
+
console.log("tmp/example05.lbrn2")
|
|
22
|
+
|
|
23
|
+
const lbrnSvg = await generateLightBurnSvg(project, {
|
|
24
|
+
margin: 0,
|
|
25
|
+
width: 600,
|
|
26
|
+
height: 400,
|
|
27
|
+
defaultStrokeWidth: 0.03,
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
expect(lbrnSvg).toMatchSvgSnapshot(import.meta.filename)
|
|
31
|
+
})
|