Matthias Koefferlein
e42bb63e8a
Renaming 'editor options' to 'tool options'
2026-05-24 00:13:51 +02:00
Matthias Koefferlein
4d77056da1
For more clarity change 'snap to objects (unless disabled in template)' to 'never snap to object' (inverted) in rulers config.
2026-05-24 00:11:57 +02:00
Matthias Koefferlein
b5be4fc497
Small bugfix on object snap - observe snap directions
...
Problem: snapping with angle constraints and object snapping
sometimes gave results not conforming to the angle constaints.
This happened when shape edges are parallel to the cutlines that
define the angle constraint.
2026-05-24 00:00:30 +02:00
Matthias Koefferlein
014f3d0644
[consider merging] tab order in density map dialog
2026-05-23 21:19:57 +02:00
Matthias Koefferlein
aa50562e38
[consider merging] Fixed a type bug in l2n reader
2026-05-23 21:19:52 +02:00
Matthias Koefferlein
8c8f75352a
WIP
2026-05-23 21:19:13 +02:00
Matthias Koefferlein
2e91220e8c
WIP
2026-05-23 19:30:37 +02:00
Matthias Koefferlein
1d150441b6
WIP
2026-05-21 23:05:03 +02:00
Matthias Koefferlein
3ef0d593b1
[consider merging] tab order in density map dialog
2026-05-21 19:27:48 +02:00
Matthias Koefferlein
ae55361bcc
WIP
2026-05-21 00:09:24 +02:00
Matthias Koefferlein
19ded2d784
WIP
2026-05-21 00:05:57 +02:00
Matthias Koefferlein
6e19b34cb3
[consider merging] Fixed a type bug in l2n reader
2026-05-20 22:52:34 +02:00
Matthias Koefferlein
4afe2e5e8a
Merge remote-tracking branch 'origin/master' into feature/issue-2337
2026-05-20 19:07:39 +02:00
Matthias Köfferlein
0eed5d6ea5
Merge pull request #2354 from KLayout/wip
...
Wip
2026-05-20 19:06:25 +02:00
Matthias Köfferlein
10860d5a68
Merge pull request #2352 from KLayout/bugfix/issue-2345
...
A contribution to issue #2345 mitigation
2026-05-20 19:06:12 +02:00
Matthias Köfferlein
0ca31fb9a6
Merge pull request #2347 from KLayout/bugfix/issue-2344
...
Fixing issue #2344 (preserving properties on PCell instantiation with…
2026-05-20 19:04:14 +02:00
Matthias Köfferlein
337c910ce0
Merge pull request #2346 from KLayout/bugfix/issue-2343
...
Fixed issue #2343 (loss of collinear points in copy_tree and other pl…
2026-05-20 19:03:59 +02:00
Matthias Köfferlein
8488c59c15
Merge pull request #2342 from KLayout/feature/issue-2335
...
Fixing issue #2335
2026-05-20 19:03:40 +02:00
Matthias Köfferlein
41ef531d37
Merge pull request #2341 from KLayout/bugfix/issue-2339
...
Fixing issue #2339
2026-05-20 19:03:04 +02:00
Matthias Koefferlein
f74e71f728
Implementing averaging window for density map
2026-05-19 00:04:06 +02:00
Matthias Koefferlein
f2b1e389bd
Enhancements to density map feature
2026-05-18 22:25:43 +02:00
Matthias Koefferlein
ae46712f45
WIP on density map feature
2026-05-11 23:48:55 +02:00
Matthias Koefferlein
974a300bdc
First draft for density map feature.
2026-05-11 22:19:12 +02:00
Matthias Koefferlein
5c9ccf34f7
Fixing a glitch in the data mapping widget (when editing the value, the node got deselected, but the colors boxes were still enabled)
2026-05-09 23:09:11 +02:00
Matthias Koefferlein
485ec8a413
Fixing builds
2026-05-07 00:11:39 +02:00
Matthias Koefferlein
838b2409b0
Maintaining data_id during modification of layer inside device extractor -> this way, the name-to-layer link is maintained inside the DRC engine
2026-05-07 00:10:22 +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
1de28f2d6b
Refactoring, some enhancements to tl::Variant
...
- Split binary and regular streams
- Binary serialization of tl::Variant
- Fixing tl::Variant parsable string representation for byte arrays and char
(Format is '...'b for byte arrays and '.'c for chars).
- tl::to_quoted_string now allows 0 characters in the string
(escapes to '\000')
2026-05-03 16:24:14 +02:00
Matthias Koefferlein
7f6071db31
Some refactoring, bug fixes
2026-05-03 00:15:47 +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
d8016a9446
Polishing doc.
2026-05-02 00:29:07 +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
6782ad54e6
GSI: new functions for cold proxies
2026-05-02 00:00:25 +02:00
Matthias Koefferlein
17f5b4f2da
Snapping of rulers: now all points snap when the ruler is moved
2026-05-01 18:57:03 +02:00
Matthias Koefferlein
5596019ece
Fixing issue #2344 (preserving properties on PCell instantiation with instances)
2026-05-01 00:03:11 +02:00
Matthias Koefferlein
39c95a11de
Fixed issue #2343 (loss of collinear points in copy_tree and other places)
2026-04-30 23:42:40 +02:00
Matthias Koefferlein
5d60cfe27d
Persisting settings of search features (see discussion 2868)
2026-04-30 21:35:48 +02:00
Matthias Koefferlein
423df1e7e2
Fixing issue #2335
...
Now, the editor options are also shown in selection mode.
Also, the logic was enhanced that decides whether to show
the editor options or not.
2026-04-26 22:43:13 +02:00
Matthias Koefferlein
6ffb59200e
Fixing issue #2339
...
Solution is to do proper cell mapping, including the parent
references from source to target RDB.
2026-04-26 17:46:39 +02:00
Matthias Koefferlein
93090948ee
Fixed issue #2331 - assertion and crash with fractional scaling and oversampling
2026-04-20 22:55:27 +02:00
Matthias Koefferlein
9ad273d834
Fixing a segfault on 'xkill' - solution was to register an exit handler that cleanly shuts down
2026-04-20 22:19:56 +02:00
Matthias Koefferlein
b27527b6b9
Fixing issue #2331
2026-04-15 23:19:30 +02:00
Matthias Koefferlein
555dc1f00d
stubs and doc updated
2026-04-14 20:25:33 +02:00
Matthias Koefferlein
9383f0945a
Fixed Windows builds
2026-04-14 19:39:28 +02:00
Matthias Koefferlein
b51caf5d39
Merge branch 'wip'
2026-04-14 19:21:01 +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
9d6fa507d1
Merge pull request #2318 from KLayout/bugfix/issue-2311
...
Fixed issue #2311
2026-04-14 08:58:38 +02:00
Matthias Köfferlein
386e780d85
Merge pull request #2328 from KLayout/feature/issue-2326
...
Modifying the fit logic for issue #2326
2026-04-14 08:58:18 +02:00
Matthias Köfferlein
09ee4aefff
Merge pull request #2327 from KLayout/feature/issue-2322
...
Feature/issue 2322
2026-04-14 08:57:52 +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 Köfferlein
6bff302753
Merge pull request #2329 from KLayout/bugfix/issue-2315
...
Fixed #2315 : Changing dialog title and 'cancel' button to 'close'
2026-04-14 08:56:32 +02:00
Matthias Koefferlein
adb81262a4
Experimental feature: Region#peel to reduce hierarchical load
2026-04-12 01:03:37 +02:00
Matthias Koefferlein
072b02c55c
Fixed builds without Ruby
2026-04-11 20:40:28 +02:00
Matthias Koefferlein
5e52c78e1d
Fixed #2315 : Changing dialog title and 'cancel' button to 'close'
2026-04-11 19:54:12 +02:00
Matthias Koefferlein
deae8c68b4
Modifying the fit logic for issue #2326
...
The fit box is computed now the following way
1. Compute the bounding box of "visible" parts
(i.e. treating empty cells as empty)
2. If that bounding box is empty, compute the
bounding box using the previous scheme,
where empty cells are treated as point-like
with a single point at their origin
2026-04-11 17:34:15 +02:00
Matthias Koefferlein
b39556d645
Fixed texts, tab order on config page, compiler warnings
2026-04-11 00:00:44 +02:00
Matthias Koefferlein
ade8a54ede
WIP
2026-04-10 23:07:23 +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
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
Abdelhakim Qbaich
ec4485a264
try/catch macro in ::action_triggered
2026-04-05 18:57:18 -04:00
Matthias Koefferlein
d09734fe0d
Small feature: hovering over an image will not just display the image parameters in the status bar, but also the value of the pixel the mouse is over
2026-04-05 22:18:39 +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
60480d35fc
Fixed issue #2311
...
As I see it, only this particular tool top was not
guarded against non-UI mode. All other tooltips
are either guarded or pop up only in a user
interaction context.
2026-04-04 17:08:36 +02: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
60a210c264
Config option: disable generation of new layers
...
The name of the config option is "auto-create-new-layers".
It is a per-view option and can be edited on the
"Application/Layer Properties" page.
With this option set to true (default), new layers
are automatically added to the layer list on
1. Paste of cells and shapes
2. Placing of instances
Manually adding new layers to the layer list is always possible.
2026-04-04 15:28:05 +02:00
Matthias Koefferlein
65fec36902
Fixed a bug in PCell parameter computation
...
"coerce_parameters" and "callback" was called with the client layout
instead of definition layout, hence the DBU was incorrect if both layouts have different DBU.
This became visible on the computed character dimensions of the Basic.TEXT
PCell when the client layout had a DBU != 1nm.
2026-04-04 14:40:36 +02:00
Matthias Koefferlein
57eb90df69
Fixed a small glitch (Warning about open transaction at end of partial move)
2026-04-04 14:37:15 +02:00
Matthias Koefferlein
a092d7c6ca
Enhancement to Library#lib_by_name
...
* Better description
* Allowing "*" for the technology name to capture all
libraries with that name
2026-04-04 14:27:01 +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
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
4c47cfb03a
WIP: 'sparse_array_limit' on DSS
2026-03-23 22:49:47 +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
92143ef543
WIP - experimental feature to resolve sparse cell arrays
2026-03-22 23:49:51 +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