Skip to content

Releases: LIHPC-Computational-Geometry/honeycomb

0.12.0

Choose a tag to compare

@imrn99 imrn99 released this 02 Sep 09:05

Workspace

deps:

doc:

  • overhaul the Honeycomb Book content and illustrations by @imrn99
    in #485
  • expand and polish the book's resources, applications, development, STM, and examples pages by @imrn99

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

  • return the unlinked image dart ID from unlink and unsew methods by @imrn99
    in #450
  • support Abaqus inp files for 3D hexahedral mesh initialization by @imrn99
    in #493

honeycomb-kernels

meshing kernel implementations using combinatorial maps

new:

Others

applications

examples and benchmarks

new:

  • add a 3D vertex smoothing application by @imrn99
    in #499
  • rebuild tetrahedra from unused elements during Delaunay insertion rounds and add a CLI switch to disable it by @imrn99

refactor:

  • increase benchmark problem sizes and add a sequential Delaunay suite by @imrn99
    in #475
  • account for mid-round tetrahedra rebuild time separately by @imrn99

fix:

  • convert the vertex type passed to set_vertex in GPU grid generation by @imrn99
  • clean up premade tetrahedra handling in Delaunay insertion by @imrn99

Full Changelog: 0.11.0...0.12.0

0.11.0

Choose a tag to compare

@imrn99 imrn99 released this 03 Apr 07:13
5dcc83b

What's Changed

Breaking changes highlighted in bold.

Workspace

deps:

ci:

  • build doc on PR, deploy only on push to master by @imrn99
    in #451

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

  • add util method to set a vertex value by @imrn99
    in #436

refactor:

  • merge and split attributes only if the orbit composition changes by @imrn99
    in #445
  • remove force_ prefix from non-transactional method variants by @imrn99
    in #435
  • add _tx suffix to CMap3 transactional embedding methods by @imrn99
    in #435
  • add _tx suffix to CMap2 transactional embedding methods by @imrn99
    in #435
  • add _tx suffix to CMap3 transactional link and sew methods by @imrn99
    in #435
  • add _tx suffix to CMap2 transactional link and sew methods by @imrn99
    in #435
  • inline link operation in CMap3 sew internals by @imrn99
    in #447
  • use TVar::replace instead of read+write in core components by @imrn99
    in #445
  • remove internal non-tx variants of link ops by @imrn99
    in #445
  • update STM lib features by @imrn99
    in #428

fix:

  • add explicit doc_cfg attribute usage by @imrn99

honeycomb-kernels

meshing kernel implementations using combinatorial maps

test:

  • use STM properly in anchor attribute tests by @imrn99

applications

examples and benchmarks

refactor:

  • replace seq/par insertion split with automatic work split and dispatch by @imrn99
    in #430
  • rewrite Delaunay bench script by @imrn99
    in #434
  • increment DART_BLOCK_START to reduce free dart search time by @imrn99
    in #433
  • pre-make new tets outside of transactions by @imrn99
    in #439

fix:

  • reserve premade tets' darts in main insertion loop by @imrn99
    in #459

Full Changelog: 0.10.2...0.11.0

0.10.2

Choose a tag to compare

@imrn99 imrn99 released this 10 Feb 08:16

What's Changed

Workspace

deps:

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

refactor:

  • replace standard hash collections with rustc-hash impls by @imrn99
    in #412

Others

applications

examples and benchmarks

fix:

  • update build script to handle missing path to libcudart by @imrn99
    in #418

Full Changelog: 0.10.1...0.10.2

0.10.1

Choose a tag to compare

@imrn99 imrn99 released this 15 Dec 08:56

What's Changed

Workspace

new:

  • add taplo config file for toml formatting by @imrn99
    in #369

refactor:

  • rewrite flake to include checks by @imrn99
    in #370
  • rewrite dockerfile for new application crate by @imrn99
    in #384

deps:

Published crates

honeycomb-core

core definitions and tools for combinatorial map implementation

new:

  • implement 3D tetrahedra grid generation by @imrn99
    in #372
  • add some missing core methods by @imrn99
    in #383
    • parallel implementation of n_unused
    • reserve darts from an offset

refactor:

fix:

  • add missing condition in CMap3::is_free_tx by @imrn99
    in #403
  • add missing B2oB3 composition to 0-cell computation by @imrn99
    in #403
  • handle STM error properly in 2-sew geometry check by @imrn99
    in #403

tests:

  • use anyhow instead of assertions in CMap3 tests by @imrn99
    in #403
  • improve CMap3 sew methods testing by @imrn99
    in #403

honeycomb-kernels

implementations of meshing kernels using combinatorial maps

new:

  • parallelize CPU grid generation routines by @imrn99
    in #389
  • implement Laplace and Taubin smoothing by @imrn99
    in #394

Others

applications

examples and benchmarks

merge benches and examples crates in an applications crate by @imrn99 in #378

new:

  • add cudarc backend for square and hex grid generation by @imrn99
    in #380
  • add 3D incremental Delaunay triangulation by @imrn99
    in #382
  • add overlay-grid-based quad-mesh generation algorithm by @baldraven
    in #399

New Contributors

Full Changelog: 0.10.0...0.10.1

0.10.0

Choose a tag to compare

@imrn99 imrn99 released this 08 Oct 07:32

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

Choose a tag to compare

@imrn99 imrn99 released this 11 Jun 12:45
9b352cd

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

Choose a tag to compare

@imrn99 imrn99 released this 16 Apr 09:50

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

Choose a tag to compare

@imrn99 imrn99 released this 20 Mar 09:28
83045c4

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

Choose a tag to compare

@imrn99 imrn99 released this 08 Jan 13:44
942b755

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

Choose a tag to compare

@imrn99 imrn99 released this 16 Oct 06:28
ab03601

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