Commit Graph

5965 Commits

Author SHA1 Message Date
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
Matthias Köfferlein 6ae3737cd5
Merge pull request #2065 from KLayout/feature/issue-2041
Feature/issue 2041
2025-05-29 09:42:46 +02:00
Matthias Koefferlein 9917978566 Merge branch 'master' into dev-polygon-graph 2025-05-28 19:01:42 +02:00
Matthias Koefferlein ad444c5552 Don't error out on missing MACRO in LEF, but create a dummy macro with size 0,0 instead and issue a warning. This will place nicely with N, but not with other orientations. 2025-05-28 18:58:28 +02:00
Matthias Koefferlein 0cb5f35659 Allowing the polygon neighborhood visitor to specify a variant type for deep mode 2025-05-27 21:07:28 +02:00
Matthias Köfferlein dfd7d8ec1f
Merge pull request #2061 from KLayout/bugfix/issue-2060
Bugfix/issue 2060
2025-05-27 19:17:45 +02:00
Matthias Köfferlein 836c50d6a0
Merge pull request #2062 from KLayout/feature/issue-2055
Feature/issue 2055
2025-05-27 19:17:33 +02:00
Matthias Koefferlein 010fa2d5ba Avoiding a segfault when trying to run Ruby from a non-Ruby thread 2025-05-27 00:48:10 +02:00
Matthias Koefferlein 13bc723831 Fix for MSVC builds 2025-05-25 23:24:38 +02:00
Matthias Koefferlein 6cccb81293 Implemented solution for #2057 (nanometer scalebar)
The scale bar switches to nm below 0.1µm. Correspondingly
it will switch to mm above 100µm.
2025-05-25 21:28:11 +02:00
Matthias Koefferlein 534b33be1c MSVC does not assume UTF-8 encoding by default, hence use explicit bytes 2025-05-25 20:40:45 +02:00
Matthias Koefferlein bfe49c22e3 Properly using 'long' and 'unsigned long' in tl::sprintf to fit Windows definition of 'long' 2025-05-25 19:42:14 +02:00
Matthias Koefferlein 329ac6c5b7 Merge branch 'master' into devel 2025-05-25 19:37:57 +02:00
Matthias Koefferlein fb16c8c6f6 Trying to fix a linker issue 2025-05-25 19:01:04 +02:00
Matthias Koefferlein 4a20a30888 Hope to fix dependency on Ruby version rgarding string encoding. 2025-05-25 18:55:52 +02:00
Matthias Koefferlein 125e06bd49 Added doc, added a warning about no pins found at top level. 2025-05-25 17:53:11 +02:00
Matthias Koefferlein ad80019b12 Adding to_s (aka str(...)) methods to RNetExtractor tech objects 2025-05-25 16:31:20 +02:00
Matthias Koefferlein dec7ad9da1 [consider merging] properly conveying string encoding for Ruby, so that UTF-8 encoding is maintained when returning such strings from C++ 2025-05-25 16:28:46 +02:00
Matthias Koefferlein 094e11897a Added the new feature: 'flag_missing_ports' 2025-05-24 22:33:18 +02:00
Matthias Koefferlein aba912107b Refined solution, so it would allow a larger coordinate range. 2025-05-24 00:09:52 +02:00
Matthias Koefferlein 6d28c78eeb Fixed issue #2060 - the precision of the check was too low. 2025-05-22 22:48:48 +02:00
Matthias Koefferlein e96f20a106 Introducing case sensitivity in circuit and netlist queries, makeing 'same_nets' more case sensitivity-aware in case of mixed sensitivity 2025-05-22 22:25:49 +02:00
Matthias Koefferlein 57c2add00a API enhancement for NetlistCrossReference: obtaining information from one object only (net, circuit), does not need a pair anymore 2025-05-22 20:54:21 +02:00
Matthias Koefferlein 90c4f654b6 API for adding log entries to LVS and L2N databases 2025-05-22 19:57:06 +02:00
Matthias Koefferlein 4dd4524da9 Fixed typo 2025-05-22 19:47:39 +02:00
Matthias Köfferlein 23b049627f
Merge pull request #2040 from KLayout/feature/maly
Feature/maly
2025-05-22 19:22:52 +02:00
Matthias Köfferlein ba640b6d04
Merge pull request #2039 from KLayout/feature/issue-2016
First attempt to implement a solution for issue #2016
2025-05-22 19:22:32 +02:00
Matthias Koefferlein 6b8c79c488 Fixed a segfault (thanks, Martin\!) 2025-05-22 18:50:25 +02:00
Henner Zeller f9e2a9257f Fix logic error in hex2int.
This was probably never noticed as it was the last branch and would
behave benign on valid input.

