jan
599723e470
whitespace
1 year ago
jan
4d58516049
Remove object locking/unlocking.
...
- It was *slow*. Often >50% of runtime for large designs.
- It didn't catch all corner cases. True immutability would require
language-level support.
- (minor) It doesn't play nice with type checking via mypy.
1 year ago
Jan Petykiewicz
fff20b3da9
Avoid generating a container if only a single port is passed
1 year ago
Jan Petykiewicz
4bae737630
allow bounds to be passed as args
1 year ago
Jan Petykiewicz
9891ba9e47
allow passing a single Tool to be used as the default
1 year ago
Jan Petykiewicz
df320e80cc
Add functionality for building paths (single use wires/waveguides/etc)
1 year ago
jan
8edb7b0956
round().astype() -> rint(...)
1 year ago
Jan Petykiewicz
79d0373eeb
Min python version to 3.8
1 year ago
Jan Petykiewicz
5b5cbe94d3
Move from setuputils and setup.py to hatch and pyproject.toml
1 year ago
Jan Petykiewicz
a713967911
Add an alternate constructor for axis-aligned 2D grids
2 years ago
jan
457d1fc2f9
remove missing masque/VERSION from MANIFEST.in
2 years ago
jan
eb03935948
whitespace
2 years ago
Jan Petykiewicz
51b7021bdc
bump version to 2.7
2 years ago
Jan Petykiewicz
b188589b60
Fix / simplify some cases where the arc is a sector
2 years ago
Jan Petykiewicz
eb9682b1b8
Avoid calling new.unlock() in __deepcopy__()
...
since the new object's properties aren't necessarily deepcopied yet...
2 years ago
Jan Petykiewicz
48b28351ed
speed up GDS writing
...
by preallocating xy array and directly rounding to target dtype
2 years ago
Jan Petykiewicz
bfabd351c4
fix circular import
2 years ago
jan
4cc824526b
fix deepcopy for locked shapes
2 years ago
Jan Petykiewicz
e48183ee0b
dose==1 is the identity situation
2 years ago
Jan Petykiewicz
6886360f6d
fix getting displacements in Arbitrary repetition
2 years ago
Jan Petykiewicz
b5ddb5749c
fix calculation of displacements
2 years ago
jan
67d312162a
speed up as_pattern()
...
mainly used by `flatten()`
2 years ago
Jan Petykiewicz
97db83a1d5
add utils.vertices.poly_contains_points
2 years ago
Jan Petykiewicz
fd0b2ba4cd
no longer ignore numpy types
2 years ago
Jan Petykiewicz
9f1c7aea01
add _displacements to __slots__
2 years ago
Jan Petykiewicz
3640de27c7
Fix OASIS loading when strings are stored by-reference
2 years ago
Jan Petykiewicz
ed9b0df057
fix scaling for objects with repetitions
2 years ago
jan
a4aa50d814
fix another instance where numpy prohibits using `not bounds`
2 years ago
jan
2b8195ad3e
move dev2pat and pat2dev into masque.builder.port_utils
2 years ago
jan
36f6edac21
fix wrong var name
2 years ago
jan
210f5c21bc
wrap_device can be used on DeviceLibrary
2 years ago
jan
bfee560693
simplify type hints
2 years ago
jan
f4c2357737
fix type hint
2 years ago
jan
20be409341
fix numpy complaining about .any() / .all()
2 years ago
jan
d8b60da827
use_ours & use_theirs should be passed verbatim to the underlying library
2 years ago
jan
3b0ef1e08d
always couple LibDeviceLibrary keys to the underlying Library
...
See comment for why this is necessary
2 years ago
jan
7603a7a1c8
fix typevar naming
2 years ago
jan
0c1954c9d1
fix missing imports
2 years ago
jan
30025ba081
fixup dxf read
2 years ago
jan
5ef34794ff
keep ordering stable for same-y ports
2 years ago
jan
c8b4075fcc
Avoid circular import
2 years ago
jan
40b98b2511
add missing colon
2 years ago
jan
47d655d270
tutorial updates
2 years ago
jan
0471addd65
add get_bounds_nonempty
2 years ago
jan
780d1ca97f
export LibDeviceLibrary
2 years ago
jan
fc7a6c6f4a
fix some unused code
2 years ago
jan
81430fe632
add LibDeviceLibrary
2 years ago
jan
6a1208bc33
add some helper functions to libraries
2 years ago
jan
f36350ebee
Add some warnings around cache invalidation when mutating items
2 years ago
jan
2e5d51b0af
resolve name conflicts rather than just giving up
...
this lets us merge libraries without having to mutate `other`, which
brings a bunch of problems around cache invalidation
2 years ago