feat: add 11 missing schematic inspection & editing tools

Add all missing schematic operations identified in the gap analysis:

Inspection (P0/P2):
- list_schematic_components: enumerate all components with refs, values, pins
- list_schematic_nets: list all nets with their connections
- list_schematic_wires: list all wire geometry
- list_schematic_labels: list net labels, global labels, power flags

Editing (P0/P1):
- annotate_schematic: assign ref designators to unannotated components (R? → R1)
- move_schematic_component: reposition placed symbols
- rotate_schematic_component: rotate/mirror placed symbols
- delete_schematic_wire: remove wires by coordinates
- delete_schematic_net_label: remove labels by name/position

Export (P1):
- export_schematic_svg: schematic SVG export via kicad-cli
- export_schematic_pdf: enhanced with file path return & blackAndWhite support

Also registers list_schematic_components and annotate_schematic as
direct tools (always visible) since they're prerequisites for
reference-based workflows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Eugene Mikhantyev
2026-03-12 23:52:11 +00:00
parent 914ef92c0f
commit b2a547e624
3 changed files with 1018 additions and 18 deletions

View File

@@ -83,17 +83,28 @@ export const toolCategories: ToolCategory[] = [
},
{
name: "schematic",
description: "Schematic operations: create, add components, wire connections, netlists",
description: "Schematic operations: create, inspect, add/edit/delete components, wire connections, netlists, annotation",
tools: [
"create_schematic",
"add_schematic_component",
"list_schematic_components",
"move_schematic_component",
"rotate_schematic_component",
"annotate_schematic",
"add_wire",
"delete_schematic_wire",
"add_schematic_connection",
"add_schematic_net_label",
"delete_schematic_net_label",
"connect_to_net",
"get_net_connections",
"list_schematic_nets",
"list_schematic_wires",
"list_schematic_labels",
"generate_netlist",
"sync_schematic_to_board"
"sync_schematic_to_board",
"export_schematic_svg",
"export_schematic_pdf"
]
},
{
@@ -141,6 +152,8 @@ export const directToolNames = [
// Schematic essentials (always visible so AI uses them correctly)
"add_schematic_component",
"list_schematic_components",
"annotate_schematic",
"connect_passthrough",
"connect_to_net",
"add_schematic_net_label",