Signed-off-by: Henner Zeller <hzeller@google.com>
2025-05-19 14:16:18 +02:00
Matthias Koefferlein 9b03a1ba64 More robust tests 2025-05-18 22:41:46 +02:00
Matthias Koefferlein a2ac8d45de Postpone decision about "invalid vias are errors." 2025-05-18 22:28:11 +02:00
Matthias Koefferlein e27e24ff4f Bugfixing multi-DEF reader with LEF cache, adding a testcase. Making unknown vias an error. 2025-05-18 22:00:39 +02:00
Matthias Koefferlein 4306b24b4a Normalizing test case for RNetExtractor to reduce jitter 2025-05-18 09:27:10 +02:00
Matthias Koefferlein a07d742bee Fixed a problem with via uniquification - via definitions may be DEF local, so we need to clean them between different DEF reads. 2025-05-18 00:48:10 +02:00
Matthias Koefferlein 1fb0f318dc Added pex lib to bd tools. 2025-05-17 18:49:32 +02:00
Matthias Koefferlein 91cb8826c7 Including more dependencies in build 2025-05-17 18:41:22 +02:00
Matthias Koefferlein 5dd189d413 Including pex dependencies in build 2025-05-17 18:39:16 +02:00
Matthias Koefferlein ca53d8718b Fixed some build problems 2025-05-17 17:26:59 +02:00
Matthias Koefferlein 8221923ccb Added a large (private) testcase for the 'read LEF once' enhancement 2025-05-17 16:50:47 +02:00
Matthias Koefferlein 4206d7ee63 Tried a performance improvement experiment, don't dare to actually use it 2025-05-17 01:00:57 +02:00
Matthias Koefferlein baed5bd822 Small refactoring 2025-05-17 00:57:36 +02:00
Matthias Koefferlein 5c27fedfe5 Debugging and bug fixes. The 'big example' from issue 2014 now works 2025-05-17 00:44:15 +02:00
Matthias Koefferlein 113c701345 Trying explicit member template instantiation to solve linker issue 2025-05-16 23:23:11 +02:00
Matthias Koefferlein 1c4077449b Fixed build issue 2025-05-16 18:55:55 +02:00
Matthias Koefferlein 1b98efd7a8 First bug fixes 2025-05-15 23:41:23 +02:00
Matthias Koefferlein 271800ab94 WIP: first implementation. Builds, but needs testing. 2025-05-15 23:27:03 +02:00
Matthias Koefferlein 6cd4b97cd3 Including internal net names in LVS DB
Problem: so far, these names have not been conveyed.
But after the net IDs changed in the LVS DB (renumbering),
the names should be retained. Otherwise it is difficult to
relate log level entries or Spice netlists to them.
2025-05-15 21:17:15 +02:00
Matthias Koefferlein 7bee9ebcec Fixing a linker issue on Windows. 2025-05-11 21:48:01 +02:00
Charlie Lin e279888f52
Use Py_IncRef in pyaCallables.cc 2025-05-11 09:07:55 -04:00
Matthias Koefferlein 91005d5cb6 Tests for RBA+pex, bug fixes 2025-05-04 20:42:12 +02:00
Matthias Koefferlein 77aa729b06 GSI binding of RNetExtractor, introducing layers for nodes 2025-05-04 19:45:30 +02:00
Matthias Koefferlein fc25590dd7 Include a simplification step in the net extraction 2025-05-04 17:15:47 +02:00
Matthias Koefferlein 2bc8ac235a Fixed unit tests 2025-05-04 16:22:03 +02:00
Matthias Koefferlein f7c7e8b0be Fixed unit tests 2025-05-04 15:41:26 +02:00
Matthias Koefferlein aca3095efa WIP: allowing multiple vertex ports on the same location 2025-05-04 15:38:45 +02:00
Matthias Koefferlein 80ad38f81b WIP: debugging, tests. Triangulation should be safer now against linear chains of vertexes. 2025-05-04 14:36:34 +02:00
Matthias Koefferlein f83cd61843 WIP: debugging, tests. 2025-05-04 13:11:46 +02:00
Matthias Koefferlein bc10bb6b14 WIP: network R extractor, needs testing 2025-05-03 22:36:39 +02:00
Matthias Koefferlein 1932532416 Bug fixes, tests 2025-05-02 15:07:28 +02:00
Matthias Koefferlein b77b4d7d3c Bug fixes 2025-05-02 15:02:18 +02:00
Matthias Koefferlein 149b051dce Providing meta info (boundary per mask) from MALY reader 2025-05-02 14:49:13 +02:00
Matthias Koefferlein 30ac61ea20 Added title support, tests, debugging 2025-05-02 14:25:34 +02:00
Matthias Koefferlein 226ba429f1 WIP: MALY reader, debugging, tests 2025-05-02 13:27:59 +02:00
Matthias Koefferlein 55e2b27bf6 WIP, MALY reader 2025-05-01 23:05:01 +02:00
Matthias Koefferlein 3b85581fae WIP 2025-04-29 22:59:17 +02:00
Matthias Koefferlein 03873d9b6c WIP 2025-04-29 22:56:53 +02:00
Matthias Koefferlein fa30fd0f7b WIP, MALY reader 2025-04-29 22:19:59 +02:00
Matthias Koefferlein 7820733bd5 WIP 2025-04-29 00:28:46 +02:00
Matthias Koefferlein cd468d4d67 WIP 2025-04-27 23:00:46 +02:00
Matthias Koefferlein 282f6e9d23 Merge branch 'master' into feature/maly 2025-04-27 20:57:09 +02:00
Matthias Koefferlein cb649e6ee6 Merge branch 'master' of github.com:KLayout/klayout 2025-04-27 20:56:38 +02:00
Matthias Koefferlein e76be5b071 WIP 2025-04-27 20:55:11 +02:00
Matthias Köfferlein e76e9b7d0b
Merge pull request #2017 from KLayout/bugfix/issue-2014
Fixed issue #2014 (strm2oas lef/def/gds collect drops cells reference…
2025-04-27 20:53:47 +02:00
klayoutmatthias 6e7eff95e7 Fixed glob feature for Windows. 2025-04-27 19:16:37 +02:00
Matthias Koefferlein f1b35d0826 WIP (MALY reader) 2025-04-27 16:56:46 +02:00
Matthias Koefferlein 43310e7f49 Updating Python stubs 2025-04-27 16:07:01 +02:00
Matthias Koefferlein 9aa8d79bfc Enhanced unit test for better debugging 2025-04-27 14:43:53 +02:00
Matthias Köfferlein c7514ba24d
Merge pull request #2031 from KLayout/bugfix/issue-2011
Bugfix/issue 2011
2025-04-27 14:35:37 +02:00
Matthias Köfferlein efb3b3eb3d
Merge pull request #2030 from KLayout/feature/issue-2024
Provide a solution of feature request #2024
2025-04-27 14:35:24 +02:00
Matthias Köfferlein 345f316af5
Merge pull request #2029 from KLayout/bugfix/issue-2026
Fixing issue #2026 (after 2.5D display main 2D layout does not displa…
2025-04-27 14:35:14 +02:00
Matthias Köfferlein 89d5bf0df1
Merge pull request #2028 from KLayout/bugfix/issue-2025
Fixed issue #2025 (brackets get added on PCell parameters)
2025-04-27 14:34:52 +02:00
Matthias Köfferlein d8a13037a9
Merge pull request #2023 from KLayout/bugfix/issue-2020
Fixing the strict weak ordering issue inside the edge processor
2025-04-27 14:34:37 +02:00
Matthias Koefferlein 07eb49d482 Initializing MALY plugin 2025-04-27 01:11:38 +02:00
Matthias Koefferlein 5077b22963 Bugfix: deep, empty layers still need a layout attached 2025-04-27 00:30:50 +02:00
Matthias Koefferlein 5efcf83640 Bugfix: Deep mode XOR needs to maintain the layout origin of the first argument even if it is empty 2025-04-26 23:24:26 +02:00
Matthias Koefferlein ffa42653fe Addressing issue #2011
- "report" can now be late in DRC without internal error
  Yet, the report will only capture the output layers
  after the report statement has been called.
- Text objects don't create zero-area polygons in deep mode
  XOR now.
2025-04-26 22:04:50 +02:00
Matthias Koefferlein 2435e774f4 Preventing an internal error when using report after 'input' 2025-04-26 19:05:40 +02:00
Matthias Koefferlein 2bd82af6fe Provide a solution of feature request #2024
- There is a new configuration page entry called
  "Min spacing" for the grid. The default value is 4.
  The value specifies the grid min spacing in
  units of UI font height.
- A bugfix is included: the ruler now is drawn after
  the grid, hence is not hidden by it (specifically
  in checkerboard pattern mode)
- To allow bigger grid spacing, the ruler now
  is allowed to grow bigger than before.
