Commit Graph

7805 Commits

Author SHA1 Message Date
Matthias Köfferlein 7a64824361
Merge b866ac63d3 into 072b02c55c 2026-04-11 20:46:03 +02:00
Matthias Koefferlein 072b02c55c Fixed builds without Ruby 2026-04-11 20:40:28 +02:00
Matthias Koefferlein 63a948a77b Merge branch 'master' of github.com:KLayout/klayout 2026-04-11 00:19:39 +02:00
Matthias Koefferlein e6564340f9 Also skipping Python 3.6 to 3.9 from Azure 2026-04-11 00:19:27 +02:00
Matthias Köfferlein b6d8ce9f45
Merge pull request #2317 from KLayout/feature/issue-2316
Feature/issue 2316
2026-04-10 17:59:21 +02:00
Matthias Köfferlein 4ab3d957ec
Merge pull request #2324 from KLayout/bugfix/issue-2301
Hopefully fixing issue #2320
2026-04-10 17:58:36 +02:00
Matthias Koefferlein 97aa28d01b Hopefully fixing issue #2320 2026-04-09 22:25:16 +02:00
Matthias Köfferlein 8e64d1eff9
Merge pull request #2321 from KLayout/bugfix/issue-2320
Fixing issue #2320
2026-04-09 20:40:15 +02:00
Matthias Koefferlein 615658cb30 Fixing issue #2320
The fix implements a dynamic buffer for the InflateFilter
which is dynamically enlarged if needed. That fix is universal
and does not only apply to OASIS.

@abdelq Thanks for the test case
2026-04-06 16:48:29 +02:00
Matthias Köfferlein 3fae0aa909
Merge pull request #2312 from KLayout/dependabot/github_actions/styfle/cancel-workflow-action-0.13.1
Bump styfle/cancel-workflow-action from 0.13.0 to 0.13.1
2026-04-06 14:39:06 +02:00
Matthias Köfferlein 5a529dd89e
Merge pull request #2313 from KLayout/dependabot/github_actions/pypa/cibuildwheel-3.4.0
Bump pypa/cibuildwheel from 3.3.1 to 3.4.0
2026-04-06 14:38:55 +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 Köfferlein 766380b6ea
Merge pull request #2307 from KLayout/feature/issue-2300
Feature/issue 2300
2026-04-06 14:35:40 +02:00
Matthias Köfferlein b1e49f6032
Merge pull request #2283 from abdelq/crash-on-reload
Avoid crashing when clicking reload
2026-04-06 14:34:33 +02:00
Abdelhakim Qbaich ec4485a264 try/catch macro in ::action_triggered 2026-04-05 18:57:18 -04:00
Matthias Koefferlein bd9033e20c Wording. 2026-04-04 16:45:44 +02:00
Matthias Koefferlein 222c08a73a Implementing "spaced array" option
The "make array" dialog now has a tab where you can
select "spaced mode". In spaced mode, the bounding box
of the selection is used to compute the array pitch.

