Update the board from a changed netlist
update_board_from_netlistBring a routed board to a changed circuit and keep every track that is still right: what KiCad calls Update PCB from Schematic, then the routing. New parts go on the board (place: a connector on an edge, the board grown when there is no room, the rest in free room near what they connect to; placements for exact poses), moved or re-netted pads lose only the branch of copper that led to them, copper a new part lands on goes, and only what is open is routed, with the rules read off the board. The answer says how many tracks and vias were kept, ripped and added, what is still open, and the errors that touch the change. A route that takes copper off the rip list is refused and the board stays.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| place | No | New parts without a pose yet, and where they should go. | |
| remove | No | Parts that leave the board. Parts in no netlist (a logo, a fiducial) stay otherwise. | |
| wait_s | No | Seconds to wait for the job (default 55). A job still running comes back with status "running": follow it with get_board_job. A job is allowed the time its budget asks for (time_budget_s, total_budget_s, rounds), and survives a server restart (the op starts over from its snapshot; route_board's pipeline goes on from its last finished stage). | |
| netlist | Yes | The new KiCad netlist, as text. | |
| design_id | Yes | The design id returned by import_kicad_project or list_designs. | |
| placements | No | Reference -> exact pose, for new parts and parts that move. | |
| time_budget_s | No |