2025-04-26 16:52:39 +02:00
Matthias Koefferlein 148498f840 Fixing issue #2026 (after 2.5D display main 2D layout does not display anymore with visible shapes) 2025-04-26 16:15:25 +02:00
Matthias Koefferlein d317dc2fe3 Fixed issue #2025 (brackets get added on PCell parameters) 2025-04-24 23:30:50 +02:00
Matthias Koefferlein f0943dea53 More debugging support 2025-04-24 22:01:56 +02:00
Matthias Koefferlein 8ece7bcce1 Activate pex module, GSI bindings 2025-04-22 22:37:23 +02:00
Matthias Koefferlein 0e99ebc056 Another test case, triangulation extractor behaves strange. 2025-04-20 22:28:55 +02:00
Matthias Koefferlein 93e10d1d72 Doc and small fixes 2025-04-20 21:52:44 +02:00
Matthias Koefferlein 9bf03390de More robust output for tests, some debugging 2025-04-20 21:23:01 +02:00
Matthias Koefferlein 7f0b2d532d Bugfixes 2025-04-20 20:07:47 +02:00
Matthias Koefferlein f71210c64a WIP, more testcases, debugging 2025-04-20 19:09:24 +02:00
Matthias Koefferlein 88a1ccbcfb TriangulationRExtractor, some debugging, tests 2025-04-20 16:20:35 +02:00
Matthias Koefferlein e9c2320f5d WIP 2025-04-19 23:59:45 +02:00
Matthias Koefferlein fcd42bd0f1 R network simplify 2025-04-19 23:48:58 +02:00
Matthias Koefferlein 1379d30502 Debugging, Tests 2025-04-19 20:55:15 +02:00
Matthias Koefferlein 9cd29c9de7 WIP 2025-04-19 18:45:31 +02:00
Matthias Koefferlein 6c90da8007 WIP 2025-04-19 16:30:58 +02:00
Matthias Koefferlein dfe67178dc WIP 2025-04-19 16:14:15 +02:00
Matthias Koefferlein 8a122c8a7d WIP: bug fixes, one more test 2025-04-18 23:29:29 +02:00
Matthias Koefferlein 71620445ee Polygon#triangulate now returns a 'raw' region, same for SimplePolygon#triangulate. Working on hm_decomposition (tests, bug fixes etc.) 2025-04-18 15:13:29 +02:00
Matthias Koefferlein e764716bda Preserving the hull of simple polygons during insert in a Region, hence skipping the compression 2025-04-18 15:12:30 +02:00
Matthias Koefferlein 16604e5a92 New module: 'pex' 2025-04-18 13:12:45 +02:00
Matthias Koefferlein c6a4b6aba0 Added a new utility function 2025-04-18 00:15:43 +02:00
Matthias Koefferlein 3ed39e8a4a Internal vertex ID added, cleanup 2025-04-17 23:40:58 +02:00
Matthias Koefferlein a2ef7a28f8 WIP 2025-04-17 23:20:37 +02:00
Matthias Koefferlein 94396da117 Fixed problem of on-edge internal vertex/precious vertex 2025-04-16 23:43:27 +02:00
Matthias Koefferlein 4f1b03496b Handling of points in Convex decomposition 2025-04-16 01:15:18 +02:00
Matthias Koefferlein 60d1fb0685 Porting HM decomposition to new PLC framework 2025-04-16 00:02:25 +02:00
Matthias Koefferlein 76e039bd2a Removing obsolete dbTriangle/dbTriangles 2025-04-13 23:06:49 +02:00
Matthias Koefferlein 802cf99521 Porting dbTriangleTests 2025-04-13 22:58:37 +02:00
Matthias Koefferlein 627e244443 Refactoring: generalization of Triangles into db::plc::Graph in dbPLC.h 2025-04-13 22:44:14 +02:00
Matthias Koefferlein 291c91fcaa Merge branch 'dev-polygon-graph' into wip 2025-04-13 17:16:16 +02:00
Matthias Koefferlein d7193e972c WIP 2025-04-12 23:59:43 +02:00
Matthias Koefferlein 7b069d17c3 WIP 2025-04-12 22:30:00 +02:00
Matthias Koefferlein 6f9a2da04a WIP 2025-04-10 23:33:50 +02:00
Matthias Koefferlein 910f697d0b WIP 2025-04-10 19:15:12 +02:00
Matthias Koefferlein fa618a5b76 Fixing the strict weak ordering issue inside the edge processor 2025-04-09 23:35:09 +02:00
Matthias Koefferlein 09329442f0 Fixing issue #2019 (build issue against Qt 6.9) 2025-04-09 23:30:13 +02:00
Matthias Koefferlein 0ec8e18173 refining the DEF warning on missing foreign cell 2025-04-08 23:52:50 +02:00
Matthias Koefferlein 3bd9a96f67 Merge branch 'bugfix/strmxor' into bugfix/issue-2014 2025-04-08 22:55:45 +02:00
Matthias Koefferlein a27fd3e0be Drop OASIS warning about ghost cells and print a DEF reader warning if a foreign cell cannot be substituted 2025-04-08 22:40:04 +02:00
Matthias Koefferlein 0542ef835a strm2xor: parallelize by layer and not internally with -u 2025-04-08 21:14:19 +02:00
Matthias Koefferlein 3a752fd2c7 Adding 'total' time for -d11 in all scripts 2025-04-08 19:55:50 +02:00
Matthias Koefferlein 8150e732af Hopefully fixing strm2xor finally, added a test 2025-04-08 19:14:01 +02:00
Matthias Koefferlein 789e183be9 Shortcutting hierarchy in case of skipped shapes, this restores the original performance 2025-04-08 00:04:21 +02:00
Matthias Koefferlein 41e9cb5893 Maybe fixing basic issues with strmxor
1. Output of shape countsi in deep mode was hierarchical with
   output file, flat without
2. Refactoring of XOR (for_merged optimization) needed to
   create cover cell variants
2025-04-07 00:53:43 +02:00
Matthias Koefferlein 6b5268e5f7 Feature glob expansion on LEF and GDS lists for LEF/DEF reader options. 2025-04-06 19:21:02 +02:00
Matthias Koefferlein 83e0c17291 Print total runtime for converter buddy tools with -d 11 2025-04-06 19:20:38 +02:00
Matthias Koefferlein 163c3b8edc Making "assume FOREIGN always default for strm* tools", OASIS warns on ghost cells 2025-04-06 12:50:34 +02:00
Matthias Koefferlein bcf14ede3e Fixed issue #2014 (strm2oas lef/def/gds collect drops cells referenced by sky130 spare)
Problem was that there was the implicit assumption that
substitution cells would be top cells (or at least: not
child cells of other substitution cells).
2025-04-05 22:06:29 +02:00
Matthias Koefferlein aa12448747 First attempt to implement a solution for issue #2016
The implementation will not update the PCell on
property sheet edits of the guiding shape
if lazy evaluation is requested. Still, changes
are committed to the PCell on committing the
property page.
2025-04-05 20:35:11 +02:00
Matthias Köfferlein 449a9a968e
Merge pull request #2015 from KLayout/bugfix/issue-2012
Bugfix/issue 2012
2025-04-05 19:21:35 +02:00
Matthias Koefferlein c656700b44 Maybe fixed issue-2012 (leaking reference in Python) 2025-04-03 20:44:34 +02:00
Matthias Koefferlein b0f05b5327 WIP 2025-03-29 23:18:16 +01:00
Matthias Koefferlein 40a0113ce5 Fixing Texts[], EdgePairs[] and Edges[] operators - both in terms of returning xWithProperties and objects with properties at all 2025-03-27 00:27:53 +01:00
Matthias Koefferlein 3aebf90ecd Texts[n] now also provides a TextWithProperties object. Bugfix: this method was not delivering any objects with properties at all. 2025-03-26 01:22:54 +01:00
Matthias Koefferlein a24d5388d7 Region[] now returns a PolygonWithProperties object or nil 2025-03-26 00:56:54 +01:00
Matthias Koefferlein 227203cdd1 Providing a less strict overload resolution
Downcast now has precedence over conversion constructors, hence less ambiguities
Solution is implemented for
- Ruby
- Python
- Expressions

