Skip to content

Releases: GiridharSalana/laykit

v0.0.5

30 May 11:08

Choose a tag to compare

ci: publish job checks out main (already has bumped version)

v0.0.4

30 May 08:46

Choose a tag to compare

Unified layout I/O (load, load_library, Library), LaykitError, OASIS CBLOCK
decompression, full streaming element parsing, and property preservation
in GDSII/OASIS conversion.

v0.0.3

12 Apr 14:18

Choose a tag to compare

chore: bump version to 0.0.3

v0.0.1

12 Apr 13:52

Choose a tag to compare

Changelog

[0.0.1] - 2026-04-12

Initial release.

Added

  • GDSII read/write — all element types (Boundary, Path, Text, StructRef, ArrayRef, Node, Box)
  • OASIS read/write — all element types (Rectangle, Polygon, Path, Trapezoid, CTrapezoid, Circle, Text, Placement)
  • Bidirectional format conversion (GDSII ↔ OASIS)
  • Geometry module — bounding box, polygon area/perimeter/centroid, point-in-polygon, affine transforms, mirror, fillet, fracture
  • Boolean operations — union, intersection, difference, XOR, polygon slice, offset, convex hull
  • FlexPath — flexible paths with miter/bevel/round joins and flush/half-width/extended/round end caps
  • Curve primitives — arc, quadratic/cubic/smooth Bezier, elliptical arc, spline interpolation, regular polygon, ellipse, rounded rectangle, star, spiral
  • Topology utilities — cell flatten, dependency order, top-level cell detection, cycle detection, hierarchy validation, library merge
  • Streaming parser — process large GDSII files without loading into memory
  • Array reference expansion (AREF → individual SREFs)
  • Property builders and managers for GDSII and OASIS metadata
  • File format detection by magic bytes
  • CLI tool — convert, info, validate commands
  • 164 tests, zero external dependencies

v0.0.0 - Production-Ready GDSII and OASIS Library

15 Nov 16:58

Choose a tag to compare

GDS_OAS v0.0.0

Production-ready Rust library for GDSII and OASIS IC layout file formats.

Downloads

Pre-built binaries with examples are available for:

  • Linux (x86_64)
  • Windows (x86_64)
  • macOS (x86_64 and ARM64)

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[0.1.0] - 2025-11-13

Added

  • ✅ Complete GDSII file format support (read/write)
  • ✅ Complete OASIS file format support (read/write)
  • ✅ All GDSII element types: Boundary, Path, Text, StructRef, ArrayRef, Node, Box
  • ✅ All OASIS element types: Rectangle, Polygon, Path, Trapezoid, CTrapezoid, Circle, Text, Placement
  • ✅ GDSII transformation support (STrans: rotation, scaling, mirroring)
  • ✅ Format conversion utilities (GDSII ↔ OASIS bidirectional)
  • ✅ Variable-length integer encoding/decoding (zigzag for signed)
  • ✅ Name table management for OASIS
  • ✅ Comprehensive test suite (21 tests including round-trip, edge cases)
  • ✅ Zero compiler warnings
  • ✅ Targeted test assertions
  • ✅ Edge case coverage (negative coords, large values, empty cells)
  • ✅ Production-level documentation (comprehensive README)
  • ✅ Complete API reference with examples
  • ✅ Performance benchmarks and optimization tips
  • ✅ Detailed technical specifications
  • ✅ Two example programs demonstrating usage
  • ✅ Full API documentation

Features

  • Zero external dependencies (pure Rust std)
  • Production-ready GDSII & OASIS support
  • Binary format handling with proper encoding
  • Hierarchical layout support
  • Property metadata support
  • OASIS round-trip tested (write then read)
  • Rectangle detection from polygons

Fixed (v0.1.0 final)

  • OASIS element reading within cells
  • OASIS info byte handling in records
  • OASIS coordinate mode record handling
  • All OASIS tests passing
  • All compiler warnings eliminated
  • Type conversion issues in tests
  • Proper cleanup in test cases

Known Limitations

  • Array reference expansion not yet implemented
  • Streaming parser for large files not yet available
  • Advanced property handling to be enhanced

[Unreleased]

Planned for v0.2.0

  • Streaming parser for large files (>1GB)
  • Command-line tool for file conversions
  • Array reference (AREF) expansion
  • Enhanced property handling
  • Performance optimizations (SIMD, parallelization)
  • Layout validation utilities
  • Additional OASIS element types (trapezoids, circles)
  • Batch file conversion utilities

Full Changelog: https://github.com/GiridharSalana/laykit/commits/v0.0.0