Skip to content

Releases: acgetchell/delaunay

v0.4.2

04 Sep 21:36
272d5b1
Compare
Choose a tag to compare
  • Refactor/benchmarks #65

  • Docs/release v0.4.2 #60

  • Test/benchmarking #59

  • Fix/squashed commit body parsing #58

  • Documentation updates for upcoming v0.4.2 f10aba3

    Updates README to the scripts/ directory detailing the purpose, usage, and dependencies of each utility script.

    Updates WARP.md to focus on AI guidance

    Also adds minor spell check fixes.

  • Refactors examples and enhances testing structure f10aba3

    Refactors the example directory and enhances the testing framework to improve code organization and maintainability.

  • Moves the `test_alloc_api.rs` and `test_circumsphere.rs` examples to the `tests/` directory and renames them to `allocation_api.rs` and

    `circumsphere_debug_tools.rs`, respectively, to reflect their role as debugging and testing utilities.
    f10aba3

  • Updates documentation to reflect these changes. f10aba3

  • Refactors examples and updates documentation f10aba3

    Renames implicit_conversion.rs to into_from_conversions.rs and updates its content to better reflect the use of Into/From traits for coordinate
    conversions.

    This change improves clarity and modernizes the example to align with current Rust best practices. Also updates documentation across multiple files to reflect
    the rename and new example.

  • Improves benchmark comparisons and tooling f10aba3

    Refactors the benchmark comparison process to use the baseline artifact directly instead of copying it to a temporary location.

    This change avoids unnecessary file operations and simplifies the workflow.
    It also introduces average regression calculation for more accurate performance analysis, taking individual benchmark variations into account.
    Adds new pytest-based tests for the benchmark comparison tool to improve reliability.

    Cleans up temporary baseline files after artifact generation to prevent clutter and potential conflicts.
    Updates the WARP.md documentation to reflect recent changes and adds guidance on shell script formatting.
    Also updates the all examples script to improve error handling and example discovery.

  • Changes benchmarks to use geometric mean f10aba3

    Enhances benchmark reporting with geometric mean for time changes and commit SHA resolution from metadata.

    Adds Clippy configuration and improves Rust code quality checks.

    Refactors example running to improve discovery and handling of Cargo examples, including timeout support.

    Updates WARP.md with more detailed instructions on code quality and style conventions, including formatting, linting, spell checking, and JSON validation.

  • Improves benchmark comparison and example handling f10aba3

    Enhances benchmark comparison by normalizing time units, using geometric mean for averaging changes, and guarding against non-positive ratios.

    Adds robustness to example script by checking for example directory and adding timeout and kill signals.

    Also includes minor fixes to metadata handling and test assertions.

  • Modifies benchmark workflows to correctly identify baseline results files and set environment variables accordingly.

    f10aba3

  • Enhances example execution script to handle timeouts with or without `timeout` command, ensuring consistent behavior across environments.

    f10aba3

  • Updates shell script formatting guidelines in WARP.md to enforce tab indentation. f10aba3

  • Updates example script and documentation f10aba3

    Updates the example script to support time units in EXAMPLE_TIMEOUT.

    Removes the unnecessary creation of the results directory in the example script.

    Clarifies shell script formatting requirements in the documentation.

    Adds tracking issues for future improvements.

    Fixes #61

  • Removes outdated examples and clarifies the purpose of remaining examples in the README.

    f10aba3

  • Fixes benchmark and regression reports, f10aba3

    Refactors benchmark scripts to improve baseline commit SHA resolution and report top regressions.

    Adds timeout functionality to example scripts, including support for gtimeout on macOS, and introduces an EXAMPLE_TIMEOUT environment variable.

    Updates tests and documentation accordingly.

  • Fixes benchmark and example scripts f10aba3

    Refactors benchmark artifact handling and example execution for better reliability and clarity.

  • Corrects an issue in circumsphere tests, boundary detections. f10aba3

  • Fix pesky shell script linting f10aba3

v0.4.1