For Expressions:
- The overload resolution is less evolved anyway
- There was an additional bug preventing to pass arrays (hashes) in expressions
2025-03-26 00:45:16 +01:00
Matthias Koefferlein db66a6ee74 Base class of DEdgePairWithProperties was EdgePair, not DEdgePair 2025-03-25 23:43:14 +01:00
Matthias Koefferlein e6ff30adee Modifying definition of Timer#memory_size on Linux to become resident size. 2025-03-23 18:46:15 +01:00
Matthias Koefferlein db728dc68a Merge commit 'refs/pull/2003/head' of github.com:KLayout/klayout 2025-03-23 18:38:42 +01:00
Matthias Koefferlein b748579bd7 Updating Python stubs 2025-03-23 18:35:50 +01:00
Matthias Koefferlein 740f36a2c2 Macro editor won't jump back after leaving find mode 2025-03-23 18:03:09 +01:00
Matthias Koefferlein a3593efa18 Layer settings are now better preserved between calls of boolean, merge and size dialogs 2025-03-23 17:36:07 +01:00
Matthias Koefferlein efeb2c061b Layout queries support diff as placeholder for the current cell 2025-03-23 16:51:47 +01:00
Matthias Koefferlein a22f48d87a Texts#polygons now has an argument to specify a property key that receives the text string 2025-03-23 15:54:18 +01:00
Matthias Koefferlein f977973b85 RecursiveShapeIterator#property and RecursiveShapeIterator#properties 2025-03-23 15:23:19 +01:00
Matthias Koefferlein 71644fa56c Implementing additional vertexes for triangulation 2025-03-23 11:34:13 +01:00
Matthias Koefferlein 8727c31d36 Merge branch 'bugfix/issue-1996' into wip 2025-03-23 11:11:20 +01:00
Matthias Koefferlein 16be7bf8c1 Merge branch 'bugfix/issue-2002' into wip 2025-03-23 11:10:54 +01:00
Matthias Koefferlein 593678e228 WIP: Polygon#delaunay and variants 2025-03-23 09:55:08 +01:00
Matthias Koefferlein 986474d465 Added one more testcase 2025-03-23 08:57:06 +01:00
Matthias Koefferlein 73364ee406 Solving issue #2002 by allowing variable widths on the path segments due to 45 degree segment snapping. 2025-03-23 00:57:25 +01:00
Martin Köhler b8a6d0a1cd Timer::memory_size() implementation for macOS 2025-03-23 00:03:29 +01:00
Matthias Koefferlein 6228668fa1 Fixing issue #1996: Providing a more robust triangulation 2025-03-22 21:47:22 +01:00
Matthias Koefferlein a727ed0b1d Fixed a compiler warning 2025-03-22 20:47:28 +01:00
Matthias Koefferlein 2668b42d29 Separating tl::hfunc from std namespace. Needed to support int128 in tl::Variant for 64bit coordinate builds. 2025-03-22 20:35:15 +01:00
Matthias Koefferlein 561a760881 Updating doc, python stubs, fixed non-Qt builds 2025-03-22 17:51:07 +01:00
Matthias Koefferlein e6914c78b9 Fixing builds for Qt4 2025-03-22 17:29:16 +01:00
Matthias Koefferlein 2aa88fe29c Fixed a linker issue on Qt4 2025-03-22 14:09:00 +01:00
Matthias Koefferlein 283a9d0b22 Build fixes for Qt4 2025-03-22 00:02:13 +01:00
Matthias Koefferlein 69a8f3ac11 Preparations for 0.30. 2025-03-21 23:52:08 +01:00
Matthias Koefferlein 6f69efd427 WIP 2025-03-20 23:30:30 +01:00
Matthias Koefferlein d9343ee530 WIP 2025-03-18 17:28:12 +01:00
Matthias Koefferlein 1f5c2b5132 Marked one test as long runner 2025-03-18 14:44:27 +01:00
Matthias Koefferlein df631aa970 Some minor refactoring 2025-03-18 00:19:15 +01:00
Matthias Koefferlein 6596008826 instrumenting triangles implementation with Quad Tree, but without effect 2025-03-18 00:10:00 +01:00
Matthias Koefferlein cd62f62140 WIP (quad tree) 2025-03-16 23:24:06 +01:00
Matthias Koefferlein 4e65b96cb7 WIP (quad tree) 2025-03-16 21:10:15 +01:00
Matthias Koefferlein f3037d11f3 WIP (quad tree) 2025-03-16 18:16:15 +01:00
Matthias Koefferlein 4aeb94d42e WIP (quad tree) 2025-03-16 17:13:06 +01:00
Matthias Koefferlein 477e2b5a31 WIP (quad tree) 2025-03-16 16:43:56 +01:00
Matthias Koefferlein 4369835e8b WIP (quad tree) 2025-03-16 16:36:49 +01:00
Matthias Koefferlein f1f35ae2a4 WIP (quad tree) 2025-03-16 14:46:03 +01:00
Matthias Koefferlein 5c8e0539ee WIP (quad tree) 2025-03-16 13:56:16 +01:00
Matthias Koefferlein 54b5d9f5d6 WIP (quad tree) 2025-03-16 13:35:51 +01:00
Matthias Koefferlein f136fdcde6 WIP 2025-03-16 00:52:57 +01:00
Matthias Koefferlein d60b296417 Improvement: Device#terminal_ref to get a NetTerminalRef from a Device. 2025-03-14 23:29:09 +01:00
Matthias Koefferlein d6273f9bbb [consider merging] avoiding a crash due to recursion in PCell recomputation with macro editor open (IDE generated processEvent calls and these may issue mouse events during execution of a mouse event response code) 2025-03-13 00:01:28 +01:00
Matthias Koefferlein 930e09809b Added an argument name 2025-03-09 23:20:57 +01:00
Matthias Koefferlein 2baaf322eb Fixed a few doc typos and default values for 'lmap' on build_nets 2025-03-09 23:20:18 +01:00
Matthias Koefferlein da88973df9 A number of new methods and variants in LayoutToNetlist
The goal is to support texts as native objects in
LayoutToNetlist.
Primarily this means, that instead of using a Region
to identify a layer, it is encouraged to use a
layer index instead. Also, Region is not longer the
only way to represent a layer, Texts is available
too.

It is possible now to retrieve the texts of a net
using "texts_of_net".

Also, the "lmap" parameter of "build_nets" became
optional. If "nil", a layer map is created based
on the layer info attribute of the layers.
2025-03-09 23:07:46 +01:00
Matthias Koefferlein 86202fa23c WIP: refactoring of LayoutToNetlist for more consistent support of Texts for layers 2025-03-09 19:22:04 +01:00
Matthias Koefferlein 903bd70223 Fixed merge issues 2025-03-06 22:24:05 +01:00
Matthias Koefferlein 87e7d8e493 Merge branch 'master' into devel 2025-03-06 19:35:32 +01:00
Matthias Koefferlein e06498763a Fixing issue #1997. 2025-03-05 19:12:38 +01:00
Matthias Koefferlein 5edb32cc33 Merge branch 'master' of github.com:KLayout/klayout 2025-03-05 18:41:43 +01:00
Matthias Koefferlein 4ebb292b7a Updating doc, py includes 2025-03-05 18:41:28 +01:00
Matthias Koefferlein 605fa44ca6 Another refinement for DSS bug fix. 2025-03-05 10:26:45 +01:00
Matthias Koefferlein 70af6bd7c9 Another refinement for DSS bug solution 2025-03-04 20:37:58 +01:00
Matthias Koefferlein 7b4e8a3462 Refined solution for DSS remapping bug 2025-03-04 19:50:33 +01:00
Matthias Koefferlein 3893f3be56 Merge branch 'master' of github.com:KLayout/klayout 2025-03-03 18:36:05 +01:00
Matthias Köfferlein 8a01352549
Merge pull request #1992 from KLayout/feature/issue-1989
Feature/issue 1989
2025-03-03 18:35:46 +01:00
Matthias Koefferlein ac1c656bc0 Fixed unit tests 2025-03-03 18:34:43 +01:00
Matthias Koefferlein 20111ce08d Fixed issue #1993 ('with_area' modifies result of 'join')
Root cause was a held layout lock inside the TilingProcessor.
As that object was not always released inside the Ruby
DRC script, the lock was held sometimes longer than
needed and messed with the hierarchy system.
2025-03-03 01:05:04 +01:00
Matthias Koefferlein fb9e0c4602 Fixed a compile issue 2025-03-02 22:24:04 +01:00
Matthias Koefferlein 5b4848ee50 Merge branch 'master' of github.com:KLayout/klayout 2025-03-02 22:22:05 +01:00
Matthias Köfferlein 2acbbffe19
Merge pull request #1991 from KLayout/feature/configure-lazy-pcell-evaluation
Feature/configure lazy pcell evaluation
2025-03-02 22:20:04 +01:00
Matthias Koefferlein 2e150980d5 Bugfix: 'Save all' was not updating the dirty state in the panel tabs 2025-03-02 22:12:18 +01:00
Matthias Koefferlein 414a06c70f Bugfix: tab title was not updated when current cell is renamed 2025-03-02 20:54:00 +01:00
Matthias Koefferlein 32fe65adc0 [consider merging] Fixed a bug when returning a Region into a layout with cells unselected. 2025-03-02 19:06:48 +01:00
Matthias Koefferlein 01cc54ba49 [consider merging] avoid a crash during certain queries
This query used to crash:
"instances of cell .*.* where inst.trans.rot == 2"
on a layout with 1 hierarchy level and some cells with rot 180 degree
2025-03-02 19:06:45 +01:00
Matthias Koefferlein 3185a7aeb2 [consider merging] fixed a potential crash on 'save all' 2025-03-02 19:06:41 +01:00
Matthias Koefferlein b434eb3239 [consider merging] Fixing two problems with layer mapping
1. Mapping "[*/*] 100/0:0/0" (for example) created 0/0
   two times when the input contains 100/0 and 0/0. Now
   it is a single layer only
