Skip to content

Releases: LIHPC-Computational-Geometry/honeycomb

0.10.0

08 Oct 07:32
Compare
Choose a tag to compare

What's Changed

Workspace

fix:

  • fix doc generation by @imrn99
    in #353
  • add clippy and rust-fmt explicitly to CI setup

deps:

  • upgrade iai-callgrind from 0.14.0 to 0.15.1 by @imrn99
    in #348
  • update typos and adjust new lint by @imrn99
    in #352
  • update criterion requirement from 0.6.0 to 0.7.0 by @dependabot[bot]
    in #357
  • update iai-callgrind requirement from 0.15.1 to 0.16.1 by @dependabot[bot]
    in #356
  • bump codecov/codecov-action from 5.4.3 to 5.5.1 by @dependabot[bot]
    in #367
  • bump actions/checkout from 4 to 5 by @dependabot[bot]
    in #365

Published crates

honeycomb (not yet published)

main crate

  • enable honeycomb-core's par-internals feature by default

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

  • implement parallel iterators over cells and parallel initialization routines by @imrn99
    in #346
    • gated behind a new par-internals feature, enabled by default in the re-export crate
  • implement 3D cmap file deserialization by @imrn99
    in #364
  • add casting method for vector and vertex structs

refactor:

  • rename transactional methods with _tx suffix by @imrn99
    in #355
  • add new method to UnknownAttributeStorage trait to clear a slot of the storage
  • remove redundant cell ID computation in sews by @imrn99
    in #360
  • remove mutable borrow from CMap3::release_dart signature

fix:

  • correct cell ID computation in 3-(un)sew by @imrn99
    in #360
  • clear attribute values when releasing darts
  • add missing dart reservation logic using new CMapX::claim_dart method

honeycomb-kernels

implementations of meshing kernels using combinatorial maps

new:

  • parallelize the 2D remeshing pipeline by @imrn99
    in #354

honeycomb-render

visualization tool for combinatorial maps

refactor:

  • rise zoom speed

Others

honeycomb-benches

core structures & methods benchmarks

new:

  • add jemalloc feature to switch to the alternate allocator when enabled by @imrn99
    in #346

Full Changelog: 0.9.0...0.10.0

0.9.0

11 Jun 12:45
9b352cd
Compare
Choose a tag to compare

What's Changed

Workspace

new:

refactor:

deps:

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

refactor:

honeycomb-kernels

implementations of meshing kernels using combinatorial maps

new:

  • implement the 2D remeshing pipeline operations by @imrn99
    in #330
    • this includes edge collapse, edge swaps, & new error types

refactor:

  • move utility functions to a new dedicated module by @imrn99
    in #327

fix

  • read new darts correctly in ear_clip routine by @imrn99
    in #325

Others

honeycomb-benches

core structures & methods benchmarks

new:

  • implement the 2D remeshing pipeline bench subcommand by @imrn99
    in #330
  • implement perf profiling hooks to enable sampling on specific segments by @imrn99
    in #336
  • implement thread binding with hwlocality by @imrn99
    in #337

Full Changelog: 0.8.1...0.9.0

0.8.1

16 Apr 09:50
Compare
Choose a tag to compare

What's Changed

Workspace

new:

refactor:

deps:

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

refactor:

  • simplify attribute manager methods & update usages by @imrn99
    in #317

fix:

  • correct vertex values for 3D grid generation by @imrn99
    in #318
  • correct edge ID computations in 2-(un)sews by @imrn99

honeycomb-kernels

implementations of meshing kernels using combinatorial maps

new:

  • implement geometrical anchoring attributes by @imrn99
    in #312
  • add anchor support in cut edge routines by @imrn99
    in #320
  • add a collapse_edge routine for remeshing by @imrn99
    in #307

refactor:

  • add anchor insertion after geometry capture by @imrn99
    in #314
  • split the remeshing module into submodules by @imrn99
    in #309

honeycomb-render

visualization tool for combinatorial maps

new:

Others

honeycomb-benches

core structures & methods benchmarks

new:


Full Changelog: 0.8.0...0.8.1

0.8.0

20 Mar 09:28
83045c4
Compare
Choose a tag to compare

What's Changed

This update contains breaking changes

Workspace

new:

refactor:

