Skip to content

Wip#2358

Merged
klayoutmatthias merged 28 commits into
masterfrom
wip
May 27, 2026
Merged

Wip#2358
klayoutmatthias merged 28 commits into
masterfrom
wip

Conversation

@klayoutmatthias
Copy link
Copy Markdown
Collaborator

No description provided.

Matthias Koefferlein added 28 commits May 2, 2026 00:00
* 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"
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.
…)' to 'never snap to object' (inverted) in rulers config.
This bug was triggered during development and happened
because the tool bar build code was invalidating
QAction objects indirectly while they are used for
building the main menu.

Solution is to separate building of menu bar and
tool bar / context menus.
Now, the tool options dock is either visible or not. Visibility
can be configured like for the other docks. Key binding stays
"F3" by default for the dock visibility.

The dock is populated with pages depending on the tool. It may
also be empty.
Problem was when an interval was separated from
the rest through a discontinuous color and did not have any
color range (start and end color same).

The new scheme fixes the problem by computing a
data mapping that has two slightly distinct values
for the two discontinuous colors.
Problem was that the OASIS writer was simply ignoring
all top level proxy cells (PCells, Library references).

The original bug #1835 fixed that by changing the
reader behavior, so it would keep top level proxies.
However, doing the spin through the writer got them
removed and in addition, the cleanup happing during
editing would also remove them.

Solution is to centralize the strategy of cleaning
cells. The cleanup now is changed to not remove
proxy top cells if they are the only ones. This is
consistent with the previous reader-only behavior.

The writer implements the same behavior by means
dropping cells marked for cleanup, instead of simply
skipping all proxy cells.
…riter to generate proxy cells on output during fix of issue #2350
@klayoutmatthias klayoutmatthias merged commit 6e0d968 into master May 27, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant