AI Flow
Public Made by Adomby adom
Adom's AI Flow: a tool to help the AI follow all of the steps it takes to build a board.
Thermal through-via planner omits inner-layer signal tracks from clearance obstacles
AIFlow 0.2.30, upstream fbc027548dbb4207be1107e9e9bdf2628e0663e9; KiCad 10.0.6; KiCad Bridge 1.0.95; Linux/WSL caller, Windows native DRC.
thermal-vias plan can propose a through via too close to an inner-layer signal. In thermalvias.rs it reads b.tracks(), which intentionally returns only F.Cu/B.Cu. Its other-net clearance loop therefore does not see In1/In2 tracks, despite the proposed holes spanning all layers.
An isolated native trial was rejected: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.0478 mm) against an In1 track. Native refill also reassigned a proposed GND via to another net touched by the trial; no trial was adopted. Native DRC and post-landing net/readback checks remain essential. This patch addresses inner-track omission only, not a general guarantee that every proposed via is legal or connected.
Attached generic regression constructs a four-layer board, asks for thermal vias, then puts an inner-layer foreign-net track through a proposed location. It fails on the unmodified planner: through via must clear In1.Cu track: (11.95, 10.0). Replace b.tracks() with b.copper_tracks(); the test then verifies clearance to both In1.Cu and In2.Cu, and full workspace tests pass: 509 passed, 0 failed, 9 existing ignored. All pad/via/hole/silkscreen gates and native DRC remain unchanged. No private CAD is attached.
This is independent of the approved-courtyard proposal in issue115 and the lead-cooled thermal-model mismatch in issue116. Patch changes only thermalvias.rs and its regression test. This account cannot create a branch on the repository (manage-rights denial already recorded under issue115), so this is a contextual patch for an authorized maintainer to review; no installed/shared runtime replacement or release is claimed.
Patch SHA-256: 41e2407ab945d80d00d601833a3dc845950af1e0678cb063dd04be506ad18226.