deps:

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

  • add minimal CMap3 implementation by @imrn99
    in #249
  • add custom (de)serialization format & support by @imrn99
    in #276
  • implement 3D grid generation internal routines by @imrn99
    in #256
  • add CMap3 generation to CMapBuilder API by @imrn99
    in #297
  • implement transactional orbits by @imrn99
    in #299

refactor:

  • remove dead code from AttributeStorageManager by @imrn99
    in #266
  • improve iter_<CELLS> methods by @imrn99
    in #271
  • replace the STM implementation by our fork by @imrn99
    in #274
  • rework basic operation errors and checks by @imrn99
    in #273
  • delete force_ variants internals in favor of wrapping regular impl by @imrn99
    in #277
  • remove dead code from attribute items by @imrn99
    in #284
  • remove try_ prefix from UnknownAttributeStorage & manager merges/splits by @imrn99
    in #286
  • use thread-local hashset and queue for cell ID computations by @imrn99
    in #293
  • remove From<impl Path> implementation of CMapBuilder by @imrn99
    in #295
  • remove orbit structure in favor of map methods by @imrn99
    in #294
  • update the builder structure API by @imrn99
    in #296

fix:

  • replace while with marks in 2D ID computations by @imrn99
    in #272
  • merge edge attributes in 2-sew between isolated darts by @imrn99
    in #281

tests:

honeycomb-kernels

implementations of meshing kernels using combinatorial maps

new:

  • implement skewness computing routines by @imrn99
    in #287
  • add remeshing module w/ cut-edges routines by @imrn99
    in #292
  • add swap_edge remeshing operation by @imrn99
    in #302

refactor:

  • convert split_edge routines to use transactions by @imrn99
    in #268
  • delete splits module in favor of a cell_insertion module by @imrn99
    in #301
  • rewrite triangulation routines to use transactions by @imrn99
    in #298

honeycomb-render

visualization tool for combinatorial maps

new:

  • use white background & unlit i-cells to improve visuals by @imrn99
    in #279

refactor:

Others

honeycomb-benches

core structures & methods benchmarks

new:

  • add two new binaries to benchmark scaling by @imrn99
    in #269

refactor:

  • merge all bench binaries into a single one by @imrn99
    in #285
  • improve parity of benchmark outputs by @imrn99
    in #288

fix:

honeycomb-guide

mdbook-based user guide with information regarding usage & non-code-related
aspects of the project


Full Changelog: 0.7.0...0.8.0

0.7.0

08 Jan 13:44
942b755
Compare
Choose a tag to compare

What's Changed

This update contains breaking changes

Workspace

new:

  • add a shell.nix file to handle render libs by @imrn99
    in #219

refactor:

deps:

  • revert some upgrades that broke the render menu by @imrn99
    in #206
  • update thiserror requirement from 1.0.64 to 2.0.3 by @dependabot
    in #221
  • bump codecov/codecov-action from 4.6.0 to 5.0.7 by @dependabot
    in #242
  • chore(deps): bump codecov/codecov-action from 5.0.7 to 5.1.2 by @dependabot
    in #258
  • chore(deps): update itertools requirement from 0.13.0 to 0.14.0 by @dependabot
    in #262

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

refactor:

  • change impls of the fetch_<CELLS> methods by @imrn99
    in #204
  • improve grid building routines by @imrn99
    in #209
  • change underlying implementation of CMap2 to add sync mechanisms by @imrn99
    in #201
  • turn internal CMap2 items into structs by @imrn99
    in #223
  • rework sew methods to allow for more control by @imrn99
    in #224
  • update AttributeUpdate methods returns by @imrn99
    in #237
  • rework attribute semantics by @imrn99
    in #226
  • rewrite grid building routines by @imrn99
    in #241
  • add new variants to OrbitPolicy by @imrn99
    in #238
  • move OrbitPolicy to the components submodule by @imrn99
    in #250
  • delete the i-cell collection structures by @imrn99
    in #251
  • update basic operations of CMap2 by @imrn99
    in #252
  • delete the utils featureby @imrn99
    in #254
  • delete the io feature by @imrn99
    in #255
  • make dimension an argument of sew/link methods by @imrn99
    in #253
  • update sew variants by @imrn99
    in #261

