Needed to update references because for some tracks 'start' and 'end' position switched and this happens to be to difficult to detect as acceptable difference in SVG even though the final result is the same.
Comparing test results before and after:
test_diode_switch_routing position36
before
after
was not able to route before due bad implementation. Segment from diode was drawn first and collision check incorrectly flag it as colliding with switch pad (ends closer than clearance). Track before adding has no netcode so it did not ignore that 'collision' based on nets. Collision check is still flaky but this example now works because we start from switch pad.
test_diode_switch_routing position38
before
after
This was flag as collision with mounting hole because only first track posture was checked. When using second corner it is possible to route.
example:
2x3-rotations
before
after
(variant with custom diode position is similar, two rotated diodes at bottom row are connected)
Needed to update references because for some tracks 'start' and 'end' position switched and this happens to be to difficult to detect as acceptable difference in SVG even though the final result is the same.
Comparing test results before and after:
test_diode_switch_routing position36
was not able to route before due bad implementation. Segment from diode was drawn first and collision check incorrectly flag it as colliding with switch pad (ends closer than clearance). Track before adding has no netcode so it did not ignore that 'collision' based on nets. Collision check is still flaky but this example now works because we start from switch pad.
test_diode_switch_routing position38
This was flag as collision with mounting hole because only first track posture was checked. When using second corner it is possible to route.
2x3-rotations
(variant with custom diode position is similar, two rotated diodes at bottom row are connected)
1x4-rotations-90-step