2. The mapping table generated from strings now uses
   layer indexes from a range that should not collide
   with existing layer indexes.
2025-03-02 19:06:37 +01:00
Matthias Koefferlein 1372a7d04e [consider merging] Bugfix: fixing a crash when editing PCell parameters (QR code PCell in this case) while the macro editor is open 2025-03-02 19:06:31 +01:00
Matthias Koefferlein c6e7c47d6c Some bug fixes, updated tests 2025-03-02 18:30:31 +01:00
Matthias Koefferlein 08666aeb82 API implementation ... many, many new functions named 'split_...' 2025-03-02 17:30:47 +01:00
Matthias Koefferlein 79262028ff [consider merging] Fixed a bug when returning a Region into a layout with cells unselected. 2025-03-01 23:18:29 +01:00
Matthias Koefferlein 850a6f56d3 [consider merging] avoid a crash during certain queries
This query used to crash:
"instances of cell .*.* where inst.trans.rot == 2"
on a layout with 1 hierarchy level and some cells with rot 180 degree
2025-02-25 23:35:33 +01:00
Matthias Koefferlein 0e4594c0c3 [consider merging] fixed a potential crash on 'save all' 2025-02-25 22:06:56 +01:00
Matthias Koefferlein c437d75a01 [consider merging] Fixing two problems with layer mapping
1. Mapping "[*/*] 100/0:0/0" (for example) created 0/0
   two times when the input contains 100/0 and 0/0. Now
   it is a single layer only
2. The mapping table generated from strings now uses
   layer indexes from a range that should not collide
   with existing layer indexes.
2025-02-25 22:02:11 +01:00
Matthias Koefferlein 50ab169385 Default for lazy eval mode is 'as requested by PCell' for backward compatibility 2025-02-18 23:41:20 +01:00
Matthias Koefferlein b9079cdfdc First proposal for a feature to configure lazy PCell evaluation
- The PCell page gets an option menu instead of "show parameter names"
- That option goes into that menu
- In addition, there is a "lazy PCell evaluation" submenu with the
  modes:
  * As requested by PCell (like now)
  * Never
  * Always
2025-02-18 23:36:30 +01:00
Matthias Koefferlein 7d1ddd95df More patches 2025-02-16 22:38:29 +01:00
Matthias Koefferlein f6616dfaf4 WIP: more fixes for Qt 6.8 compatibility 2025-02-16 21:49:05 +01:00
Matthias Koefferlein c3fe77acd0 Fixing issue #1987 (build failure against Qt6.8) 2025-02-16 20:28:22 +01:00
Matthias Koefferlein ae5ae25000 Properties filters for EdgePairs and Texts too. 2025-02-16 13:59:50 +01:00
Matthias Koefferlein 1fed2767e8 Property filter for edges too. 2025-02-16 13:35:49 +01:00
Matthias Koefferlein a219576296 WIP: Region, Edges, EdgePairs and Texts filters can filter by property now, first implementation of Region property filter. 2025-02-16 00:08:35 +01:00
Matthias Koefferlein 54242bc848 Fixed some issues with operator+ and operator+= on Texts, Edges, Regions and EdgePairs with properties 2025-02-15 18:03:15 +01:00
Matthias Koefferlein e48c6f3660 Edges#each, Edges#each_merged, Region#each, Region#each_merged, Texts#each and EdgePairs#each now deliver objects with properties too. 2025-02-14 22:11:18 +01:00
Matthias Koefferlein 502346608f [consider merging] Bugfix: fixing a crash when editing PCell parameters (QR code PCell in this case) while the macro editor is open 2025-02-09 22:44:34 +01:00
Matthias Koefferlein c09184989f Avoiding call ambiguities when creating Edges, Region, EdgePairs and Texts from arrays of objects with properties. 2025-02-04 23:59:04 +01:00
Matthias Koefferlein 1f44a951f4 Polygon neighborhood compound operation 2025-02-03 20:47:31 +01:00
Matthias Koefferlein aa67448401 WIP: polygon neighborhood 2025-02-02 23:57:59 +01:00
Matthias Koefferlein aaae05016e Fixed unit tests 2025-02-02 21:57:21 +01:00
Matthias Koefferlein 08dbe3aba5 Fixing problem with sorting order of tl::Variant as key in std::map 2025-02-02 19:41:54 +01:00
Matthias Koefferlein 1bd1bb06ce More support for objects with properties: RDB integration. 2025-02-02 17:00:31 +01:00
Matthias Koefferlein a282a5d665 Some more tests for properties inside Edges, Regions 2025-01-29 02:42:16 +01:00
Matthias Koefferlein 4fda872048 Fixed unit tests 2025-01-29 02:29:13 +01:00
Matthias Koefferlein 375ac6364b More support for properties inside Edges, Texts, EdgePairs. WIP 2025-01-29 01:59:00 +01:00
Matthias Koefferlein dfc7d6bef4 Enhancing Python/Ruby API for better support with properties 2025-01-29 00:59:28 +01:00
Matthias Koefferlein d9233caa42 Fixed issue #1981 2025-01-29 00:56:37 +01:00
Matthias Koefferlein 569a8d7c52 First files. 2025-01-29 00:29:15 +01:00
Matthias Koefferlein f3bed8d4f2 Merge branch 'master' into devel 2025-01-25 21:41:30 +01:00
Matthias Koefferlein 2b2eb2e524 Fixed issue #1976 (crash on cross mode, lw > 1 and oversampling) 2025-01-22 00:24:57 +01:00
Matthias Koefferlein 2a47006a84 C++11 compatibility 2025-01-21 17:07:51 +01:00
Matthias Koefferlein 33b54f3f88 Merge branch 'master' into devel 2025-01-19 22:04:55 +01:00
Matthias Koefferlein 18c86cb204 Supporting log levels <0 on command line too, consistent behavior or log dialog 2025-01-17 10:49:54 +01:00
Matthias Koefferlein 44038cec9e Updating .pyi files 2025-01-17 10:47:06 +01:00
Matthias Köfferlein 253270aaa3
Merge pull request #1973 from KLayout/feature/issue-1971
Feature/issue 1971
2025-01-17 10:10:19 +01:00
Matthias Köfferlein b4dc9a6b1d
Merge pull request #1968 from KLayout/bugfix/issue-1967
Bugfix/issue 1967
2025-01-17 10:10:03 +01:00
Matthias Koefferlein a75eca5511 Fixing issue #1971: providing log levels -10 to disable warnings and -20 to disable errors too. 2025-01-16 20:42:53 +01:00
Matthias Koefferlein 07da5a3cf2 More details on Python doc involving class properties. 2025-01-16 20:42:14 +01:00
Matthias Koefferlein 629aef6d06 Fixing an issue with Python class property setters (only helps debugging, does not solve the issue) 2025-01-16 20:41:24 +01:00
Matthias Koefferlein 063040695a Preparing tests for GSI class properties 2025-01-16 20:40:42 +01:00
Matthias Koefferlein 05ba1743d7 Adding 'Logger#set_verbosity' alias as it is difficult to implement class property setters in Python 2025-01-16 20:40:01 +01:00
Matthias Koefferlein ddbb138872 Fixed issue #1967 (Net tracer bug) 2025-01-11 21:47:33 +01:00
Matthias Koefferlein 73dc31244a Merge branch 'master' into devel 2025-01-04 21:51:37 +01:00
Matthias Koefferlein bccf68504f Implemented a solution for #1963 (locking cells)
A cell can be locked using
  cell.locked = true
