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.
kicad_silk_fields_batch: live update fails with ISC_INVALID_TYPE PCB_FIELD_T (KiCad 10.0.6), dry run passes
What I ran: kicad_silk_fields_batch with filePath, expectedRevision, update: [{id, x, y, rotation, layer: "F.SilkS", height, width, stroke, align: "center", visible: true}] (125 footprint Reference/Value field UUIDs) on the live board, bridge 1.0.55, KiCad 10.0.6, Windows (COOKBOOK1100).
Expected: the fields move/resize as one undo step (the same request with dryRun: true succeeded: "success": true, 0 violations).
Got (verbatim, trimmed): {"success": false, "mutated": false, "errorCode": "drc_rejected", "error": "item request status error ISC_INVALID_TYPE: Tried to create an item of type PCB_FIELD_T, which is unhandled", "violations": 0}.
So the live update path tries to create a PCB_FIELD through the IPC API, which KiCad 10.0.6 does not handle (fields are not creatable items; they would need an update of the existing field item). The dry run does not exercise that path, so it passes.
Workaround used (disclosed in the run's notes): the field positions/layer/size/thickness were written into the saved .kicad_pcb offline (property blocks by UUID, local frame), the file sent back and the editor reverted to it (File > Revert), then native DRC re-run. Standalone texts (kicad_silk_text_batch) worked live.