You can add a space between the columns and rows and
decide whether to use all layers for the instance
bounding boxes or only the visible ones.
2026-04-04 16:43:59 +02:00
Matthias Koefferlein b866ac63d3 Do not allow converting children of proxy cells to static
Proxies and their tree below should not be manipulated,
hence this operation is not allowed.
2026-04-04 00:20:37 +02:00
Matthias Koefferlein 21ecd80253 Allow to configure auto-sync of library folders. Default is off. 2026-04-03 23:59:43 +02:00
Matthias Koefferlein 9b2d1fe0be Adding the description option to library declaration files 2026-04-03 23:05:07 +02:00
Matthias Koefferlein a39bc587c1 Reusing libraries inside Library#library_from_file and Library#library:from_files for conservative reloading. 2026-04-03 17:49:29 +02:00
Matthias Koefferlein 62e45daaea Updating doc. 2026-04-03 16:23:01 +02:00
Matthias Koefferlein ad850f3d83 Merge branch 'lib-file' into bugfix/issue-2305 2026-04-03 15:42:00 +02:00
Matthias Koefferlein 87415f848c WIP 2026-04-03 11:33:46 +02:00
Matthias Koefferlein 5762bc3ecc Remove debug output 2026-04-03 11:31:53 +02:00
Matthias Koefferlein f33f8ea756 Fixing Layout::cleanup - was missing an update to establish proper cell parent relationships 2026-04-03 11:30:34 +02:00
Matthias Koefferlein 404d6fa20f Fixed BASIC lib tests - cell pointers cannot considered to be stable across lib.refresh calls as this basically would need to create cold proxies 2026-04-03 11:10:34 +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
dependabot[bot] 9b28e3a33b
Bump pypa/cibuildwheel from 3.3.1 to 3.4.0
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/v3.3.1...v3.4.0)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 3.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 01:45:50 +00:00
dependabot[bot] de1a36c6a2
Bump styfle/cancel-workflow-action from 0.13.0 to 0.13.1
Bumps [styfle/cancel-workflow-action](https://github.com/styfle/cancel-workflow-action) from 0.13.0 to 0.13.1.
- [Release notes](https://github.com/styfle/cancel-workflow-action/releases)
- [Commits](https://github.com/styfle/cancel-workflow-action/compare/0.13.0...0.13.1)

---
updated-dependencies:
- dependency-name: styfle/cancel-workflow-action
  dependency-version: 0.13.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 01:45:45 +00: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 062567f206 WIP 2026-03-29 19:41:19 +02:00
Matthias Koefferlein ddb261d708 Improving stability of library refresh
1.) Safeguard against missing cells
2.) Use topological order during refresh
    This avoid child-first issues
3.) Use cell names and basic names for mapping
    (cell names may be disambiguated while
    basic names are not)
2026-03-28 22:05:23 +01:00
Matthias Koefferlein c03a617fe2 Added some tests for the netlist browser API 2026-03-23 21:42:49 +01:00
Matthias Koefferlein 1588e74873 Providing a way to generate netlist browser paths
You can generate paths from net, device, circuit or subcircuit
objects. To generate a path for an object from the first netlist
of a pair (layout netlist in LVS case), use

  NetlistObjectsPath#from_first

e.g.

  path = RBA::NetlistObjectsPath::from_first(net)

For an object from the second netlist (schematic in the LVS case)
use "from_second".
2026-03-23 20:36:46 +01:00
Matthias Koefferlein aa361277a0 Implementing replication in LStream, OASIS and GDS2 2026-03-22 21:21:11 +01:00
Matthias Koefferlein 56e84e7056 Added test for lib file reading 2026-03-22 16:01:39 +01:00
Matthias Koefferlein 4908f51e1c WIP 2026-03-22 00:07:09 +01:00
Matthias Koefferlein c211925d2a Implemented solution for #2306
First of all, NetlistBrowserDialog#current_path now has a setter.
Changing the selection will navigate to the location of the
selected object, but not issue an "on_selection_changed" event.

In addition, the following features have been added:
* NetlistBrowserDialog#db_index
* NetlistBrowserDialog#view
2026-03-21 20:32:32 +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 ca3505b872 Part of the bugfix for #2305 - properly mapping cell indexes after library reload 2026-03-21 11:17:39 +01:00
Matthias Koefferlein cb9e25f1b3 Issue #2300: added documentation about KLAYOUT_DEF_FORMAT and KLAYOUT_LEF_FORMAT environment variables. 2026-03-21 09:25:17 +01:00
Matthias Koefferlein c311906298 Some refactoring 2026-03-20 16:58:53 +01:00
Matthias Koefferlein 94908162d6 LEF/DEF suffixes can be configured
The way to specify them is through the following
environment variables:

$KLAYOUT_LEF_FORMAT - LEF suffixes (default: "*.lef *.LEF *.lef.gz *.LEF.gz")
$KLAYOUT_DEF_FORMAT - DEF suffixes (default: "*.def *.DEF *.def.gz *.DEF.gz")

The string is a space-separated list of simple
match pattern. Only "*.xyz"-style pattern are allowed
currently.
2026-03-20 16:48:35 +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 00c826688f Added the ability to run DRC and LVS from strmrun 2026-03-20 15:48:58 +01:00