and unlocked again using
  cell.locked = false
Also, cell.is_locked? can be used to test the locked state.

In locked state writing shapes and instances is forbidden
and doing so would raise an exception.

Also, cells cannot be deleted when locked. However, Layout#clear
and Layout#_destroy are always available.

Cells can still be renamed, even if locked.
2025-01-04 21:44:11 +01:00
Matthias Koefferlein 2d5ddd794c Merge branch 'master' of github.com:KLayout/klayout 2025-01-04 19:36:43 +01:00
Matthias Köfferlein 53d290c1f8
Merge pull request #1960 from KLayout/bugfix/issue-1959
Fixing issue #1959
2025-01-04 19:35:48 +01:00
Matthias Köfferlein 64bfe9f118
Merge pull request #1958 from KLayout/bugfix/issue-1953
Fixing bug #1953 (inconsistent behavior of callback) maybe
2025-01-04 19:35:36 +01:00
Matthias Köfferlein 9e98b0de63
Merge pull request #1956 from KLayout/bugfix/issue-1955
Fixing bug #1955
2025-01-04 19:35:23 +01:00
Matthias Koefferlein 5d57cb5eed Updating copyright to 2025 2025-01-04 19:32:33 +01:00
Matthias Koefferlein c9da9dc6e0 Updating copyright to 2025 2025-01-04 19:28:56 +01:00
Matthias Koefferlein 826b811249 More generic object-with-properties GSI methods 2025-01-04 19:24:32 +01:00
Matthias Koefferlein 322b9419ad API harmonization (scaled method) 2025-01-04 19:24:18 +01:00
Matthias Koefferlein d036791cec For consistency: Edge::scaled returns a DEdge now 2025-01-04 19:23:17 +01:00
Matthias Koefferlein 233d70d085 Transformation of objects with properties, GSI binding, bug fixing, tests 2025-01-01 22:49:50 +01:00
Matthias Koefferlein 8a9d7c6d15 [consider merging] Restricting transformation of shape refs and detecting some issues related to that. 2025-01-01 19:56:34 +01:00
Matthias Koefferlein 8c935409ea Added a test for net neighborhood, predicable order of results of edge neighborhood scanner. 2024-12-31 16:37:01 +01:00
Matthias Koefferlein c112f78b1c WIP: edge and edge pairs with properties, tests, conversion constructors, edge neighborhood tests with properties. 2024-12-30 23:47:34 +01:00
Matthias Koefferlein d406488bbb Restoring original behavior of 'ignore properties' in width check 2024-12-30 21:19:43 +01:00
Matthias Koefferlein 58d3efeea4 Fixing compile issues 2024-12-29 23:12:44 +01:00
Matthias Koefferlein 941c0fff90 Fixing compile issues 2024-12-29 22:48:34 +01:00
Matthias Koefferlein 8eb181c05f Refactoring compound ops to support properties in general. 2024-12-29 21:41:02 +01:00
Matthias Koefferlein 75e4282f01 Introducing PolygonWithProperties etc. in gsi 2024-12-29 17:07:56 +01:00
Matthias Koefferlein 1be436b764 WIP 2024-12-28 23:40:52 +01:00
Matthias Koefferlein e26de4cc42 WIP 2024-12-28 23:38:20 +01:00
Matthias Koefferlein f2dc78f438 API enhanced for new properties ID scheme, updated doc and tests 2024-12-28 17:13:43 +01:00
Matthias Koefferlein e6ac66f8aa Providing a more efficient event for property ID changes 2024-12-26 23:11:59 +01:00
Matthias Koefferlein 4beb8db15a WIP: bug fixes, stability of tests 2024-12-26 21:45:28 +01:00
Matthias Koefferlein 5281397b17 Fixed some tests 2024-12-26 00:42:39 +01:00
Matthias Koefferlein b4d1aa131c Refactoring OASIS reader which wasn't working in non-editable mode 2024-12-25 22:51:56 +01:00
Matthias Koefferlein 34febff383 Added a test for property ID by name, value and name/value retrieval. 2024-12-25 21:04:07 +01:00
Matthias Koefferlein d2a1d28c55 [consider merging] Fixed another typo in documentation 2024-12-25 17:50:14 +01:00
Matthias Koefferlein 53084e4d43 [consider merging] Fixed a typo in documentation 2024-12-25 17:49:28 +01:00
Matthias Koefferlein 1278ffeb77 WIP - refined tl::Variant::equal and less implementation, fixed tests 2024-12-25 17:36:29 +01:00
Matthias Koefferlein dc73b8145f WIP 2024-12-24 17:13:01 +01:00
Matthias Koefferlein 1cd7c6f985 WIP 2024-12-24 15:42:17 +01:00
Matthias Koefferlein 28260a68b0 WIP 2024-12-24 15:39:27 +01:00
Matthias Koefferlein acdb18039b WIP: OASIS reader tests debugging. 2024-12-24 13:07:02 +01:00
Matthias Koefferlein f5fea29cc9 WIP: OASIS reader tests debugging. 2024-12-24 12:56:13 +01:00
Matthias Koefferlein c6a097ae61 WIP 2024-12-24 11:45:16 +01:00
Matthias Koefferlein 128a00896e WIP 2024-12-24 11:19:21 +01:00
Matthias Koefferlein dd7aa9b84f WIP: massive refactoring of properties repo and OASIS reader
Target is to reduce the properties repository to a singleton.
Hence, there is no need to translate property IDs and it
is possible to retrieve properties everywhere.

The OASIS reader is refactored to avoid property renaming
and change of property definitions per ID.
2024-12-24 00:00:43 +01:00
Matthias Koefferlein 9ea7e68576 WIP 2024-12-22 23:21:04 +01:00
Matthias Koefferlein 487a198ec9 WIP: OASIS reader refactoring for new properties repository concept 2024-12-22 17:28:54 +01:00
Matthias Koefferlein 19e44e071c [consider merging] Bugfix: view was not refreshed if properties changed and property selectors were present 2024-12-22 15:17:10 +01:00
Matthias Koefferlein f095374455 WIP: switching prop id change notification to events 2024-12-22 15:16:35 +01:00
Matthias Koefferlein 6db836e405 WIP: refactoring of properties repository 2024-12-22 14:23:07 +01:00
Matthias Koefferlein 86d2ee6efe Fixing issue #1959
Problem was an overflow (inf) that got converted to 0
by "ceil".
2024-12-20 00:43:29 +01:00
Matthias Koefferlein d9048f7976 Fixing bug #1953 (inconsistent behavior of callback) maybe
Problem was that the final callback coming (two times) from
"apply" was not updating the widget states (visibility etc.)
2024-12-18 22:13:04 +01:00
Matthias Koefferlein 5e2f4eb243 Fixing bug #1955
Problem was caused by a leaking PolygonIteratorDelegate that locked the
DSS layout object. Solved by wrapping in PolygonIterator and
changing the interface such that PolygonIteratorDelegegate is no
longer useful.
2024-12-16 22:58:48 +01:00
Matthias Koefferlein 58376b3391 Fixing issue #1948 (crash on dragging a cell) - problem was the popup which Qt does not like during drag-and-drop operations. 2024-12-08 19:36:37 +01:00
Matthias Koefferlein bb635c3c59 Fixing pyi stubs for Box#moved and added defaults for Box#enlarge/enlarged 2024-12-02 22:23:14 +01:00
Matthias Koefferlein dd5214dc6e Fixing issue #1942 (PythonStandalone Package stubs errors), adding defaults for Box#enlarge and Box#enlarged (bonus) 2024-12-02 22:01:51 +01:00
Matthias Koefferlein 998a780676 Fixing bug #1941 (crash with navigator open) 2024-12-02 21:44:18 +01:00
Matthias Koefferlein f53658ea4c Handling problem of redundant key bindings
For example, @toolbar.ruler and edit_menu.modes.ruler was
redundant in a sense that they point to the same action,
hence, each entry in the key_binding config was overriding
the other one.