30 Aug 08:13
13b4df2
Compare
Choose a tag to compare
  • Docs/update documentation citations benchmarks #55

  • Refactors coordinate traits for improved geometry #54

  • Adds boundary analysis trait example 5fb31b1

    Introduces an example demonstrating the BoundaryAnalysis trait,
    showcasing its multi-dimensional support (2D, 3D, 4D), API usage, and
    performance considerations. It computes the facet measures and surface
    measures. The example highlights the trait's benefits in providing a
    consistent and extensible API for boundary operations on triangulations.

  • Adds citation metadata and references 5fb31b1

    Introduces a CITATION.cff file for standardized citation metadata and a
    comprehensive REFERENCES.md file.

    Updates the README and CONTRIBUTING files to guide users on how to cite
    the library and contribute references. This promotes academic integrity
    and proper attribution of sources used in the project.

    Fixes #49.

  • Enables automatic Rust toolchain management 5fb31b1

    Switches to automatic Rust toolchain management using
    rust-toolchain.toml.

    This ensures consistent Rust versions and components across development
    and CI, improving reproducibility and simplifying setup for contributors.
    The toolchain file specifies the pinned Rust version (1.89.0), essential
    components (clippy, rustfmt, etc.), and target platforms. Removes
    redundant toolchain configurations from individual workflow files.

    Also includes minor improvements to benchmark comparison and documentation.

  • Pins tarpaulin version in code coverage workflow and adds a cache restore key for improved caching. 5fb31b1

  • Adds common directories to .cspell.json to prevent spellcheck errors in those directories. 5fb31b1

  • Enhances the tag-from-changelog.sh script to support hyperlink changelog syntax. 5fb31b1

  • Adds DOI badge to README a5f0f51

  • Improves benchmarking and documentation 5fb31b1

    Moves benchmark runs to a larger macOS instance for more reliable results.

    Removes unused coordinate traits and updates the CONTRIBUTING.md file to
    reflect this change.

    Adds "xlarge" to the cspell dictionary.

    Adds documentation for hardware_info.sh and tag-from-changelog.sh
    scripts to the scripts README.

  • Improves boundary analysis with trait implementation 5fb31b1

    This change introduces a comprehensive example of the BoundaryAnalysis
    trait, showcasing its capabilities for triangulation boundary operations.

    It demonstrates multi-dimensional support, real-world use cases
    (perimeter, surface area, volume calculations), performance
    characteristics, and error handling. The new trait-based approach enhances
    modularity, testability, and extensibility of the boundary analysis
    functions.

    Also, updates example's README with performance considerations

  • Updates changelog and project metadata 5fb31b1

    Updates the changelog to reflect recent changes, including refactoring,
    bug fixes, and the addition of new features.

    Adds citation metadata, including ORCID ID, and standardizes reference
    formatting across documentation. Updates example execution instructions.

  • Improves examples, scripts, and changelog generation 5fb31b1

    Enhances the example execution script to include a help function and
    improve example discovery.

    Updates the changelog generation script to improve pattern matching for
    categorizing entries and to ensure auto-changelog is installed before
    use.

    Also updates example documentation, and includes package-lock.json and
    package.json in .gitignore.

  • Improves changelog generation and code review process 5fb31b1

    Enhances changelog generation by categorizing entries with Keep a
    Changelog format, expanding squashed PRs, and improving date formatting.

    Improves the code review process by enabling ruff, flake8, and pylint for
    Python scripts and providing specific instructions for script reviews,
    improving code quality and maintainability.

    Also updates .gitignore to ignore __pycache__ directories and updates
    several dependencies. Fixes issues with PowerShell deprecation. Updates
    contributing.md with orcid.

  • Enhances code quality, scripts, and documentation 5fb31b1

    Improves code quality and consistency by disabling flake8 linter and
    adding spell check words.

    Enhances changelog generation script to categorize commits. Adds a WARP.md
    file.

    Updates scripts to extract hardware information, correct example
    executions, and address robustness of boundary analysis.

    Enhances documentation by reordering sections.

  • Improves benchmarking and changelog generation 5fb31b1

    Enhances benchmark scripts for result parsing and comparison, including
    hardware compatibility checks.

    Updates changelog generation to expand squashed PR commits, categorize
    AI-generated commits, and improve formatting.

    Adds tooling recommendations and formatting for shell scripts.

  • Improves benchmark and CI scripts for accuracy 5fb31b1

    Refactors benchmark scripts to use awk instead of bc for improved
    numerical calculations and removes the bc dependency. This ensures
    consistency across different platforms.

    Updates hardware information gathering for enhanced CPU detection,
    especially on Linux ARM systems. This includes using lscpu where
    available and providing fallbacks for compatibility.

    Updates CI workflows to install the correct Rust target on macOS and uses
    a specific version of cargo-tarpaulin.

    Addresses spell check errors and improves the tag-from-changelog script to
    handle more versioning patterns.

  • Enhances benchmark and script tooling 5fb31b1

    Addresses several issues and introduces enhancements across benchmark
    infrastructure and related scripts, resulting in improved robustness and
    functionality.

  • Corrects environment variable assignment in benchmark workflows for proper behavior. 5fb31b1

  • Improves hardware comparison logic to reduce false positives and uses PowerShell for hardware detection on Windows. 5fb31b1

  • Updates WARP.md to find and execute shellcheck and shfmt. 5fb31b1

  • Improves benchmark and CI scripts 5fb31b1

    Refactors benchmark scripts for robustness and clarity. Updates hardware
    info detection for better accuracy, especially in multi-socket systems.

    Improves CI workflow by adding timeout, error handling and skipping
    benchmarks when no relevant code changes are detected. Also, adds
    spellcheck cache to gitignore and adds forbid(unsafe_code) to lib.rs.

    Updates markdown linting and tag script validation.

  • Improves benchmark setup and hardware detection 5fb31b1

    Refines benchmark setup to avoid unnecessary runs by checking for changes
    in relevant files.

    Enhances hardware information gathering by adding fallbacks to improve CPU
    core detection in various environments.

    Updates the spellcheck configuration by adding more exclusions.

  • Improves the error handling, unit handling, and overall stability of benchmark parsing scripts. 5fb31b1

  • Updates generate_baseline.sh to collect git commit info even when git isn't available and fixes an issue that prevented
    benchmarks from running in dev mode.
    5fb31b1

  • Fix changelog extraction regex to handle [vX.Y.Z] format with hyperlinks ab77e69

  • Update changelog after tag script fix 2ad5616

  • fix: improve release tooling and documentation 1b1b07f

  • docs: fix markdown formatting in RELEASING.md 9585d60

