app
KiCad - the KiCad Bridge
Public Made by Adomby adom
Drive your own KiCad from an AI, in the background: open every editor, read the whole board as data (the EDA Bridge Standard board model), stack-up, part heights, netlists, place, route, pour, DRC and exports.
← Commit history
1.0.5: 1.0.5: kicad_add_zone fills the new zones (KiCad 10 refills all zones, not a list); kicad_zone_state
3 files changed
+7−5
rust/Cargo.lock+3−3@@ -244,7 +244,7 @@ dependencies = [ [[package]] name = "kicad-bridge"-version = "1.0.4"+version = "1.0.5" dependencies = [ "kicad-core", "kicad-platform",@@ -255,7 +255,7 @@ dependencies = [ [[package]] name = "kicad-core"-version = "1.0.4"+version = "1.0.5" dependencies = [ "kicad-ipc-rs", "kicad-platform",@@ -281,7 +281,7 @@ dependencies = [ [[package]] name = "kicad-platform"-version = "1.0.4"+version = "1.0.5" dependencies = [ "serde", "serde_json",
rust/Cargo.toml+1−1@@ -3,7 +3,7 @@ resolver = "2" members = ["crates/*"] [workspace.package]-version = "1.0.4"+version = "1.0.5" edition = "2021" license = "MIT" publish = false
rust/crates/kicad-core/src/ipc.rs+3−1@@ -829,8 +829,10 @@ pub fn add_zone(ctx: &Ctx, args: &Value) -> RResult<Value> { if ids.len() != count { result["postCommitError"] = json!(format!("KiCad answered with {} zone ids for {} zones", ids.len(), count)); }+ // KiCad 10.0.x answers AS_UNIMPLEMENTED to RefillZones with a list of zone ids; an empty+ // list means "every zone" and works, so that is what the bridge sends. if args.get("refill") != Some(&json!(false)) && !ids.is_empty() {- match s.client.refill_zones(ids.clone()) {+ match s.client.refill_zones(Vec::new()) { Ok(()) => result["refilled"] = json!(true), Err(e) => result["postCommitError"] = json!(format!("zones created but not filled: {e}")), }