Commit Graph

1715 Commits

Author SHA1 Message Date
Matthias Koefferlein 0648ee1bd0 Merge branch 'wip' 2026-05-24 15:26:19 +02:00
Matthias Koefferlein 4afe2e5e8a Merge remote-tracking branch 'origin/master' into feature/issue-2337 2026-05-20 19:07:39 +02:00
Matthias Koefferlein 8f1e432146 Updating test data 2026-05-09 19:04:19 +02:00
Matthias Koefferlein 964083ba12 Updating test data 2026-05-07 00:21:39 +02:00
Matthias Koefferlein 9630bff240 A contribution to issue #2345 mitigation
With this patch, empty layers can be used to place device
terminals on and these shapes are visible on those layers.
This allows splitting the terminal shapes and used those
shapes to connect down to different substrates.

The patch turns EmptyLayer into a DeepLayer when used
as terminal layer for device extraction.
2026-05-05 23:08:09 +02:00
Matthias Koefferlein c85be6bce5 Adding string serialization "from_s" for objects with properties (CAUTION: side effect!)
Problem was that "to_s" did not deliver a parsable string for the
properties. This is fixed, but the format of the properties part
of the string changes.
2026-05-03 20:27:15 +02:00
Matthias Koefferlein 77fb74e072 Supporting to_bytes and from_bytes also for the ..WithProperties types 2026-05-03 18:10:00 +02:00
Matthias Koefferlein fdaa93d234 First implementation of to_bytes/from_bytes for Vector,Point,Box,Polygon,SimplePolygon,Trans,CplxTrans,Text,Path,Edge,EdgePair and variants 2026-05-02 23:21:35 +02:00
Matthias Koefferlein 1740523092 Introducing a number of convenience methods for Layout
* Layout#delete_cells with a list of cell object
* Layout#delete_cell_rec with a cell object
* Layout#prune_cell with a cell object
* Layout#prune_cells for pruning multiple cells in one call
* Layout#prune_subcells with a cell object
* Layout#prune_subcells with multiple root cells
* Layout#flatten with a cell object
* Layout#flatten_into with cell objects
* Layout#delete_cell with a cell object
* Default value "all" for "levels" argument in "prune_subcells" and "prune_cell"
* Default value "all" for "levels" and "true" for "prune" argument in "flatten"
* Default value "all" for "levels" and "unity" for "trans" argument in "flatten_into"
2026-05-02 15:46:29 +02:00
Matthias Koefferlein 0728feba33 Bugfix: rbaTests:dbPCellTests were disabled, added tests for new features for cold proxies 2026-05-02 00:20:57 +02:00
Matthias Koefferlein f70c3abff5 Fixed unit tests 2026-04-14 20:29:04 +02:00
Matthias Köfferlein 0fdce69579
Merge pull request #2304 from KLayout/bugfix/issue-2299
Bugfix/issue 2299
2026-04-14 08:59:07 +02:00
Matthias Köfferlein 72c4af9f94
Merge pull request #2308 from KLayout/bugfix/issue-2305
Bugfix/issue 2305
2026-04-14 08:57:19 +02:00
Matthias Koefferlein adb81262a4 Experimental feature: Region#peel to reduce hierarchical load 2026-04-12 01:03:37 +02:00
Matthias Köfferlein dd1a3ee7d1
Merge pull request #2309 from KLayout/feature/issue-2306
Implemented solution for #2306
2026-04-06 14:37:19 +02:00
Matthias Koefferlein 13a1bf713d Added DRC integration and tests 2026-04-04 20:05:37 +02:00
Matthias Koefferlein 9b2d1fe0be Adding the description option to library declaration files 2026-04-03 23:05:07 +02:00
Matthias Koefferlein ad850f3d83 Merge branch 'lib-file' into bugfix/issue-2305 2026-04-03 15:42:00 +02:00
Matthias Koefferlein 1abfd5363e Fixed an infinite loop 2026-04-03 00:30:01 +02:00
Matthias Koefferlein a6dce8c2ad Improving Layout::cleanup to consolidate library and cold proxies and to establish proper cell names if possible 2026-04-02 22:14:11 +02:00
Matthias Koefferlein dcc7f28c77 Updating test data 2026-03-31 22:09:27 +02:00
Matthias Koefferlein 7cec679d39 Taking care of complex library reference scenarios where libraries self-reference and under the presence of stale references. Main issue is order of resolution and indirect references due to replication. Solution is to repeat resolution until saturated. A test is supplied. 2026-03-31 21:35:33 +02:00
Matthias Koefferlein c03a617fe2 Added some tests for the netlist browser API 2026-03-23 21:42:49 +01:00
Matthias Koefferlein 108baa4d79 New test data 2026-03-22 21:53:25 +01:00
Matthias Koefferlein 56e84e7056 Added test for lib file reading 2026-03-22 16:01:39 +01:00
Matthias Koefferlein 355a75dafe Added a missing file (not related to the issue, but to the branch we started from) 2026-03-21 17:15:46 +01:00
Matthias Koefferlein 83b9fafa9d Added missing files 2026-03-21 17:12:10 +01:00
Matthias Koefferlein f501f039c0 Added tests and two convenience methods
The two convenience methods are

