Commit Graph

7769 Commits

Author SHA1 Message Date
Matthias Koefferlein adb81262a4 Experimental feature: Region#peel to reduce hierarchical load 2026-04-12 01:03:37 +02:00
Matthias Koefferlein b7d18af0e1 Updating doc. 2026-04-04 20:40:44 +02:00
Matthias Koefferlein 13a1bf713d Added DRC integration and tests 2026-04-04 20:05:37 +02:00
Matthias Koefferlein ddc17818b0 Bugfix + tests added 2026-04-04 19:34:54 +02:00
Matthias Koefferlein 4c47cfb03a WIP: 'sparse_array_limit' on DSS 2026-03-23 22:49:47 +01:00
Matthias Koefferlein 92143ef543 WIP - experimental feature to resolve sparse cell arrays 2026-03-22 23:49:51 +01:00
Matthias Koefferlein 108baa4d79 New test data 2026-03-22 21:53:25 +01:00
Matthias Koefferlein 851919c42b Enabling direct storage of boxes in box scanner for (slightly) better performance 2026-03-22 21:50:26 +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 95f2335fc4 [consider merging] bugfix: DeepRegion::processed with properties did not deliver polygon refs which made them unsuitable for further processing. 2026-03-19 12:53:30 +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 Koefferlein fb2559bf75 Fixing a performance regression in the merged layer computation
Problem was that while properly implementing the reverse
cluster connection during cluster merges, cluster connection
propagation suffered a complexity explosion during generation
of the cluster interactions.

Solution is to postpone the cluster joining step until
a cell is finished connecting the clusters. To mitigate the
performance effect of that, some optimizations are
introduced (e.g. using a more efficient unordered_map).
2026-03-14 18:55:03 +01:00
Matthias Koefferlein 6dd3e6b10f Updating change log 2026-03-07 13:30:25 +01:00
Matthias Koefferlein 1985f5663c Fixing issue #2293 2026-03-07 13:28:35 +01:00
Matthias Koefferlein f8646851e1 Updating doc and pyi files 2026-03-06 15:46:16 +01:00
Matthias Koefferlein a80d181cf1 Mutex got faster on i386, so threaded worker tests need to be adjusted 2026-03-05 21:16:17 +01:00
Matthias Koefferlein 383591b1fa Preparations for 0.30.7 release 2026-03-04 18:59:08 +01:00
Matthias Köfferlein e82d2140b3
Merge pull request #2280 from KLayout/wip
Wip
2026-03-04 18:46:10 +01:00
Matthias Koefferlein 001deab767 Fixing Python module builds 2026-03-03 23:20:43 +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 5acb789ecf
Merge pull request #2289 from KLayout/bugfix/issue-2285
issues 2285 and 2286
2026-03-01 23:25:56 +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 Köfferlein 0753aa47e4
Merge pull request #2288 from KLayout/bugfix/issue-2284
Implemented backup files for the configuration file
2026-03-01 23:25:08 +01:00
Matthias Köfferlein b5a05b939b
Merge pull request #2281 from KLayout/feature/issue-2278
Added a marker attribute to turn off label frames: Marker#text_frame_…
2026-03-01 23:24:52 +01:00
Matthias Köfferlein c3b246b1af
Merge pull request #2291 from KLayout/dependabot/github_actions/actions/download-artifact-8
Bump actions/download-artifact from 7 to 8
2026-03-01 23:24:30 +01:00
Matthias Köfferlein a95285f3a8
Merge pull request #2292 from KLayout/dependabot/github_actions/actions/upload-artifact-7
Bump actions/upload-artifact from 6 to 7
2026-03-01 23:24:19 +01:00
dependabot[bot] bb011eaf98
Bump actions/upload-artifact from 6 to 7
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-01 21:11:15 +00:00
dependabot[bot] c6b72b7e07
Bump actions/download-artifact from 7 to 8
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7 to 8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-01 21:11:11 +00: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 8a594c1626 Doc update 2026-03-01 15:32:21 +01:00
Matthias Koefferlein ca1d648917 Implementing --help as alias for -h and --version as alias for -v 2026-02-28 09:54:41 +01:00
Matthias Koefferlein f3b7146034 Added documentation to clarify constraints on the documentation parameter name 2026-02-28 09:48:54 +01:00
Matthias Koefferlein 25a6db267c Implemented backup files for the configuration file
Currently, up to 10 backups are kept.
"klayoutrc.1" is the most recent backup, "klayoutrc." the
second most recent etc.
2026-02-28 09:39:12 +01:00
Matthias Köfferlein 5c26821d1f
Merge pull request #2275 from Kazzz-S/0.30.6-mac1
Minor changes in the macOS build system
2026-02-26 22:05:01 +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 b657cd9b57 Bugfix: double clicking an edge in partial mode opened the properties dialog, not setting a point 2026-02-24 21:44:33 +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 de7ace9295 [consider merging] Bugfix: OASIS reader was not able to read S_GDS_PROPERTY from file level or under forward reference conditions 2026-02-24 19:17:14 +01:00
Matthias Koefferlein 7ae87404a0 [consider merging] Adding an option '-of|--format' to strmxor and strmclip to specify the output format instead of taking it from the suffix 2026-02-24 19:17:11 +01:00
Matthias Koefferlein 9f92c4eaa4 [consider merging] Bugfix: 'oasis_read_all_options' as always on in buddy tools. 2026-02-24 19:17:05 +01:00
Matthias Koefferlein c14d8cc877 [consider merging] proper cleanup of properties repo - this enables using user classes for names or values. Without this pre-finalization cleanup, the user class 'destroy' method may end up calling a method of an already destroyed class object. 2026-02-24 19:17:01 +01:00
Matthias Koefferlein bc49082955 Fixing a small glitch: drawing into a ghost cell is possible, but did not turn off the ghost cell flag. Now the flag is still on, but a non-empty cell is not considered a ghost cell for most purposes. 2026-02-19 23:26:48 +01:00
Matthias Koefferlein 95d6b0aca5 Fixing a potential segfault during drawing
This patch moves a lock inside the thread finishing
code such that a race condition of the finish sequence
and a random restart of the threads becomes impossible.
This problem has been observed while randomly zooming
with multiple drawing threads present. It's hard to
reproduce.
2026-02-19 22:34:10 +01:00
Matthias Koefferlein 94b84aad62 Fixing dialog title of 'round corners dialog' 2026-02-19 21:43:41 +01:00
Matthias Koefferlein 9534209240 Preparing to use C++20 atomics for thread locking, which is slightly more efficient. Right now, that's an experimental option. 2026-02-19 21:36:00 +01:00