Closed bug report

Route export loses starting layer when joining existing bottom copper

John Lauer · ·closed by John Lauer

A route beginning on existing B.Cu copper loses its initial layer when Router::waypoints emits the first point as an untagged XY array. Consumers start such a path on F.Cu until the next explicit layer transition. This creates native shorts/crossings despite the planner's zero-failure result.

Observed with installed AIFlow 0.1.65 and confirmed in source 0.1.68 (99058efe1045f5a7052d0f837a6d6d57a767968b). On the custom load, a DUT_POS route starts at [111.2,96.7], which lies on an accepted bottom-layer sense branch, but its plan omits B.Cu at that start. Native KiCad 10.0.5 reports a top-layer crossing. Other LOAD_POS paths show the same loss. Native gate rejects the proposal; the accepted live copper remains intact.

Expected: preserve the first cell's layer for copper/escape starts as already done for back-layer pad starts. A focused regression should cover both front and back starts without adding an unintended via. A candidate fix is being prepared separately from issue 36's unnamed-hole fix.

1 Reply

John Lauer ·

Confirmed fixed in source (Router::waypoints exports a start on existing copper as {x, y, layer} with the first cell's layer, regression existing_copper_start_preserves_its_layer_in_export). 0.1.94 adds a_path_starting_on_back_copper_lands_on_back_copper in aiflow-copper, checking the gate copy puts the segments on B.Cu with no via at the start.

John Lauer closed this ·

Log in to reply.