Library#library_from_file
Library#library_from_files

Both create and register a Library object tied to a file.
This object supports proper reloading and re-mapping on
"refresh".
2026-03-21 14:59:08 +01:00
Matthias Koefferlein 2dfcc9293e Allowing to explicity specify a format
Most tools and functions now allow to explicitly
specify a format for input and output. On input,
the format is usually detected, but for some
cases, this is not possible (e.g. DEF). So you can
specify the format attached to the file name in
square brackets:

e.g. file.defok[def]

"def" is the intended suffix, "defok" is the given one.

On output, the same is possible, specifically in strmxor
and strmclip:

strmxor a.gds b.gds out.xor[oas]
2026-03-20 16:30:28 +01:00
Matthias Koefferlein 4cde2fe042 New test data 2026-03-19 14:33:59 +01:00
Matthias Koefferlein 42a008efd1 Potential performance improvement for deep-mode DRC
The idea is to use broken regions for certain operations
such as booleans in deep mode (local operations). These polygons are
more efficient. To support this, a "broken polygon" view
is supplied similar for "merged" view. The translation is
handled automatically.

As a side effect, regions may appear to be composed in broken
polygons now when they have been merged before.
2026-03-19 12:53:49 +01:00
Matthias Koefferlein db9aee844d New testdata 2026-03-18 22:49:24 +01:00
Matthias Koefferlein 07de416694 New test data 2026-03-18 21:13:33 +01:00
Matthias Koefferlein f127ec9843 Updating test data 2026-03-18 21:01:18 +01:00
Matthias Koefferlein 4af2662a08 Fixing unit tests 2026-03-15 10:03:51 +01:00
Matthias Köfferlein e82d2140b3
Merge pull request #2280 from KLayout/wip
Wip
2026-03-04 18:46:10 +01:00
Matthias Köfferlein 9b5c76f993
Merge pull request #2290 from KLayout/feature/issue-2248
Providing a solution for #2248
2026-03-03 22:38:31 +01:00
Matthias Köfferlein abc1ffe9f6
Merge pull request #2276 from KLayout/bugfix/issue-2273
Bugfix/issue 2273
2026-03-01 23:25:22 +01:00
Matthias Koefferlein aaa165df32 Providing a solution for #2248
The solution is to introduce a new object, the layout handle.
A layout handle is a reference counting pointer to a layout.
It can be obtained from a cell view and stored somewhere.
If the cell view is closed, the layout will still exists
as long as a layout handle exists. A layout handle can be
used in LayoutView#show_layout in addition to the Layout
object to re-open a layout that existed in a closed view.
2026-03-01 21:13:40 +01:00
Matthias Koefferlein 992947f748 ReportDatabase#merge - a method to merge two report databases 2026-03-01 17:39:29 +01:00
Matthias Koefferlein 125f3b459f Added a marker attribute to turn off label frames: Marker#text_frame_enabled. Set it to false to disable the frame 2026-02-24 22:10:05 +01:00
Matthias Koefferlein 3af5568663 [consider merging] Bugfix: Python did not support downcasting of PolygonWithProperties to Polygon on Shapes#polygon for example 2026-02-24 21:00:21 +01:00
Matthias Koefferlein 4e142627b6 added test 2026-02-14 19:44:24 +01:00
Matthias Koefferlein 56fdbca1f5 Updating copyright to 2026 2026-02-07 17:12:53 +01:00
Matthias Koefferlein 65fd3f3e50 Providing a fix for issue #2267
1. The script API "map_file" attribute has been changed
   to accept and supply nil (for no file), a string (for
   a file, empty is equivalent to "no file") and a list
   for multiple files which are merged. The split at "+"
   or "," has been dropped.
2. The strm* tools option ("--lefdef-map") has been changed
   to allow multiple occurances instead of split at "+" or ",".
2026-02-05 23:21:04 +01:00
Matthias Koefferlein f68d02c6f3 Merge branch 'master' into wip 2026-02-05 22:05:24 +01:00
Matthias Köfferlein f53c6b8543
Merge pull request #2265 from KLayout/issue-2263
Following up on a number of Magic reader issues found in the course o…
2026-02-05 21:54:36 +01:00
Matthias Koefferlein 955c917783 Fixing unit tests (RBA ant objects) 2026-01-31 23:01:57 +01:00
Matthias Koefferlein 5278b27683 Following up on a number of Magic reader issues found in the course of issue #2263
* The original issue ("sw" etc for "tri")
* Implementing "magscale"
* Interpolation of environment variables on paths
* Warnings include file positions now
* Ignoring "<< properties >>" pseudo-layer
* MAG writer uses zero-area boxes for empty ones
* New test
2026-01-25 19:30:08 +01:00
Matthias Koefferlein a0ca8febe5 Fixed unit test 2026-01-15 01:41:00 +01:00