20 Commits

Author SHA1 Message Date
Marek Roszko
02b3d03c23 Fix ctest for windows with env shim that is disabled for non windows, for now.
Also stuff a dummy fontconfig file to silence the dumb error on stdout, which interferes with testing
2025-01-04 22:08:58 -05:00
Dhineshkumar S
57127f7d12 Add DRC warning for incorrectly mirrored text 2024-12-08 05:00:38 +00:00
John Beard
44ca798925 Pcbnew IO: Use fill yes/no universally
There was a motion towards fill solid/none around
2020 (c.f. b31e97cfeda9b76a165854b98974d253e221e93b),
but it was only for PCB_SHAPE.

Use yes/no universally (solid/none parsing the same way
as currently). In future if there are other fill modes
for these shapes, they can use the same pattern as ZONEs
do now: (fill yes) (hatch etc ....) or similar.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/15232
2024-11-29 20:17:51 +08:00
JamesJCode
db072a524c Consolidation of Component Class implementation
- Moves functionality to FOOTPRINT class from BOARD_ITEM
- Renames DRC property from ComponentClass to Component_Class
- Adds DRC checks QA for A.Component_Class and a.hasComponentClass('x')
2024-10-24 20:11:35 +01:00
John Beard
1662d7f546 Pcbnew: don't assume zones are in the UiOrder list
This can be false, for example when zones are being rescued,
even if the LSET is non-zero-sized.
2024-08-16 08:30:52 +01:00
Tomasz Wlostowski
72912f1013 qa: basic testsuite for the MULTICHANNEL_TOOL 2024-08-13 22:50:26 +02:00
JamesJCode
5187ea721d Implement within_diff_pairs and group_matched DRC skew arguments
Enables DRC to calculate skew based on new arguments to skew
constraint DRC clauses:

Using (group_matched): calculate skew across all matching nets
Using (within_diff_pairs): calculate skew within every diff pair
   found within the matching nets

Additionally fixes DRC skew calculation to calculate skew relative
to the longest net in the skew check set (in line with PNS meander
placer calculations).
2024-07-29 15:28:39 +01:00
James J
7ce00e511b Multi-netclass support 2024-07-26 20:49:29 +00:00
Seth Hillbrand
c3f6a84d66 Update triangulation to handle poly-intersection
Polygon intersections happen against the original outline, not against
the currently remaining polygon.  This avoids pathalogical cases

Adds new simplification system to avoid duplicated points
Adds new edge-splitting algorithm to provide additional fall-back
Verifies that polygon cuts do not swap holes for outlines (negative
area)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17559
2024-03-28 10:16:24 -07:00
Marek Roszko
83ef5fd7d6 Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
John Beard
751c88ef20 Use 'uuid' (not 'id') in the s-expr PCB groups/generator format
Add some regression tests to check loading of groups and generators
from various versions of the s-expr PCB format.
2023-12-31 23:09:26 +00:00
Ian McInerney
d8b47d18d3 Initial rename of file plugin infrastructure components to IO 2023-12-24 01:22:21 +00:00
John Beard
e41f5efb03 Use modern bool style for footprint locking (locked yes)
Add some simple tests for specific footprint load/save checks
(including round-trip stability)
2023-12-14 21:22:59 +00:00
John Beard
481fa1f959 Allow PCB reference image locking and UUID to be saved
Add some unit tests for reference image saving/loading.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16334
2023-12-14 21:22:59 +00:00
Jon Evans
f1f8981395 Automatic whitespace and indentation prettification for sexpr formats 2023-11-29 16:17:41 +00:00
Roberto Fernandez Bautista
dbfb7880b5 Add IO_MGR::FindPluginTypeFromBoardPath (+QA tests) 2023-08-15 05:26:12 +03:00
Jeff Young
dd83217062 Add DRC testing for copper graphic to zone fill collisions. 2023-06-30 14:04:20 +01:00
Roberto Fernandez Bautista
bb90aa24b7 Add basic QA test to CADSTAR PCB footprint import 2023-05-29 23:29:28 +02:00
Seth Hillbrand
f7f52d77e4 Rework Copper Sliver check
Adds QA checks to copper sliver tests.  Adds the following checks:
- Dot product between two arms (quickly avoids checks for >90°)
- Checks the sliver is convex (area test)
- Eliminates minor slivers with angles that are approximately 0 and ones
  with the opposite side width beneath a configurable level
- Updates Clipper2 to fix a couple of jagged edges on inflate
- Adds simplify during zone fill inflation to limit jaggies

Fixes https://gitlab.com/kicad/code/kicad/issues/14549
2023-04-25 10:32:46 -07:00
Marek Roszko
8d4db2edf5 Move tests around 2023-04-24 22:09:36 -04:00