Matthias Koefferlein
937e557564
Implemented a fix for issue #2191 (LIBNAME not saved)
...
The fix consists of moving that options into the case-specific
options like DBU, instead of having it in the format-specific,
default writer options. So they can be specified on a per-case
basis and taken from the current layout by default.
Specifically:
* SaveLayoutOptions#gds2_libname is deprecated and replaced
by SaveLayoutOptions#libname
* -ol (buddy tools) is no longer format specific
* The GDS writer takes SaveLayoutOptions#libname, and
if empty, substitutes by the current libname. As last
resort, "LIB" is used, because LIBNAME cannot be an
empty string.
* The libname got removed from the global writer options UI
* In the "Save As" options dialog, it now is part of the global
options and initialized with the current layout's libname.
2025-10-19 13:36:07 +02:00
Matthias Koefferlein
13af65270a
Applied suggested patch for #2160
2025-10-19 12:10:36 +02:00
Matthias Koefferlein
19dc5e8edb
Implemented a solution for #2180
...
Implements a new option to show/hide unresolved references
(ghost cells). The option is found in "Display/Cells"
in the Setup dialog and also in the View menu.
2025-10-18 23:40:50 +02:00
Matthias Koefferlein
0016710573
Preparations: more planes, for ghost cells too
2025-10-18 23:06:23 +02:00
Matthias Koefferlein
780615ea9d
Implemented solution for issue #2176
...
- On "via" (Key "O"), the application switches into path mode
- A selection menu pops up if multiple layers are possible starting
points below the cursor
As a side effect, "tap" will only display the layer selection menu
if there is more than one layer to be selected.
2025-10-18 22:02:58 +02:00
Matthias Koefferlein
c927ed121b
Solution for issue #2175
...
The solution consists of a new object, namely "TextInfo"
which allows deriving the true label bounding box from a
Text or DText object. See class documentation for details.
2025-10-18 19:26:17 +02:00
Matthias Koefferlein
3ca88ebfcb
Fixed issue #2174 - two new events
...
1.) LayoutView#on_current_layer_changed(iter)
"iter" is the iterator pointing to the new current layer
Is called after the current layer (the highlighted layer)
changed.
2.) LayoutView#on_selected_layers_changed
Is called after the selected layer set changed.
2025-10-18 15:46:10 +02:00
Matthias Koefferlein
3a352506a9
Moving the checkbox as requested
2025-10-18 15:13:03 +02:00
Matthias Koefferlein
84c76096cb
Fixed issue #2169 : adding path to 'python' and 'ruby' subfolders to interpreter search path also for technologies, not only for packages.
2025-10-18 15:01:44 +02:00
Matthias Köfferlein
8cc01ca814
Merge pull request #2178 from KLayout/feature/issue-2168
...
Feature/issue 2168
2025-10-18 13:51:25 +02:00
Matthias Köfferlein
5c11f9201a
Merge pull request #2177 from KLayout/bugfix/issue-2173
...
Issue #2173 fixed
2025-10-18 13:51:13 +02:00
Matthias Köfferlein
77cc0be2ef
Merge pull request #2164 from KLayout/bugfix/issue-2162
...
Bugfix/issue 2162
2025-10-18 13:50:47 +02:00
Matthias Koefferlein
ce0d619470
Force update of cell tree after rename of library
2025-10-15 22:35:27 +02:00
Matthias Koefferlein
bbd473ef47
Added 'Cell#change_ref' to modify the library reference of a cell
2025-10-14 23:50:08 +02:00
Matthias Koefferlein
b3cc5d73fe
Renaming a library will also change the references
2025-10-14 23:13:10 +02:00
Matthias Koefferlein
572fa7db18
Issue #2173 fixed
...
- on_selection_changed is issued on "del"
- it is also issued on "reduce selection to highlighted ones" in property dialog
2025-10-12 21:29:39 +02:00
Matthias Koefferlein
d1e440d565
Doc updates
2025-10-11 21:23:58 +02:00
Matthias Koefferlein
67de518611
'Refresh Libraries' feature in File menu, new GSI method Library#refresh_all (static)
2025-10-11 21:14:56 +02:00
Matthias Koefferlein
5045287712
Bugfixes
2025-10-11 19:26:11 +02:00
Matthias Koefferlein
ff2beaf32f
Bugfix: cells were not replaced by defunc cold proxies after unregistering a lib
2025-10-11 17:54:26 +02:00
Matthias Koefferlein
b3ec482eb8
WIP (also for other issue #2172 )
...
- New virtual method "reload" for Library
- Implementing that for file-based libraries
- Integrating that into "refresh"
- GSI binding for Library#rename, Library#unregister
- Trigger changed event on Library#unregister
- Library#_destroy will unregister the library
- Typos fixed
2025-10-11 16:24:25 +02:00
Matthias Koefferlein
17f4397f1b
Refining solution
2025-09-28 20:17:52 +02:00
Matthias Koefferlein
31ddbe24fa
Fixed a potential crash on application exit that was discovered during debugging
2025-09-28 16:25:35 +02:00
Matthias Koefferlein
292f6f84c6
Fixing issue #2162 (crash on selection + query)
...
Problem was that changing the active cellview index by clicking
on a specific item in the properties dialog cause a "clear_selection".
That interfered with the code of the properties dialog that
expects a static selection.
Fixed by disabling the events that lead to "clear_selection".
Side effect is that under these circumstances the active_cellview_changed
event is not triggered which also prevents side effects due to
scripts hooking into that event.
2025-09-28 16:14:11 +02:00
Matthias Koefferlein
a93d514911
More sanity checks for cell index on various Layout methods
2025-09-28 14:46:30 +02:00
Matthias Koefferlein
de72b05334
Moving code around so that laybasic can again be host for Plugin class - this enables putting that into the Python module without having Qt.
2025-09-24 23:17:43 +02:00
Matthias Koefferlein
97b6d82358
Moving lay.ButtonState, KeyCode and Cursor to Qt-less space again
2025-09-24 22:28:07 +02:00
Matthias Koefferlein
8b0a8c7317
Regenerating DRC doc and stubs
2025-09-11 22:13:52 +02:00
Matthias Koefferlein
0daba4f5e0
Fixing 64 bit coordinate build and incorrect porting of fill tool code.
2025-09-10 23:39:28 +02:00
Matthias Koefferlein
8659e165d5
Adjusting one sample
2025-09-10 18:21:59 +02:00
Matthias Köfferlein
0f739bcbef
Merge pull request #2146 from KLayout/devel
...
Devel
2025-09-10 16:02:48 +02:00
Matthias Koefferlein
788dd2b1bc
Fixing non-Qt builds
2025-09-09 22:36:41 +02:00
Matthias Koefferlein
e4789f7f1b
Enhanced object snapping for box edit mode - other corners snap too second order
2025-09-09 21:52:40 +02:00
Matthias Koefferlein
879df5a85b
[consider merging] LayoutView#clear_layer_list preserves layer list name now
2025-09-09 19:38:18 +02:00
Matthias Koefferlein
712237e67b
Implemented solution for issue #2145 (default_text_size option for GDS2 writer)
2025-09-08 23:23:05 +02:00
Matthias Koefferlein
0ddc07392b
[consider merging] suppress normalization of orientation on GSI DPolygon#to_itype and Polygon#to_dtype
2025-09-08 21:16:05 +02:00
Matthias Koefferlein
e2b5c29131
Some refactoring, bug fix
2025-09-08 19:30:07 +02:00
Matthias Koefferlein
20a3dbeaf8
Some refactoring (generalizing edt:: functions, basing move tool on lay::EditorService and support for 'tab' key (calls 'move by')
2025-09-08 18:54:00 +02:00
Matthias Koefferlein
e9584c289a
Tab order of some dialogs
2025-09-08 00:11:24 +02:00
Matthias Koefferlein
7fd01a64f6
WIP: adding tab key to move tool (calls 'move by' menu), enhancing 'move_to' and 'move_by' dialogs.
2025-09-07 23:54:40 +02:00
Matthias Koefferlein
aba1f87b0d
Enhancement to layer binding for images: now saving as img::ObjectV2 if layer binding is present. This does not break old KLayout versions trying to read session files. But old KLayout version will still crash when trying to save such a session.
2025-09-07 22:51:31 +02:00
Matthias Koefferlein
aa9d951cf7
Fixing build for old Qt versions
2025-09-07 21:43:23 +02:00
Matthias Koefferlein
128b1e596c
[consider merging] MainWindow should be managed (derived from gsi::ObjectBase)
2025-09-07 21:40:07 +02:00
Matthias Koefferlein
3d5833d323
Updated doc
2025-09-07 18:49:14 +02:00
Matthias Koefferlein
eb6369f90f
Updated doc
2025-09-07 00:31:08 +02:00
Matthias Koefferlein
cd34125b0c
Bugfixing new implementation of fill tool, added tests for DRC implementation
2025-09-06 22:28:01 +02:00
Matthias Koefferlein
810f5fb8aa
Added basic fill tool tests for exclude_area
2025-09-06 21:25:47 +02:00
Matthias Koefferlein
feda8680ca
WIP: exclude area implemented. Needs optimization.
2025-09-06 19:15:12 +02:00
Matthias Koefferlein
ff6ab4267b
WIP: exclude area for fill functions
2025-09-06 17:58:44 +02:00
Matthias Koefferlein
6ada4cb6f9
[consider merging] fixed build without Qt bindings
2025-09-06 13:41:14 +02:00
Matthias Koefferlein
8901359957
Merge branch 'master' into devel
2025-09-06 13:26:11 +02:00
Matthias Köfferlein
71929bf2be
Merge pull request #2143 from KLayout/feature/issue-2141
...
Feature/issue 2141
2025-09-06 13:25:28 +02:00
Matthias Koefferlein
90ed8a2390
Excluding degenerated edges from polygons so we don't consider them corners, addressing duplicate corners with zero distance.
2025-09-05 23:48:49 +02:00
Matthias Koefferlein
a9d52b7a70
Fixing case of point vs. edge in projecting mode
2025-09-05 08:05:27 +02:00
Matthias Koefferlein
aed28098f2
First solution, needs more testing
2025-09-04 23:30:39 +02:00
Matthias Koefferlein
af6762b52d
Fixing issue #2134 ('merged' on edge layers not working in DRC)
2025-09-04 21:58:46 +02:00
Matthias Koefferlein
3b86448a0a
Fixed issue #2133 (crash in editor search&replace)
2025-09-04 21:36:54 +02:00
Matthias Koefferlein
50cad403b2
Doc updates (vias, paths)
2025-09-04 20:46:30 +02:00
Matthias Koefferlein
3d8eaf8dbf
Changed via key binding to 'O'
2025-09-04 20:27:43 +02:00
Matthias Koefferlein
e6692a2fd0
Added LayoutView#layer_list_name as read access for LayoutView#rename_layer_list
2025-09-04 19:59:57 +02:00
Matthias Koefferlein
128f92c427
Doc update
2025-09-04 19:53:36 +02:00
Matthias Koefferlein
7f29cf91df
Removing GSI methods which are no longer required as they are included in the base class now, added + fixed GSI unit tests for LayoutView
2025-09-04 19:50:51 +02:00
Matthias Koefferlein
b3123d385a
Updating samples to include focus pages
2025-09-04 19:24:49 +02:00
Matthias Koefferlein
b9115fc0a2
WIP: Enhancements to EditorOptionsPages API
...
- Make RBA::LayoutViewBase derived from Dispatcher, so we can pass LayoutView
to methods asking for a dispatcher
- For this, the Dispatcher needs to be the first base class of LayoutViewBase
and gsiDeclLayDispatcher is moved to laybasic
- API for editor options pages and message passing (callbacks)
2025-09-03 00:02:18 +02:00
Matthias Koefferlein
0447080d17
WIP: polishing geometry of modal editor options widget
2025-09-02 21:21:00 +02:00
Matthias Koefferlein
a24e2431a2
WIP: automatically calling ungrab_mouse on deactivation of plugin
2025-09-02 20:28:55 +02:00
Matthias Koefferlein
2b04ecb1f7
WIP: experimental - modal editor options pages
2025-09-02 00:45:42 +02:00
Matthias Koefferlein
53a7414757
Merge branch 'master' into devel
2025-08-31 21:53:43 +02:00
Matthias Köfferlein
70ba27c8f2
Merge pull request #2131 from KLayout/vias-development
...
Vias development
2025-08-31 21:53:12 +02:00
Matthias Koefferlein
1e570351fb
Refactoring (GSI base class for EditorOptionsPage), preparations for 'focus_page' feature
2025-08-31 20:37:48 +02:00
Matthias Koefferlein
a7518f5452
Fixing Python module builds
2025-08-31 19:38:22 +02:00
Matthias Koefferlein
84c518b057
Trying to fix Python module builds
2025-08-31 18:18:32 +02:00
Matthias Koefferlein
e21eb6aafc
Typo fixed
2025-08-31 17:52:04 +02:00
Matthias Koefferlein
4d9f924466
Refactoring: providing GSI binding to plugin base class, so the super implementation can be called.
2025-08-31 17:49:13 +02:00
Matthias Koefferlein
57a4984959
WIP: refactoring of heavy Plugin GSI binding functions
2025-08-31 15:50:26 +02:00
Matthias Koefferlein
43454962d4
Improving ruler snapping (after move_transform, snap to objects, visual snap details hint ...)
2025-08-30 23:30:51 +02:00
Matthias Koefferlein
53c173d01e
[consider merging] avoid a warning on writing cells/files in 'under_construction' mode when there is nothing to update
2025-08-30 21:49:27 +02:00
Matthias Koefferlein
6a9269a9ae
[consider merging] Bugfix: internal error when copying while move/copy operation of images and rulers
2025-08-30 21:30:15 +02:00
Matthias Koefferlein
0187abfafc
[consider merging] Bugfix: internal error when trying to replace a shape in a standalone Shapes collection while preserving properties
2025-08-30 19:37:12 +02:00
Matthias Koefferlein
7f7a5bd3ac
Bugfix: properly integrating newborn plugins
2025-08-30 18:55:16 +02:00
Matthias Koefferlein
340c1ef6e9
Some refactoring, editor options are shown more consistently now
...
Specifically, in move mode, now the editor options
are shown too. This makes sense as some of these
options there are also effective in move mode.
2025-08-30 18:39:41 +02:00
Matthias Koefferlein
f1c16a0242
Adding samples for new plugin features, doc update.
2025-08-30 14:53:46 +02:00
Matthias Koefferlein
e396b6ec29
WIP: bug fixes and more tests
2025-08-30 13:35:01 +02:00
Matthias Koefferlein
b133bde1c7
WIP: doc updates
2025-08-30 13:24:30 +02:00
Matthias Koefferlein
7d2113ffe1
Some debugging, tests added
2025-08-30 00:34:35 +02:00
Matthias Koefferlein
3eff75433c
WIP
2025-08-29 17:50:03 +02:00
Matthias Koefferlein
c77a732875
WIP: more features exposed for plugins (snapping)
2025-08-28 23:38:04 +02:00
Matthias Koefferlein
90e25a7b75
WIP: debugging and polishing editor options pages interface for plugins
2025-08-27 00:12:55 +02:00
Matthias Koefferlein
c5d5557072
WIP: debugging config page setup in plugins
2025-08-26 22:36:48 +02:00
Matthias Koefferlein
88178fabd9
[consider merging] Bugfix on Plugin registration
...
This bug happened when a plugin package was installed. In
this case, the plugin was installed dynamically. The effect
was for example that the grid in a view became invisible.
Problem was, that the plugin registration re-generated all
plugins from the view, but did not reconfigure them. Hence
the grid had the default setting which was invisible grid.
2025-08-26 21:06:25 +02:00
Matthias Koefferlein
9e0d1d7ea7
WIP: new GSI declarations
2025-08-25 23:06:18 +02:00
Matthias Koefferlein
acfc2aae09
WIP: preparing integration of editor options pages and config pages into plugin API
2025-08-25 00:04:56 +02:00
Matthias Koefferlein
ac9a589d6f
WIP: two convenience methods for plugin API
2025-08-24 22:29:47 +02:00
Matthias Koefferlein
26682c1a38
Trying again to fix Windows builds
2025-08-24 21:54:42 +02:00
Matthias Koefferlein
2806efd803
Trying again to fix Windows builds
2025-08-24 21:43:59 +02:00
Matthias Koefferlein
626f5809bc
Trying to fix Windows builds
2025-08-24 21:22:33 +02:00
Matthias Koefferlein
f55a4824b7
Disabling features that are not used currently.
2025-08-23 23:05:14 +02:00
Matthias Koefferlein
b079398b02
Added an editor hooks example for Ruby
2025-08-23 22:52:42 +02:00
Matthias Koefferlein
972514454b
Added a Python sample for editor hooks
2025-08-23 20:54:20 +02:00
Matthias Koefferlein
cad905eb63
Ruby via PCell sample
2025-08-23 20:45:08 +02:00
Matthias Koefferlein
e2e4c1a827
Via PCell samples
2025-08-23 20:37:35 +02:00
Matthias Koefferlein
91946165fd
Hardening: more consistent handling of current layer index in layer view (was deferred before and getter wasn't getting the latest value sometimes)
2025-08-23 20:36:49 +02:00
Matthias Koefferlein
e1c9de67d8
Adding sample via PCell for Python
2025-08-23 19:39:03 +02:00
Matthias Koefferlein
4821a5d71a
[consider merging] Bugfix on Plugin registration
...
This bug happened when a plugin package was installed. In
this case, the plugin was installed dynamically. The effect
was for example that the grid in a view became invisible.
Problem was, that the plugin registration re-generated all
plugins from the view, but did not reconfigure them. Hence
the grid had the default setting which was invisible grid.
2025-08-23 17:33:11 +02:00
Matthias Koefferlein
d89aae6d97
Properly handling editor hooks on edit layer change - also on via
2025-08-23 16:08:42 +02:00
Matthias Koefferlein
ee89bc43c4
Refactoring of edt services, bug fixes
2025-08-23 00:41:37 +02:00
Matthias Koefferlein
ee0b5e3bd9
[consider merging] fixing a crash on 'show parameter names' in PCell dialog
2025-08-22 23:54:01 +02:00
Matthias Koefferlein
3068c1da29
WIP: introducing grids in vias
2025-08-22 23:46:24 +02:00
Matthias Koefferlein
d77eb32db4
WIP: computation of via size, bug fixes
2025-08-22 23:21:53 +02:00
Matthias Koefferlein
3df715f078
WIP: some debugging
2025-08-21 22:32:22 +02:00
Matthias Koefferlein
59432fb6ed
WIP: some rework, targetting proper use of recent attributes when entering an editor tool
2025-08-21 21:56:15 +02:00
Matthias Koefferlein
9137919894
WIP: Implementing initial via
2025-08-20 23:51:03 +02:00
Matthias Koefferlein
d3d2eda54a
WIP: undo, backspace implementation, bug fixes
2025-08-19 23:12:43 +02:00
Matthias Koefferlein
57cd512bf9
WIP: via up and via down
2025-08-18 23:33:44 +02:00
Matthias Koefferlein
331d16ab7c
WIP: fixing undo, implement layout cleanup
2025-08-18 23:21:18 +02:00
Matthias Koefferlein
39c8e0ca15
WIP: some refactoring, introducing cut layer in via definition
2025-08-18 22:53:45 +02:00
Matthias Koefferlein
33ffa6367f
WIP: updating via cell at the front of a path segment.
2025-08-17 22:54:11 +02:00
Matthias Koefferlein
42d32ecbb7
Some refactoring - putting some methods into db::Cell
2025-08-17 22:53:17 +02:00
Matthias Koefferlein
99462792bb
Fixed a few build warnings.
2025-08-17 22:52:40 +02:00
Matthias Koefferlein
d8e271339e
WIP: some refactoring, vias switch layers now.
2025-08-17 21:50:02 +02:00
Matthias Koefferlein
0da4f694ca
WIP: cleanup of handling of multi-CV cases for editing (use and switch to active CV), reuse previous configuration on switch or use of layer in editor features.
2025-08-17 19:44:59 +02:00
Matthias Koefferlein
a1feb676ee
WIP
2025-08-16 23:01:12 +02:00
Matthias Koefferlein
61ee2305eb
[consider merging] Fixed marker display - don't render error layers, that's more difficult because of font selection etc., use contour for text labels
2025-08-16 22:35:41 +02:00
Matthias Koefferlein
6fdad4649a
WIP
2025-08-16 21:44:41 +02:00
Matthias Koefferlein
a4f3d9a33b
[consider merging] More robust reading of session files and image strings
2025-08-16 20:01:32 +02:00
Matthias Koefferlein
5d253d3094
WIP
2025-08-16 19:17:58 +02:00
Matthias Koefferlein
0e1ba44eaf
WIP
2025-08-16 18:05:32 +02:00
Matthias Koefferlein
8c53fb934e
Merge branch 'devel' into vias-development
2025-08-16 16:49:36 +02:00
Matthias Koefferlein
491dd3bb26
Basic implementation of the 'layer binding' feature of issie #2116
2025-08-15 22:58:03 +02:00
Matthias Koefferlein
a73aa1115f
Preparations
2025-08-15 21:25:53 +02:00
Matthias Koefferlein
437c48c1fb
Some refactoring (getting rid of an unused attribute)
2025-08-15 17:36:00 +02:00
Matthias Koefferlein
5bd74b73bb
Enhancement: 'select highlighted objects' from properties dialog (object tree context menu)
2025-08-15 17:06:33 +02:00
Matthias Koefferlein
872eaabb75
Enhancement: 'relative' option of properties dialog is persisted now.
2025-08-15 15:24:00 +02:00
Matthias Koefferlein
ef2b164e1a
Bugfix: properly supporting Undo on 'apply technology' (layer properties were cleared)
2025-08-15 15:00:10 +02:00
Matthias Koefferlein
5eb8c760d8
Merge branch 'master' into devel
2025-08-15 14:21:13 +02:00
Matthias Köfferlein
681d7eeb4b
Merge pull request #2118 from KLayout/feature/issue-2110
...
Feature/issue 2110
2025-08-15 14:20:26 +02:00
Matthias Köfferlein
c77fa56768
Merge pull request #2114 from KLayout/bugfix/issue-2111
...
Fixing issue #2111 (internal error on tesselation R extractor)
2025-08-15 14:19:59 +02:00
Matthias Koefferlein
513f87c07f
Reverted drawing of text strings to text plane for cell names as then 'hide texts' would disable them.
2025-08-12 23:38:33 +02:00
Matthias Koefferlein
2e1afc846a
Small bug fixed
2025-08-10 23:33:02 +02:00
Matthias Koefferlein
55171859cf
Fixed display under presence of layer transformations
2025-08-10 21:34:17 +02:00
Matthias Koefferlein
fdb28800f7
Introducing fallback transformation variants for empty layer lists. This allows editing layouts without any layers and only instances.
2025-08-10 21:29:53 +02:00
Matthias Koefferlein
7667932a00
Some adjustments:
...
* Fixed instance marker when the cell is made from empty ones only
* 'fit' will include empty instances
2025-08-10 16:49:51 +02:00
Matthias Koefferlein
bdbf690764
Added some tests
2025-08-10 16:11:57 +02:00
Matthias Koefferlein
0e263ff4d8
Implemented solution for #2110 (small cells and ghost cells)
...
The solution consists of a second path to bounding boxes of
cells - namely "bbox_with_empty". This bounding box is a
(0,0;0,0)-box if the cell is empty. Correspondingly, empty
and ghost cells are displayed as single points. Ghost cells
also behave like hidden cells now.
2025-08-10 15:33:50 +02:00
Matthias Koefferlein
2c873bcbce
WIP
2025-08-10 15:15:50 +02:00
Matthias Koefferlein
0bc904515c
WIP
2025-08-10 15:13:10 +02:00
Matthias Koefferlein
75125b7a85
WIP
2025-08-10 14:34:22 +02:00
Matthias Koefferlein
1c15d851ee
WIP
2025-08-10 13:59:26 +02:00
Matthias Koefferlein
786d231acd
WIP
2025-08-10 13:51:47 +02:00
Matthias Koefferlein
651fc8cbc7
WIP
2025-08-10 13:49:22 +02:00
Matthias Koefferlein
b4bbc26d6a
WIP
2025-08-10 13:43:19 +02:00
Matthias Koefferlein
29cc603466
WIP
2025-08-09 23:54:01 +02:00
Matthias Koefferlein
cb70620ad1
Fixing issue #2111 (internal error on tesselation R extractor)
...
Problem was a runaway triangulation case where outside edges
exist without being segments.
2025-08-09 18:40:24 +02:00
Matthias Koefferlein
6232db33b4
Fixing issue #2112
2025-08-09 00:52:55 +02:00
Matthias Koefferlein
8da28a0f72
Trying to fix issue #2108
2025-08-06 18:57:33 +02:00
Matthias Koefferlein
b60210e076
Python stubs regenerated
2025-08-05 23:28:17 +02:00
Matthias Koefferlein
7ac32cec0b
Removing debug code.
2025-08-05 20:58:07 +02:00
Matthias Koefferlein
847ec03f52
Bugfix: macros will be executed automatically again after package installation. Maybe less restarts needed.
2025-08-05 20:57:38 +02:00
Matthias Koefferlein
4dbc103523
Bugfix: File watcher was dropping files when they were temporarily unavailable
2025-08-04 18:47:39 +02:00
Matthias Koefferlein
f289fa9483
A small enhancement (dbu argument in LayoutToNetlist#evaluate_nets), maybe fixing issues on old Ruby versions
2025-08-03 22:11:59 +02:00
Matthias Koefferlein
b6fba7bb69
Bug fixes, new test details
2025-08-03 21:31:55 +02:00
Matthias Koefferlein
7c0934ec8a
Fixing unit tests after making byte array and strings equal citizens in variants
2025-08-03 20:33:47 +02:00
Matthias Koefferlein
381baf7453
Merge remote-tracking branch 'origin/master' into feature/measurements
2025-08-03 19:53:06 +02:00
Matthias Koefferlein
8a5e83bf5d
Consistently differenting between double and int values as property keys (otherwise there may be a confusing mix present in the property repository)
2025-08-03 19:46:31 +02:00
Matthias Koefferlein
4773bb3227
Added a test for cumulative antenna ratio
2025-08-03 18:00:25 +02:00
Matthias Koefferlein
bade7489d8
Fixing doc
2025-08-03 15:23:49 +02:00
klayoutmatthias
642cbd6831
[consider merging] fixing Qt-less builds
2025-08-03 14:19:02 +02:00
Matthias Koefferlein
c8568e8aed
DRC binding for property computation, filtering
2025-08-03 13:55:14 +02:00
GavinAnderberg
55b58a20cc
Correct typo gsiDeclDbNetlist.cc
...
Corrected a typo that has the docs say the Netlist.read method 'Writes the netlist to the given file'. It now accurately matches the function behavior.
2025-08-02 19:55:31 -04:00
Matthias Koefferlein
2193f28e2a
WIP
2025-08-02 23:38:43 +02:00
Matthias Koefferlein
73681755ed
Rename some functions, DRC binding for 'evaluate_nets'
2025-08-02 23:06:22 +02:00
Matthias Koefferlein
61aa08cd64
Added tests for more features
2025-08-02 22:23:03 +02:00
Matthias Koefferlein
a224c11833
WIP: bugfix
2025-08-02 22:14:53 +02:00
Matthias Koefferlein
c3ba0acc02
Added unit test
2025-08-02 21:43:39 +02:00
Matthias Koefferlein
8151feac56
Some debugging, skipping clusters without shapes on primary layer for example
2025-08-02 21:28:48 +02:00
Matthias Koefferlein
d001f7fa04
Introducing variables to property filters, computation functions, generalizing net function for net measurement
2025-08-02 19:50:11 +02:00
Matthias Koefferlein
e82ebf6733
WIP: measure_net function for LayoutToNetlist
2025-08-02 19:17:23 +02:00
Matthias Koefferlein
8e95f6a8e1
Fixing a few doc issues, updating DRC doc.
2025-08-02 16:19:12 +02:00
Matthias Koefferlein
ffafebcaae
Adding 'merge_props' and 'merged_props' to DRC
2025-08-02 16:12:49 +02:00
Matthias Koefferlein
f9ea9af466
Fixed unit tests
2025-08-02 15:13:23 +02:00
Matthias Koefferlein
d1e1f626c7
WIP (join properties on merge for flat regions)
2025-08-02 13:36:17 +02:00
Matthias Koefferlein
4b79c4c362
Fixing backward compatibility issue with pseudo-labels
...
Problem: pseudo-labels are represented by polygons with
properties. If those get merged onto normal polygons
with "join_properties_on_merge", these are regarded
labels and translated to texts later. We avoid this
by skipping all objects with pseudo-label properties
on region merge in "join_properties_on_merge" mode.
2025-08-01 22:59:38 +02:00
Matthias Koefferlein
786c60a28e
Fixing unit tests
2025-07-31 23:54:55 +02:00
Matthias Koefferlein
37f9feaadd
WIP: joining of properties in deep region
2025-07-31 22:38:48 +02:00
Matthias Koefferlein
653384fce5
WIP
2025-07-31 21:16:35 +02:00
Matthias Koefferlein
b89ff76a84
Fixing issue #2102 (internal error on R extraction)
...
Problem was a conceptual problem: the triangulation for
Hertel-Mehlhorn decomposition must not contain internal
vertexes. So we need a different solution for including
vertex ports.
2025-07-30 23:24:34 +02:00
Matthias Koefferlein
9d4e3c525b
Fixed issue #2100 (wrong coordinates on PEX nodes)
2025-07-29 23:17:54 +02:00
Matthias Koefferlein
1ff6f36076
Shapes#insert(region) now supports properties
2025-07-29 23:10:15 +02:00
Matthias Koefferlein
c0bdc2874a
'put' function is property computation processors
2025-07-29 21:11:34 +02:00
Matthias Koefferlein
792c06b3a2
WIP: unit tests for new features
2025-07-28 23:40:01 +02:00
Matthias Koefferlein
3a612f9b04
WIP: integration of new features
2025-07-28 23:11:21 +02:00
Matthias Koefferlein
8d7919e054
WIP
2025-07-28 22:38:44 +02:00
Matthias Koefferlein
2a50c87969
WIP
2025-07-27 22:49:21 +02:00
Matthias Koefferlein
5b3ce9ff30
[consider merging] tl::Variant now considers byte arrays and strings equivalent for sloppy compare. This is important for Ruby string property keys as they are often kept as byte arrays when not UTF-8 encoded.
2025-07-27 22:15:52 +02:00
Matthias Koefferlein
ede15ffcc0
WIP
2025-07-27 19:48:38 +02:00
Matthias Koefferlein
427ac0ae16
WIP
2025-07-27 17:43:01 +02:00
Matthias Koefferlein
1c1555f31c
Fixed unit tests
2025-07-26 18:25:36 +02:00
Matthias Koefferlein
80276f8799
Refactoring: shape processors now allow modifying properties
2025-07-26 18:09:31 +02:00
Matthias Koefferlein
2369c69f69
Implemented feature request: a method to clear properties on shapes, instances, cells and layout
2025-07-26 15:26:47 +02:00
Matthias Koefferlein
d4e3872142
DRC::def_output: A simple yet useful extension to obtain the output layout and to manipulate it (within limits)
2025-07-21 22:21:33 +02:00
Matthias Koefferlein
cb4511b721
Fixed a pending TODO from issue #1470
2025-07-21 20:56:32 +02:00
Matthias Koefferlein
2d5778a860
'tap': do not consider texts as detecting them requires capturing a large area - which is against performance
2025-07-21 20:40:01 +02:00
Matthias Koefferlein
57025a7f9f
Added fill tests with differen origins and tiled mode
2025-07-19 22:37:38 +02:00
Matthias Koefferlein
e48e030521
Fixing DRC fill in tiled mode - must not use overlapping tiles with shifting origin
2025-07-19 22:30:06 +02:00
Matthias Koefferlein
1a9c12ce18
Merge branch 'master' into devel
2025-07-19 21:27:52 +02:00
Matthias Koefferlein
9d4a578a5e
Merge branch 'bugfix/issue-2088'
2025-07-19 19:00:33 +02:00
Matthias Köfferlein
71202ea9d3
Merge pull request #2098 from KLayout/bugfix/issue-2094
...
Fixing issue #2094 (slow insert into Shapes)
2025-07-19 18:58:04 +02:00
Matthias Köfferlein
ff7d7f20ee
Merge pull request #2089 from KLayout/bugfix/issue-2087
...
Bugfix/issue 2087
2025-07-19 18:57:25 +02:00
Matthias Köfferlein
131f36a4e0
Merge pull request #2084 from KLayout/feature/issue-2044
...
Feature/issue 2044
2025-07-19 18:57:10 +02:00
Matthias Köfferlein
316a58eca5
Merge pull request #2079 from KLayout/bugfix/issue-2075
...
Fixing issue #2075 (strm2oas ignores def net routing wire extensions)
2025-07-19 18:56:35 +02:00
Matthias Koefferlein
4ab64ca5d3
Fixing issue #2094 (slow insert into Shapes)
...
Solution is to use a temporary container instead
of locking (only if needed).
2025-07-19 15:08:09 +02:00
Matthias Koefferlein
e6fa072bee
Fixing 'tap' feature
...
After introducing the "do not select shapes
or instances if they overlap the viewport entirely"
feature, 'tap' was not finding shapes which extended
beyond the view's borders.
This got fixed and for 'tap', such shapes are
considered again.
2025-07-18 23:00:23 +02:00
Matthias Koefferlein
d0b935d9e5
Fixed issue #2088 in reader and writer
...
Reader fix: the reader will not error out duplicate cell
names, but rename the cells.
Writer fix: the writer will uniquify cell names *after*
illegal character substitution.
2025-07-15 22:52:49 +02:00
Matthias Koefferlein
1dc0a56633
Bugfix on layout query
...
The following query did not render the correct box
for top-level objects:
select path_dtrans*shape.dbbox.center,cell_name from shapes on layer 1/0 from instances of .*..
Reason was that "path_dtrans" returned a ICplxTrans for top
level instead of a DCplxTrans object.
2025-07-13 21:42:35 +02:00
Matthias Koefferlein
67994a2f8a
Introducing convenience method ObjectInstPath#cell
2025-07-13 21:27:26 +02:00
Matthias Koefferlein
83913f07bd
Updated documentation
2025-07-13 21:20:37 +02:00
Matthias Koefferlein
87bc1a60e1
Introducing macro attributes and Macro#current
2025-07-13 21:14:53 +02:00
Matthias Koefferlein
cc796317a0
Safeguard against broken code table in OASIS CBLOCKs
2025-07-13 19:31:47 +02:00
Matthias Koefferlein
a6a012beac
Added DRC full scale tests, first is Greyhound with M1 IHP fill
2025-07-12 22:02:44 +02:00
Matthias Koefferlein
e7bc997e9f
Further compressing fill cell arrays in x direction
2025-07-12 14:28:42 +02:00
Matthias Koefferlein
76f7c620f6
[consider merging] Enabling Shapes-based RecursiveShapeIterators for MT-use
...
This fixes a crash when using DRC fill in tiled mode with multiple
threads.
2025-07-12 13:59:06 +02:00
Matthias Koefferlein
70a609e995
[consider merging] Bugfix in polygon rasterizer
2025-07-11 23:57:03 +02:00
Matthias Koefferlein
46f9fba0ab
Generalizing fill tool code
2025-07-11 23:56:40 +02:00
Matthias Koefferlein
7a06bfd66a
Bugfix
2025-07-10 23:32:19 +02:00
Matthias Koefferlein
9bc49dd5a3
Added fill_pattern's 'margin' feature. This allows keeping a distance to features outside of the fill region in a more consistent way.
2025-07-10 00:31:25 +02:00
Matthias Koefferlein
d5f1017f83
More efficient computation of remaining fill area
2025-07-10 00:24:24 +02:00
Matthias Koefferlein
7dafdb2316
Fixing bug in first place. Needs testing.
2025-07-08 23:36:44 +02:00
Matthias Koefferlein
15120760fe
Handling of ghost cells in strm2x merge
...
Ghost cells act as anchors for top cells of the other
layout in "," merges. Unlike other cells which are
renamed.
2025-07-07 21:52:57 +02:00
Matthias Koefferlein
d382629e8e
Proposal for a fix of issue #2044 and #2066
...
The solution is to separate the meaning of "," and "+" layout
file combination operators in strm2x tools:
* "+" does "blending"
* "," does merge
"+" has priority over "," ('a+b,c' acts as '(a+b),c').
NOTE: LEF caching only happens across "+".
2025-07-05 22:48:05 +02:00
Matthias Koefferlein
0ba6064507
Also supporting DBU check for PCB
2025-07-05 21:17:46 +02:00
Matthias Koefferlein
9e9344fdfa
Introducing a check whether DBU is compatible with a given one in most readers (except PCB)
2025-07-05 21:13:19 +02:00
Matthias Koefferlein
fbca4e6c18
Fixing layout text writer for 'long long' property names on Windows
2025-06-29 22:16:46 +02:00
Matthias Koefferlein
733a0ec4cf
Proper solution for bug fix - wasn't done in the right order before.
2025-06-29 20:23:47 +02:00
Matthias Koefferlein
abeab280a3
[consider merging] fixed a crash happening while blending two OASIS files with ghost cells
2025-06-28 15:50:27 +02:00
Matthias Koefferlein
5a401127a2
Trying to fix MacOS and Windows builds
2025-06-28 15:31:46 +02:00
Matthias Koefferlein
a42e639d83
Trying to fix builds on MacOS
2025-06-27 17:56:45 +02:00
Matthias Koefferlein
7acd11abac
Added test
2025-06-27 17:37:19 +02:00
Matthias Koefferlein
aba1b30c8d
Fixing issue #2075 (strm2oas ignores def net routing wire extensions)
2025-06-27 01:04:19 +02:00
Matthias Koefferlein
6ce61c8654
Fixing type of modal variables for box width and height
2025-06-26 22:54:48 +02:00
Matthias Koefferlein
a08d36b5f5
Consistently replacing 'long' and 'long long' by 64 bit int in OASIS reader/writer, so there should not be a difference between Windows and Linux in reader and writer behavior. Database limitations still apply.
2025-06-26 21:59:28 +02:00
Matthias Koefferlein
5c7ac018a8
Not asking for copy mode for leaf cells isn't a bad idea in general, but it creates confusing behavior when pasting instances into a different layout where the target cell does not exist
2025-06-26 20:54:16 +02:00
Matthias Koefferlein
f3cc7cadc0
Enabling Qt-less DB plugins for Qt-enabled applications
2025-06-26 20:35:39 +02:00
Matthias Koefferlein
eb3be68030
Removing an unused declaration
2025-06-26 20:34:53 +02:00
Matthias Koefferlein
5cd1c187ab
Modified display of devices in LVS xref view, so the primary and secondary parameters are separated
2025-05-31 18:30:13 +02:00
Matthias Koefferlein
f2172d8e2a
Extension of the L2N/LVSDB format to support deleted terminals and parameters
...
Previously, when deleting parameters or terminals from device
definitions, these parameters or terminals re-appeared in the
netlist browser, because they were generated from the
template class (e.g. "A" and "B" from "RES").
An additional token is added that indicates whether to
remove all entries before adding new ones.
This feature is backward-compatible and LVSDB/L2N files have to
be generated from new KLayout versions to make use of that
feature.
2025-05-31 17:33:44 +02:00
Matthias Koefferlein
769b7e9170
Typo fixed
2025-05-29 13:31:36 +02:00
Matthias Koefferlein
98834d8e3b
Reference new golden testdata for LEFDEF/strm2oas test
2025-05-29 12:00:44 +02:00
Matthias Koefferlein
f1cc048a4c
Refreshing stubs
2025-05-29 09:56:11 +02:00
Matthias Köfferlein
45fdaf0a6d
Merge pull request #2049 from KLayout/devel
...
Devel
2025-05-29 09:43:23 +02:00
Matthias Köfferlein
3ce50679fa
Merge pull request #2050 from KLayout/dev-polygon-graph
...
Dev polygon graph
2025-05-29 09:43:06 +02:00