Commit Graph

420 Commits

Author SHA1 Message Date
jan
42c3a2b1e1 WIP: make libraries and names first-class! 2023-01-11 18:59:57 -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
jan
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
jan
457d1fc2f9 remove missing masque/VERSION from MANIFEST.in 2022-07-07 11:38:16 -07:00
jan
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
jan
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
jan
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
jan
a4aa50d814 fix another instance where numpy prohibits using not bounds 2022-02-28 23:43:16 -08:00
jan
2b8195ad3e move dev2pat and pat2dev into masque.builder.port_utils 2022-02-28 23:38:55 -08:00
jan
36f6edac21 fix wrong var name 2022-02-28 23:38:34 -08:00
jan
210f5c21bc wrap_device can be used on DeviceLibrary 2022-02-28 23:38:17 -08:00
jan
bfee560693 simplify type hints 2022-02-28 23:37:48 -08:00
jan
f4c2357737 fix type hint 2022-02-28 23:03:42 -08:00
jan
20be409341 fix numpy complaining about .any() / .all() 2022-02-28 23:03:23 -08:00
jan
d8b60da827 use_ours & use_theirs should be passed verbatim to the underlying library 2022-02-28 23:03:01 -08:00
jan
3b0ef1e08d always couple LibDeviceLibrary keys to the underlying Library
See comment for why this is necessary
2022-02-28 23:02:36 -08:00
jan
7603a7a1c8 fix typevar naming 2022-02-28 23:00:53 -08:00
jan
0c1954c9d1 fix missing imports 2022-02-28 23:00:31 -08:00
jan
30025ba081 fixup dxf read 2022-02-28 22:59:45 -08:00
jan
5ef34794ff keep ordering stable for same-y ports 2022-02-28 22:59:30 -08:00
jan
c8b4075fcc Avoid circular import 2022-02-27 21:26:51 -08:00
jan
40b98b2511 add missing colon 2022-02-27 21:26:23 -08:00
jan
47d655d270 tutorial updates 2022-02-27 21:23:03 -08:00
jan
0471addd65 add get_bounds_nonempty 2022-02-27 21:23:03 -08:00
jan
780d1ca97f export LibDeviceLibrary 2022-02-27 21:23:03 -08:00
jan
fc7a6c6f4a fix some unused code 2022-02-27 21:23:03 -08:00
jan
81430fe632 add LibDeviceLibrary 2022-02-27 21:23:03 -08:00
jan
6a1208bc33 add some helper functions to libraries 2022-02-27 21:23:03 -08:00
jan
f36350ebee Add some warnings around cache invalidation when mutating items 2022-02-27 21:23:03 -08:00
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
2022-02-27 21:23:03 -08:00
jan
566ba99f9c set_const doesn't need to take in a separate key, can just use the pattern's name
might as well make the convenience function convenient
2022-02-27 21:23:03 -08:00