kicad/common
Seth Hillbrand a154571438 Add ability to update subgraphs based on changeset
Previously, almost all connectivity updates were full updates, meaning
that the entire connectivity graph would be rebuilt each time a change
was made to the schematic.  This update modifies the update to only
correct the subgraphs that are directly affected by the change.

It uses the existing connection graph to find all affected subgraphs as
well as connections to the changes based on the visible schematic.
These elements are removed from the existing connectivity graph and
marked dirty.  They then have a new connectivity graph built only around
their changes.  The resulting graph is merged into the original.

Currently, this ability is behind an advanced config flag
`IncrementalConnectivity` while testing.

Fixes https://gitlab.com/kicad/code/kicad/issues/10846

Fixes https://gitlab.com/kicad/code/kicad/issues/1794
2023-04-19 16:14:35 -07:00
..
database Coverity fixes and code cleaning. 2023-03-02 09:04:47 -05:00
dialog_about Update translator contributions 2023-04-03 13:07:15 -07:00
dialogs Retire the lib-tree scoring algorithm. 2023-04-14 23:35:27 +01:00
drawing_sheet Commenting and formatting. No functional changes. 2023-03-13 18:29:55 +00:00
font Markup fixes. 2023-04-17 17:56:54 +01:00
gal Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
jobs STEP Export: Update options to reflect DNP and Unspecified filtering 2023-04-13 10:33:03 -04:00
kicad_curl Init curl in InitPgm for thread safety 2023-04-15 09:18:54 -04:00
libeval If we don't recognize a var then it's an error, not 0.0. 2022-12-27 13:50:44 +00:00
libeval_compiler Coverity fixes and code cleaning. 2023-03-04 13:02:05 -05:00
plotters Banish ignore.h to core 2023-04-18 22:44:04 -04:00
plugins Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
preview_items Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
project Retire the lib-tree scoring algorithm. 2023-04-14 23:35:27 +01:00
properties Enable properties panel in footprint editor 2023-02-17 20:35:56 -05:00
settings BOM Presets: don't use designated initializers 2023-04-03 11:24:38 -04:00
swig Add vector3 to swig 2023-03-05 15:59:22 -08:00
tool Banish ignore.h to core 2023-04-18 22:44:04 -04:00
view Amend overly aggressive assert. 2023-04-18 17:31:22 +01:00
widgets Banish ignore.h to core 2023-04-18 22:44:04 -04:00
CMakeLists.txt Move forgotten file to core library 2023-04-08 00:37:49 +01:00
advanced_config.cpp Add ability to update subgraphs based on changeset 2023-04-19 16:14:35 -07:00
array_axis.cpp Some more wxS 2023-01-15 21:32:23 -05:00
array_options.cpp More EDA_ANGLE changes. 2022-01-14 16:08:19 +00:00
asset_archive.cpp Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
base64.cpp
base_screen.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
bin_mod.cpp
bitmap.cpp Improve HiDPI handling of appearance/layer controls 2023-02-22 09:20:36 -05:00
bitmap_base.cpp Fix handling of PPI when loading embedded images 2023-02-14 19:42:06 -05:00
bitmap_info.cpp Sch->PCB: propagate DNP from symbols to footprints attributes 2023-04-10 13:11:21 -04:00
bitmap_store.cpp Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
board_printout.cpp Pcb printing: fix incorrect pos. of the board when printed without worksheet. 2023-02-08 11:05:31 +01:00
build_version.cpp Modify how we print the wx version compat macros 2023-04-12 18:57:12 +01:00
callback_gal.cpp Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
commit.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
common.cpp Exercise more caution with user filenames. 2023-03-12 15:52:45 +00:00
config_params.cpp Fix some warnings detected by PVS-STUDIO (most are not used vars) 2022-07-25 18:23:52 +02:00
confirm.cpp Fix cli crash due to dialogs buried in the pcb parser... 2023-03-24 19:52:48 -04:00
dialog_shim.cpp Banish ignore.h to core 2023-04-18 22:44:04 -04:00
draw_panel_gal.cpp Prevent VIEW::UpdateItems and onShowTimer from firing repaints if GAL did not complete init 2023-04-11 22:09:05 -04:00
drc_rules.keywords Move connection width testing to rule system. 2022-08-01 13:09:51 +01:00
dsnlexer.cpp Suppress signedness warning 2022-11-03 15:08:45 -07:00
eda_base_frame.cpp Fixes to allow copy/paste of pin data. 2023-04-16 23:04:47 +01:00
eda_dde.cpp Fix comment placement 2022-09-28 21:19:19 -04:00
eda_doc.cpp Fix eda_doc not looking for schematic locally 2022-05-10 21:28:48 -04:00
eda_draw_frame.cpp Small improvements to lifecycle safety. 2023-04-16 18:47:04 +01:00
eda_item.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
eda_pattern_match.cpp Retire the lib-tree scoring algorithm. 2023-04-14 23:35:27 +01:00
eda_shape.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
eda_text.cpp Markup fixes. 2023-04-17 17:56:54 +01:00
eda_tools.cpp Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
eda_units.cpp When importing legacy PCB dimension: Use automatic dimension when Unit couldn't be determined 2023-02-28 11:59:47 +00:00
env_paths.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
env_vars.cpp Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
eseries.cpp Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
exceptions.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
executable_names.cpp wxS more things 2023-01-22 09:41:42 -05:00
file_history.cpp Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
filename_resolver.cpp Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
filter_reader.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
footprint_filter.cpp Retire the lib-tree scoring algorithm. 2023-04-14 23:35:27 +01:00
footprint_info.cpp Some more wxS 2023-01-16 19:07:50 -05:00
fp_lib_table.cpp PCM: auto reload global libs after dialog is run 2023-02-17 17:24:32 +00:00
gbr_metadata.cpp Convert sprintf to snprintf in most files 2023-04-17 15:39:34 +00:00
gestfich.cpp Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
getrunningmicrosecs.cpp
gl_context_mgr.cpp wxS more things 2023-01-22 09:41:42 -05:00
gr_basic.cpp Fix my commit d07738a06c. 2023-02-25 19:06:46 +01:00
gr_text.cpp ADDED operating point overlay for SCH_EDIT_FRAME. 2023-02-11 21:11:07 +00:00
grid_tricks.cpp Fixes to allow copy/paste of pin data. 2023-04-16 23:04:47 +01:00
hash_eda.cpp Retire Local/Draw coords distinction from PAD (the last object to have it). 2023-04-02 18:02:41 +01:00
hotkey_store.cpp Gerber Viewer: gerbview -> Gerber Viewer in Settings 2022-07-26 18:42:55 +00:00
hotkeys_basic.cpp Some more wxS 2023-01-16 19:07:50 -05:00
html_window.cpp Formatting. 2021-10-15 12:45:43 +01:00
kiface_base.cpp Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
kiid.cpp Sheet instance handling improvements. 2022-12-26 08:30:03 -05:00
kiway.cpp Undo accidental commit change to kiway.cpp 2023-04-18 23:04:51 -04:00
kiway_express.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_holder.cpp Banish ignore.h to core 2023-04-18 22:44:04 -04:00
kiway_player.cpp Remove unused m_sockets 2023-02-19 23:49:43 -05:00
languages_menu.cpp
launch_ext.cpp Fix opening files with spaces on Linux 2021-11-07 14:31:14 +00:00
layer_id.cpp ADDED operating point overlay for SCH_EDIT_FRAME. 2023-02-11 21:11:07 +00:00
lib_id.cpp Turn on and fix MSVC compliance mode issues 2023-02-12 16:30:37 -05:00
lib_table.keywords Add versioning to lib tables 2023-01-23 22:21:12 +00:00
lib_table_base.cpp Fix the shared_lock added and micro-opt the reindex 2023-02-18 11:28:19 -05:00
lib_table_grid_tricks.cpp LIB_TABLE_GRID_TRICKS, popup context menu: fix minor issues: 2023-04-12 08:12:22 +02:00
lib_tree_model.cpp Retire the lib-tree scoring algorithm. 2023-04-14 23:35:27 +01:00
lib_tree_model_adapter.cpp Retire the lib-tree scoring algorithm. 2023-04-14 23:35:27 +01:00
locale_io.cpp Fix various typos 2022-07-21 16:31:41 +00:00
lockfile.cpp Formatting. 2022-10-16 18:39:37 +01:00
lset.cpp Treat internal copper layers as side-specific. 2022-10-25 12:08:57 +01:00
marker_base.cpp Remove a few EDA_RECT instances. 2022-08-31 01:22:49 +01:00
markup_parser.cpp Improve sheet rendering performance 2023-03-05 17:41:46 -05:00
netclass.cpp pcbnew: Change some of the default settings in board setup and netclasses 2023-01-29 23:20:40 +00:00
netlist.keywords
newstroke_font.cpp Add "Letter-like character" Omega for Unicode x2126 2022-10-01 16:39:00 -07:00
observable.cpp
origin_transforms.cpp
origin_viewitem.cpp More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
page_info.cpp Fix a compil issue with gcc12.2 and Coverity warnings. 2023-02-21 11:54:38 +01:00
painter.cpp
paths.cpp Get 3d plugins working for running from build dir 2022-09-08 21:49:10 -04:00
pcb.keywords Sch->PCB: propagate DNP from symbols to footprints attributes 2023-04-10 13:11:21 -04:00
pcb_plot_params.keywords Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pgm_base.cpp Init curl in InitPgm for thread safety 2023-04-15 09:18:54 -04:00
printout.cpp
project.cpp wxS more things 2023-01-22 09:41:42 -05:00
ptree.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
rc_item.cpp Suppress newlines in RC_ITEM messages. 2023-04-19 14:09:21 +01:00
refdes_utils.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
render_settings.cpp Move show-bounding-boxes to a tool on the toolbars. 2022-01-17 11:56:40 +00:00
reporter.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
richio.cpp Banish ignore.h to core 2023-04-18 22:44:04 -04:00
scintilla_tricks.cpp UI: Add Numpad Enter as "Return" equivalent in missing places 2023-03-10 16:25:17 -05:00
search_stack.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
searchhelpfilefullpath.cpp Don't use SystemDirsAppend on windows for finding the docs 2023-01-29 20:50:16 -05:00
single_top.cpp Initialize settings for SINGLE_TOP 2023-04-18 19:27:32 -07:00
status_popup.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
streamwrapper.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
string_utf8_map.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
string_utils.cpp Fix a few doxygen errors (no actual code change) 2023-04-19 16:20:24 +02:00
stroke_params.cpp Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
stroke_params.keywords Shapes for schematic. 2021-12-23 20:36:07 +00:00
strtok_r.c
systemdirsappend.cpp Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
template_fieldnames.cpp Ignore empty field-name-templates. 2023-04-18 17:31:25 +01:00
template_fieldnames.keywords
textentry_tricks.cpp Add select-all to TEXT_ENTRY_TRICKS. 2023-04-09 21:25:09 +01:00
thread_pool.cpp Debugging aid. 2022-10-20 18:37:48 +01:00
title_block.cpp add CURRENT_DATE to text var autocomplete 2023-02-03 00:10:55 +00:00
trace_helpers.cpp More wxSing 2023-01-16 23:14:38 -05:00
transform.cpp Improve sheet rendering performance 2023-03-05 17:41:46 -05:00
undo_redo_container.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
utf8.cpp More wxSing 2023-01-16 23:14:38 -05:00
validators.cpp More wxSing 2023-01-16 23:14:38 -05:00
wildcards_and_files_ext.cpp WIP: CADSTAR Parts now shows up in library tables and is handled correctly (todo: read cadstar header) 2023-03-16 21:07:05 +01:00
wx_filename.cpp Implement output targeting of symlib/fplib upgrade per request 2022-12-06 21:20:27 -05:00
xnode.cpp