fix:

  • use transactional ID computation in atomically_two_sew by @imrn99
    in #222
  • elude lifetimes where possible by @imrn99
    in #244

honeycomb-kernels

implementations of meshing kernels using combinatorial maps

new:

refactor:

Others

honeycomb-benches

core structures & methods benchmarks

new:

  • add fetch_... methods benchmarks by @imrn99
    in #202
  • add a criterion bench for triangulation functions by @imrn99
    in #207
  • add binaries to bench scaling of non-conflicting transactions by @imrn99
    in #240

refactor:

honeycomb-guide

mdbook-based user guide with information regarding usage & non-code-related
aspects of the project

new:

refactor:


Full Changelog: 0.6.0...0.7.0

0.6.0

16 Oct 06:28
ab03601
Compare
Choose a tag to compare

What's Changed

This update contains breaking changes

Workspace

new:

  • add a new Cargo profile dedicated to profiling (e.g. perf, flamegraphes, ...) by @imrn99
    in #157

refactor:

  • replace some explicit panic! and unwrap calls with cleaner alternatives by @imrn99
    in #174 and #176
  • cleanup error enums by @imrn99
    in #190
  • replace regular prints with prints to stderr for warnings by @imrn99
    in #192
  • turn edge-splitting methods into kernel-crate functions by @imrn99
    in #193

deps:

  • bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot
    in #182
  • minimize dependency tree by @imrn99
    in #165
  • bump egui_dock from 0.13.0 to 0.14.0 & bevy_egui from 0.29.0 to 0.30.0 by @imrn99
    in #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

Published crates

honeycomb (new member, not yet published)

main crate

This is a reexport-only crate used to provide a single, clean user-facing API

added in #160

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

  • add utility method set_beta to CMap2 by @imrn99 in
    #170
  • add no-allocation variants of split_edge & splitn_edge by @imrn99
    in #180

refactor:

  • reorganize crate content and add a prelude module by @imrn99
    in #159
  • replace from_ *function of CMapBuilder by trait impls by @imrn99
    in #163
  • remove Orbit2::is_isolated by @imrn99
    in #167
  • remove lifetime from OrbitPolicy & update AttributeBind by @imrn99
    in #173
  • remove CMapError by @imrn99
    in #171
  • improve some error enums by @imrn99
    in #169
  • replace attribute-related panics with warnings by @imrn99
    in #178
  • remove panics from manager storage accesses by @imrn99
    in #179

fix:

  • correct face computation in serializing code by @imrn99
    in #168

honeycomb-kernels

implementations of meshing kernels using combinatorial maps

new:

  • implement polygon triangulation routines by @imrn99
    in #177
  • setup grisubal benchmark framework by @imrn99
    in #164

honeycomb-render

visualization tool for combinatorial maps

refactor:

  • rewrite render tool using bevy instead of wgpu by @imrn99
    in #144

Others

honeycomb-benches

core structures & methods benchmarks

new:

  • setup grisubal benchmark framework by @imrn99
    in #164
  • add scripts to streamline the benchmarking process by @imrn99
    in #191
  • add benchmarking tools for the grid building routines by @imrn99
    in #194

refactor:

honeycomb-examples

project examples

honeycomb-guide

mdbook-based user guide with information regarding usage & non-code-related
aspects of the project

refactor:


Full Changelog: 0.5.0...0.6.0

0.5.0

30 Aug 07:53
3ffd375
Compare
Choose a tag to compare

What's Changed

This update contains breaking changes

Workspace

fix:

  • fix errors introduced by rand update by @imrn99
    in #130
  • indent lists in doc correctly to comply with clippy by @imrn99
    in #126

deps:

  • bump codecov/codecov-action from 4.4.1 to 4.5.0 by @dependabot
    in #112
  • update iai-callgrind requirement from 0.11.0 to 0.12.0 by @dependabot
    in #133
  • bump vtkio version to 0.7.0-rc1 & disable its default features by @imrn99
    in #142
  • update iai-callgrind requirement from 0.12.0 to 0.13.0 by @dependabot
    in #145

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

  • add splitn_edge method to CMap2 by @imrn99
    in #127
  • add remove_storage method to AttrStorageManager by @imrn99
    in #128
  • add origin offset directly to grid descriptor/builder by @imrn99
    in #148