v0.4.0

23 Aug 05:45
18553aa
Compare
Choose a tag to compare
  • Feature/convex hull #50

  • implements incremental delaunay triangulation

  • refactors tds to use incrementalboyerwatson

  • adds bowyer-watson algorithm documentation

  • improves bowyer-watson algorithm with convex hull

  • improves numerical robustness in triangulation

  • improves numerical robustness of triangulation

  • improves delaunay triangulation with incremental bowyer-watson

  • ensures tds consistency after insertion

  • improves debugging and testing.

  • standardizes statistics tracking for algorithms

  • bump msrv to 1.89.0 and enhance robustness

  • improves numerical robustness and code quality

  • improves numerical stability and robustness

  • refactors triangulation data structure for performance

  • improves code quality and documentation

  • handles non-finite floats in point serialization

v0.3.5

16 Aug 04:33
Compare
Choose a tag to compare
  • Updates delaunay crate to v0.3.5 #45

  • docs: Update documentation #44

  • docs: update CHANGELOG for v0.3.4 458d378

  • Fix too long keyword 0c8bc32

  • Fix invalid category slug on crates.io cafc7d7

v0.3.4

15 Aug 05:02
Compare
Choose a tag to compare

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.

Generated by auto-changelog.

v0.3.4 - 2025-08-14

Merged

  • Improves triangulation performance and validation #43
  • Rename delaunay_core to core #42
  • Rename project from d-delaunay to delaunay #41
  • Update documentation, scripts, benchmarks #39