To solve this, there now is a primary entry, which is the
edit_menu one. Only that entry is effective and listed
in key_bindings.
2024-12-02 21:29:05 +01:00
Matthias Koefferlein 2bc913140d Refined solution for partial mode snap, so grid does not have priority over edge or vertex snapping for 'snap to objects' 2024-12-02 19:42:12 +01:00
Matthias Koefferlein e51a89b708 Python stubs update 2024-12-01 10:25:06 +01:00
Matthias Koefferlein c25896ef40 Add-on: don't select texts if they are not shown 2024-11-30 21:54:01 +01:00
Matthias Koefferlein 2c6eca04d6 selecting shapes only if edges are visible too 2024-11-30 21:45:41 +01:00
Matthias Koefferlein d361030048 Clearing status bar message when nothing is selected 2024-11-30 21:36:43 +01:00
Matthias Koefferlein 692967921a Selecting instances only if one edge is visible
This is supposed to avoid that you select guard ring
cells for example and move them while working
on small details.
2024-11-30 21:35:06 +01:00
Matthias Koefferlein e35aa97191 Added 'read_bytes' without options and 'write_bytes'. Added tests for write_bytes and for Ruby. Doc fixed. 2024-11-30 18:46:25 +01:00
Matthias Köfferlein 41383e4642
Merge pull request #1920 from rocallahan/readbytes
Add a Layout.read_bytes() method that reads a layout from a byte array
2024-11-30 17:47:03 +01:00
Matthias Koefferlein 6861b68964 Merge branch 'extended-transient-selection-config' 2024-11-30 08:27:01 +01:00
Matthias Köfferlein 637660ca69
Merge pull request #1933 from KLayout/wip
Wip
2024-11-30 08:23:35 +01:00
Matthias Köfferlein ec21809cc3
Merge pull request #1916 from KLayout/maybe-pex-support
Some add-ons for potential application in the PEX context
2024-11-28 20:43:40 +01:00
Matthias Köfferlein 66d97bb5f1
Merge pull request #1928 from KLayout/feature/issue-1923
Feature/issue 1923
2024-11-28 20:43:01 +01:00
Matthias Köfferlein 1a5e8c9b36
Merge pull request #1927 from KLayout/bugfix/issue-1925
Fixed issue #1925 (MAGIC import fails)
2024-11-28 20:42:25 +01:00
Matthias Koefferlein 22d8709c06 Compatibility of tests with Windows 2024-11-26 23:24:12 +01:00
Matthias Koefferlein ce4dc08969 Robustness of tests against different hash implementations, documentation update 2024-11-26 23:15:28 +01:00
Matthias Köfferlein 926dac96c6
Merge pull request #1910 from KLayout/bugfix/issue-1907
Bugfix/issue 1907
2024-11-26 21:06:04 +01:00
Matthias Koefferlein 5ebbee981b Windows compatibility 2024-11-26 21:02:02 +01:00
Matthias Koefferlein 8737933939 Qt4 compatibility 2024-11-26 20:58:06 +01:00
Matthias Koefferlein e533a34a08 Fixing the problem of (sometimes) slow transient selection (edit mode, top level selection only, large and interleaving arrays) 2024-11-25 23:23:48 +01:00
Matthias Koefferlein 33d1cdc545 Show select expressions in column headers in custom queries 2024-11-24 22:28:01 +01:00
Matthias Koefferlein 76800ea9bd Removed an incorrect comment 2024-11-24 22:16:27 +01:00
Matthias Koefferlein 9e340943b7 Adding 'copy to clipboard' in search & replace results list and export function 2024-11-24 22:14:24 +01:00
Matthias Köfferlein 09aecdd639
Merge pull request #1919 from mschweikardt/master
typos in manual
2024-11-24 19:49:25 +01:00
Matthias Koefferlein d5bebda6af Formatting key-bindings and menu visibility in klayoutrc differently (one entry per line), so they are easier to edit 2024-11-24 18:31:19 +01:00
Matthias Koefferlein 5578b01f03 Some refactoring with the goal to support "move by" with "clone interactive" 2024-11-23 23:38:53 +01:00
Matthias Koefferlein 84c4f31a9c Improve snapping in partial mode when snapping to objects 2024-11-23 20:33:15 +01:00
Matthias Koefferlein dc9b3bb398 More consistent handling of special paths (like data: URLs) for technology components. 2024-11-23 19:19:23 +01:00
Matthias Koefferlein 1c23d77073 By default, layer properties are initialized when no .lyp file is specified in a technology
You can turn this feature off by disabling the "Initialize other layers with default properties"
option on the techology's "General" page.
2024-11-23 15:19:33 +01:00
Matthias Koefferlein 983611172c Fixed some icons (navigation icons in netlist browser, edit icon in package manager) 2024-11-22 23:30:45 +01:00
Matthias Koefferlein abe578562f Extended (transient) selection config
- Line style can be configured for selection + transient selection
- Transient selection has it's own styles
2024-11-21 23:10:59 +01:00
Martin Köhler 7dcba4cebc Bugfix/issue 1930: Fixed type from char to int 2024-11-19 17:23:06 +00:00
Matthias Koefferlein 476ec3a714 Implemented solution for #1923 ('move', 'moved')
1. Added move and moved to Point and DPoint
2. dx/dy is 0 by default now
3. arguments of move and moved are called
   v (vector) and dx/dy consistently
2024-11-17 22:04:28 +01:00
Matthias Koefferlein 85caa4b397 Fixed issue #1925 (MAGIC import fails) 2024-11-17 21:42:29 +01:00
Matthias Koefferlein 0f438cdbd2 On same name, creating a RDB category would return the original one. 2024-11-13 18:26:06 +01:00
Matthias Koefferlein fecb8a8c8a RDB tests for Python too 2024-11-13 18:22:55 +01:00
Matthias Koefferlein 105751e2cf Trying to become compatible with Python 3.13 on Windows 2024-11-13 00:47:27 +01:00
Robert O'Callahan db56b0293e Add a Layout.read_bytes() method that reads a layout from a byte array in Python or Ruby.
This is much more convenient and a bit more efficient than writing the bytes
to a temporary file and reading that back in. It's useful when we have received
a layout over the network or embedded in some file.

