140 Commits

Author SHA1 Message Date
Seth Hillbrand
e282dca102 Add configurable hysteresis to PCB snapping
Makes it harder to enter and harder to exit a snap.  ideally this should
help make snapping more intuitive and easier to use.  Once you have a
snap, it is harder to lose it but it avoids being overly snappy in the
begining
2025-08-29 16:21:35 -07:00
Seth Hillbrand
6dd03bc735 Fix screen scaling
We don't use wxWidget DPI (which is the screen DPI) for our on-screen
display.  Instead, we use 91 (?!?).  Make this configurable in advanced
config and use the set value in our scaling widget
2025-08-25 18:03:46 -07:00
Seth Hillbrand
23c1a68da8 Make printing consistent with plotting.
How you ask?  Plot first -> then read the PDF and print directly to the
platform-specific printers.  Roundabout?  Yes.  Better than wx printing?
Darnbetcha.

Also allows multi-size page printing and proper margins and print
preview

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1831
2025-08-16 20:07:45 -07:00
John Beard
85dcdd5cb2 Altium: advanced config to skip models
This can be really slow, and isn't required if testing
something that's unrelated to models in a large demo file.
2025-08-16 05:36:11 +08:00
Alex Shvartzkop
49a1323945 Fix build error on MSVC. 2025-08-15 11:58:47 +03:00
Seth Hillbrand
17d9ff4fe7 Add the ability to edit advanced config
If you set the env var KICAD_EDIT_ADVANCED_CFG=1, you get a new menu
option in the KiCad project window's Edit menu.  Lets you modify the
settings for advanced config graphically without having to
remember/lookup the magic incantation
2025-08-14 15:37:02 -07:00
Seth Hillbrand
1066595a2c Add wallclock timeout to PNS walkaround
WALKAROUND::singlestep is used by both shove and walkaround modes and
can bog down when applied to clusters with many objects.  In these
cases, we are unlikely to find a viable solution and it is beter to
allow the user to find a different ending position

(cherry picked from commit d9cfb942812a57238d5ed6bbaa2c1d22a8676071)
2025-07-15 15:24:36 -07:00
Jeff Young
2cd6654e81 Hop-over improvements.
1) Move hop-over enablement to Schematic Setup.
2) Make hop-over size user configurable.
3) Prefer hop-overs to hop-unders.
2025-06-18 22:18:59 +01:00
Dhineshkumar S
f650999004 Eeschema: Add option to show unconnected wire crossings as hop-overs. 2025-06-15 16:53:40 +02:00
Jeff Young
9ec4c9f540 Algorithmic safety.
Don't let computation times blow up.
2025-05-12 20:28:47 +01:00
Seth Hillbrand
c5fde2aeb5 Add maximum pasted string length
Allows the user to avoid pasting unparsable boards as strings, which
freezes the system as we try to display enormous texts

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20732
2025-04-30 13:22:57 -07:00
Seth Hillbrand
f83e607e6e Enable/disable git tracking in user prefs
Don't require advanced config for people who want to disable
2025-03-24 11:52:50 -07:00
Mike Williams
e11cf94a3e design blocks: add PCB design blocks behind advanced config
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2508
2025-03-20 15:13:52 -04:00
Ian McInerney
ab114c4159 Put preferences panes for toolbars, but hide behind an advanced config
There is still more work to do to make this feature actually
user-friendly and make it so people can't break their UI config too
easily.
2025-02-28 01:57:37 +00:00
Seth Hillbrand
5027a562e4 Adjust git timing parameters
Move most of the update firing to the file system watcher (except for
windows network shares that still need timed updated).  Gate the repo
status for sync

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20133
2025-02-26 15:56:38 -08:00
Seth Hillbrand
2c54ab277b Thread git checks
Push the git checks from the main thread into child threads to prevent
resource contention in some cases where Windows machines might have many
files in git that are _also_ being managed by Google Drive

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20078
2025-02-25 16:07:19 -08:00
Jeff Young
f2da0c791f Retire non-cairo printing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19323
2025-02-24 11:08:29 +00:00
Seth Hillbrand
878cf768d6 Quiet down the Exclude from Sim marks in Schematic
The big grey X and dimming the component made it look like the component
was no longer a part of the circuit, rather than just being excluded for
a single purpose.

