← Commit history

Publish 1.0.9

barrett-land ·399f8734d4 ·3mo ago ·parent d7de9d3
7 files changed +43−13
Cargo.lock+1−1
@@ -4,7 +4,7 @@ version = 4  [[package]] name = "adom-footprint"-version = "0.1.6"+version = "0.1.7" dependencies = [  "anyhow",  "clap",
Cargo.toml+1−1
@@ -1,6 +1,6 @@ [package] name = "adom-footprint"-version = "0.1.6"+version = "0.1.7" edition = "2021" description = "Create, preview, lint, and deliver KiCad footprints (.kicad_mod) with interactive FpView viewer" 
VERSION+1−1
@@ -1 +1 @@-0.1.6+0.1.7\ No newline at end of file
bin/adom-footprint
⋯ 1 unchanged line ⋯
package.json+15−3
@@ -1,6 +1,6 @@ {   "slug": "adom-footprint",-  "version": "1.0.8",+  "version": "1.0.9",   "type": "app",   "description": "KiCad footprint creator with layer HUD viewer and delivery to KiCad/Fusion 360",   "dependencies": {@@ -15,5 +15,17 @@     "headline": "KiCad footprints, instantly",     "subhead": "Toggle copper, fab and paste; render and deliver footprints to KiCad and Fusion 360.",     "screenshot": "screenshots/shot.png"-  }-}\ No newline at end of file+  },+  "tags": [+    "kicad",+    "footprint",+    "pcb",+    "eda",+    "kicad_mod",+    "fusion",+    "cad",+    "library",+    "smd",+    "pads"+  ]+}
page.json+13−6
@@ -1,21 +1,28 @@ {   "slug": "adom-footprint",-  "version": "1.0.8",+  "version": "1.0.9",   "type": "app",   "description": "KiCad footprint creator with layer HUD viewer and delivery to KiCad/Fusion 360",   "dependencies": {     "adom/adom-lbr": "*"   },   "tags": [-    "eda",-    "layers",+    "kicad",     "footprint",     "pcb",-    "instapcb"+    "eda",+    "kicad_mod",+    "fusion",+    "cad",+    "library",+    "smd",+    "pads"   ],   "hero": {-    "type": "image",-    "path": "adom-footprint.png"+    "type": "billboard",+    "headline": "KiCad footprints, instantly",+    "subhead": "Toggle copper, fab and paste; render and deliver footprints to KiCad and Fusion 360.",+    "screenshot": "screenshots/shot.png"   },   "scripts": {     "install": "./install.sh",
src/fp_gen.rs+12−1
@@ -86,7 +86,18 @@ pub fn generate_kicad_mod(input: &FpInput) -> String {     // Pads     for pad in &input.pads {         let shape = pad.shape.clone().unwrap_or_else(|| "roundrect".to_string());-        let layers = pad.layers.clone().unwrap_or_else(|| "\"F.Cu\" \"F.Paste\" \"F.Mask\"".to_string());+        // Normalise the layer list to valid KiCad syntax: space-separated, each name quoted.+        // Callers historically passed comma-separated/unquoted layers ("F.Cu,F.Paste,F.Mask"),+        // which KiCad fails to match to a real copper layer -> the pad shows as an SMD *aperture*+        // (no copper). Accept comma or whitespace separators and any quoting, always emit clean.+        let raw = pad.layers.clone().unwrap_or_else(|| "F.Cu F.Paste F.Mask".to_string());+        let layers = raw+            .split(|c| c == ',' || c == ' ' || c == '\t')+            .map(|t| t.trim().trim_matches('"'))+            .filter(|t| !t.is_empty())+            .map(|t| format!("\"{}\"", t))+            .collect::<Vec<_>>()+            .join(" ");         let angle = match pad.angle {             Some(a) if a != 0.0 => format!(" {}", n(a)),             _ => String::new(),