imrishabh18/pcbgolf
A complete 4-layer PCBGolf controller PCB with STM32H7 MCU, USB/SD and CAN interfaces, power regulation, protection, connectors, switches, LEDs, clocking, and supporting passives.
- Version
- 1.6.1
- License
- unset
- Stars
- 0
patches/README.md
# Project-local tscircuit DRC corrections
`@tscircuit%2Fchecks@0.0.189.patch` is applied by Bun's `patchedDependencies`
when installing the pinned lockfile. It changes the checker, not the board:
- Rounded rectangular pads use exact inset-rectangle plus corner-radius distances.
- Via-to-pad copper clearance uses the board's trace-to-pad clearance (0.10 mm in
this project), while SMT pad-to-pad clearance remains 0.15 mm. This matches the
independently checked native manufacturing profile; hole clearance is still
validated separately by KiCad.
- Spatial connectivity searches include the full trace width, including contacts
across grid bucket boundaries. Exact copper distances still decide contact.
- Physical connectivity follows trace copper, intermediate pad contacts, vias,
and filled BREP plane regions with their voids. Logical net IDs alone do not
establish a physical connection. Plane contact requires a geometric witness;
the conservative sampling can miss very small contacts rather than assuming
connectivity from a net label.
No DRC categories are disabled, and no error records are removed after rendering.
The regression tests include actual gaps, absent/wrong-layer vias, absent planes,
plane voids, spoofed endpoint metadata, and clearance violations. Run
`bun run test:drc` and `bun run check:drc` after `bun run build:routed`.
`validation/drc-fix/geometry-invariants.json` records that all 10,777 non-error
Circuit JSON elements are unchanged. The original 734 findings are retained in
`validation/drc-fix/before.runtime-findings.json` as historical evidence.
`bun run dev` also embeds the installed checks into the evaluation worker
inside the official tscircuit browser bundle. The UI and rendering remain
tscircuit’s own. This is necessary because its published browser bundle includes
a separate precompiled copy of the checker; installing a dependency patch alone
does not update that copy. The generated bundle stays in `.tscircuit/`.