599723e470
whitespace
2023-01-11 19:02:40 -08:00
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.
2023-01-11 19:01:29 -08:00
fff20b3da9
Avoid generating a container if only a single port is passed
2023-01-11 18:32:08 -08:00
4bae737630
allow bounds to be passed as args
2023-01-11 18:32:08 -08:00
9891ba9e47
allow passing a single Tool to be used as the default
2023-01-11 18:32:08 -08:00
df320e80cc
Add functionality for building paths (single use wires/waveguides/etc)
2023-01-11 18:32:01 -08:00
8edb7b0956
round().astype() -> rint(...)
2023-01-11 18:29:28 -08:00
79d0373eeb
Min python version to 3.8
2023-01-11 17:39:07 -08:00
5b5cbe94d3
Move from setuputils and setup.py to hatch and pyproject.toml
2023-01-11 17:37:36 -08:00
a713967911
Add an alternate constructor for axis-aligned 2D grids
2023-01-04 22:56:17 -08:00
457d1fc2f9
remove missing masque/VERSION from MANIFEST.in
2022-07-07 11:38:16 -07:00
eb03935948
whitespace
2022-07-07 11:37:54 -07:00
51b7021bdc
bump version to 2.7
2022-06-08 21:14:41 -07:00
b188589b60
Fix / simplify some cases where the arc is a sector
2022-06-08 21:12:39 -07:00
eb9682b1b8
Avoid calling new.unlock() in __deepcopy__()
...
since the new object's properties aren't necessarily deepcopied yet...
2022-06-08 21:12:39 -07:00
48b28351ed
speed up GDS writing
...
by preallocating xy array and directly rounding to target dtype
2022-06-08 21:12:39 -07:00
bfabd351c4
fix circular import
2022-06-08 21:12:39 -07:00
4cc824526b
fix deepcopy for locked shapes
2022-04-17 19:04:18 -07:00
e48183ee0b
dose==1 is the identity situation
2022-04-07 17:47:30 -07:00
6886360f6d
fix getting displacements in Arbitrary repetition
2022-04-01 17:35:21 -07:00
b5ddb5749c
fix calculation of displacements
2022-04-01 17:35:12 -07:00
67d312162a
speed up as_pattern()
...
mainly used by `flatten()`
2022-04-01 17:33:24 -07:00
97db83a1d5
add utils.vertices.poly_contains_points
2022-04-01 17:30:25 -07:00
fd0b2ba4cd
no longer ignore numpy types
2022-04-01 17:30:13 -07:00
9f1c7aea01
add _displacements to __slots__
2022-04-01 17:30:07 -07:00
3640de27c7
Fix OASIS loading when strings are stored by-reference
2022-04-01 17:30:00 -07:00
ed9b0df057
fix scaling for objects with repetitions
2022-03-16 23:54:26 -07:00
a4aa50d814
fix another instance where numpy prohibits using not bounds
2022-02-28 23:43:16 -08:00
2b8195ad3e
move dev2pat and pat2dev into masque.builder.port_utils
2022-02-28 23:38:55 -08:00
36f6edac21
fix wrong var name
2022-02-28 23:38:34 -08:00
210f5c21bc
wrap_device can be used on DeviceLibrary
2022-02-28 23:38:17 -08:00
bfee560693
simplify type hints
2022-02-28 23:37:48 -08:00
f4c2357737
fix type hint
2022-02-28 23:03:42 -08:00
20be409341
fix numpy complaining about .any() / .all()
2022-02-28 23:03:23 -08:00
d8b60da827
use_ours & use_theirs should be passed verbatim to the underlying library
2022-02-28 23:03:01 -08:00
3b0ef1e08d
always couple LibDeviceLibrary keys to the underlying Library
...
See comment for why this is necessary
2022-02-28 23:02:36 -08:00
7603a7a1c8
fix typevar naming
2022-02-28 23:00:53 -08:00
0c1954c9d1
fix missing imports
2022-02-28 23:00:31 -08:00
30025ba081
fixup dxf read
2022-02-28 22:59:45 -08:00
5ef34794ff
keep ordering stable for same-y ports
2022-02-28 22:59:30 -08:00
c8b4075fcc
Avoid circular import
2022-02-27 21:26:51 -08:00
40b98b2511
add missing colon
2022-02-27 21:26:23 -08:00
47d655d270
tutorial updates
2022-02-27 21:23:03 -08:00
0471addd65
add get_bounds_nonempty
2022-02-27 21:23:03 -08:00
780d1ca97f
export LibDeviceLibrary
2022-02-27 21:23:03 -08:00
fc7a6c6f4a
fix some unused code
2022-02-27 21:23:03 -08:00
81430fe632
add LibDeviceLibrary
2022-02-27 21:23:03 -08:00
6a1208bc33
add some helper functions to libraries
2022-02-27 21:23:03 -08:00
f36350ebee
Add some warnings around cache invalidation when mutating items
2022-02-27 21:23:03 -08:00
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
2022-02-27 21:23:03 -08:00