From e1876b368790bb1f9d110f5807d0fdc504dd1bb3 Mon Sep 17 00:00:00 2001 From: anil08607 Date: Sat, 4 Jul 2026 10:11:43 +0530 Subject: [PATCH 1/2] feat: add rounded pad corners to all footprints --- src/fn/dfn.ts | 5 +- src/fn/msop.ts | 3 +- src/fn/quad.ts | 3 +- src/fn/soic.ts | 5 +- src/fn/son.ts | 3 +- src/fn/sop8.ts | 5 +- src/fn/sot.ts | 48 ++++++-------- src/fn/sot223.ts | 58 ++++++++++------- src/fn/sot23.ts | 64 ++++++++----------- src/fn/sot23w.ts | 32 ++++------ src/fn/sot323.ts | 29 ++++----- src/fn/sot343.ts | 3 +- src/fn/sot363.ts | 3 +- src/fn/sot457.ts | 11 ++-- src/fn/sot563.ts | 3 +- src/fn/sot723.ts | 24 ++++--- src/fn/sot886.ts | 3 +- src/fn/sot89.ts | 14 ++-- src/fn/sot963.ts | 3 +- src/fn/ssop.ts | 3 +- src/fn/tssop.ts | 3 +- src/fn/vson.ts | 3 +- src/fn/vssop.ts | 3 +- src/helpers/passive-fn.ts | 13 +++- tests/__snapshots__/0201.snap.svg | 2 +- tests/__snapshots__/0402.snap.svg | 2 +- tests/__snapshots__/0603.snap.svg | 2 +- .../0603_bottomleft_origin.snap.svg | 2 +- tests/__snapshots__/0603_pw1.0_ph1.1.snap.svg | 2 +- tests/__snapshots__/0603_textbottom.snap.svg | 2 +- ...-8-1EP_3x3mm_P0.65mm_EP1.65x2.4mm.snap.svg | 2 +- .../VSON-8_1.5x2mm_P0.5mm.snap.svg | 2 +- .../VSON-8_3.3x3.3mm_P0.65mm_NexFET.snap.svg | 2 +- .../VSONP-8-1EP_5x6_P1.27mm.snap.svg | 2 +- tests/__snapshots__/cap footprint.snap.svg | 2 +- tests/__snapshots__/cap_0201.snap.svg | 2 +- tests/__snapshots__/cap_1210.snap.svg | 2 +- tests/__snapshots__/cap_1812.snap.svg | 2 +- tests/__snapshots__/cap_2512.snap.svg | 2 +- tests/__snapshots__/cap_imperial0402.snap.svg | 2 +- .../dfn8_w5.3mm_p1.27mm.snap.svg | 2 +- tests/__snapshots__/diode0402.snap.svg | 2 +- tests/__snapshots__/led_0201.snap.svg | 2 +- tests/__snapshots__/led_0402.snap.svg | 2 +- tests/__snapshots__/led_0603.snap.svg | 2 +- tests/__snapshots__/led_0805.snap.svg | 2 +- tests/__snapshots__/led_1206.snap.svg | 2 +- tests/__snapshots__/ms012.snap.svg | 2 +- tests/__snapshots__/ms013.snap.svg | 2 +- tests/__snapshots__/msop10.snap.svg | 2 +- tests/__snapshots__/msop12.snap.svg | 2 +- tests/__snapshots__/msop8.snap.svg | 2 +- ...8_h3.32mm_pl1.63mm_pw0.4mm_p0.8mm.snap.svg | 2 +- tests/__snapshots__/msop8_p0.75mm.snap.svg | 2 +- .../msop8_w3.10mm_h3.32mm_p0.65mm.snap.svg | 2 +- tests/__snapshots__/soic8.snap.svg | 2 +- .../soic8_w5.3mm_p1.27mm.snap.svg | 2 +- tests/__snapshots__/son6.snap.svg | 2 +- tests/__snapshots__/son8.snap.svg | 2 +- tests/__snapshots__/son8_ep.snap.svg | 2 +- ..._h3.0mm_pl0.7mm_epw1.5mm_eph1.7mm.snap.svg | 2 +- .../son8_ep_p0.75mm_h3.2mm.snap.svg | 2 +- .../son8_ep_w3.0mm_h3.0mm_p0.65mm.snap.svg | 2 +- .../son8_h3.0mm_pl0.7mm.snap.svg | 2 +- .../son8_p0.75mm_h3.2mm.snap.svg | 2 +- .../son8_w3.0mm_h3.0mm_p0.65mm.snap.svg | 2 +- tests/__snapshots__/sop8.snap.svg | 2 +- tests/__snapshots__/sot223.snap.svg | 2 +- tests/__snapshots__/sot223_4.snap.svg | 2 +- tests/__snapshots__/sot223_5.snap.svg | 2 +- tests/__snapshots__/sot223_6.snap.svg | 2 +- tests/__snapshots__/sot23.snap.svg | 2 +- tests/__snapshots__/sot23_3.snap.svg | 2 +- tests/__snapshots__/sot23_5.snap.svg | 2 +- tests/__snapshots__/sot23_6.snap.svg | 2 +- .../sot23_w3_h1.5_p0.95mm.snap.svg | 2 +- tests/__snapshots__/sot23w.snap.svg | 2 +- .../sot23w_p2_w5.1_h5.2.snap.svg | 2 +- .../sot23w_pl1.2_pw0.9_p2_w5.2_h5.snap.svg | 2 +- tests/__snapshots__/sot323.snap.svg | 2 +- .../sot323_pl1.2_pw0.9_p2_w5.2_h5.snap.svg | 2 +- tests/__snapshots__/sot343.snap.svg | 2 +- .../sot343_pl1.2_pw0.9_p2_w5.2_h5.snap.svg | 2 +- tests/__snapshots__/sot363.snap.svg | 2 +- tests/__snapshots__/sot457.snap.svg | 2 +- tests/__snapshots__/sot457_wave.snap.svg | 2 +- tests/__snapshots__/sot563.snap.svg | 2 +- tests/__snapshots__/sot6.snap.svg | 2 +- tests/__snapshots__/sot723.snap.svg | 2 +- tests/__snapshots__/sot886.snap.svg | 2 +- tests/__snapshots__/sot89_3.snap.svg | 2 +- tests/__snapshots__/sot89_5.snap.svg | 2 +- tests/__snapshots__/ssop.snap.svg | 2 +- tests/__snapshots__/tqfp32_w7.snap.svg | 2 +- tests/__snapshots__/tqfp48_w7.snap.svg | 2 +- tests/__snapshots__/tssop8.snap.svg | 2 +- ...p10_h4.4mm_pl1.6mm_pw0.5mm_p0.9mm.snap.svg | 2 +- tests/__snapshots__/vssop8.snap.svg | 2 +- ...sop8_h4.14mm_pl1.8mm_pw0.8mm_p1mm.snap.svg | 2 +- tests/__snapshots__/vssop8_p0.75mm.snap.svg | 2 +- .../vssop8_w4.1mm_h4.14mm_p0.65mm.snap.svg | 2 +- .../0402_nonpolarized_parity.snap.svg | 2 +- .../__snapshots__/0402_parity.snap.svg | 2 +- .../__snapshots__/0603_metric_parity.snap.svg | 2 +- .../__snapshots__/0603_parity.snap.svg | 2 +- .../__snapshots__/0805_parity.snap.svg | 2 +- .../__snapshots__/1206_parity.snap.svg | 2 +- .../__snapshots__/1210_parity.snap.svg | 2 +- .../__snapshots__/1812_parity.snap.svg | 2 +- .../__snapshots__/2010_parity.snap.svg | 2 +- .../__snapshots__/2512_parity.snap.svg | 2 +- .../__snapshots__/res0402_parity.snap.svg | 2 +- .../__snapshots__/soic20.snap.svg | 2 +- .../__snapshots__/soic24.snap.svg | 2 +- .../kicad-parity/__snapshots__/soic8.snap.svg | 2 +- .../__snapshots__/sot-723.snap.svg | 2 +- .../__snapshots__/sot223_5.snap.svg | 2 +- .../kicad-parity/__snapshots__/sot23.snap.svg | 2 +- .../__snapshots__/sot23_5.snap.svg | 2 +- .../__snapshots__/sot23w.snap.svg | 2 +- .../__snapshots__/sot323.snap.svg | 2 +- .../__snapshots__/sot343.snap.svg | 2 +- .../__snapshots__/sot457.snap.svg | 2 +- .../__snapshots__/sot563.snap.svg | 2 +- .../kicad-parity/__snapshots__/sot6.snap.svg | 2 +- .../kicad-parity/__snapshots__/sot89.snap.svg | 2 +- .../__snapshots__/sot89_5.snap.svg | 2 +- .../__snapshots__/tqfp32.snap.svg | 2 +- 128 files changed, 282 insertions(+), 270 deletions(-) diff --git a/src/fn/dfn.ts b/src/fn/dfn.ts index 1a5b5936..a5ba0328 100644 --- a/src/fn/dfn.ts +++ b/src/fn/dfn.ts @@ -26,6 +26,7 @@ export const dfn = ( ): { circuitJson: AnyCircuitElement[]; parameters: any } => { const parameters = dfn_def.parse(raw_params) const pads: AnyCircuitElement[] = [] + const cornerRadius = Math.min(parameters.pl, parameters.pw) / 8 for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = getCcwSoicCoords({ num_pins: parameters.num_pins, @@ -35,9 +36,7 @@ export const dfn = ( pl: parameters.pl, widthincludeslegs: true, }) - pads.push( - rectpad(i + 1, x, y, parameters.pl ?? "1mm", parameters.pw ?? "0.6mm"), - ) + pads.push(rectpad(i + 1, x, y, parameters.pl, parameters.pw, cornerRadius)) } // The silkscreen is 4 corners and an arrow identifier for pin1 diff --git a/src/fn/msop.ts b/src/fn/msop.ts index 9b2beb82..59bc3722 100644 --- a/src/fn/msop.ts +++ b/src/fn/msop.ts @@ -90,12 +90,13 @@ export const msop = ( const p = length.parse(parameters.p || defaults.p) const pl = length.parse(parameters.pl || defaults.pl) const pw = length.parse(parameters.pw || defaults.pw) + const cornerRadius = Math.min(pl, pw) / 8 const pads: AnyCircuitElement[] = [] for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = getMsopCoords(parameters.num_pins, i + 1, w, p, pl) - pads.push(rectpad(i + 1, x, y, pl, pw)) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } const silkscreenBoxWidth = w diff --git a/src/fn/quad.ts b/src/fn/quad.ts index 1a343ed7..361cc328 100644 --- a/src/fn/quad.ts +++ b/src/fn/quad.ts @@ -144,11 +144,12 @@ export const quad = ( if (orientation === "vert") { ;[padWidth, padHeight] = [padHeight, padWidth] } + const cornerRadius = Math.min(padWidth, padHeight) / 8 const pn = pin_map[i + 1]! padOuterHalfX = Math.max(padOuterHalfX, Math.abs(x) + padWidth / 2) padOuterHalfY = Math.max(padOuterHalfY, Math.abs(y) + padHeight / 2) - pads.push(rectpad(pn, x, y, padWidth, padHeight)) + pads.push(rectpad(pn, x, y, padWidth, padHeight, cornerRadius)) } if (parameters.thermalpad) { diff --git a/src/fn/soic.ts b/src/fn/soic.ts index 139a6509..36819cc2 100644 --- a/src/fn/soic.ts +++ b/src/fn/soic.ts @@ -116,6 +116,7 @@ export const soic = (raw_params: { export const soicWithoutParsing = (parameters: z.infer) => { const pads: AnyCircuitElement[] = [] + const cornerRadius = Math.min(parameters.pl, parameters.pw) / 8 let maxPadExtentX = 0 let maxPadExtentY = 0 for (let i = 0; i < parameters.num_pins; i++) { @@ -132,7 +133,9 @@ export const soicWithoutParsing = (parameters: z.infer) => { if (parameters.pillpads) { pads.push(pillpad(i + 1, x, y, parameters.pl, parameters.pw)) } else { - pads.push(rectpad(i + 1, x, y, parameters.pl, parameters.pw)) + pads.push( + rectpad(i + 1, x, y, parameters.pl, parameters.pw, cornerRadius), + ) } } diff --git a/src/fn/son.ts b/src/fn/son.ts index d27441ad..1d31005c 100644 --- a/src/fn/son.ts +++ b/src/fn/son.ts @@ -48,12 +48,13 @@ export const son = ( const pw = length.parse(parameters.pw) const epw = length.parse(parameters.epw) const eph = length.parse(parameters.eph) + const cornerRadius = Math.min(pl, pw) / 8 const pads: AnyCircuitElement[] = [] for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = getSonPadCoord(parameters.num_pins, i + 1, w, p) - pads.push(rectpad(i + 1, x, y, pl, pw)) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } if (parameters.ep) { diff --git a/src/fn/sop8.ts b/src/fn/sop8.ts index ee8f7a4c..52c6ff8d 100644 --- a/src/fn/sop8.ts +++ b/src/fn/sop8.ts @@ -20,6 +20,7 @@ export const sop8 = ( ): { circuitJson: AnyCircuitElement[]; parameters: any } => { const parameters = sop8_def.parse(raw_params) const pads: AnyCircuitElement[] = [] + const cornerRadius = Math.min(parameters.pl, parameters.pw) / 8 for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = getCcwSoicCoords({ @@ -30,9 +31,7 @@ export const sop8 = ( pl: parameters.pl, widthincludeslegs: true, }) - pads.push( - rectpad(i + 1, x, y, parameters.pl ?? "1.5mm", parameters.pw ?? "0.6mm"), - ) + pads.push(rectpad(i + 1, x, y, parameters.pl, parameters.pw, cornerRadius)) } const sh = (parameters.num_pins / 2 - 1) * parameters.p + parameters.pw diff --git a/src/fn/sot.ts b/src/fn/sot.ts index 8a843003..8b3d1d5f 100644 --- a/src/fn/sot.ts +++ b/src/fn/sot.ts @@ -57,32 +57,30 @@ export const getCcwSotCoords = (parameters: { export const sotWithoutParsing = (parameters: z.infer) => { const pads: AnyCircuitElement[] = [] + const h = Number.parseFloat(parameters.h) + const p = Number.parseFloat(parameters.p) + const pl = Number.parseFloat(parameters.pl) + const pw = Number.parseFloat(parameters.pw) + const cornerRadius = Math.min(pl, pw) / 8 + for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getCcwSotCoords({ - h: Number.parseFloat(parameters.h), - p: Number.parseFloat(parameters.p), + h, + p, pn: i, }) - pads.push( - rectpad( - i, - x, - y, - Number.parseFloat(parameters.pl), - Number.parseFloat(parameters.pw), - ), - ) + pads.push(rectpad(i, x, y, pl, pw, cornerRadius)) } - const width = (parameters.num_pins / 2) * Number.parseFloat(parameters.p) - const height = Number.parseFloat(parameters.h) + const width = (parameters.num_pins / 2) * p + const height = h const silkscreenPath1: PcbSilkscreenPath = { layer: "top", pcb_component_id: "", pcb_silkscreen_path_id: "silkscreen_path_1", route: [ { x: -width / 3, y: height / 2 + Number.parseFloat(parameters.p) / 1.3 }, - { x: width / 3, y: height / 2 + Number.parseFloat(parameters.p) / 1.3 }, + { x: width / 3, y: height / 2 + p / 1.3 }, ], type: "pcb_silkscreen_path", stroke_width: 0.05, @@ -92,19 +90,19 @@ export const sotWithoutParsing = (parameters: z.infer) => { pcb_component_id: "", pcb_silkscreen_path_id: "silkscreen_path_2", route: [ - { x: -width / 3, y: -height / 2 - Number.parseFloat(parameters.p) / 1.3 }, - { x: width / 3, y: -height / 2 - Number.parseFloat(parameters.p) / 1.3 }, + { x: -width / 3, y: -height / 2 - p / 1.3 }, + { x: width / 3, y: -height / 2 - p / 1.3 }, ], type: "pcb_silkscreen_path", stroke_width: 0.05, } const silkscreenRefText: SilkscreenRef = silkscreenRef(0, height + 0.3, 0.3) const pin1Position = getCcwSotCoords({ - h: Number.parseFloat(parameters.h), - p: Number.parseFloat(parameters.p), + h, + p, pn: 1, }) - pin1Position.x = pin1Position.x - Number.parseFloat(parameters.pw) * 1.5 + pin1Position.x = pin1Position.x - pw * 1.5 const triangleHeight = 0.7 const triangleWidth = 0.3 const pin1Indicator: PcbSilkscreenPath = { @@ -133,14 +131,10 @@ export const sotWithoutParsing = (parameters: z.infer) => { stroke_width: 0.05, } - const h_val = Number.parseFloat(parameters.h) - const p_val = Number.parseFloat(parameters.p) - const pl_val = Number.parseFloat(parameters.pl) - const pw_val = Number.parseFloat(parameters.pw) - const pinColumnCenterX = h_val / 2 + 0.4875 - const pinRowSpanY = p_val * 2 + pw_val - const pinToeHalfSpanX = pinColumnCenterX + pl_val / 2 - const courtyardStepInnerHalfWidth = h_val / 2 + 0.4 + const pinColumnCenterX = h / 2 + 0.4875 + const pinRowSpanY = p * 2 + pw + const pinToeHalfSpanX = pinColumnCenterX + pl / 2 + const courtyardStepInnerHalfWidth = h / 2 + 0.4 const courtyardStepOuterHalfWidth = pinToeHalfSpanX + 0.25 const courtyardStepInnerHalfHeight = pinRowSpanY / 2 + 0.25 const courtyardStepOuterHalfHeight = courtyardStepInnerHalfHeight + 0.2 diff --git a/src/fn/sot223.ts b/src/fn/sot223.ts index 3a78d2c0..7bbc00c5 100644 --- a/src/fn/sot223.ts +++ b/src/fn/sot223.ts @@ -89,32 +89,38 @@ export const sot223_4 = (parameters: z.infer) => { const pads: AnyCircuitElement[] = [] let padOuterHalfWidth = 0 let padOuterHalfHeight = 0 + const w = Number.parseFloat(parameters.w) + const h = Number.parseFloat(parameters.h) + const pl = Number.parseFloat(parameters.pl) + const p = Number.parseFloat(parameters.p) + const pw = Number.parseFloat(parameters.pw) for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = get2CcwSot223Coords({ num_pins: parameters.num_pins, pn: i + 1, - w: Number.parseFloat(parameters.w), - h: Number.parseFloat(parameters.h), - pl: Number.parseFloat(parameters.pl), - p: Number.parseFloat(parameters.p), + w, + h, + pl, + p, }) - const pinWidth = i === 3 ? 3.8 : Number.parseFloat(parameters.pw) - const pinLength = Number.parseFloat(parameters.pl) + const pinWidth = i === 3 ? 3.8 : pw + const pinLength = pl + const cornerRadius = Math.min(pinLength, pinWidth) / 8 padOuterHalfWidth = Math.max(padOuterHalfWidth, Math.abs(x) + pinLength / 2) padOuterHalfHeight = Math.max( padOuterHalfHeight, Math.abs(y) + pinWidth / 2, ) - pads.push(rectpad(i + 1, x, y, pinLength, pinWidth)) + pads.push(rectpad(i + 1, x, y, pinLength, pinWidth, cornerRadius)) } const silkscreenRefText: SilkscreenRef = silkscreenRef(0, 0, 0.3) - const width = Number.parseFloat(parameters.w) / 2 - 2.4 - const height = Number.parseFloat(parameters.h) / 2 + const width = w / 2 - 2.4 + const height = h / 2 const silkscreenPath1: PcbSilkscreenPath = { layer: "top", pcb_component_id: "", @@ -140,8 +146,8 @@ export const sot223_4 = (parameters: z.infer) => { stroke_width: 0.1, } - const bodyHalfWidth = Number.parseFloat(parameters.w) / 2 - const bodyHalfHeight = Number.parseFloat(parameters.h) / 2 + const bodyHalfWidth = w / 2 + const bodyHalfHeight = h / 2 const courtyardHalfWidth = Math.max( padOuterHalfWidth + 0.25, bodyHalfWidth + 0.15, @@ -204,12 +210,14 @@ export const sot223_5 = (parameters: z.infer) => { const pads: AnyCircuitElement[] = [] let padOuterHalfWidth = 0 let padOuterHalfHeight = 0 + const w = Number.parseFloat(parameters.w) + const h = Number.parseFloat(parameters.h) for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = get2CcwSot2235Coords({ - h: Number.parseFloat(parameters.h), + h, p: 1.5, pn: i, - w: Number.parseFloat(parameters.w), + w, }) let pinWidth = Number.parseFloat(parameters.pw) @@ -222,17 +230,18 @@ export const sot223_5 = (parameters: z.infer) => { pinWidth = 1 pinLength = 2.2 } + const cornerRadius = Math.min(pinLength, pinWidth) / 8 padOuterHalfWidth = Math.max(padOuterHalfWidth, Math.abs(x) + pinLength / 2) padOuterHalfHeight = Math.max( padOuterHalfHeight, Math.abs(y) + pinWidth / 2, ) - pads.push(rectpad(i, x, y, pinLength, pinWidth)) + pads.push(rectpad(i, x, y, pinLength, pinWidth, cornerRadius)) } - const width = Number.parseFloat(parameters.w) / 2 - 2.4 - const height = Number.parseFloat(parameters.h) / 2 + const width = w / 2 - 2.4 + const height = h / 2 const silkscreenPath1: PcbSilkscreenPath = { layer: "top", pcb_component_id: "", @@ -260,8 +269,8 @@ export const sot223_5 = (parameters: z.infer) => { const silkscreenRefText: SilkscreenRef = silkscreenRef(0, 0, 0.3) - const bodyHalfWidth = Number.parseFloat(parameters.w) / 2 - const bodyHalfHeight = Number.parseFloat(parameters.h) / 2 + const bodyHalfWidth = w / 2 + const bodyHalfHeight = h / 2 const courtyardHalfWidth = Math.max( padOuterHalfWidth + 0.25, bodyHalfWidth + 0.15, @@ -321,12 +330,14 @@ export const sot223_6 = (parameters: z.infer) => { const pads: AnyCircuitElement[] = [] let padOuterHalfWidth = 0 let padOuterHalfHeight = 0 + const h = Number.parseFloat(parameters.h) + const w = 8.7 for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = get2CcwSot2236Coords({ - h: Number.parseFloat(parameters.h), + h, p: 1.3, pn: i, - w: 8.7, + w, }) let pinWidth = Number.parseFloat(parameters.pw) @@ -339,17 +350,18 @@ export const sot223_6 = (parameters: z.infer) => { pinWidth = 0.6 pinLength = 2.2 } + const cornerRadius = Math.min(pinLength, pinWidth) / 8 padOuterHalfWidth = Math.max(padOuterHalfWidth, Math.abs(x) + pinLength / 2) padOuterHalfHeight = Math.max( padOuterHalfHeight, Math.abs(y) + pinWidth / 2, ) - pads.push(rectpad(i, x, y, pinLength, pinWidth)) + pads.push(rectpad(i, x, y, pinLength, pinWidth, cornerRadius)) } const width = Number.parseFloat(parameters.w) / 2 - 2.4 - const height = Number.parseFloat(parameters.h) / 2 + const height = h / 2 const silkscreenPath1: PcbSilkscreenPath = { layer: "top", pcb_component_id: "", @@ -378,7 +390,7 @@ export const sot223_6 = (parameters: z.infer) => { const silkscreenRefText: SilkscreenRef = silkscreenRef(0, 0, 0.3) const bodyHalfWidth = Number.parseFloat(parameters.w) / 2 - const bodyHalfHeight = Number.parseFloat(parameters.h) / 2 + const bodyHalfHeight = h / 2 const courtyardHalfWidth = Math.max( padOuterHalfWidth + 0.25, bodyHalfWidth + 0.15, diff --git a/src/fn/sot23.ts b/src/fn/sot23.ts index 109cd642..de150734 100644 --- a/src/fn/sot23.ts +++ b/src/fn/sot23.ts @@ -122,25 +122,23 @@ export const getCcwSot23Coords = (parameters: { export const sot23_3 = (parameters: z.infer) => { const pads: AnyCircuitElement[] = [] + const w = Number.parseFloat(parameters.w) + const h = Number.parseFloat(parameters.h) + const pl = Number.parseFloat(parameters.pl) + const pw = Number.parseFloat(parameters.pw) + const p = Number.parseFloat(parameters.p) + const cornerRadius = Math.min(pl, pw) / 8 for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = getCcwSot23Coords({ num_pins: parameters.num_pins, pn: i + 1, - w: Number.parseFloat(parameters.w), - h: Number.parseFloat(parameters.h), - pl: Number.parseFloat(parameters.pl), - p: Number.parseFloat(parameters.p), + w, + h, + pl, + p, }) - pads.push( - rectpad( - i + 1, - x, - y, - Number.parseFloat(parameters.pl), - Number.parseFloat(parameters.pw), - ), - ) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } const silkscreenRefText: SilkscreenRef = silkscreenRef( 0, @@ -185,33 +183,29 @@ export const getCcwSot235Coords = (parameters: { export const sot23_5 = (parameters: z.infer) => { const pads: AnyCircuitElement[] = [] + const h = Number.parseFloat(parameters.h) + const p = Number.parseFloat(parameters.p) + const pl = Number.parseFloat(parameters.pl) + const pw = Number.parseFloat(parameters.pw) + const cornerRadius = Math.min(pl, pw) / 8 for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getCcwSot235Coords({ - h: Number.parseFloat(parameters.h), - p: Number.parseFloat(parameters.p), + h, + p, pn: i, }) - pads.push( - rectpad( - i, - x, - y, - Number.parseFloat(parameters.pl), - Number.parseFloat(parameters.pw), - ), - ) + pads.push(rectpad(i, x, y, pl, pw, cornerRadius)) } - const width = - ((parameters.num_pins + 1) / 2) * Number.parseFloat(parameters.p) - const height = Number.parseFloat(parameters.h) + const width = ((parameters.num_pins + 1) / 2) * p + const height = h const silkscreenPath1: PcbSilkscreenPath = { layer: "top", pcb_component_id: "", pcb_silkscreen_path_id: "silkscreen_path_1", route: [ - { x: -width / 3, y: height / 2 + Number.parseFloat(parameters.p) / 1.3 }, - { x: width / 3, y: height / 2 + Number.parseFloat(parameters.p) / 1.3 }, + { x: -width / 3, y: height / 2 + p / 1.3 }, + { x: width / 3, y: height / 2 + p / 1.3 }, ], type: "pcb_silkscreen_path", stroke_width: 0.05, @@ -221,19 +215,15 @@ export const sot23_5 = (parameters: z.infer) => { pcb_component_id: "", pcb_silkscreen_path_id: "silkscreen_path_2", route: [ - { x: -width / 3, y: -height / 2 - Number.parseFloat(parameters.p) / 1.3 }, - { x: width / 3, y: -height / 2 - Number.parseFloat(parameters.p) / 1.3 }, + { x: -width / 3, y: -height / 2 - p / 1.3 }, + { x: width / 3, y: -height / 2 - p / 1.3 }, ], type: "pcb_silkscreen_path", stroke_width: 0.05, } const silkscreenRefText: SilkscreenRef = silkscreenRef(0, height + 0.3, 0.3) - const pin1Position = getCcwSot235Coords({ - h: Number.parseFloat(parameters.h), - p: Number.parseFloat(parameters.p), - pn: 1, - }) - pin1Position.x = pin1Position.x - Number.parseFloat(parameters.pw) * 1.5 + const pin1Position = getCcwSot235Coords({ h, p, pn: 1 }) + pin1Position.x = pin1Position.x - pw * 1.5 const triangleHeight = 0.3 // Adjust triangle size as needed const triangleWidth = 0.4 // Adjust triangle width as needed const pin1Indicator: PcbSilkscreenPath = { diff --git a/src/fn/sot23w.ts b/src/fn/sot23w.ts index 617ddb2f..0922ff23 100644 --- a/src/fn/sot23w.ts +++ b/src/fn/sot23w.ts @@ -62,25 +62,23 @@ export const getCcwSot23wCoords = (parameters: { export const sot23w_3 = (parameters: z.infer) => { const pads: AnyCircuitElement[] = [] + const w = Number.parseFloat(parameters.w) + const h = Number.parseFloat(parameters.h) + const pl = Number.parseFloat(parameters.pl) + const pw = Number.parseFloat(parameters.pw) + const p = Number.parseFloat(parameters.p) + const cornerRadius = Math.min(pl, pw) / 8 for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = getCcwSot23wCoords({ num_pins: parameters.num_pins, pn: i + 1, - w: Number.parseFloat(parameters.w), - h: Number.parseFloat(parameters.h), - pl: Number.parseFloat(parameters.pl), - p: Number.parseFloat(parameters.p), + w, + h, + pl, + p, }) - pads.push( - rectpad( - i + 1, - x, - y, - Number.parseFloat(parameters.pl), - Number.parseFloat(parameters.pw), - ), - ) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } const silkscreenRefText: SilkscreenRef = silkscreenRef( @@ -89,8 +87,8 @@ export const sot23w_3 = (parameters: z.infer) => { 0.3, ) - const width = Number.parseFloat(parameters.w) / 2 - 1 - const height = Number.parseFloat(parameters.h) / 2 + const width = w / 2 - 1 + const height = h / 2 const silkscreenPath1: PcbSilkscreenPath = { layer: "top", pcb_component_id: "", @@ -116,10 +114,6 @@ export const sot23w_3 = (parameters: z.infer) => { stroke_width: 0.1, } - const p = Number.parseFloat(parameters.p) - const pl = Number.parseFloat(parameters.pl) - const pw = Number.parseFloat(parameters.pw) - const h = Number.parseFloat(parameters.h) const padToeHalfWidth = p + pl / 2 const pinRowHalfHeight = 0.95 + pw / 2 const bodyHalfHeight = h / 2 diff --git a/src/fn/sot323.ts b/src/fn/sot323.ts index df5ba753..5bda1814 100644 --- a/src/fn/sot323.ts +++ b/src/fn/sot323.ts @@ -81,25 +81,23 @@ export const getCcwSot323Coords = (parameters: { export const sot323_3 = (parameters: z.infer) => { const pads: AnyCircuitElement[] = [] + const w = Number.parseFloat(parameters.w) + const h = Number.parseFloat(parameters.h) + const pl = Number.parseFloat(parameters.pl) + const pw = Number.parseFloat(parameters.pw) + const p = Number.parseFloat(parameters.p) + const cornerRadius = Math.min(pl, pw) / 8 for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = getCcwSot323Coords({ num_pins: parameters.num_pins, pn: i + 1, - w: Number.parseFloat(parameters.w), - h: Number.parseFloat(parameters.h), - pl: Number.parseFloat(parameters.pl), - p: Number.parseFloat(parameters.p), + w, + h, + pl, + p, }) - pads.push( - rectpad( - i + 1, - x, - y, - Number.parseFloat(parameters.pl), - Number.parseFloat(parameters.pw), - ), - ) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } const silkscreenRefText: SilkscreenRef = silkscreenRef( @@ -108,9 +106,8 @@ export const sot323_3 = (parameters: z.infer) => { 0.3, ) - const width = - Number.parseFloat(parameters.w) / 2 - Number.parseFloat(parameters.pl) - const height = Number.parseFloat(parameters.h) / 2 + const width = w / 2 - pl + const height = h / 2 const silkscreenPath1: PcbSilkscreenPath = { layer: "top", pcb_component_id: "", diff --git a/src/fn/sot343.ts b/src/fn/sot343.ts index 0d01e680..1f39ff6c 100644 --- a/src/fn/sot343.ts +++ b/src/fn/sot343.ts @@ -79,6 +79,7 @@ export const sot343_4 = (parameters: z.infer) => { const pl = Number.parseFloat(parameters.pl) const pw = Number.parseFloat(parameters.pw) const p = Number.parseFloat(parameters.p) + const cornerRadius = Math.min(pl, pw) / 8 let minX = Infinity let maxX = -Infinity @@ -94,7 +95,7 @@ export const sot343_4 = (parameters: z.infer) => { pl, p, }) - pads.push(rectpad(i + 1, x, y, pl, pw)) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) if (x < minX) minX = x if (x > maxX) maxX = x diff --git a/src/fn/sot363.ts b/src/fn/sot363.ts index 698c19fa..da40d8c0 100644 --- a/src/fn/sot363.ts +++ b/src/fn/sot363.ts @@ -45,11 +45,12 @@ export const sot363 = ( const p = length.parse(parameters.p) const pl = length.parse(parameters.pl) const pw = length.parse(parameters.pw) + const cornerRadius = Math.min(pl, pw) / 8 const pads: AnyCircuitElement[] = [] for (let i = 0; i < 6; i++) { const { x, y } = getSot363PadCoord(i + 1, w, p, pl) - pads.push(rectpad(i + 1, x, y, pl, pw)) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } const silkscreenTopLine: PcbSilkscreenPath = { diff --git a/src/fn/sot457.ts b/src/fn/sot457.ts index 67cc02a7..18937b3e 100644 --- a/src/fn/sot457.ts +++ b/src/fn/sot457.ts @@ -97,6 +97,7 @@ const generateSot457Elements = ( const padWidth = parseDimension(params.pw) const width = parseDimension(params.w) const height = parseDimension(params.h) + const cornerRadius = Math.min(padLength, padWidth) / 8 if (params.wave) { const pinConfigs: Record< @@ -104,9 +105,9 @@ const generateSot457Elements = ( (args: { padWidth: number; padHeight: number }) => AnyCircuitElement > = { 1: ({ padWidth, padHeight }) => - rectpad(1, -pitch, pitch, padHeight, padWidth), + rectpad(1, -pitch, pitch, padHeight, padWidth, cornerRadius), 2: ({ padWidth, padHeight }) => - rectpad(2, -pitch, -pitch, padHeight, padWidth), + rectpad(2, -pitch, -pitch, padHeight, padWidth, cornerRadius), 3: ({ padWidth, padHeight }) => pillpad( 3, @@ -124,9 +125,9 @@ const generateSot457Elements = ( parseDimension(params.pillh), ), 5: ({ padWidth, padHeight }) => - rectpad(5, pitch, pitch, padHeight, padWidth), + rectpad(5, pitch, pitch, padHeight, padWidth, cornerRadius), 6: ({ padWidth, padHeight }) => - rectpad(6, pitch, -pitch, padHeight, padWidth), + rectpad(6, pitch, -pitch, padHeight, padWidth, cornerRadius), } for (let i = 1; i <= params.num_pins; i++) { @@ -138,7 +139,7 @@ const generateSot457Elements = ( } else { for (let i = 1; i <= params.num_pins; i++) { const { x, y } = getCcwSot457Coords({ pitch, width, pinNumber: i }) - pads.push(rectpad(i, x, y, padLength, padWidth)) + pads.push(rectpad(i, x, y, padLength, padWidth, cornerRadius)) } } diff --git a/src/fn/sot563.ts b/src/fn/sot563.ts index c64c529d..c61ccfd5 100644 --- a/src/fn/sot563.ts +++ b/src/fn/sot563.ts @@ -45,11 +45,12 @@ export const sot563 = ( const p = length.parse(parameters.p) const pl = length.parse(parameters.pl) const pw = length.parse(parameters.pw) + const cornerRadius = Math.min(pl, pw) / 8 const pads: AnyCircuitElement[] = [] for (let i = 0; i < 6; i++) { const { x, y } = getSot563PadCoord(i + 1, w, p, pl) - pads.push(rectpad(i + 1, x, y, pl, pw)) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } const silkscreenTopLine: PcbSilkscreenPath = { diff --git a/src/fn/sot723.ts b/src/fn/sot723.ts index af8c69f8..a4adac33 100644 --- a/src/fn/sot723.ts +++ b/src/fn/sot723.ts @@ -73,25 +73,23 @@ export const sot723WithoutParsing = ( parameters: z.infer, ) => { const pads: AnyCircuitElement[] = [] + const w = Number.parseFloat(parameters.w) + const h = Number.parseFloat(parameters.h) + const pl = Number.parseFloat(parameters.pl) + const pw = Number.parseFloat(parameters.pw) + const p = Number.parseFloat(parameters.p) + const cornerRadius = Math.min(pl, pw) / 8 for (let i = 0; i < 3; i++) { const { x, y } = getCcwSot723Coords({ num_pins: parameters.num_pins, pn: i + 1, - w: Number.parseFloat(parameters.w), - h: Number.parseFloat(parameters.h), - pl: Number.parseFloat(parameters.pl), - p: Number.parseFloat(parameters.p), + w, + h, + pl, + p, }) - pads.push( - rectpad( - i + 1, - x, - y, - Number.parseFloat(parameters.pl), - Number.parseFloat(parameters.pw), - ), - ) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } return pads diff --git a/src/fn/sot886.ts b/src/fn/sot886.ts index 6cafb951..07088142 100644 --- a/src/fn/sot886.ts +++ b/src/fn/sot886.ts @@ -37,11 +37,12 @@ export const sot886 = ( const p = length.parse(parameters.p) const pl = length.parse(parameters.pl) const pw = length.parse(parameters.pw) + const cornerRadius = Math.min(pl, pw) / 8 const pads: AnyCircuitElement[] = [] for (let i = 0; i < 6; i++) { const { x, y } = getSot886PadCoord(i + 1, w, p, pl) - pads.push(rectpad(i + 1, x, y, pl, pw)) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } const silkscreenTopLine: PcbSilkscreenPath = { diff --git a/src/fn/sot89.ts b/src/fn/sot89.ts index d07be4ea..1fb352aa 100644 --- a/src/fn/sot89.ts +++ b/src/fn/sot89.ts @@ -65,13 +65,14 @@ export const sot89_3 = (parameters: z.infer) => { const padWidth = Number.parseFloat(parameters.pw) const length = Number.parseFloat(parameters.w) const padHeight = Number.parseFloat(parameters.pl) + const outerPadCornerRadius = Math.min(padHeight, padWidth) / 8 const outerPadX = -length / 2 + 0.15 const width = length / 2 - 1 const height = Number.parseFloat(parameters.h) / 2 const pads: AnyCircuitElement[] = [ - rectpad(1, outerPadX, padGap, padHeight, padWidth), + rectpad(1, outerPadX, padGap, padHeight, padWidth, outerPadCornerRadius), polygonpad(2, sot89_3CenterPadPoints), - rectpad(3, outerPadX, -padGap, padHeight, padWidth), + rectpad(3, outerPadX, -padGap, padHeight, padWidth, outerPadCornerRadius), ] const silkscreenRefText = silkscreenRef(0, height + 0.5, 0.3) @@ -119,12 +120,13 @@ export const sot89_3 = (parameters: z.infer) => { } export const sot89_5 = (parameters: z.infer) => { + const outerPadCornerRadius = Math.min(1.5, 0.7) / 8 const pads: AnyCircuitElement[] = [ - rectpad(1, -1.85, -1.5, 1.5, 0.7), - rectpad(2, -1.85, 1.5, 1.5, 0.7), + rectpad(1, -1.85, -1.5, 1.5, 0.7, outerPadCornerRadius), + rectpad(2, -1.85, 1.5, 1.5, 0.7, outerPadCornerRadius), polygonpad(3, sot89_5CenterPadPoints), - rectpad(4, 1.85, -1.5, 1.5, 0.7), - rectpad(5, 1.85, 1.5, 1.5, 0.7), + rectpad(4, 1.85, -1.5, 1.5, 0.7, outerPadCornerRadius), + rectpad(5, 1.85, 1.5, 1.5, 0.7, outerPadCornerRadius), ] const width = Number.parseFloat(parameters.w) / 2 - 1 diff --git a/src/fn/sot963.ts b/src/fn/sot963.ts index d52b1b71..a8354cd7 100644 --- a/src/fn/sot963.ts +++ b/src/fn/sot963.ts @@ -37,11 +37,12 @@ export const sot963 = ( const p = length.parse(parameters.p) const pl = length.parse(parameters.pl) const pw = length.parse(parameters.pw) + const cornerRadius = Math.min(pl, pw) / 8 const pads: AnyCircuitElement[] = [] for (let i = 0; i < 6; i++) { const { x, y } = getSot963PadCoord(i + 1, w, p, pl) - pads.push(rectpad(i + 1, x, y, pl, pw)) + pads.push(rectpad(i + 1, x, y, pl, pw, cornerRadius)) } const silkscreenTopLine: PcbSilkscreenPath = { diff --git a/src/fn/ssop.ts b/src/fn/ssop.ts index 08e8e471..d41b8f10 100644 --- a/src/fn/ssop.ts +++ b/src/fn/ssop.ts @@ -76,6 +76,7 @@ export const ssop = ( ): { circuitJson: AnyCircuitElement[]; parameters: SsopInput } => { const parameters = ssop_def.parse(raw_params) const pads: AnyCircuitElement[] = [] + const cornerRadius = Math.min(parameters.pl, parameters.pw) / 8 for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = getSsopCoords({ @@ -86,7 +87,7 @@ export const ssop = ( pl: parameters.pl, legsoutside: parameters.legsoutside, }) - pads.push(rectpad(i + 1, x, y, parameters.pl, parameters.pw)) + pads.push(rectpad(i + 1, x, y, parameters.pl, parameters.pw, cornerRadius)) } const m = Math.min(1, parameters.p / 2) diff --git a/src/fn/tssop.ts b/src/fn/tssop.ts index a8d56fa2..683774e6 100644 --- a/src/fn/tssop.ts +++ b/src/fn/tssop.ts @@ -58,6 +58,7 @@ export const tssop = ( const parameters = tssop_def.parse(params) const pads: AnyCircuitElement[] = [] + const cornerRadius = Math.min(parameters.pl, parameters.pw) / 8 const wForPads = isFinePitch ? parameters.w - length.parse("0.15mm") : parameters.w @@ -71,7 +72,7 @@ export const tssop = ( pl: parameters.pl, legsoutside: parameters.legsoutside, }) - pads.push(rectpad(i + 1, x, y, parameters.pl, parameters.pw)) + pads.push(rectpad(i + 1, x, y, parameters.pl, parameters.pw, cornerRadius)) } const m = Math.min(1, parameters.p / 2) diff --git a/src/fn/vson.ts b/src/fn/vson.ts index ba13af54..699d5735 100644 --- a/src/fn/vson.ts +++ b/src/fn/vson.ts @@ -43,6 +43,7 @@ export const vson = ( } const pads: PcbSmtPad[] = [] + const cornerRadius = Math.min(pinw, pinh) / 8 // place the 8 or 10 outside pins for (let i = 0; i < num_pins; i++) { @@ -52,7 +53,7 @@ export const vson = ( width: w, pitch: p, }) - pads.push(rectpad(i + 1, pinX, pinY, pinw, pinh)) + pads.push(rectpad(i + 1, pinX, pinY, pinw, pinh, cornerRadius)) } // place the central exposed pad (ep) diff --git a/src/fn/vssop.ts b/src/fn/vssop.ts index 69363452..b8f062c3 100644 --- a/src/fn/vssop.ts +++ b/src/fn/vssop.ts @@ -61,6 +61,7 @@ export const vssop = ( const p = length.parse(parameters.p || defaults.p) const pl = length.parse(parameters.pl || defaults.pl) const pw = length.parse(parameters.pw || defaults.pw) + const cornerRadius = Math.min(pl, pw) / 8 const pads: AnyCircuitElement[] = [] const half = parameters.num_pins / 2 @@ -68,7 +69,7 @@ export const vssop = ( for (let i = 0; i < parameters.num_pins; i++) { const { x, y } = getVssopPadCoord(parameters.num_pins, i + 1, w, p) const logical_pn = i < half ? i + 1 : parameters.num_pins - (i - half) - pads.push(rectpad(logical_pn, x, y, pl, pw)) + pads.push(rectpad(logical_pn, x, y, pl, pw, cornerRadius)) } const silkscreenBoxWidth = w diff --git a/src/helpers/passive-fn.ts b/src/helpers/passive-fn.ts index 4c499add..979e328e 100644 --- a/src/helpers/passive-fn.ts +++ b/src/helpers/passive-fn.ts @@ -21,6 +21,7 @@ type StandardSize = { w_mm_min: number // body width courtyard_width_mm?: number courtyard_height_mm?: number + rounded_pads?: boolean nonpolarizedSilkscreen?: { line_half_length_mm?: number line_y_mm?: number @@ -60,6 +61,7 @@ export const footprintSizes: StandardSize[] = [ h_mm_min: 3.4, courtyard_width_mm: 5.9, courtyard_height_mm: 3.9, + rounded_pads: true, nonpolarizedSilkscreen: { line_half_length_mm: 1.386252, line_y_mm: 1.71, @@ -76,6 +78,7 @@ export const footprintSizes: StandardSize[] = [ h_mm_min: 0.3, courtyard_width_mm: 1.4, courtyard_height_mm: 0.7, + rounded_pads: true, }, { imperial: "0402", @@ -87,6 +90,7 @@ export const footprintSizes: StandardSize[] = [ h_mm_min: 0.64, courtyard_width_mm: 1.86, courtyard_height_mm: 0.94, + rounded_pads: true, nonpolarizedSilkscreen: { line_half_length_mm: 0.153641, line_y_mm: 0.38, @@ -103,6 +107,7 @@ export const footprintSizes: StandardSize[] = [ h_mm_min: 0.95, courtyard_width_mm: 2.96, courtyard_height_mm: 1.46, + rounded_pads: true, nonpolarizedSilkscreen: { line_half_length_mm: 0.237258, line_y_mm: 0.5225, @@ -119,6 +124,7 @@ export const footprintSizes: StandardSize[] = [ h_mm_min: 1.4, courtyard_width_mm: 3.36, courtyard_height_mm: 1.9, + rounded_pads: true, nonpolarizedSilkscreen: { line_half_length_mm: 0.227064, line_y_mm: 0.735, @@ -135,6 +141,7 @@ export const footprintSizes: StandardSize[] = [ h_mm_min: 1.75, courtyard_width_mm: 4.56, courtyard_height_mm: 2.26, + rounded_pads: true, nonpolarizedSilkscreen: { line_half_length_mm: 0.727064, line_y_mm: 0.91, @@ -151,6 +158,7 @@ export const footprintSizes: StandardSize[] = [ h_mm_min: 2.65, courtyard_width_mm: 4.56, courtyard_height_mm: 3.16, + rounded_pads: true, nonpolarizedSilkscreen: { line_half_length_mm: 0.723737, line_y_mm: 1.355, @@ -167,6 +175,7 @@ export const footprintSizes: StandardSize[] = [ h_mm_min: 2.65, courtyard_width_mm: 6.36, courtyard_height_mm: 3.16, + rounded_pads: true, nonpolarizedSilkscreen: { line_half_length_mm: 1.527064, line_y_mm: 1.36, @@ -183,6 +192,7 @@ export const footprintSizes: StandardSize[] = [ h_mm_min: 3.35, courtyard_width_mm: 7.66, courtyard_height_mm: 3.86, + rounded_pads: true, nonpolarizedSilkscreen: { line_half_length_mm: 2.177064, line_y_mm: 1.71, @@ -336,7 +346,8 @@ export const passive = (params: PassiveDef): AnyCircuitElement[] => { sz?.courtyard_width_mm && sz.courtyard_height_mm ? createCourtyardRect(sz.courtyard_width_mm, sz.courtyard_height_mm) : null - const cornerRadius = roundedPads + const shouldRoundPads = roundedPads ?? sz?.rounded_pads ?? false + const cornerRadius = shouldRoundPads ? Math.min(0.125, Math.min(pw, ph) / 8) : undefined diff --git a/tests/__snapshots__/0201.snap.svg b/tests/__snapshots__/0201.snap.svg index 3e5ea3af..fa7d707a 100644 --- a/tests/__snapshots__/0201.snap.svg +++ b/tests/__snapshots__/0201.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/0402.snap.svg b/tests/__snapshots__/0402.snap.svg index 0b60b957..6df8462a 100644 --- a/tests/__snapshots__/0402.snap.svg +++ b/tests/__snapshots__/0402.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/0603.snap.svg b/tests/__snapshots__/0603.snap.svg index 1bbda6e0..ac258b1e 100644 --- a/tests/__snapshots__/0603.snap.svg +++ b/tests/__snapshots__/0603.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/0603_bottomleft_origin.snap.svg b/tests/__snapshots__/0603_bottomleft_origin.snap.svg index 9369377b..43429693 100644 --- a/tests/__snapshots__/0603_bottomleft_origin.snap.svg +++ b/tests/__snapshots__/0603_bottomleft_origin.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/0603_pw1.0_ph1.1.snap.svg b/tests/__snapshots__/0603_pw1.0_ph1.1.snap.svg index 1bbda6e0..ac258b1e 100644 --- a/tests/__snapshots__/0603_pw1.0_ph1.1.snap.svg +++ b/tests/__snapshots__/0603_pw1.0_ph1.1.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/0603_textbottom.snap.svg b/tests/__snapshots__/0603_textbottom.snap.svg index 59a75d3a..491a50ce 100644 --- a/tests/__snapshots__/0603_textbottom.snap.svg +++ b/tests/__snapshots__/0603_textbottom.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/VSON-8-1EP_3x3mm_P0.65mm_EP1.65x2.4mm.snap.svg b/tests/__snapshots__/VSON-8-1EP_3x3mm_P0.65mm_EP1.65x2.4mm.snap.svg index 30e7fa87..987b3c4a 100644 --- a/tests/__snapshots__/VSON-8-1EP_3x3mm_P0.65mm_EP1.65x2.4mm.snap.svg +++ b/tests/__snapshots__/VSON-8-1EP_3x3mm_P0.65mm_EP1.65x2.4mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/VSON-8_1.5x2mm_P0.5mm.snap.svg b/tests/__snapshots__/VSON-8_1.5x2mm_P0.5mm.snap.svg index d9e78ca8..2f8f4489 100644 --- a/tests/__snapshots__/VSON-8_1.5x2mm_P0.5mm.snap.svg +++ b/tests/__snapshots__/VSON-8_1.5x2mm_P0.5mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/VSON-8_3.3x3.3mm_P0.65mm_NexFET.snap.svg b/tests/__snapshots__/VSON-8_3.3x3.3mm_P0.65mm_NexFET.snap.svg index 6b63e9d0..7a03b332 100644 --- a/tests/__snapshots__/VSON-8_3.3x3.3mm_P0.65mm_NexFET.snap.svg +++ b/tests/__snapshots__/VSON-8_3.3x3.3mm_P0.65mm_NexFET.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/VSONP-8-1EP_5x6_P1.27mm.snap.svg b/tests/__snapshots__/VSONP-8-1EP_5x6_P1.27mm.snap.svg index 914cb5fd..124430d0 100644 --- a/tests/__snapshots__/VSONP-8-1EP_5x6_P1.27mm.snap.svg +++ b/tests/__snapshots__/VSONP-8-1EP_5x6_P1.27mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/cap footprint.snap.svg b/tests/__snapshots__/cap footprint.snap.svg index 0b60b957..6df8462a 100644 --- a/tests/__snapshots__/cap footprint.snap.svg +++ b/tests/__snapshots__/cap footprint.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/cap_0201.snap.svg b/tests/__snapshots__/cap_0201.snap.svg index 3e5ea3af..fa7d707a 100644 --- a/tests/__snapshots__/cap_0201.snap.svg +++ b/tests/__snapshots__/cap_0201.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/cap_1210.snap.svg b/tests/__snapshots__/cap_1210.snap.svg index 85b83873..b3702687 100644 --- a/tests/__snapshots__/cap_1210.snap.svg +++ b/tests/__snapshots__/cap_1210.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/cap_1812.snap.svg b/tests/__snapshots__/cap_1812.snap.svg index 2e0f3e50..41235594 100644 --- a/tests/__snapshots__/cap_1812.snap.svg +++ b/tests/__snapshots__/cap_1812.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/cap_2512.snap.svg b/tests/__snapshots__/cap_2512.snap.svg index b1a70c07..b8eed879 100644 --- a/tests/__snapshots__/cap_2512.snap.svg +++ b/tests/__snapshots__/cap_2512.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/cap_imperial0402.snap.svg b/tests/__snapshots__/cap_imperial0402.snap.svg index 0b60b957..6df8462a 100644 --- a/tests/__snapshots__/cap_imperial0402.snap.svg +++ b/tests/__snapshots__/cap_imperial0402.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/dfn8_w5.3mm_p1.27mm.snap.svg b/tests/__snapshots__/dfn8_w5.3mm_p1.27mm.snap.svg index f573214b..9602b7d2 100644 --- a/tests/__snapshots__/dfn8_w5.3mm_p1.27mm.snap.svg +++ b/tests/__snapshots__/dfn8_w5.3mm_p1.27mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/diode0402.snap.svg b/tests/__snapshots__/diode0402.snap.svg index 0b60b957..6df8462a 100644 --- a/tests/__snapshots__/diode0402.snap.svg +++ b/tests/__snapshots__/diode0402.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/led_0201.snap.svg b/tests/__snapshots__/led_0201.snap.svg index fce1bfe4..60d12e0d 100644 --- a/tests/__snapshots__/led_0201.snap.svg +++ b/tests/__snapshots__/led_0201.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/led_0402.snap.svg b/tests/__snapshots__/led_0402.snap.svg index 0b60b957..6df8462a 100644 --- a/tests/__snapshots__/led_0402.snap.svg +++ b/tests/__snapshots__/led_0402.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/led_0603.snap.svg b/tests/__snapshots__/led_0603.snap.svg index 1bbda6e0..ac258b1e 100644 --- a/tests/__snapshots__/led_0603.snap.svg +++ b/tests/__snapshots__/led_0603.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/led_0805.snap.svg b/tests/__snapshots__/led_0805.snap.svg index 667a23d7..7b319b56 100644 --- a/tests/__snapshots__/led_0805.snap.svg +++ b/tests/__snapshots__/led_0805.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/led_1206.snap.svg b/tests/__snapshots__/led_1206.snap.svg index 8b26fcfb..22b1b39c 100644 --- a/tests/__snapshots__/led_1206.snap.svg +++ b/tests/__snapshots__/led_1206.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/ms012.snap.svg b/tests/__snapshots__/ms012.snap.svg index 190494e0..ce82d5d3 100644 --- a/tests/__snapshots__/ms012.snap.svg +++ b/tests/__snapshots__/ms012.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/ms013.snap.svg b/tests/__snapshots__/ms013.snap.svg index 82738a87..7190a5b5 100644 --- a/tests/__snapshots__/ms013.snap.svg +++ b/tests/__snapshots__/ms013.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/msop10.snap.svg b/tests/__snapshots__/msop10.snap.svg index 69a438db..8e63a503 100644 --- a/tests/__snapshots__/msop10.snap.svg +++ b/tests/__snapshots__/msop10.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/msop12.snap.svg b/tests/__snapshots__/msop12.snap.svg index 431c5411..f5493892 100644 --- a/tests/__snapshots__/msop12.snap.svg +++ b/tests/__snapshots__/msop12.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/msop8.snap.svg b/tests/__snapshots__/msop8.snap.svg index e096a7fc..8cc24bee 100644 --- a/tests/__snapshots__/msop8.snap.svg +++ b/tests/__snapshots__/msop8.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/msop8_h3.32mm_pl1.63mm_pw0.4mm_p0.8mm.snap.svg b/tests/__snapshots__/msop8_h3.32mm_pl1.63mm_pw0.4mm_p0.8mm.snap.svg index b3831202..3919b0c3 100644 --- a/tests/__snapshots__/msop8_h3.32mm_pl1.63mm_pw0.4mm_p0.8mm.snap.svg +++ b/tests/__snapshots__/msop8_h3.32mm_pl1.63mm_pw0.4mm_p0.8mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/msop8_p0.75mm.snap.svg b/tests/__snapshots__/msop8_p0.75mm.snap.svg index cf91df83..2e6aac9a 100644 --- a/tests/__snapshots__/msop8_p0.75mm.snap.svg +++ b/tests/__snapshots__/msop8_p0.75mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/msop8_w3.10mm_h3.32mm_p0.65mm.snap.svg b/tests/__snapshots__/msop8_w3.10mm_h3.32mm_p0.65mm.snap.svg index e096a7fc..8cc24bee 100644 --- a/tests/__snapshots__/msop8_w3.10mm_h3.32mm_p0.65mm.snap.svg +++ b/tests/__snapshots__/msop8_w3.10mm_h3.32mm_p0.65mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/soic8.snap.svg b/tests/__snapshots__/soic8.snap.svg index 6947e1f0..c32f34db 100644 --- a/tests/__snapshots__/soic8.snap.svg +++ b/tests/__snapshots__/soic8.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/soic8_w5.3mm_p1.27mm.snap.svg b/tests/__snapshots__/soic8_w5.3mm_p1.27mm.snap.svg index 6947e1f0..c32f34db 100644 --- a/tests/__snapshots__/soic8_w5.3mm_p1.27mm.snap.svg +++ b/tests/__snapshots__/soic8_w5.3mm_p1.27mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/son6.snap.svg b/tests/__snapshots__/son6.snap.svg index f85bfb06..5e0f9483 100644 --- a/tests/__snapshots__/son6.snap.svg +++ b/tests/__snapshots__/son6.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/son8.snap.svg b/tests/__snapshots__/son8.snap.svg index 4da5ba2b..a8201e73 100644 --- a/tests/__snapshots__/son8.snap.svg +++ b/tests/__snapshots__/son8.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/son8_ep.snap.svg b/tests/__snapshots__/son8_ep.snap.svg index fdcd7d5d..ef50f1c3 100644 --- a/tests/__snapshots__/son8_ep.snap.svg +++ b/tests/__snapshots__/son8_ep.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/son8_ep_h3.0mm_pl0.7mm_epw1.5mm_eph1.7mm.snap.svg b/tests/__snapshots__/son8_ep_h3.0mm_pl0.7mm_epw1.5mm_eph1.7mm.snap.svg index 0f23fd9e..3a31cbbc 100644 --- a/tests/__snapshots__/son8_ep_h3.0mm_pl0.7mm_epw1.5mm_eph1.7mm.snap.svg +++ b/tests/__snapshots__/son8_ep_h3.0mm_pl0.7mm_epw1.5mm_eph1.7mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/son8_ep_p0.75mm_h3.2mm.snap.svg b/tests/__snapshots__/son8_ep_p0.75mm_h3.2mm.snap.svg index f800ac3f..8f96db45 100644 --- a/tests/__snapshots__/son8_ep_p0.75mm_h3.2mm.snap.svg +++ b/tests/__snapshots__/son8_ep_p0.75mm_h3.2mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/son8_ep_w3.0mm_h3.0mm_p0.65mm.snap.svg b/tests/__snapshots__/son8_ep_w3.0mm_h3.0mm_p0.65mm.snap.svg index 2a3eab01..4a167063 100644 --- a/tests/__snapshots__/son8_ep_w3.0mm_h3.0mm_p0.65mm.snap.svg +++ b/tests/__snapshots__/son8_ep_w3.0mm_h3.0mm_p0.65mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/son8_h3.0mm_pl0.7mm.snap.svg b/tests/__snapshots__/son8_h3.0mm_pl0.7mm.snap.svg index 4a8dead2..29cc7932 100644 --- a/tests/__snapshots__/son8_h3.0mm_pl0.7mm.snap.svg +++ b/tests/__snapshots__/son8_h3.0mm_pl0.7mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/son8_p0.75mm_h3.2mm.snap.svg b/tests/__snapshots__/son8_p0.75mm_h3.2mm.snap.svg index cb44fc1c..2a2360e9 100644 --- a/tests/__snapshots__/son8_p0.75mm_h3.2mm.snap.svg +++ b/tests/__snapshots__/son8_p0.75mm_h3.2mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/son8_w3.0mm_h3.0mm_p0.65mm.snap.svg b/tests/__snapshots__/son8_w3.0mm_h3.0mm_p0.65mm.snap.svg index e6ca6e25..1b58a2a3 100644 --- a/tests/__snapshots__/son8_w3.0mm_h3.0mm_p0.65mm.snap.svg +++ b/tests/__snapshots__/son8_w3.0mm_h3.0mm_p0.65mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sop8.snap.svg b/tests/__snapshots__/sop8.snap.svg index 8c6c58b2..a444ad78 100644 --- a/tests/__snapshots__/sop8.snap.svg +++ b/tests/__snapshots__/sop8.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot223.snap.svg b/tests/__snapshots__/sot223.snap.svg index ad27ebd9..aa154afa 100644 --- a/tests/__snapshots__/sot223.snap.svg +++ b/tests/__snapshots__/sot223.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot223_4.snap.svg b/tests/__snapshots__/sot223_4.snap.svg index ad27ebd9..aa154afa 100644 --- a/tests/__snapshots__/sot223_4.snap.svg +++ b/tests/__snapshots__/sot223_4.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot223_5.snap.svg b/tests/__snapshots__/sot223_5.snap.svg index 248f834e..3e84d501 100644 --- a/tests/__snapshots__/sot223_5.snap.svg +++ b/tests/__snapshots__/sot223_5.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot223_6.snap.svg b/tests/__snapshots__/sot223_6.snap.svg index 0d88ac2f..79dd9e4a 100644 --- a/tests/__snapshots__/sot223_6.snap.svg +++ b/tests/__snapshots__/sot223_6.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot23.snap.svg b/tests/__snapshots__/sot23.snap.svg index ea4beab5..c4c986de 100644 --- a/tests/__snapshots__/sot23.snap.svg +++ b/tests/__snapshots__/sot23.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot23_3.snap.svg b/tests/__snapshots__/sot23_3.snap.svg index ea4beab5..c4c986de 100644 --- a/tests/__snapshots__/sot23_3.snap.svg +++ b/tests/__snapshots__/sot23_3.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot23_5.snap.svg b/tests/__snapshots__/sot23_5.snap.svg index c646377e..5663ee4b 100644 --- a/tests/__snapshots__/sot23_5.snap.svg +++ b/tests/__snapshots__/sot23_5.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot23_6.snap.svg b/tests/__snapshots__/sot23_6.snap.svg index 51aea3c4..82adf122 100644 --- a/tests/__snapshots__/sot23_6.snap.svg +++ b/tests/__snapshots__/sot23_6.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot23_w3_h1.5_p0.95mm.snap.svg b/tests/__snapshots__/sot23_w3_h1.5_p0.95mm.snap.svg index 869d2562..000739ff 100644 --- a/tests/__snapshots__/sot23_w3_h1.5_p0.95mm.snap.svg +++ b/tests/__snapshots__/sot23_w3_h1.5_p0.95mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot23w.snap.svg b/tests/__snapshots__/sot23w.snap.svg index 0a149fbb..994ca768 100644 --- a/tests/__snapshots__/sot23w.snap.svg +++ b/tests/__snapshots__/sot23w.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot23w_p2_w5.1_h5.2.snap.svg b/tests/__snapshots__/sot23w_p2_w5.1_h5.2.snap.svg index 83848f03..7ff3987a 100644 --- a/tests/__snapshots__/sot23w_p2_w5.1_h5.2.snap.svg +++ b/tests/__snapshots__/sot23w_p2_w5.1_h5.2.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot23w_pl1.2_pw0.9_p2_w5.2_h5.snap.svg b/tests/__snapshots__/sot23w_pl1.2_pw0.9_p2_w5.2_h5.snap.svg index 3dbc09db..e9dff2c8 100644 --- a/tests/__snapshots__/sot23w_pl1.2_pw0.9_p2_w5.2_h5.snap.svg +++ b/tests/__snapshots__/sot23w_pl1.2_pw0.9_p2_w5.2_h5.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot323.snap.svg b/tests/__snapshots__/sot323.snap.svg index c3f8cdd1..e2fa42e1 100644 --- a/tests/__snapshots__/sot323.snap.svg +++ b/tests/__snapshots__/sot323.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot323_pl1.2_pw0.9_p2_w5.2_h5.snap.svg b/tests/__snapshots__/sot323_pl1.2_pw0.9_p2_w5.2_h5.snap.svg index 2cf8fc32..90e17d08 100644 --- a/tests/__snapshots__/sot323_pl1.2_pw0.9_p2_w5.2_h5.snap.svg +++ b/tests/__snapshots__/sot323_pl1.2_pw0.9_p2_w5.2_h5.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot343.snap.svg b/tests/__snapshots__/sot343.snap.svg index bbe5c276..18e0a0f4 100644 --- a/tests/__snapshots__/sot343.snap.svg +++ b/tests/__snapshots__/sot343.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot343_pl1.2_pw0.9_p2_w5.2_h5.snap.svg b/tests/__snapshots__/sot343_pl1.2_pw0.9_p2_w5.2_h5.snap.svg index bf0af89e..b0ada0f2 100644 --- a/tests/__snapshots__/sot343_pl1.2_pw0.9_p2_w5.2_h5.snap.svg +++ b/tests/__snapshots__/sot343_pl1.2_pw0.9_p2_w5.2_h5.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot363.snap.svg b/tests/__snapshots__/sot363.snap.svg index 55904f51..042add33 100644 --- a/tests/__snapshots__/sot363.snap.svg +++ b/tests/__snapshots__/sot363.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot457.snap.svg b/tests/__snapshots__/sot457.snap.svg index 5757ff8f..25cdcc41 100644 --- a/tests/__snapshots__/sot457.snap.svg +++ b/tests/__snapshots__/sot457.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot457_wave.snap.svg b/tests/__snapshots__/sot457_wave.snap.svg index d0ed89ea..da07d7ce 100644 --- a/tests/__snapshots__/sot457_wave.snap.svg +++ b/tests/__snapshots__/sot457_wave.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot563.snap.svg b/tests/__snapshots__/sot563.snap.svg index 72617c31..9be929f8 100644 --- a/tests/__snapshots__/sot563.snap.svg +++ b/tests/__snapshots__/sot563.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot6.snap.svg b/tests/__snapshots__/sot6.snap.svg index 1d480266..c0bd1c6e 100644 --- a/tests/__snapshots__/sot6.snap.svg +++ b/tests/__snapshots__/sot6.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot723.snap.svg b/tests/__snapshots__/sot723.snap.svg index 4c25729b..d2d9e5af 100644 --- a/tests/__snapshots__/sot723.snap.svg +++ b/tests/__snapshots__/sot723.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot886.snap.svg b/tests/__snapshots__/sot886.snap.svg index 9bb10b7b..5f310e7d 100644 --- a/tests/__snapshots__/sot886.snap.svg +++ b/tests/__snapshots__/sot886.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot89_3.snap.svg b/tests/__snapshots__/sot89_3.snap.svg index 4b6ecdf6..2e379276 100644 --- a/tests/__snapshots__/sot89_3.snap.svg +++ b/tests/__snapshots__/sot89_3.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/sot89_5.snap.svg b/tests/__snapshots__/sot89_5.snap.svg index 9b61aa93..5ef1632d 100644 --- a/tests/__snapshots__/sot89_5.snap.svg +++ b/tests/__snapshots__/sot89_5.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/ssop.snap.svg b/tests/__snapshots__/ssop.snap.svg index e0489146..d0b4e46f 100644 --- a/tests/__snapshots__/ssop.snap.svg +++ b/tests/__snapshots__/ssop.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/tqfp32_w7.snap.svg b/tests/__snapshots__/tqfp32_w7.snap.svg index 2b746e1b..b77408e2 100644 --- a/tests/__snapshots__/tqfp32_w7.snap.svg +++ b/tests/__snapshots__/tqfp32_w7.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/tqfp48_w7.snap.svg b/tests/__snapshots__/tqfp48_w7.snap.svg index 0a53b3e8..a9e4bbb8 100644 --- a/tests/__snapshots__/tqfp48_w7.snap.svg +++ b/tests/__snapshots__/tqfp48_w7.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/tssop8.snap.svg b/tests/__snapshots__/tssop8.snap.svg index 95daa1da..7ec8ea1c 100644 --- a/tests/__snapshots__/tssop8.snap.svg +++ b/tests/__snapshots__/tssop8.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/vssop10_h4.4mm_pl1.6mm_pw0.5mm_p0.9mm.snap.svg b/tests/__snapshots__/vssop10_h4.4mm_pl1.6mm_pw0.5mm_p0.9mm.snap.svg index 0b798b5a..773e2838 100644 --- a/tests/__snapshots__/vssop10_h4.4mm_pl1.6mm_pw0.5mm_p0.9mm.snap.svg +++ b/tests/__snapshots__/vssop10_h4.4mm_pl1.6mm_pw0.5mm_p0.9mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/vssop8.snap.svg b/tests/__snapshots__/vssop8.snap.svg index 0a9f6a18..8a340ce4 100644 --- a/tests/__snapshots__/vssop8.snap.svg +++ b/tests/__snapshots__/vssop8.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/vssop8_h4.14mm_pl1.8mm_pw0.8mm_p1mm.snap.svg b/tests/__snapshots__/vssop8_h4.14mm_pl1.8mm_pw0.8mm_p1mm.snap.svg index 74f6337a..7b4ed86a 100644 --- a/tests/__snapshots__/vssop8_h4.14mm_pl1.8mm_pw0.8mm_p1mm.snap.svg +++ b/tests/__snapshots__/vssop8_h4.14mm_pl1.8mm_pw0.8mm_p1mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/vssop8_p0.75mm.snap.svg b/tests/__snapshots__/vssop8_p0.75mm.snap.svg index 7012e538..6d57656a 100644 --- a/tests/__snapshots__/vssop8_p0.75mm.snap.svg +++ b/tests/__snapshots__/vssop8_p0.75mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/__snapshots__/vssop8_w4.1mm_h4.14mm_p0.65mm.snap.svg b/tests/__snapshots__/vssop8_w4.1mm_h4.14mm_p0.65mm.snap.svg index 4a483641..a3e5a2d7 100644 --- a/tests/__snapshots__/vssop8_w4.1mm_h4.14mm_p0.65mm.snap.svg +++ b/tests/__snapshots__/vssop8_w4.1mm_h4.14mm_p0.65mm.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/0402_nonpolarized_parity.snap.svg b/tests/kicad-parity/__snapshots__/0402_nonpolarized_parity.snap.svg index cc02dc8d..fbdd194b 100644 --- a/tests/kicad-parity/__snapshots__/0402_nonpolarized_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/0402_nonpolarized_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/0402_parity.snap.svg b/tests/kicad-parity/__snapshots__/0402_parity.snap.svg index 7be85ae2..a1af5634 100644 --- a/tests/kicad-parity/__snapshots__/0402_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/0402_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/0603_metric_parity.snap.svg b/tests/kicad-parity/__snapshots__/0603_metric_parity.snap.svg index 508aa9ba..187431c3 100644 --- a/tests/kicad-parity/__snapshots__/0603_metric_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/0603_metric_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/0603_parity.snap.svg b/tests/kicad-parity/__snapshots__/0603_parity.snap.svg index e457e3ab..0648c879 100644 --- a/tests/kicad-parity/__snapshots__/0603_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/0603_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/0805_parity.snap.svg b/tests/kicad-parity/__snapshots__/0805_parity.snap.svg index e92c0574..1a4fcc0b 100644 --- a/tests/kicad-parity/__snapshots__/0805_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/0805_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/1206_parity.snap.svg b/tests/kicad-parity/__snapshots__/1206_parity.snap.svg index 40e92535..5bf88d34 100644 --- a/tests/kicad-parity/__snapshots__/1206_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/1206_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/1210_parity.snap.svg b/tests/kicad-parity/__snapshots__/1210_parity.snap.svg index fc2b7693..f0d33712 100644 --- a/tests/kicad-parity/__snapshots__/1210_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/1210_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/1812_parity.snap.svg b/tests/kicad-parity/__snapshots__/1812_parity.snap.svg index b147e8b5..c9df8a00 100644 --- a/tests/kicad-parity/__snapshots__/1812_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/1812_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/2010_parity.snap.svg b/tests/kicad-parity/__snapshots__/2010_parity.snap.svg index 5790873d..722d0d96 100644 --- a/tests/kicad-parity/__snapshots__/2010_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/2010_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/2512_parity.snap.svg b/tests/kicad-parity/__snapshots__/2512_parity.snap.svg index 6458938a..4be24077 100644 --- a/tests/kicad-parity/__snapshots__/2512_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/2512_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/res0402_parity.snap.svg b/tests/kicad-parity/__snapshots__/res0402_parity.snap.svg index cc02dc8d..fbdd194b 100644 --- a/tests/kicad-parity/__snapshots__/res0402_parity.snap.svg +++ b/tests/kicad-parity/__snapshots__/res0402_parity.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/soic20.snap.svg b/tests/kicad-parity/__snapshots__/soic20.snap.svg index fc316cbe..118e04b9 100644 --- a/tests/kicad-parity/__snapshots__/soic20.snap.svg +++ b/tests/kicad-parity/__snapshots__/soic20.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 28.80% \ No newline at end of file +{REF}REF**Diff: 28.80% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/soic24.snap.svg b/tests/kicad-parity/__snapshots__/soic24.snap.svg index dfc6d1aa..873d3a17 100644 --- a/tests/kicad-parity/__snapshots__/soic24.snap.svg +++ b/tests/kicad-parity/__snapshots__/soic24.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 34.43% \ No newline at end of file +{REF}REF**Diff: 34.43% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/soic8.snap.svg b/tests/kicad-parity/__snapshots__/soic8.snap.svg index 9215a1ba..091277ee 100644 --- a/tests/kicad-parity/__snapshots__/soic8.snap.svg +++ b/tests/kicad-parity/__snapshots__/soic8.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 32.20% \ No newline at end of file +{REF}REF**Diff: 32.20% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot-723.snap.svg b/tests/kicad-parity/__snapshots__/sot-723.snap.svg index 9f81fc70..021fb003 100644 --- a/tests/kicad-parity/__snapshots__/sot-723.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot-723.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot223_5.snap.svg b/tests/kicad-parity/__snapshots__/sot223_5.snap.svg index 5034737a..47fae164 100644 --- a/tests/kicad-parity/__snapshots__/sot223_5.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot223_5.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot23.snap.svg b/tests/kicad-parity/__snapshots__/sot23.snap.svg index a9b03520..d80cecc4 100644 --- a/tests/kicad-parity/__snapshots__/sot23.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot23.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot23_5.snap.svg b/tests/kicad-parity/__snapshots__/sot23_5.snap.svg index 78f4d621..6f2722e5 100644 --- a/tests/kicad-parity/__snapshots__/sot23_5.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot23_5.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot23w.snap.svg b/tests/kicad-parity/__snapshots__/sot23w.snap.svg index 6a5fec1a..783f21b2 100644 --- a/tests/kicad-parity/__snapshots__/sot23w.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot23w.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot323.snap.svg b/tests/kicad-parity/__snapshots__/sot323.snap.svg index 169fd49b..8c51dd0b 100644 --- a/tests/kicad-parity/__snapshots__/sot323.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot323.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.27% \ No newline at end of file +{REF}REF**Diff: 0.27% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot343.snap.svg b/tests/kicad-parity/__snapshots__/sot343.snap.svg index 123ec4b7..9cf60d8f 100644 --- a/tests/kicad-parity/__snapshots__/sot343.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot343.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot457.snap.svg b/tests/kicad-parity/__snapshots__/sot457.snap.svg index 4a4ea118..4f6387bc 100644 --- a/tests/kicad-parity/__snapshots__/sot457.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot457.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot563.snap.svg b/tests/kicad-parity/__snapshots__/sot563.snap.svg index 78a6adb4..6a4a9677 100644 --- a/tests/kicad-parity/__snapshots__/sot563.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot563.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot6.snap.svg b/tests/kicad-parity/__snapshots__/sot6.snap.svg index aabc37e8..87627535 100644 --- a/tests/kicad-parity/__snapshots__/sot6.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot6.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot89.snap.svg b/tests/kicad-parity/__snapshots__/sot89.snap.svg index 824933fb..aaf3f08c 100644 --- a/tests/kicad-parity/__snapshots__/sot89.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot89.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/sot89_5.snap.svg b/tests/kicad-parity/__snapshots__/sot89_5.snap.svg index d3c5730a..568482b3 100644 --- a/tests/kicad-parity/__snapshots__/sot89_5.snap.svg +++ b/tests/kicad-parity/__snapshots__/sot89_5.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file diff --git a/tests/kicad-parity/__snapshots__/tqfp32.snap.svg b/tests/kicad-parity/__snapshots__/tqfp32.snap.svg index e2f21739..1dc06724 100644 --- a/tests/kicad-parity/__snapshots__/tqfp32.snap.svg +++ b/tests/kicad-parity/__snapshots__/tqfp32.snap.svg @@ -1 +1 @@ -{REF}REF**Diff: 0.00% \ No newline at end of file +{REF}REF**Diff: 0.00% \ No newline at end of file From be981bc8e34b437332a11c7a9289cf18f8be4d46 Mon Sep 17 00:00:00 2001 From: anil08607 Date: Sat, 4 Jul 2026 10:42:36 +0530 Subject: [PATCH 2/2] feat --- tests/__snapshots__/sot25.snap.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/__snapshots__/sot25.snap.svg b/tests/__snapshots__/sot25.snap.svg index c646377e..5663ee4b 100644 --- a/tests/__snapshots__/sot25.snap.svg +++ b/tests/__snapshots__/sot25.snap.svg @@ -1 +1 @@ -{REF} \ No newline at end of file +{REF} \ No newline at end of file