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.
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.
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.
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.
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.
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.
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.
- 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')