Skip to content

Releases: heitzmann/gdstk

v0.9.3

11 Nov 23:31
Compare
Choose a tag to compare
Bump version: 0.9.2 → 0.9.3

Release v0.9.1

12 Oct 11:33
d152075
Compare
Choose a tag to compare

Bug fix release with several improvements:

  • Reading polygons with extremelly large number of vertices
  • Integer overflow in boolean operations
  • GdsWriter C++ API fix
  • Properly read zlib path from environment during build
  • Ensure polygons are closed when laoding GDSII files
  • Reference counting in Reference.apply_repetition and Cell.flatten

Thanks to all who contributed to the PRs and fixes in this release!

Release v0.9.0

20 Aug 16:49
72ebf1e
Compare
Choose a tag to compare

Fixed

  • Bug when saving OASIS files with missing references.

Added

  • Reference.get_polygons, Reference.get_paths, Reference.get_labels
  • Library.rename_cell
  • Library::rename_cell and Library::replace_cell in the C++ API

Changed

  • Cell.filter arguments modified to match read_gds.
  • Changed default tolerance for read_gds and read_oas to be the library's rounding size.
  • Reference::polygons renamed to Reference::get_polygons in the C++ API.
  • Reference::flexpaths renamed to Reference::get_flexpaths in the C++ API.
  • Reference::robustpaths renamed to Reference::get_robustpaths in the C++ API.
  • Reference::labels renamed to Reference::get_labels in the C++ API.
  • Removed magnification argument from Reference::init and Label::init in the C++ API.

Release v0.8.3

02 Jun 10:41
1c182e3
Compare
Choose a tag to compare

Bug fix release:

  • References from raw cells are kept from garbage collection while in use
  • Allow assigning to Reference.x_reflection from Python
  • Errors in detection of arrays when exporting GDSII files

Release v0.8.2

26 Feb 12:39
e7386ea
Compare
Choose a tag to compare

Minor bugfix release. There are minor changes in the cmake script to aid building in Windows (thanks to @massarom)

Fixed

  • Cell.get_paths not returning all FlexPaths when RobustPaths were present in the cell (thanks @jatoben)
  • Reference array is no longer transformed into multiple references when element displacement is zero
  • Memory leaks in the python wrapper (thanks @jatoben)

Changed

  • Set separation instead of offset in FlexPath::init and RobustPath::init

Release v0.8.1

05 Jan 00:20
fb5f555
Compare
Choose a tag to compare

Fixed

  • Missing flag in OASIS bounding box property
  • Bug in bounding box when using explicit repetitions
  • Segfault when loading GDSII files with missing cells

Changed

  • GdsWriter C++ API
  • Safer initializers C++ API

Release v0.8.0

08 Oct 19:33
a92f2b4
Compare
Choose a tag to compare

Added

  • Cell.get_polygons, Cell.get_paths, and Cell.get_labels return a copy of a cell’s polygons, paths or labels, including references, with the possibility of filtering by layer and type
  • Library.layers_and_datatypes and Library.layers_and_texttypes return tuples with the layer and data/text types found in the library.
  • gdstk.gds_info provide information about a GDSII file without fully loading it
  • Several FlexPath and RobustPath attributes.

Fixed

  • Label transforms in SVG output
  • Label styling in SVG output
  • Default label magnification when loading a GDSII file
  • Bugs when loading some OASIS files
  • Bug in OASIS output for some Manhattan geometry.
  • Bug fix in Map::del
  • Bounding box calculations take all repetitions into account
  • Memory leaks

Changed

  • Removed LAPACK dependency
  • The implementation of layer and data/text type for shapes and labels use the type Tag in the C++ API
  • Style arguments renamed in Cell.write_svg

Release v0.7.0

02 Aug 21:47
5217d27
Compare
Choose a tag to compare

This version includes some breaking changes to the API. Most notably, the change in the gdstk.inside function and the addition of the dedicated short-circuit versions gdstk.all_inside and gdstk.any_inside, plus methods Polygon.contain, Polygon.contain_all, and Polygon.contain_any.

This version also introduces the new function gdstk.contour for the parametric generation of geometries similarly to contour plots.

Added

  • contour function
  • Polygon.transform to apply a general transformation to the polygon vertices
  • Polygon.contain tests whether single points are inside the polygon
  • Polygon.contain_all and Polygon.contain_any test multiple points with short circuit
  • all_inside and any_inside test multiple points against multiple polygons with short circuit
  • Alternative function interfaces in the C++ API

Fixed

  • Holes in boolean results could lead to incorrect geometry in specific cases
  • Bug in boolean operations resulting in self-intersecting polygons
  • Bug in boolean operations with clockwise-oriented polygons
  • Unsupported reccords found when loading a library generate a warning, not an error.

Changed

  • inside has changed to use the better interfaces: grouping has been removed, scaling is not necessary, and short-circuit is implemented in all_inside and any_inside

Release v0.6.1

03 Jul 15:55
cbe85b4
Compare
Choose a tag to compare

Minor bug fix release to fix the Library.read_oas (in Python) and gdstk::read_oas (in C++).

Release v0.6.0

29 Jun 11:35
cec74b2
Compare
Choose a tag to compare

Added

  • Library.replace, used when adding cells with substitution of duplicate cell names
  • Added pyproject.toml (thanks Ben Gollmer for the fix)

Changed

  • Reference.cell is now writable

Fixed

  • Bug in Array::insert not incerasing the array count