Commits

  • chore(release): bump version to v0.3.4 9d5feec

v0.3.3 - 2025-08-14

Merged

  • Refactor/triangulation data structure 2 #37
  • Refactor/triangulation data structure #36

v0.3.2 - 2025-08-14

Merged

  • Refactors vertex and updates example #35

v0.3.1 - 2025-08-14

Merged

  • Improves CodeQL analysis for Rust projects #34

Commits

v0.3.0 - 2025-08-14

Merged

  • build(deps): bump the dependencies group with 2 updates #33
  • Introduces Coordinate trait for coordinate abstraction #32
  • build(deps): bump peroxide in the dependencies group #31
  • Refactor/predicates #30
  • build(deps): bump the dependencies group with 3 updates #28
  • build(deps): bump codacy/codacy-analysis-cli-action from 1.1.0 to 4.4.7 #29
  • Refactor/traits #27
  • New/predicates #26
  • Refactor/carefully #25
  • build(deps): bump peroxide in the dependencies group #23
  • build(deps): bump rand from 0.8.5 to 0.9.1 in the dependencies group #22
  • Refactor/tds #21
  • Tests/improve coverage and lints #20
  • Refactors float trait implementations with macros #19
  • build(deps): bump the dependencies group with 3 updates #18
  • Refactors Point comparisons, Vertex and updates examples #17
  • Core/consistency #15
  • Fix/core data types #13
  • Fix/bowyer watson #6
  • build(deps): bump crossbeam-channel from 0.5.13 to 0.5.15 #9

Commits

  • Refactors Cell struct for clarity and efficiency bc44769
  • Improves Delaunay triangulation core logic 331e856
  • Adds triangulation data structure validation. 8e34949
  • Improves Delaunay triangulation robustness 6fe769b
  • Improves Delaunay triangulation robustness ad716dd
  • Adds comprehensive facet tests 8f8e0ae
  • Adds comprehensive tests for Vertex struct 210063c
  • Adds comprehensive tests for triangulation data structure a3934d4
  • Improves supercell coordinate calculation bbbaa6f
  • Adds Eq trait implementation for Point struct 497d5f5
  • Updates dependencies and caches Rust dependencies e1e99f4
  • Improves simplex creation and adds 4D triangulation test 40b8209
  • Adds 5D Bowyer-Watson triangulation test 7555648
  • Improves triangulation for small vertex sets 9420c14
  • Create codeql.yml dbba414
  • Updates to version 0.3.0 with performance improvements 0be386d
  • Adds dependabot configuration file 110048c
  • Improves CI workflow and code analysis f326699
  • Updates Codecov action and adds words to cspell 2593c7e
  • Improves CI workflow caching e63557e

v0.2.0 - 2025-08-14

Merged

  • Feature/peroxide #5
  • Update GitHub actions #2

Commits

  • refactor: remove Vertex::new and Vertex::new_with_data 3d01927
  • Documentation fixes bb8a8a3
  • Fix trait bounds and clippy lint 701e326
  • refactor: Deprecate Vector::new and Vector::new_with_data c1fc858
  • Interlink documentation 8834e5c
  • Add circumcenter c6c5e0d
  • refactor: Entirely replace Cell:new with CellBuilder 6d75728
  • Add documentation bc3cf2a
  • feat: Use derive_builder 1d6adc8
  • Refactor Bowyer-Watson e122aa9
  • Use uuid to identify cells and vertices ebc1c61
  • Added Serialization via serde a89ff48
  • 3D -> d-D 62359b5
  • Fixing circumcircle e7204f0
  • doc: Documentation fixes and dependency updates 3ca481d
  • feat: Add Facet struct and related functionality 204a70f
  • refactor: Deprecate Cell::new and Cell::new_with_data fa9f4d5
  • Implement PartialEq, Eq, and PartialOrd on Vertex 1430ce1
  • Bare-bones Tds ctor, make data optional 218cfc3
  • Rationalize traits 2102809