This makes a copy of the bytes but there doesn't seem to be any way to avoid that
currently.
2024-11-05 03:15:40 +00:00
Matthias Schweikardt 3778ab157f
typos in manual 2024-11-03 09:25:58 +01:00
Matthias Koefferlein dd0949867f Some convenience features: transformations in EdgeNeighborhood, added Matrix transformation support for edge pairs. 2024-11-01 17:34:46 +01:00
Matthias Koefferlein 2629700566 RBA tests, reproducible order of edge events, all edges are reported - even those which do not have neighbors. 2024-10-31 23:43:27 +01:00
Matthias Koefferlein 3073c1917f Some enhancements: internal merging, tests 2024-10-31 22:55:46 +01:00
Matthias Koefferlein 0cca9afc7e Generalization: providing output functionality. 2024-10-31 21:34:17 +01:00
Matthias Koefferlein 9f2a2075c7 Implementing full support for compound operations in EdgeNeighborhood, including foreign() 2024-10-29 23:18:01 +01:00
Matthias Koefferlein ac1126f5c4 update documentation 2024-10-29 21:01:31 +01:00
Matthias Koefferlein cdd7058866 Mitigating the effect of a locked layout: plain iteration of instances now is possible also with a locked layout. Before, the instances were correctly iterated only if the layout could be sorted. 2024-10-27 23:42:16 +01:00
Matthias Koefferlein 946729f14d Adding forced update to Layout writer to ensure proper files. A warning is given. 2024-10-26 22:46:09 +02:00
Matthias Koefferlein 1407ae13a7 Also provide layout locking for recursive instance iterator 2024-10-26 21:40:41 +02:00
Matthias Koefferlein 0c0baed664 Avoiding a layout lock on Region::empty. 2024-10-26 21:24:01 +02:00
Matthias Koefferlein a83e58b8de Solving potential thread collision issues upon Layout::update. 2024-10-26 21:21:28 +02:00
Matthias Koefferlein 049c0b73b0 Debugging, added tests for new recursive shape iterator. 2024-10-25 23:13:40 +02:00
Matthias Koefferlein bea707a9df Releasing the lock when the iterator is at end - otherwise a finished iterator could still block the layout (potential Ruby GC issue) 2024-10-25 00:40:42 +02:00
Matthias Koefferlein c1757c472e First steps towards fix: locking layout while recursive shape iterator is alive. 2024-10-25 00:36:28 +02:00
Matthias Koefferlein 0d2379ad75 WIP: debugging, added polygon callback for EdgeNeighborhoodVisitor 2024-10-24 17:55:56 +02:00
Matthias Koefferlein 7af91fa2b5 Further debugging 2024-10-23 22:53:16 +02:00
Matthias Koefferlein f7dde684f0 WIP: some basic debugging 2024-10-23 18:38:26 +02:00
Matthias Koefferlein 46b44e6287 WIP: builds, but not tested yet. 2024-10-21 23:35:34 +02:00
Matthias Koefferlein 422c88207c WIP 2024-10-21 22:16:16 +02:00
Matthias Koefferlein a983603dbc Preparing 0.29.8 2024-10-20 19:57:03 +02:00
Matthias Köfferlein 2d1658cbfa
Merge pull request #1906 from KLayout/issue-1899
Issue 1899
2024-10-20 16:50:25 +02:00
Matthias Köfferlein 05c13e66b0
Merge pull request #1904 from KLayout/bugfix/issue-1902
Bugfix/issue 1902
2024-10-20 13:28:50 +02:00
Matthias Köfferlein d5358c87ae
Merge pull request #1903 from KLayout/wip
Wip
2024-10-20 13:25:39 +02:00
Matthias Köfferlein 6c82177dfa
Merge pull request #1883 from KLayout/issue-1869
Fixed issue #1869 by adding a new option, -to or --top-output to strmxor
2024-10-20 13:22:12 +02:00
Matthias Koefferlein 761388f680 Updating definitions for Qt5 too - some additional operator bindings show up. 2024-10-19 23:15:37 +02:00
Matthias Koefferlein 0328c7e9bd Updating Qt binding files 2024-10-19 20:35:43 +02:00
Matthias Koefferlein 60294d9226 Implemented solution for issue #1900 (help/about dialog content selectable) 2024-10-19 17:27:56 +02:00
Matthias Koefferlein c6a9a59247 Maybe fixing second part of issue #1902. 2024-10-19 17:20:49 +02:00
Matthias Koefferlein f213e96d4a Partial fix for issue #1902 2024-10-19 17:12:53 +02:00
Matthias Köfferlein 9cf3c528a3
Merge pull request #1888 from KLayout/issue-1885
Fixed #1885
2024-10-19 16:32:42 +02:00
Matthias Köfferlein 6b906b9582
Merge pull request #1889 from KLayout/issue-1877
Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via)
2024-10-19 16:31:43 +02:00
Matthias Köfferlein 78ec69f7b7
Merge pull request #1890 from KLayout/issue-1886
Issue #1886 fixed (doc update)
2024-10-19 16:31:30 +02:00
Matthias Köfferlein 63dfaccff9
Merge pull request #1891 from KLayout/issue-1887
issue #1887 fixed (doc update)
2024-10-19 16:31:12 +02:00
Matthias Koefferlein dc0f549ab4 Embedding fix for issue #1892 which is closely related to #1877 2024-10-14 23:41:55 +02:00
Matthias Koefferlein 7b7e98d49a Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via) 2024-10-12 21:44:49 +02:00
Matthias Koefferlein 19b2aea471 Fixed #1885
Now, the default of --subst-char in strm2oas is "don't substitute".
You can explicitly specify "don't substitute" using "--subst-char="
(without value).
2024-10-12 21:19:09 +02:00
Matthias Koefferlein eeb05e47a5 Issue #1886 fixed (doc update) 2024-10-12 21:00:07 +02:00
Matthias Koefferlein dae0c16bf6 issue #1887 fixed (doc update) 2024-10-12 20:55:17 +02:00
Matthias Koefferlein 8dab13eb42 In DRC, with '@+' as target layout, maintain the original active cell view. This way, DRC can be re-run on the original layout, but each time generating a new output cellview. 2024-10-06 19:08:38 +02:00
Matthias Koefferlein f25693373e Small doc update 2024-10-06 19:07:42 +02:00
Matthias Koefferlein b44ff4b8e8 Avoid a potential hard assertion in debug mode 2024-10-06 19:07:17 +02:00
Matthias Koefferlein d7abbaca36 Fixed issue #1869 by adding a new option, -to or --top-output to strmxor 2024-10-06 18:33:53 +02:00
Matthias Köfferlein 3167af31c4
Merge pull request #1881 from KLayout/bugfix/issue-1880
Enhancing GDS2 writer float conversion such that less rounding occurs
2024-10-06 18:21:26 +02:00
Matthias Köfferlein 71a9e131a1
Merge pull request #1876 from KLayout/issue-1870
Bugfix for issue #1870: do not allow editing on invalid layers
2024-10-06 18:20:45 +02:00
Matthias Koefferlein 1289db7ebd Enhancing GDS2 writer float conversion such that less rounding occurs 2024-10-04 17:47:37 +02:00
Matthias Koefferlein 4be134e293 LEF/DEF reader recognizes existing layers by name now
This is helpful as it assigns layer/datatype numbers
automatically. If only a name is given for a layer
(i.e. "OUTLINE"), it will not match any previously
loaded layer and layer matching goes by layer/datatype
first.

This way, every "reload" added a new "OUTLINE" layer.
2024-10-03 18:50:00 +02:00
Matthias Koefferlein 10baec009c Bugfix for issue #1870: do not allow editing on invalid layers 2024-09-28 18:11:53 +02:00
Matthias Koefferlein 0dd7dfb48a Fixed issue #1874 (crash when copying a cell to another layout) 2024-09-28 17:53:26 +02:00
Matthias Koefferlein a0b8e4bea1 Updating stubs, DRC documentation 2024-09-22 21:11:21 +02:00
Matthias Koefferlein 4c33032f93 Merge branch 'better-not-break' 2024-09-22 20:08:10 +02:00
Matthias Koefferlein ec5de7b7f1 Compatibility with Python 3.13. 2024-09-22 02:38:33 +02:00
Matthias Koefferlein 2e58421fb3 Fixed builds without Qt and without libpng 2024-09-22 01:40:03 +02:00
Matthias Köfferlein 2d57feeae8
Merge pull request #1851 from KLayout/bugfix/issue-1832
Bugfix/issue 1832
2024-09-21 20:33:53 +02:00
Matthias Köfferlein ff0a2b8ab7
Merge pull request #1850 from KLayout/wip
Wip
2024-09-21 20:33:21 +02:00
Matthias Köfferlein cb984fb4b5
Merge pull request #1865 from KLayout/bugfix/issue-1864
Fixing issue #1864 (Copy & paste allows creating a recursive hierarchy)
2024-09-21 20:32:59 +02:00
Matthias Koefferlein b194d509cc Merge branch 'master' of github.com:KLayout/klayout 2024-09-20 23:49:27 +02:00
Matthias Koefferlein 43235a1ac2 Fixed CentOS7 builds 2024-09-20 23:49:16 +02:00