Commit Graph

5895 Commits

Author SHA1 Message Date
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