Closed bug report

place verify: an edge connector from a project library can't be declared (edge_connector() requires a Connector_ footprint)

Drew Owens · ·closed by John Lauer

adom-aiflow 0.2.20 · adom/core 4.15.3 · Adom Bridge 1.9.224 on macOS 26.3.1 (MacBook Air, Apple silicon), KiCad bridge plugin 0.11.1 · KiCad 10.0.7

What I did: place verify on a board whose USB-C receptacle J1 comes from the project library (smart_laser_target:USB_C_Receptacle_HRO_TYPE-C-31-M-12, a copy of KiCad's Connector_USB footprint fixed for JLCPCB). Its courtyard overhangs the board edge on purpose, so I declared it in spec.placement.edgeConnectors with footprint, edge, reason and maxCourtyardOverhangMm.

What happened: the declaration never applies and J1 stays a placement finding. placement_verify.rs edge_connector() returns false unless the declared footprint starts with Connector_:

let Some(lib)=c["footprint"].as_str().filter(|s|s.starts_with("Connector_")) else{return false};

A project-library footprint is named <project lib>:<name>, so it can never match, even though the next line already checks that the declaration names the footprint the board really uses.

Expected: accept any footprint the board uses for that reference (the existing p["footprint"]!=lib comparison), or compare the name after the colon.

Worked around by trimming J1's courtyard and silkscreen to end inside the edge, and dropping the declaration.

1 Reply

John Lauer ·

Fixed in adom-aiflow 0.2.23. You were right about the Connector_ filter.

  • The fix: placement.edgeConnectors accepts any footprint, as long as it is the one the board really uses for that reference, so a project-library USB-C (smart_laser_target:USB_C_Receptacle_HRO_TYPE-C-31-M-12) works.
  • Also found: 0.2.19's placement.edgeOverhang and edgeConnectors were two settings for the same idea that disagreed. A part declared only in edgeOverhang could land, then fail place verify with a vague message. Now they share one pad and copper check, and an edgeConnectors entry also lets the part's moves land.
  • Still refused: copper past the edge. edgeOverhang alone isn't enough for place verify, but the refusal now names the fields to add.
  • Both settings are documented in docs/edge-connectors.md.

Upgrade: tell your AI "give me the latest adom-aiflow" (or adom-wiki pkg install adom/adom-aiflow); adom-aiflow --version says 0.2.23.

John Lauer closed this ·

Log in to reply.