Commit Graph

603 Commits (master)

Author SHA1 Message Date
jan cbe5c07f8f add todo about underscore 7 months ago
jan b13d7286e5 shorten labels 7 months ago
jan de0d35d3d7 cleanup 7 months ago
jan 1008b6aabd split pather into its own file 7 months ago
jan bb3caf1ad7 comment updates 7 months ago
jan c5c31a5f0f only mutable variant should have rename_top 7 months ago
jan 08291da167 fixes 7 months ago
jan 68318a1382 add functions for dealing with the topcell and its name 7 months ago
jan 31cf0047e7 add mktree 7 months ago
jan f0a71bfb8b redo library class naming 7 months ago
jan a07446808a should be union; we want to exclude dangling refs 7 months ago
jan 340fe7f656 fixes to subtree and lshift, as well as some cast() improvements 7 months ago
jan 45265faec4 oneshot available at toplevel 7 months ago
jan 46a7f60460 add @oneshot decorator 7 months ago
jan d7e89ef5c8 lshift operator shouldn't special-case trees
Instead, just call .tops() if there are multiple cells, and fail if
there are multiple tops
7 months ago
jan 0efd9afd16 find_toplevel -> tops 7 months ago
jan 64413f69d4 create no longer exists. Make mk() give similar ordering as mkpat() 7 months ago
jan 37e4c03547 fix return value 7 months ago
jan 94691dac85 top is always a string 7 months ago
jan 4eee4d19e9 cleanup 7 months ago
jan cbfbdf66a1 get rid of NamedPattern in favor of just returning a tuple 7 months ago
Jan Petykiewicz 9115371b19 Drop ports when repeating 7 months ago
Jan Petykiewicz cf634f1c16 port translation is already handled in Pattern 7 months ago
Jan Petykiewicz ea2eaa4603 fix rounding 7 months ago
Jan Petykiewicz b744a11e8e str(namedpattern) should just return its name 7 months ago
Jan Petykiewicz f54193edf0 updates to Pattern.polygonize() 7 months ago
Jan Petykiewicz 59c8f47f4d update to newer ezdxf 7 months ago
Jan Petykiewicz e5ed28a854 Need to check against self, since we may add new conflicts as we go 7 months ago
Jan Petykiewicz b4f36417fd Pipe-operator does not support forward references 7 months ago
Jan Petykiewicz 45081c2d31 add polygon() and label() convenience methods 7 months ago
Jan Petykiewicz 4482ede3a7 use Self type 7 months ago
Jan Petykiewicz 1463535676 modernize type annotations 7 months ago
Jan Petykiewicz ada8c591a0 fix error message 7 months ago
Jan Petykiewicz 9d42df831e remove per-shape polygonization state 7 months ago
Jan Petykiewicz 7befe89af3 fixes based on mypy 7 months ago
Jan Petykiewicz f766a3ad64 add prune_empty and delete() 7 months ago
Jan Petykiewicz 85a2eb6acc fixes/updates 7 months ago
Jan Petykiewicz 069dde3648 Drop ports by default 7 months ago
Jan Petykiewicz e0939049dd force 'wb' mode for gzipfile 7 months ago
Jan Petykiewicz 88adc08259 data_to_ports max_depth default to 0
Makes it more compatible with LazyLibrary -- with recursive approach, we
have to load all the subcells to run ports2data, but those subcells may
or may not exist (e.g. partial library, or maybe we've removed some
duplicates-to-be prior to merging with a different lib)
7 months ago
Jan Petykiewicz 4ab718d578 pass along library for bounds 7 months ago
Jan Petykiewicz f834aaee47 fix precache 7 months ago
Jan Petykiewicz 27d87a988d redo library merging 7 months ago
Jan Petykiewicz 6f97f7e6db pass along tools 7 months ago
Jan Petykiewicz d0f76d150f Make default quiet for underscores 7 months ago
Jan Petykiewicz 5ffcadb362 always apply postprocess 7 months ago
Jan Petykiewicz 2ccef554db misc fixes 7 months ago
Jan Petykiewicz d349aa3366 Revert "allow ports2data to take a tree"
This reverts commit 44f823c736.
LazyLibrary can't take Trees anymore, so no need for it.
7 months ago
Jan Petykiewicz 680da46f5c LazyLibrary should not contain `Tree`s
altering itself during iteration is not a good idea
7 months ago
Jan Petykiewicz 59a986546c missing import 7 months ago
Jan Petykiewicz 19ac45a4f4 fix type for __contains__ 7 months ago
Jan Petykiewicz db7a98bb0f allow ports2data to take a tree 7 months ago
Jan Petykiewicz 8687badac5 misc fixes 7 months ago
Jan Petykiewicz 4a6584a60a Only allow 1-sized Libraries 7 months ago
Jan Petykiewicz 4a94259249 Allow lshift to operate on any library. If only one name, return it, else None 7 months ago
Jan Petykiewicz 7cc732248e add missing functions to tree 7 months ago
Jan Petykiewicz 98728521fd add Pather.mk() 7 months ago
Jan Petykiewicz 460222ce6e add name arg 7 months ago
Jan Petykiewicz f1a380b170 pather reorganization/clenaup 7 months ago
Jan Petykiewicz 38585e5a9e add lshift operator to MutableLibrary 7 months ago
Jan Petykiewicz 2449486a28 set default for library to None 7 months ago
Jan Petykiewicz 4fc2e67b62 Turn Builder into a subset of Pather 7 months ago
Jan Petykiewicz 039320d180 fix add_tree operator 7 months ago
Jan Petykiewicz 853c20e8df Allow LazyLibrary to store Trees as well? 7 months ago
Jan Petykiewicz f642c226c7 Use lshift for tree combination 7 months ago
Jan Petykiewicz 103eb4f1f8 stringy type 7 months ago
Jan Petykiewicz abc721cf67 ergonomics 7 months ago
Jan Petykiewicz d8e789f179 Add Tree as a possible way to allow construction of whole subtrees at once 7 months ago
Jan Petykiewicz 234557dc93 Add move_references() and auto-move references during add()-with-rename
Also remove enable_cache, since we now rely on the cache.
7 months ago
Jan Petykiewicz 439d5914e0 implement auto-renaming during merge, and change _merge() to support it 7 months ago
jan ac9776628a remove some trailing undescores 7 months ago
Jan Petykiewicz ab8fd9b351 add NamedPattern 7 months ago
Jan Petykiewicz 1a9116cdbe add .create() 7 months ago
Jan Petykiewicz 7a8a3ef3c7 note in comments 7 months ago
Jan Petykiewicz f8b5cec340 Add recurse arg to get_bounds 7 months ago
Jan Petykiewicz 1598582865 remove log messages 7 months ago
Jan Petykiewicz 42ee4db989 Return WrapLibrary from read() and readfile() 7 months ago
Jan Petykiewicz a35bf9770a Default to adding ports at the origin 7 months ago
Jan Petykiewicz 5c48a28661 some cleanup 7 months ago
Jan Petykiewicz a8da0fc429 add FlatBuilder 7 months ago
Jan Petykiewicz cb87543e0c import ports2data at top level 7 months ago
Jan Petykiewicz e5029ae21d add library .rename(...) 7 months ago
Jan Petykiewicz 0172b7488e missing comma 7 months ago
Jan Petykiewicz d44374bf1f writefile should write to a temporary file first 7 months ago
Jan Petykiewicz 5fcd31a719 add name_and_set 7 months ago
Jan Petykiewicz 2940316c48 add missing comments 7 months ago
Jan Petykiewicz c0e4ee1b6b Allow library __setitem__ to take in either Pattern or Callable
No longer need it to be Generic!
7 months ago
Jan Petykiewicz 963918d1d9 various fixes and cleanup
mainly involving ports_to_data and data_to_ports
7 months ago
Jan Petykiewicz 16567c8a66 move builder.port_utils into utils.ports2data
and rename functions
7 months ago
Jan Petykiewicz 5452bc5608 more fixes and improvements 7 months ago
Jan Petykiewicz d9fe295f4f get things working with a LazyLibrary hack while we think about cycles 7 months ago
Jan Petykiewicz f4537a0feb Lots of progress on tutorials 7 months ago
Jan Petykiewicz c31d7dfa2c Add note about reproducibility for DXF 7 months ago
Jan Petykiewicz 61b381cfaa remove dead code 7 months ago
Jan Petykiewicz cca7cbaae1 formatting 7 months ago
Jan Petykiewicz b75c8de0c4 lots of fixes to get test_rep running 7 months ago
Jan Petykiewicz 92f7fce6ff improve gzipped file reproducibility
Mostly avoid writing the old filename and modification time to the gzip
header
7 months ago
Jan Petykiewicz ea87418bf5 clarify comment 7 months ago
Jan Petykiewicz e812c69bfb get rid of Mapping stuff on PortsList 7 months ago
Jan Petykiewicz 71db073a54 add todos 7 months ago
Jan Petykiewicz a6cb276468 add AbstractView 7 months ago
Jan Petykiewicz 090e86644a Move Abstract into its own file 7 months ago
Jan Petykiewicz a1073eca6b handle library=None 7 months ago
Jan Petykiewicz 0368cf7a00 library can generate abstracts 7 months ago
Jan Petykiewicz e288c3f5e0 B becomes BB for searchability 7 months ago
Jan Petykiewicz 3b8866732b PortsRef -> Abstract 7 months ago
Jan Petykiewicz 6b01b43559 flake8-aided fixes 7 months ago
Jan Petykiewicz db9b39dbc0 fix more type issues 7 months ago
Jan Petykiewicz 557c6c98dc more wip -- most central stuff is first pass done 7 months ago
Jan Petykiewicz 6549faddbb wip -- more fixes 7 months ago
jan 9efb6f0eeb wip 7 months ago
jan d9ae8dd6e3 wip 7 months ago
Jan Petykiewicz f7902fa517 busL -> mpath 7 months ago
Jan Petykiewicz 2635c6c20c some type updates 7 months ago
Jan Petykiewicz c7f3e7ee52 Remove support for dose
Since there isn't GDS/OASIS level support for dose, this can be mostly
handled by using arbitrary layers/dtypes directly. Dose scaling isn't
handled as nicely that way, but it corresponds more directly to what
gets written to file.
7 months ago
Jan Petykiewicz f7a2edfe23 fix some type-related issues 7 months ago
Jan Petykiewicz a0ca53f57a get rid of "identifier" 7 months ago
jan 7ca017d993 wip again 7 months ago
jan db9a6269a1 delete duplicate utils submodule 7 months ago
Jan Petykiewicz 6f696bfc71 partial work on device libraries 7 months ago
Jan Petykiewicz f7b8f2db0c various fixes 7 months ago
Jan Petykiewicz e3511ed852 remove duplicatre __delitem__ 7 months ago
Jan Petykiewicz a4f89e6f48 improve docs 7 months ago
Jan Petykiewicz 5f35e8c8e3 indirect type spec for Pattern 7 months ago
jan 52f0b4aa93 Add lib types 7 months ago
jan c95b2f4c0d bifurcate Device into DeviceRef 7 months ago
Jan Petykiewicz e932687210 make error message prettier 7 months ago
jan 7aaf73cb37 WIP: make libraries and names first-class! 7 months ago
Jan Petykiewicz f834ec6be5 Avoid generating a container if only a single port is passed 7 months ago
Jan Petykiewicz 885b259fb7 allow bounds to be passed as args 7 months ago
Jan Petykiewicz 3f986957ac allow passing a single Tool to be used as the default 7 months ago
Jan Petykiewicz 1c3c032434 Add functionality for building paths (single use wires/waveguides/etc) 7 months ago
Jan Petykiewicz afcbd315ae Fix extra vertex added during OASIS loading 1 year ago
jan 8edb7b0956 round().astype() -> rint(...) 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 1 year 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