Skip to content

v0.0.0 - Production-Ready GDSII and OASIS Library

Choose a tag to compare

@github-actions github-actions released this 15 Nov 16:58
· 22 commits to main since this release

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