Skip to content

Add collision-aware pin 1 arrows to pinrow footprints - #743

Draft
seveibar wants to merge 2 commits into
mainfrom
codex/add-pinrow-pin1-arrow
Draft

Add collision-aware pin 1 arrows to pinrow footprints#743
seveibar wants to merge 2 commits into
mainfrom
codex/add-pinrow-pin1-arrow

Conversation

@seveibar

@seveibar seveibar commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a top-silkscreen pin 1 arrow to pinrow footprints, including SMD and nosquareplating variants
  • choose only an outer side of the pin 1 pad and avoid the top-side pin-label direction
  • reject arrow positions that overlap the reference-text bounds
  • use the shared Bounds type and doBoundsOverlap helper from @tscircuit/math-utils 0.0.36
  • update the direct pinrow SVG snapshots and add structural assertions for normal, no-label, round-pin-1, and SMD cases

Verification

  • bun test tests/pinrow.test.ts tests/pinrow2_id1.016_od1.88_nosquareplating_pinlabeltextalignright_pinlabelorthogonal_doublesidedpinlabel_pinlabelverticallyinverted.test.ts — 29 pass
  • bun run build — pass
  • git diff --check — pass
  • GitHub Actions build and format checks — pass

Remaining draft blocker

The visual output in tests/kicad-parity/pinrow_kicad_parity.test.ts also changes. Refreshing that snapshot requires fetching the fixture from kicad-mod-cache.tscircuit.com; the current Codex sandbox rejected that external fetch even after explicit approval. GitHub Actions confirms this is the only failing test (483 pass, 1 fail). The parity SVG snapshot still needs to be refreshed in an environment with fixture access before this PR is marked ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant