Commit Graph

1627 Commits

Author SHA1 Message Date
Akhil Velagapudi 85e59ccf7f Expose IPC-2581 source lands after copper removal (#1229)
* Expose IPC-2581 source lands after copper removal

Amp-Thread-ID: https://ampcode.com/threads/T-01a07c7b-e93d-76ee-88b1-a813994a5ecd

* Fix info JSON test after fallible API change

Amp-Thread-ID: https://ampcode.com/threads/T-01a07c7b-e93d-76ee-88b1-a813994a5ecd
2026-09-07 15:55:41 +00:00
Akhil Velagapudi 10ec137c44 ENG-1356: Prepare curved geometry to a stated accuracy (#1171)
Regions carry the resolution they were prepared at, so approximation budgets are chosen once and inherited instead of threaded through every signature. Elliptical arcs close the IR under affine transforms, making placement and expansion exact.
2026-09-07 10:45:54 -04:00
detail-app[bot] 2038c3de0f fix(kicad-sch): deduplicate unmanaged ComponentNodes on repeated sheets (#1221)
* fix(kicad-sch): deduplicate unmanaged ComponentNodes on repeated sheets

* fix: add missing placed field in Sheet initializer in test

* Trim repeated-sheet regression setup and correct changelog placement

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-d107-7218-b21b-c4308253017d

* Remove redundant repeated-sheet reducer regression

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-d107-7218-b21b-c4308253017d

* Remove internal deduplication release note

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-d107-7218-b21b-c4308253017d

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: detail-app[bot] <detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 10:45:30 -04:00
detail-app[bot] a0094b4947 fix(import): classify metric-only 0402Metric/0603Metric passives as 01005/0201 (#1209)
* fix(import): classify metric-only 0402Metric/0603Metric passives as 01005/0201

* fix: strip library namespace and use digit-boundary guard in parse_package_from_text

- Strip the KiCad library namespace (everything before ':') before matching
  metric and imperial package tokens, so a library name such as '0402Metric'
  or '1005Metric' cannot shadow the actual footprint name.
- Switch metric-suffix checks from plain contains() to contains_code() so
  that '1005metric' is not spuriously matched inside '01005metric'.
- Add regression tests for both cases.

* fix(import): keep metric package precedence focused

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-395f-7383-bd2b-363ef353aa45

* fix(import): exclude namespaces at package extraction boundary

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-395f-7383-bd2b-363ef353aa45

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: detail-app[bot] <detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 10:45:28 -04:00
detail-app[bot] fe889b2c93 fix(lsp): canonicalize stdlib path before prelude-injection check (#1207)
* fix(lsp): canonicalize stdlib path before prelude-injection check

* Simplify stdlib path regression coverage and correct changelog

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-28d3-714f-9c43-2c523c78d995

* Remove granular stdlib changelog entry

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-28d3-714f-9c43-2c523c78d995

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 10:43:52 -04:00
detail-app[bot] eb8928c7cf fix(ipc2581): Deduplicate component_placements when a RefDes repeats in the BOM (#1214)
* fix(ipc2581): Deduplicate component_placements when a RefDes repeats in the BOM

* test(ipc2581): condense placement dedup regression

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-f893-7239-95a2-e128a2c4934e

* docs: remove placement dedup release note

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-f893-7239-95a2-e128a2c4934e

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 10:43:47 -04:00
detail-app[bot] a8c058dd4c fix(migrate): walk root-level .zen files in pure-container workspaces (#1218)
* fix(migrate): walk root-level .zen files in pure-container workspaces

* Trim container migration regression and correct changelog placement

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-b43e-72db-bcef-810d8f6afd4e

* Limit container migration scan to direct root sources

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-b43e-72db-bcef-810d8f6afd4e

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 10:43:29 -04:00
detail-app[bot] 2994fc1ed0 fix(pcb-layout): resolve chained net renames in a single pass (#1216)
* fix(pcb-layout): resolve chained net renames in a single pass

* fix(import): apply allocated net names directly

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-11c9-72f3-b863-2bf2f74d374b

* fix(import): reject collisions with untouched PCB nets

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-11c9-72f3-b863-2bf2f74d374b

* docs: remove import rename bookkeeping release note

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-11c9-72f3-b863-2bf2f74d374b

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 10:43:24 -04:00
detail-app[bot] 1199479274 fix(doc): include [workspace].path in pcb doc --package <local-path> H1 header (#1202)
* fix(doc): include [workspace].path in pcb doc --package <local-path> H1 header

* Simplify doc URL regression coverage and fix changelog placement

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-bad4-733f-9f2c-7f504772908a

* Remove granular doc URL changelog entry

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-bad4-733f-9f2c-7f504772908a

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 10:43:23 -04:00
detail-app[bot] 5123458648 fix(pcb-sexpr): Reset backslash parity across whitespace in prettify (#1208)
* fix(pcb-sexpr): Reset backslash parity across whitespace in prettify

* Keep whitespace regression focused and correct Unreleased note

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-31f9-77f9-b250-c9b8fed8a891

* Reset backslash runs after every non-backslash source byte

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-31f9-77f9-b250-c9b8fed8a891

* Remove release note for internal formatter fix

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-31f9-77f9-b250-c9b8fed8a891

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 10:43:19 -04:00
detail-app[bot] 581a1f4a26 fix(schematic): preserve leading zeros in zero-padded stacked pin ranges (#1201)
* fix(schematic): preserve leading zeros in zero-padded stacked pin ranges

* Trim stacked pin padding fix and consolidate regression coverage

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-b0cc-717f-adb7-c7463d6c7ed0

* Remove granular stacked pin changelog entry

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-b0cc-717f-adb7-c7463d6c7ed0

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 10:43:10 -04:00
detail-app[bot] c24843e256 fix(kicad): respect in_bom on extends-derived symbols (#1223)
* fix(kicad): respect in_bom on extends-derived symbols

* Simplify in_bom inheritance using raw symbol presence

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-e76d-759c-8cfb-491af3f79efc

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 09:46:04 -04:00
detail-app[bot] 196ea4adae fix(geom): Bound inward ring decimation by point-to-segment distance (#1220)
Measure inward decimation error against the chord segment to preserve the boundary deviation limit. Add one forward-spike regression and record the fix in Unreleased.
2026-09-07 09:39:03 -04:00
detail-app[bot] 0764ff471b fix(import): Escape Zener sync Path property when inserting into KiCad PCB (#1212)
* fix(import): Escape Zener sync Path property when inserting into KiCad PCB

* Simplify imported Path regression coverage and correct changelog

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-e2c3-72ce-8abe-b10881d86081

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 09:30:00 -04:00
detail-app[bot] e33f871e13 fix(spice_model): Diagnose malformed PARAMS tokens instead of panicking (#1206)
* fix(spice_model): Diagnose malformed PARAMS tokens instead of panicking

* Trim SPICE PARAMS regression coverage and correct changelog

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-de40-77f6-add1-b13adb8b9a1a

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 09:22:00 -04:00
detail-app[bot] 00775173a6 fix(rectify): exit non-zero on batch evaluation errors in fix/audit (#1200)
* fix(rectify): exit non-zero on batch evaluation errors in fix/audit

* Simplify rectify batch failure guard and regression coverage

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a12-f8d1-7117-89b8-de8a43733f67

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 09:13:53 -04:00
detail-app[bot] 63112d38cb fix(graph): deduplicate external-port factors in all_simple_paths (#1203)
* fix(graph): deduplicate external-port factors in all_simple_paths

* refactor(graph): remove unused duplicate path traversal

Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-c5e9-710c-9377-03eeea5bf07e

---------

Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer>
2026-09-07 08:44:28 -04:00
Akhil Velagapudi 1e0bf87ef9 Preinstall released pcb and configure Git credentials in orb setup
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a0f-a938-70b3-89d8-bdf7724e5f7b
2026-09-07 04:16:36 +00:00
Akhil Velagapudi d41bb47aba Consolidate BOM table and JSON rows by selected offer (#1225)
* Consolidate BOM table and JSON rows by selected offer

Amp-Thread-ID: https://ampcode.com/threads/T-01a07830-313a-754d-98f1-c37d1e612e1c

* Keep grouped BOM sourcing and totals consistent

Amp-Thread-ID: https://ampcode.com/threads/T-01a07830-313a-754d-98f1-c37d1e612e1c

* Share sourcing data once per BOM JSON group

Amp-Thread-ID: https://ampcode.com/threads/T-01a07830-313a-754d-98f1-c37d1e612e1c
2026-09-06 18:51:06 -04:00
Lenny Khazan 55d2ac1ed7 feat: scaffold a starter board specification (#1199)
Amp-Thread-ID: https://ampcode.com/threads/T-01a073fb-bbd6-76db-8ac8-f4df82db770e

Co-authored-by: Amp <amp@ampcode.com>
2026-09-05 22:03:08 -04:00
Lenny Khazan 6a3d88fde1 Upgrade shipped symbols to KiCad 10 and enforce their format (#1198)
Amp-Thread-ID: https://ampcode.com/threads/T-01a07398-1a5e-751d-9d9c-c9e05b3d1313

Co-authored-by: Amp <amp@ampcode.com>
2026-09-05 22:19:00 +00:00
Diode Robot 04b702e2c9 Sync skills from diode f5fd8b0 2026-09-05 22:12:26 +00:00
Diode Robot ac82871565 Release v0.4.51 v0.4.51 2026-09-05 21:27:18 +00:00
Akhil Velagapudi c5d478f5fa Refactor DFM land indices and drill-span predicates (#1197)
Amp-Thread-ID: https://ampcode.com/threads/T-01a06fed-87e0-7538-90e4-37ac4beb8e7d
2026-09-05 17:10:48 -04:00
Lenny Khazan 2455354a4f fix(lsp): use cached BOM matches during schematic evaluation (#1195)
Amp-Thread-ID: https://ampcode.com/threads/T-01a072c4-74c1-774a-9a36-5307843f02b4

Co-authored-by: Amp <amp@ampcode.com>
2026-09-05 20:35:28 +00:00
Lenny Khazan 3d82841166 Preserve hierarchical sheet ownership when placements are deleted (#1196)
* fix: preserve hierarchical sheet ownership when placements are deleted

Amp-Thread-ID: https://ampcode.com/threads/T-01a072c8-0941-7019-a2ca-68b1e2352816
Co-authored-by: Amp <amp@ampcode.com>

* fix: handle retained sheet repair collisions and hierarchy changes

Amp-Thread-ID: https://ampcode.com/threads/T-01a072c8-0941-7019-a2ca-68b1e2352816
Co-authored-by: Amp <amp@ampcode.com>

---------

Co-authored-by: Amp <amp@ampcode.com>
2026-09-05 15:58:28 -04:00
Akhil Velagapudi 4380d848ea Reuse clearance measurement sites for slot enclosure
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-9cfd-7440-9ecf-8836e8d46994
2026-09-05 14:43:38 -04:00
Akhil Velagapudi e7ff4cc5cb Check nominal plated-slot copper enclosure in DFM
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-9cfd-7440-9ecf-8836e8d46994
2026-09-05 14:43:38 -04:00
Akhil Velagapudi 6e62e9547a Omit unproven slot spans from lazy non-span reports
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-93fa-71ed-8809-48e2d6ffaf67
2026-09-05 13:30:02 -04:00
Akhil Velagapudi bb7a9f62a5 Use Diode slot clearance guidance as preferred warnings
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-93fa-71ed-8809-48e2d6ffaf67
2026-09-05 13:30:02 -04:00
Akhil Velagapudi 82cfedbc7d Use shared physical copper ordering for slot spans
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-93fa-71ed-8809-48e2d6ffaf67
2026-09-05 13:30:02 -04:00
Akhil Velagapudi e5ec70846c Check routed slot clearance to unrelated copper
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-93fa-71ed-8809-48e2d6ffaf67
2026-09-05 13:30:02 -04:00
Akhil Velagapudi 7ce07ed66f Warn about narrow soldermask webs in IPC profiles
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-8b50-768d-92c5-09d1c2b11c07
2026-09-05 13:00:15 -04:00
Akhil Velagapudi 153b1ac54d Add IPC copper-to-board-edge clearance baseline
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-82fd-718e-8236-82a14bd28295
2026-09-05 12:52:31 -04:00
Akhil Velagapudi 1690be30fc Add circular hole-pair clearance to IPC profiles
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-7ac7-750b-89da-1bf50017fa8a
2026-09-05 12:45:13 -04:00
Akhil Velagapudi 4c183bca95 Add Diode slot-width minima to IPC profiles
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-7062-7368-93f9-5c251fd1cc65
2026-09-05 12:38:38 -04:00
Akhil Velagapudi 69c478b933 Add IPC profile hole diameter baselines
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-67ab-7679-927b-b7ee2ff242b8
2026-09-05 12:32:52 -04:00
Akhil Velagapudi 3529f086d6 Resolve slot layer order lazily once per extraction
Amp-Thread-ID: https://ampcode.com/threads/T-01a07258-4a95-77bc-8efc-fb545eef0ab7
2026-09-05 12:31:45 -04:00
Akhil Velagapudi 505704486b Fix physical stackup spans for slot cutouts and hole-land links
Amp-Thread-ID: https://ampcode.com/threads/T-01a07258-4a95-77bc-8efc-fb545eef0ab7
2026-09-05 12:31:45 -04:00
Akhil Velagapudi ed52cffc4c Add nominal annular-ring baselines to IPC profiles
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-5fd5-765d-85f9-f3be7c5de6a3
2026-09-05 12:26:11 -04:00
Akhil Velagapudi 2b49684d49 Add standard-derived copper spacing to IPC profiles
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-5835-77ff-80dc-b10d50c9d68d
2026-09-05 12:20:22 -04:00
Akhil Velagapudi fee01c6c02 Enable standard-derived copper width in IPC profiles
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-4c26-7289-85ce-f6e16a6909c7
2026-09-05 12:14:28 -04:00
Akhil Velagapudi 3e026eb021 Fix hole-land associations after copper clears
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-35ff-7003-803b-32510aa6ea5e
2026-09-05 11:30:09 -04:00
Akhil Velagapudi a94761fd31 Fix circular drill checks to use physical stackup order
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-467c-7365-a288-35283edfce0c
2026-09-05 11:29:53 -04:00
Akhil Velagapudi c20e51ca32 Fix IPC-2581 tools tests without default features (#1179)
* Fix IPC-2581 tools tests without default features

Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-4f0d-77b6-adc4-0a2520088d96

* Move ENG-1374 changelog entry to avoid concurrent insertion conflict

Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-4f0d-77b6-adc4-0a2520088d96
2026-09-05 11:23:45 -04:00
Diode Robot aaa904fc00 Sync skills from diode 95e0267 2026-09-05 15:20:15 +00:00
Akhil Velagapudi e329460f10 Fix hole clearance ownership for reused source indices
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-3e8f-759c-ad42-5e7776a4df3c
2026-09-05 11:18:50 -04:00
Akhil Velagapudi 53e6d7d949 Fix phantom copper on cutout-only artwork layers
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-2ded-76bb-b5f5-2e09080667ee
2026-09-05 15:09:56 +00:00
Diode Robot 3eee544ff0 Release v0.4.50 v0.4.50 2026-09-05 15:02:19 +00:00
Akhil Velagapudi c8254cb36e Support opaque service-account client IDs (#1177)
Amp-Thread-ID: https://ampcode.com/threads/T-01a06fc6-8f9f-70e8-b832-f27bd1213cab
2026-09-05 00:42:51 -04:00