Not a behaviour report — the override is intended, and the resulting symbols are good. This is about
the schema saying one thing and the handler doing another, with no way to opt out.
create_symbol describes the per-pin x and y as the pin's position. In practice the body
rectangle is sized to fit the pin names and the pins are pushed outward to match — the behaviour
PR #149 added on purpose, so that facing pin names cannot collide. Two symbols created in the same
session with identical pin coordinates therefore came out different:
| Symbol |
pins declared at |
actual connection points |
14-pin module, names like D4/A4/SDA/P0.04 |
±19.05 mm |
±24.13 mm |
14-pin module, names like D4/SDA |
±19.05 mm |
±19.05 mm |
Nothing in the schema hints at this, and the response does not report the change.
Why it matters. A caller cannot plan a sheet before placing. Every symbol has to be re-measured
with batch_get_schematic_pin_locations after creation, and any wiring geometry computed from the
requested coordinates is wrong. Two symbols intended to sit on the same grid silently do not.
Expected. Either of these closes it:
- say so in the schema — that
x/y are a starting point and the body auto-size may move them,
and report the resolved positions in the response;
- an opt-out flag for callers who are drawing to a fixed grid and would rather have overlapping
names than moved pins.
Option 1 alone would be enough.
Note for #251 / #285. Like register_symbol_library's project and export_schematic_svg's
output above, this is invisible to the new reachability guard: x and y are read. They are
consumed as input to a layout pass that then overrides them. If those three are the shape the guard
cannot see, #251 will look closed while the class it describes is still open.
The two companions referred to above are filed separately: register_symbol_library's project is #289 and export_schematic_svg's output is #291. Those two plus this one are "the three".
Environment. Konnect 0.6.1 (59d0ead), KiCad 10.0.4, Windows 11. Found while building schematic
documentation through the MCP tools: five projects, eight sheets, roughly 150 tool calls.
Not a behaviour report — the override is intended, and the resulting symbols are good. This is about
the schema saying one thing and the handler doing another, with no way to opt out.
create_symboldescribes the per-pinxandyas the pin's position. In practice the bodyrectangle is sized to fit the pin names and the pins are pushed outward to match — the behaviour
PR #149 added on purpose, so that facing pin names cannot collide. Two symbols created in the same
session with identical pin coordinates therefore came out different:
D4/A4/SDA/P0.04D4/SDANothing in the schema hints at this, and the response does not report the change.
Why it matters. A caller cannot plan a sheet before placing. Every symbol has to be re-measured
with
batch_get_schematic_pin_locationsafter creation, and any wiring geometry computed from therequested coordinates is wrong. Two symbols intended to sit on the same grid silently do not.
Expected. Either of these closes it:
x/yare a starting point and the body auto-size may move them,and report the resolved positions in the response;
names than moved pins.
Option 1 alone would be enough.
Note for #251 / #285. Like
register_symbol_library'sprojectandexport_schematic_svg'soutputabove, this is invisible to the new reachability guard:xandyare read. They areconsumed as input to a layout pass that then overrides them. If those three are the shape the guard
cannot see, #251 will look closed while the class it describes is still open.
The two companions referred to above are filed separately:
register_symbol_library'sprojectis #289 andexport_schematic_svg'soutputis #291. Those two plus this one are "the three".Environment. Konnect 0.6.1 (
59d0ead), KiCad 10.0.4, Windows 11. Found while building schematicdocumentation through the MCP tools: five projects, eight sheets, roughly 150 tool calls.