Recover net labels that don't fit at their configured size - #807
Recover net labels that don't fit at their configured size#807Priyanshubhartistm wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
mohan-bee
left a comment
There was a problem hiding this comment.
i see some bad regression
|
@mohan-bee right - recovering the GND label pushes VCC_3V3 into a spot that overlaps another label. Root cause is that label placement never checks against other already-placed labels, just chips/traces/text. Real fix for that touches ~21 other snapshots, so it's too big for this PR - will handle it separately. |
tbh that regression is so bad |
NetLabelPlacementSolver was silently dropping a net label group when a caller-specified netLabelWidth/netLabelHeight didn't fit anywhere near a cramped pin bracket (found via repro-atmega328p-missing-gnd-netlabel, where a netLabelHeight: 0.42 GND label had nowhere to go near U_MCU.3/U_MCU.5). Added a size fallback tier that retries at the default label size, first at the caller's declared orientation, then any orientation only if that's still too tight. The same silent-drop bug was already hiding in several other fixtures and is recovered as a side effect. Also added a label-vs-label bounds check scoped to the new size-fallback tiers so a recovered label can't land directly on top of one already placed earlier in the same solve. Signed-off-by: Priyanshubhartistm <bhartipriyanshustm@gmail.com>
043bc68 to
3a669b2
Compare
Summary
NetLabelPlacementSolverwas silently dropping a net label group when a caller-specifiednetLabelWidth/netLabelHeightdidn't fit anywhere near a cramped pin bracket (found viarepro-atmega328p-missing-gnd-netlabel, where anetLabelHeight: 0.42GND label had nowhere to go nearU_MCU.3/U_MCU.5).Validation
bun run format:checkbunx tsc --noEmitbun test(180 pass, 4 pre-existing skips, 0 fail)failedGroups/netLabelPlacementscounts before vs. after across all 8 affected fixtures to confirm the change only turns failures into successes, never touches an existing placement