Skip to content

pcbsight: experimental create side (design API + A* autorouter + footprints) - #1

Merged
VortexJer merged 3 commits into
mainfrom
pcbsight-create-wip
Jul 28, 2026
Merged

VortexJer merged 3 commits into
mainfrom
pcbsight-create-wip

Conversation

@VortexJer

Copy link
Copy Markdown
Owner

Qué añade

La mitad "crear" de pcbsight (experimental, WIP), junto al lado revisión ya existente. Emite un .kicad_pcb que el propio lado revisión valida.

  • design.py — API de intención (part / net / place / pour) → Design / Component / Pin, con bom() / cpl().
  • aroute.py — autorouter A* clearance-correcto: heurística ponderada, máscara de vías separada, crecimiento multi-objetivo, ruteo defer / parcial.
  • library.py — footprints reales (0402/0603, SOT23-5, SOIC-8, USB-C, TSSOP-20, QFN-20, cristal 3225, SOD-323, test pad, agujero de montaje…).
  • router.py — maze router anterior, conservado.
  • checks.py — añadidos menores.
  • __init__.py — expone Design / ARouter / Router / library / get_footprint como API experimental.

Estado / avisos

  • ⚠️ Experimental, sin tests todavía. No mezclar a main sin una pasada de tests.
  • En la práctica ha sacado tres placas con DRC de KiCad limpio: un mando RF denso con CC1101 (QFN + red de adaptación 433 MHz), una variante a 4 capas, y un medidor de intensidad de campo 433 MHz.
  • El lado revisión (board / checks / report) queda intacto; import pcbsight sigue funcionando igual.
  • Los builders por-proyecto (glue que traduce el diseño a pcbnew) no se incluyen aquí; son específicos de cada placa.

🤖 Generated with Claude Code

VortexJer and others added 3 commits July 28, 2026 12:29
…prints)

Adds the WIP "create" half of pcbsight alongside the review side. It emits a
board that the review side then validates. No tests yet; produced three
DRC-clean boards in practice (dense CC1101 RF board, a 4-layer variant, and a
433 MHz field-strength meter).

- design.py:  intent API (part/net/place/pour) -> Design/Component/Pin
- aroute.py:  clearance-correct A* autorouter (weighted heuristic, separate
              via-clearance mask, multi-target growth, defer/partial routing)
- library.py: real footprints (0402/0603, SOT23-5, SOIC-8, USB-C, TSSOP-20,
              QFN-20, crystal 3225, SOD-323, test pad, mounting hole, ...)
- router.py:  earlier maze router, kept
- checks.py:  minor additions
- __init__.py: expose Design/ARouter/Router/library as EXPERIMENTAL API

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- checks.py: drop unused Board.Zone import
- design.py, library.py: drop unused dataclasses.field
- tests/test_extreme.py: drop unused pad_on_layer (was already failing on main)

All 52 tests pass locally; `import pcbsight` exposes both review and
experimental create side.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…tprints)

Minor bump for the new experimental create side merged in this branch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@VortexJer
VortexJer merged commit 495e421 into main Jul 28, 2026
6 checks passed
VortexJer added a commit that referenced this pull request Jul 31, 2026
pcbsight: experimental create side (design API + A* autorouter + footprints)
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