refactor:

  • rewrite Vertex2 & Vector2 as tuple structs by @imrn99
    in #124

fix:

  • extend generic attribute storages when adding darts by @imrn99
    in #122

honeycomb-kernels (new member)

implementations of meshing kernels using combinatorial maps

new:

test:

  • add coverage using basic geometries by @imrn99
    in #139

honeycomb-render

visualization tool for combinatorial maps

fix:

  • add condition over shrink dir to prevent some crashes by @imrn99
    in #121

Others

honeycomb-examples

project examples

new:

  • add example for the grisubal kernel by @imrn99
    in #120

honeycomb-guide

mdbook-based user guide with information regarding usage & non-code-related
aspects of the project

new:


Full Changelog: 0.4.0...0.5.0

0.4.0

26 Jun 09:29
Compare
Choose a tag to compare

What's Changed

This update contains breaking changes

Workspace

  • update visuals in code documentation & user guide by @imrn99
    in #95
  • bump various actions' versions

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

  • implement a generic attribute system to bind custom data structures to topological entities of a CMap2
    • implement AttrStorageManager struct and AttributeStorage trait by @imrn99
      in #89
    • replace standalone impl blocks of attribute collections by @imrn99
      in #92
    • add UnknownAttributeStorage trait for attribute-agnostic methods by @imrn99
      in #96
    • replace Any by UnknownAttributeStorage to handle collections in attribute manager by @imrn99
      in #97
    • add storage manager to builder by @imrn99
      in #102
    • add generic storage manager to CMap2 by @imrn99
      in #103
  • change internal Vtk building routine to return a Result by @imrn99
    in #91
  • expand BuilderError with more specialized variants by @imrn99
    in #91

Full Changelog: 0.3.1...0.4.0

0.3.1

31 May 07:55
Compare
Choose a tag to compare

What's Changed

Workspace

  • remove the feature matrix from the test CI, which now uses the --all-features option

Published crate

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

  • add CMap2::split_edge for future algorithm implementations by @imrn99 in #83
  • add CMapBuilder structure by @imrn99 in #87

refactor:

honeycomb-render

visualization tool for combinatorial maps

fix:

  • update aspect ratio to prevent deformation of the rendered map by @imrn99 in #85
  • shrink face relatively to their original sizes by @imrn99 in #86

Others

honeycomb-benches

refactor:


Full Changelog: 0.3.0...0.3.1

0.3.0

22 May 06:12
Compare
Choose a tag to compare

What's Changed

New changelog format!

Workspace

  • rename non-published members' folder name (#77)
  • bump various dependencies' version & update code accordingly (#70, #81):
    • iai-callgrind from 0.10.2 to 0.11.0
    • 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)

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

  • implement basic I/O logic for CMap2 using the vtkio crate (#73, 75)
    • the scope of the support is detailed in the Rust Doc
    • new method & function are available when enabling the new io feature
  • add a new feature, io, used to gate the implementation of VTK I/O code (#73)

refactor:

  • remove the FloatTypealias and the single_precision feature (#74, #76)
  • replace CoordsFloat implementation blocks to automatize implementation
    for all types that fit the traits requirement (#68)
  • remove FloatType from the public API (#68)
  • change some main methods return type to have better overall consistency (#67):
    • Vector2::normal_dir now returns a result instead of potentially panicking
    • CMap2::vertex now returns a result instead of panicking if no associated vertex is found
  • remove deprecated items from the last release (#64):
    • AttrSparseVec::get_mut, AttrCompactVec::get_mut
    • utils::square_cmap2, utils::splitsquare_cmap2

fix:

  • correct the usage of epsilon values for floating point numbers comparison in tests (#79)

honeycomb-render

visualization tool for combinatorial maps

refactor:

  • replace the Runner struct by a simpler launch function (#70)
    • the function takes the same parameters that were provided to Runner::run
  • rewrite & reorganize most of the internal code due to winit update (#70)

Others

honeycomb-examples

project examples

new:

  • add three new examples to illustrate the new I/O features of the core crate (#73, #75)

honeycomb-guide

mdbook-based user guide with information regarding usage & non-code-related
aspects of the project

  • update usage information & content (#82)

Full Changelog: 0.2.1...0.3.0