Skip to content

create_symbol documents pin x/y as positions, but the body auto-size overrides them #293

Description

@anyn99

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:

  1. 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;
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions