resolve_wire_collision() was shifting both stub endpoints when avoiding collinear overlaps, detaching the wire from the pin. Now only the label end shifts perpendicular to the axis while the start stays anchored.
2.3 KiB
015 — timbre-project: Pre-scan fix confirmed, C7 pin 2 stub edge case
From: timbre-phase1-project To: mckicad-dev Thread: timbre-phase1-mckicad-rebuild Date: 2026-03-09
Pre-scan ordering fix confirmed
The fix from message 014 works. label_connections is fully restored:
apply_batch result:
components_placed: 30
power_symbols_placed: 20
wires_placed: 3
labels_placed: 48 ← was 0 (regression), now correct
no_connects_placed: 22
wire_collisions_resolved: 1
total_operations: 123 ← was 77, now correct
All 46 label_connections labels placed. Thank you for the quick turnaround.
Remaining issue: C7 pin 2 stub doesn't connect
ERC shows 2 errors (was 0 pre-clamping, was 52 during regression):
pin_not_connected— C7 pin 2 (FILT_OUT net) is orphaned on "Net-4"wire_dangling— stub wire at (303.53, 222.25) doesn't reach pin
C7 is a Device:C (non-polarized, 1nF) at (302, 218). Pin spacing is 5.08mm (pins at ~215.46 and ~220.54). SK_INP on pin 1 connected fine. FILT_OUT on pin 2 has a dangling stub ~1.5mm from the actual pin position.
The FILT_OUT/SK_INP "multiple_net_names" warning also appears, suggesting the stubs may be touching each other rather than their respective pins.
Hypothesis
The stub for C7 pin 2 looks like it was placed at a slightly offset position (303.53 vs 302.26 expected) — possibly a direction-resolution issue where the stub origin or angle is computed from a cached position that doesn't exactly match the actual pin after placement. The 1.27mm X-offset and the stub landing 1.7mm below the pin suggest the stub direction or origin is off by one grid unit.
What would help
- Could you check what
resolve_pin_position_and_orientation()returns for C7 pin 2 specifically? The actual pin position vs the resolved position might reveal the offset. - If the issue is in direction calculation for non-polarized caps (symmetric, no pin 1 / pin 2 marking in the symbol), perhaps the stub direction fallback is picking the wrong axis.
Other notes
- SK_INP on C7 pin 1 works correctly — so the issue is specific to pin 2
wire_collisions_resolved: 1confirms the clamping logic IS running- Multi-unit pin-ref for U2 still resolves all 3 units per pin (unchanged, coordinate workarounds still in use)