diff --git a/CHANGELOG.md b/CHANGELOG.md index 77bb1e2f1..c19354388 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ ## To be released +--- + +## 0.7.0 + **This update contains breaking changes** ### Workspace @@ -15,18 +19,23 @@ *refactor:* -* update issue & PR templates by @imrn99 & @dssgabriel +- update issue & PR templates by @imrn99 & @dssgabriel in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/229 +- simplify and improve documentation consistency by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/263 *deps:* -* revert some upgrades that broke the render menu by @imrn99 +- revert some upgrades that broke the render menu by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/206 -* update thiserror requirement from 1.0.64 to 2.0.3 by @dependabot +- update thiserror requirement from 1.0.64 to 2.0.3 by @dependabot in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/221 -* bump codecov/codecov-action from 4.6.0 to 5.0.7 by @dependabot +- bump codecov/codecov-action from 4.6.0 to 5.0.7 by @dependabot in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/242 - +- chore(deps): bump codecov/codecov-action from 5.0.7 to 5.1.2 by @dependabot + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/258 +- chore(deps): update itertools requirement from 0.13.0 to 0.14.0 by @dependabot + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/262 ### Published crates @@ -61,6 +70,20 @@ in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/241 - **add new variants to `OrbitPolicy`** by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/238 +- move `OrbitPolicy` to the components submodule by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/250 +- **delete the i-cell collection structures** by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/251 +- **update basic operations** of `CMap2` by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/252 +- **delete the `utils` feature**by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/254 +- **delete the `io` feature** by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/255 +- **make dimension an argument of sew/link methods** by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/253 +- **update sew variants** by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/261 *fix:* @@ -69,7 +92,6 @@ - elude lifetimes where possible by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/244 - #### honeycomb-kernels implementations of meshing kernels using combinatorial maps @@ -89,7 +111,6 @@ - clean-up module code by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/216 - ### Others #### honeycomb-benches @@ -110,18 +131,21 @@ - unify naming & update doc by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/218 - #### honeycomb-guide **mdbook**-based user guide with information regarding usage & non-code-related aspects of the project +*new*: + +- add STM usage example by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/248 + *refactor:* - update user guide & Pages deploy by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/217 - --- ## 0.6.0 @@ -138,7 +162,8 @@ aspects of the project *refactor:* - replace some explicit `panic!` and `unwrap` calls with cleaner alternatives by @imrn99 - in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/174 and https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/176 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/174 + and https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/176 - **cleanup error enums** by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/190 - replace regular prints with prints to stderr for warnings by @imrn99 @@ -155,10 +180,9 @@ aspects of the project - bump `egui_dock` from 0.13.0 to 0.14.0 & `bevy_egui` from 0.29.0 to 0.30.0 by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/187 - bump: - - `rustversion` from 1.0.15 to 1.0.18 - - `bevy` from 0.14.1 to 0.14.2 - - `bevy_mod_outline` from 0.8.1 to 0.8.3 - + - `rustversion` from 1.0.15 to 1.0.18 + - `bevy` from 0.14.1 to 0.14.2 + - `bevy_mod_outline` from 0.8.1 to 0.8.3 ### Published crates @@ -170,7 +194,6 @@ This is a reexport-only crate used to provide a single, clean user-facing API added in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/160 - #### honeycomb-core core definitions and tools for combinatorial map implementation @@ -206,7 +229,6 @@ added in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/160 - correct face computation in serializing code by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/168 - #### honeycomb-kernels implementations of meshing kernels using combinatorial maps @@ -247,7 +269,6 @@ added in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/160 - **remove irrelevant benchmarks** by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/195 - #### honeycomb-examples project examples @@ -255,7 +276,6 @@ added in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/160 - **improve and filter-out examples** by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/156 - #### honeycomb-guide **mdbook**-based user guide with information regarding usage & non-code-related @@ -268,7 +288,6 @@ aspects of the project - update rustdoc & user guide by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/166 - --- ## 0.5.0 @@ -281,7 +300,7 @@ aspects of the project - fix errors introduced by `rand` update by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/130 -- indent lists in doc correctly to comply with clippy by @imrn99 +- indent lists in doc correctly to comply with clippy by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/126 *deps:* @@ -295,7 +314,6 @@ aspects of the project - update iai-callgrind requirement from 0.12.0 to 0.13.0 by @dependabot in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/145 - ### Published crates #### honeycomb-core @@ -304,21 +322,21 @@ aspects of the project *new:* -- add `splitn_edge` method to `CMap2` by @imrn99 +- add `splitn_edge` method to `CMap2` by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/127 -- add `remove_storage` method to `AttrStorageManager` by @imrn99 +- add `remove_storage` method to `AttrStorageManager` by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/128 -- add origin offset directly to grid descriptor/builder by @imrn99 +- add origin offset directly to grid descriptor/builder by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/148 *refactor:* -- **rewrite `Vertex2` & `Vector2` as tuple structs** by @imrn99 +- **rewrite `Vertex2` & `Vector2` as tuple structs** by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/124 *fix:* -- extend generic attribute storages when adding darts by @imrn99 +- extend generic attribute storages when adding darts by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/122 #### honeycomb-kernels (new member) @@ -327,23 +345,23 @@ aspects of the project *new:* -- add an overlay grid type algorithm: `grisubal`; it takes a 2D boundary as input and return a combinatorial map of +- add an overlay grid type algorithm: `grisubal`; it takes a 2D boundary as input and return a combinatorial map of the boundary, captured in an orthogonal grid; an optional clipping step is also implemented - - this was implemented in PRs #109, #111, #113, #115, #114, #116, #123, #119, #129, #131, #134, #135, #136, #137, #138, #140, #141, #143, #146, #147, #149, #151, and #152 + - this was implemented in PRs #109, #111, #113, #115, #114, #116, #123, #119, #129, #131, #134, #135, #136, #137, + #138, #140, #141, #143, #146, #147, #149, #151, and #152 *test:* -- add coverage using basic geometries by @imrn99 +- add coverage using basic geometries by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/139 - #### honeycomb-render visualization tool for combinatorial maps *fix:* -- add condition over shrink dir to prevent some crashes by @imrn99 +- add condition over shrink dir to prevent some crashes by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/121 ### Others @@ -354,7 +372,7 @@ aspects of the project *new:* -- add example for the `grisubal` kernel by @imrn99 +- add example for the `grisubal` kernel by @imrn99 in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/120 #### honeycomb-guide @@ -364,9 +382,9 @@ aspects of the project *new:* -- add `honeycomb-kernel` and `grisubal` pages by @imrn99 - in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/117 and https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/153 - +- add `honeycomb-kernel` and `grisubal` pages by @imrn99 + in https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/117 + and https://github.com/LIHPC-Computational-Geometry/honeycomb/pull/153 --- @@ -461,7 +479,7 @@ New changelog format! - `smaa` from `0.13.0` to `0.14.0` - `wgpu` from `0.19.4` to `0.20.0` - `winit` from `0.29.15` to `0.30.0` -- implement nighly conditional compilation for doc generation (#66) +- implement nightly conditional compilation for doc generation (#66) ### Published crates @@ -776,7 +794,7 @@ aspects of the project aspects of the project. - complete (partially) definition sections (#5) -- add documentation for the core implementatiosn (#5) +- add documentation for the core implementations (#5) - add usage instructions (#12) - add `honeycomb-utils` section (#12) diff --git a/Cargo.toml b/Cargo.toml index abfeeda1a..aa2638f0e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ members = [ [workspace.package] edition = "2021" license = "MIT OR Apache-2.0" -version = "0.6.0" +version = "0.7.0" homepage = "https://lihpc-computational-geometry.github.io/honeycomb/" repository = "https://github.com/LIHPC-Computational-Geometry/honeycomb" readme = "README.md" @@ -27,12 +27,12 @@ authors = [ [workspace.dependencies] # members -honeycomb = { version = "0.6.0", path = "./honeycomb" } -honeycomb-benches = { version = "0.6.0", path = "./benches" } -honeycomb-core = { version = "0.6.0", path = "./honeycomb-core" } -honeycomb-kernels = { version = "0.6.0", path = "./honeycomb-kernels" } -honeycomb-examples = { version = "0.6.0", path = "./examples" } -honeycomb-render = { version = "0.6.0", path = "./honeycomb-render" } +honeycomb = { version = "0.7.0", path = "./honeycomb" } +honeycomb-benches = { version = "0.7.0", path = "./benches" } +honeycomb-core = { version = "0.7.0", path = "./honeycomb-core" } +honeycomb-kernels = { version = "0.7.0", path = "./honeycomb-kernels" } +honeycomb-examples = { version = "0.7.0", path = "./examples" } +honeycomb-render = { version = "0.7.0", path = "./honeycomb-render" } # common cfg-if = "1" diff --git a/README.md b/README.md index 01973c4e1..2b2787694 100644 --- a/README.md +++ b/README.md @@ -13,26 +13,24 @@ and many-core architectures. The current objective is to profile and benchmark performance of our structure in the context of our kernels' implementations, and start introducing concurrency into our code. - ## Quickstart You can add `honeycomb` as a dependency of your project by adding the following lines to its `Cargo.toml`: ```toml # [dependencies] -honeycomb = { git = "https://github.com/LIHPC-Computational-Geometry/honeycomb", tag = "0.6.0"} # remove tag for master branch build +honeycomb = { git = "https://github.com/LIHPC-Computational-Geometry/honeycomb", tag = "0.7.0" } # remove tag for master branch build ``` Alternatively, you can add the sub-crates that are currently published on crates.io: ```toml # [dependencies] -honeycomb-core = "0.6.0" -honeycomb-kernels = "0.6.0" -honeycomb-render = "0.6.0" +honeycomb-core = "0.7.0" +honeycomb-kernels = "0.7.0" +honeycomb-render = "0.7.0" ``` - ## Project content ### Rust @@ -54,8 +52,8 @@ The repository also hosts these members: ### User guide -The [user guide][UG] provides an overview of everything available in the project as well as usage instructions. It can -be generated offline using **mdbook**. Note that generating the doc using a stable toolchain is possible, the features +The [user guide][UG] provides an overview of everything available in the project as well as usage instructions. It can +be generated offline using **mdbook**. Note that generating the doc using a stable toolchain is possible, the features just won't be documented as clearly. ```shell @@ -72,19 +70,17 @@ kill $(pidof mdbook) kill $(ps -e | awk '/mdbook/ {print $1}') ``` - ## Contributing Contributions are welcome and accepted as pull requests on [GitHub][GH]. Feel free to use issues to report bugs, missing documentation or suggest improvements of the project. Note that a most of the code possess documentation, including private modules / items / sections. You can generate -the complete documentation by using the instructions [above](#user-guide) and passing the option +the complete documentation by using the instructions [above](#user-guide) and passing the option `--document-private-items` to `cargo doc`. [GH]: https://github.com/LIHPC-Computational-Geometry/honeycomb - ## License Licensed under either of @@ -98,7 +94,7 @@ at your preference. The [SPDX](https://spdx.dev) license identifier for this project is `MIT OR Apache-2.0`. -Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as +Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. diff --git a/honeycomb-kernels/Cargo.toml b/honeycomb-kernels/Cargo.toml index 658db82e6..0fd5c6069 100644 --- a/honeycomb-kernels/Cargo.toml +++ b/honeycomb-kernels/Cargo.toml @@ -15,7 +15,6 @@ publish = true [dependencies] honeycomb-core.workspace = true num-traits.workspace = true -rayon = "1.10.0" thiserror.workspace = true vtkio.workspace = true diff --git a/user-guide/src/index.md b/user-guide/src/index.md index c33b9cedf..f20563b60 100644 --- a/user-guide/src/index.md +++ b/user-guide/src/index.md @@ -21,7 +21,8 @@ The current objective is to - ~implement basic meshing algorithms to evaluate the viability of the implementation & improve our structure using Rust's framework to streamline the refactoring and parallelization process~ - ~Benchmark and/or profile and/or parallelize our first algorithm, **grisubal**~ -- Ship a first stable version of the library (see this [issue](https://github.com/LIHPC-Computational-Geometry/honeycomb/issues/150)) +- Ship a first stable version of the library (see + this [issue](https://github.com/LIHPC-Computational-Geometry/honeycomb/issues/150)) - Work on efficient parallelism ### Core Requirements @@ -37,16 +38,16 @@ You can add `honeycomb` as a dependency of your project by adding the following ```toml # [dependencies] -honeycomb = { git = "https://github.com/LIHPC-Computational-Geometry/honeycomb", tag = "0.6.0"} # remove tag for master branch build +honeycomb = { git = "https://github.com/LIHPC-Computational-Geometry/honeycomb", tag = "0.7.0" } # remove tag for master branch build ``` Alternatively, you can add the sub-crates that are currently published on crates.io: ```toml # [dependencies] -honeycomb-core = "0.6.0" -honeycomb-kernels = "0.6.0" -honeycomb-render = "0.6.0" +honeycomb-core = "0.7.0" +honeycomb-kernels = "0.7.0" +honeycomb-render = "0.7.0" ``` Note that if you want to access the latest changes and documentation, you may have to specify a commit instead of a @@ -59,6 +60,7 @@ You can generate this book and the Rust documentation locally using respectively ```shell mdbook serve --open user-guide/ ``` + ```shell cargo +nightly doc --all --all-features --no-deps ```