The changes the display to make a more subtle grey outline with an icon
in the corner to indicate that this refers to simulation.
2025-02-21 12:38:23 -08:00
JamesJCode
6bc77195bd Move net inspector bulk update threshold to advanced config 2025-02-09 16:46:18 +00:00
jean-pierre charras
bc25044e78 Eeschema, advanced_config: enable Cairo to export to clipboard by default. 2025-01-31 19:31:43 +01:00
Dhinesh
e02b6be4c9 Fix error-marker highlighting for multiple markers at the same location
Previously, if multiple error markers were placed at the same location,
the selected marker was not visually differentiated from the unselected
ones, even if one was at the top of the stack. To fix this, Need to pass
overlapping markers to the FocusOnItems() function instead of calling
FocusOnItem() with only the selected marker.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9778
2025-01-09 23:41:02 +00:00
Seth Hillbrand
452e69de85 Move thread pool into true singleton
Thread pool needs to be stored in a single location for all of KiCad
otherwise each kiface will spin up its own pool of persistent threads
2025-01-09 09:03:08 -08:00
Wayne Stambaugh
af540bbb9a Header folder housekeeping. 2025-01-09 07:44:11 -05:00
Wayne Stambaugh
f74d97d2e1 Revert "Header folder housekeeping."
This reverts commit d1898aab47d9e4fc95b02f399fb95108e6b937b4.
2025-01-08 12:27:15 -05:00
Wayne Stambaugh
d1898aab47 Header folder housekeeping. 2025-01-08 11:38:44 -05:00
John Beard
4765d17d0c Show UUIDs in msg panel with an advanced config
This is useful when confirming matches for items in the
debugger or from a file without having to carefully check
individual parameters.
2025-01-07 20:01:44 +08:00
Seth Hillbrand
d4d0189157 Revert "Add Advanced Config parameter for thread count"
This reverts commit 2e0f688b97dcae1a08a1e2f982332b01bd342d5d.
2025-01-03 21:22:43 -08:00
Seth Hillbrand
2e0f688b97 Add Advanced Config parameter for thread count
Allows us to limit the threading state manually without recompiling
2025-01-03 14:00:07 -08:00
Jeff Young
40ade0b9f1 Long live jobsets! 2025-01-03 13:36:48 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Jon Evans
78f83b5a39 Update PTH/Via rendering
- Add separate hole wall and net name color for vias
- Overemphasize hole wall thickness to make objects more visible
2024-12-28 10:02:11 -05:00
Seth Hillbrand
e9bc8cfe9d Give Clipper1 a Viking funeral
Clears out the last spot where we were only using Clipper1 (how'd I
miss that?) and remove all calls to the Clipper1 structures
2024-12-23 17:12:09 -08:00
Marek Roszko
4771e573ef Unhide jobsets 2024-12-20 18:49:41 -05:00
jean-pierre charras
929b2c06fe Eeschema, export to clipboard: allow using the Cairo printing system.
The Cairo printing system is already used to print to printer, it can be
now used to print to clipboard and fixes the issue with opacity < 1.
However to use it in clipboard, the advanced config needs to set the new
EnableEeschemaExportClipboardCairo = 1 (for now)
The default is false.
2024-12-10 11:40:43 +01:00
aris-kimi
e917e03a10 Fix some typos 2024-11-24 16:44:01 +00:00
Jon Evans
387a544da3 Promote ODB++ export out of advanced config
At this point it is more useful to get wider testing
2024-11-20 18:51:24 -05:00
Jon Evans
0a20482359 Remove flag from via stack GUI 2024-11-09 14:48:40 -05:00
John Beard
28c600edb7 Jobset: correct AC name comment 2024-11-05 20:57:06 +08:00
Tomasz Wlostowski
2daabbf6e2 MULTICHANNEL_TOOL: enable the tool by default and remove ADVANCED_CFG option 2024-11-02 19:59:09 +01:00
Jon Evans
59f7615fbd Expose padstack settings in via properties dialog
Behind a flag because this feature may not
stabilize before V9
2024-11-02 10:02:29 -04:00
Fabien Corona
8a6910d96f Enable Creepage check by default 2024-11-01 10:01:19 +01:00
Seth Hillbrand
6be6680d8c Fix DRC error with arcs
When two arcs only barely overlapped, we cannot predict the actual point
ends as they exist in the error margins.  Since arc tracks have
different radii by definition, rounding errors in calculating the
overlap angle led to some mistaken identification of parallel segments.

This adds an advanced config flag to set the preferred cutoff point
(currently 0.001°) for whether two arcs actually overlap in shared angle
space
2024-10-21 13:37:28 -07:00
Fabien Corona
f258cc5164 DRC creepage 2024-10-15 18:04:51 +00:00
John Beard
e65221a479 Snapping: extension snaps on by default 2024-10-01 18:06:27 +01:00
John Beard
e23b83505e Snapping: delayed activation of snap points.
This makes it easier to control what snap points you are aiming for
without accidentally activating objects just by mousing near them
on the way to somewhere else.
2024-10-01 18:06:27 +01:00
Marek Roszko
d74caace0a Initial jobset creation and running within the CLI and GUI.
Incomplete, just pushing this before feature freeze, much fixing left
2024-09-30 20:04:53 -04:00
jean-pierre charras
b2e4e9be9c Update outdated comments. No code change 2024-09-18 17:25:30 +02:00
Eric
1506beecbc Implement ODB++ export
ADDED: Add support in Pcbnew for exporting ODB++ files under Fabrication
       Outputs, base on ODB++Design Format Specification (Release v8.1
       Update 3 February 2021).

Note: There is still a lot of work to do if we will make the feature as
      complete as the ODB++ spec.  However, the current functionality's
      completeness is already sufficient to cover general production
      scenarios. I have compared the output results with Gerber files by
      DFM tool and the accuracy at the graphic level should be able to
      cover most usage scenarios.  Additionally, I am very grateful to
      the great open-source project Horizon EDA for giving me a lot of
      inspiration in terms of ideas.

The feature can be enabled by adding "EnableODB=1" to the kicad_advanced
configuration file.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2019
2024-09-14 15:34:51 +00:00
John Beard
ebef24b6b0 Debug: graphical snap anchor debug mode
When working near snap anchors, which come and go
rapidly, it's often useful to see what snaps have been
calculated. Add an advanced config to show these
(EnableSnapAnchorsDebug) on an overlay layer.

With more polish this could be a hotkey or something.
2024-09-11 22:35:35 +01:00
John Beard
6bad4bb1a2 Put extension snaps behind an advanced config
This can be backed out when the snapping bevaviour is
considered good enough to be on by default.
2024-09-11 22:35:35 +01:00