fix: draw silkscreen outlines for sod123 and sot723 (#734) - #737
Open
DPS0340 wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes #734 — the last two findings from the scan. Independent of #735 and #736 (different files, no conflicts).
Both were the only members of their families shipping bare pads:
(
sot23was the third, fixed in #733.)Why I didn't just copy the sibling formula
sod123fbuilds its outline aty = ±h/2. Applying that here would have made things worse, not better — I checked before writing it:his the body height (1.22 mm) while the pads are 1.2 mm tall, so the pads are effectively as tall as the body. Both outlines are therefore derived from the pads:sod123keeps the right side open so it never crosses pad 2, and puts the vertical edge outboard of pad 1 to mark the cathode end — the shape KiCad'sD_SOD-123uses.sot723gets the two horizontal runs above/below the pads, matching KiCad'sSOT-723.For
sot723I also took the pad extents fromgetCcwSot723Coordsinstead of hardcoding the±0.4offsets, and left the clamp in place for any pad that reaches into a run's y-band, so the outline follows if that geometry is ever parameterised.Verification
A bug the checker caught in my own work: my first
sot723attempt produced runs only 0.1 mm wide instead of spanning the body. The clamp was firing on the outermost pad becauserunYlands exactly on the clearance boundary and the comparison was strict. Changed to>=/<=so grazing the boundary isn't treated as a collision — runs are now the full ±0.6 body half-width, close to KiCad's ±0.3…0.7.Bite proof, checked separately per file. Reverting only
sod123.ts→"hasSilkscreen": falseforsod123; reverting onlysot723.ts→ same forsot723. The test asserts presence and clearance, so it can't pass vacuously.Suite:
468 pass / 0 fail,biome formatclean,bun run buildok. Courtyard parity unchanged —D_SOD-123andSOT-723both still report IoU 100.00% (diff 0.00%). I rendered the sod123 parity snapshot against the KiCad reference and the outlines line up.Scan status
With this, all 4 "no silkscreen where KiCad has some" findings from #734 are addressed except
pinrow6_rows6_od1.7_id1, which is a through-hole part where KiCad's reference is a different connector family — I'd rather not guess at that one. The ~25 footprints sitting between 0.045 and 0.15 mm (tight vs IPC 0.2 but not overlapping) are still listed in #734 if you want them tightened as a follow-up.