Commit Graph

5792 Commits

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