feat(schematic): batch component authoring + connection tools

Adds batch authoring tools that collapse the dozens of round-trips needed to
stand up a schematic into a handful: batch_add_components,
batch_edit_schematic_components, replace_schematic_component,
batch_add_no_connects, batch_connect, and batch_add_and_connect (place a set of
parts and wire them in one call). These reuse the existing single-item handlers
internally, so behavior matches exactly.

- python/commands/schematic_batch.py: SchematicBatchCommands(iface)
- python/commands/schematic_text_utils.py: shared .kicad_sch text helpers
- src/tools/schematic-batch.ts + registry 'schematic_batch' category
- python/kicad_interface.py: import + instantiate + dispatch routes
- tests/test_schematic_batch.py: 13 unit tests

Note: schematic_text_utils.py is also shipped by the field-placement and
hierarchy PRs; if those merge first, drop the duplicate copy on rebase.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Ravi
2026-06-02 19:43:10 -07:00
committed by mixelpixx
parent a0bf45488b
commit 4a251b7343
6 changed files with 1227 additions and 0 deletions

View File

@@ -138,6 +138,19 @@ export const toolCategories: ToolCategory[] = [
"autoplace_schematic_fields",
],
},
{
name: "schematic_batch",
description:
"Batch schematic authoring: add/edit/replace components, batch no-connects, batch connect, add-and-connect",
tools: [
"batch_add_components",
"batch_edit_schematic_components",
"replace_schematic_component",
"batch_add_no_connects",
"batch_connect",
"batch_add_and_connect",
],
},
{
name: "routing",
description: "Advanced routing operations: vias, copper pours",