Releases: LIHPC-Computational-Geometry/honeycomb
0.8.1
What's Changed
Workspace
new:
refactor:
deps:
- bump crate-ci/typos from 1.29.7 to 1.31.1 by @dependabot
in #313
Published crates
honeycomb-core
core definitions and tools for combinatorial map implementation
new:
refactor:
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
What's Changed
This update contains breaking changes
Workspace
new:
- add basic Dockerfile by @imrn99
in #270 - add typo check to CI by @cedricchevalier19
in #303
refactor:
deps:
- update downcast-rs requirement from 1.2.1 to 2.0.1 by @dependabot
in #265 - bump codecov/codecov-action from 5.1.2 to 5.3.1 by @dependabot
in #275 - bump codecov/codecov-action from 5.3.1 to 5.4.0 by @dependabot
in #289
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 toCMapBuilder
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 fromUnknownAttributeStorage
& 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 ofCMapBuilder
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 acell_insertion
module by @imrn99
in #301 - rewrite triangulation routines to use transactions by @imrn99
in #298
honeycomb-render
visualization tool for combinatorial maps
new:
refactor:
Others
honeycomb-benches
core structures & methods benchmarks
new:
refactor:
- merge all bench binaries into a single one by @imrn99
in #285 - improve parity of benchmark outputs by @imrn99
in #288
fix:
- adjust last printed line of
cut-edges
output by @imrn99
in #291 - various bench fixes by @imrn99
in #305
honeycomb-guide
mdbook-based user guide with information regarding usage & non-code-related
aspects of the project
- replace attribute doctests by a user guide page by @imrn99
in #278 - update base page css by @imrn99
in #280 - update the STM usage page by @imrn99
in #282 - update UG examples with new syntax by @imrn99
in #300
Full Changelog: 0.7.0...0.8.0
0.7.0
What's Changed
This update contains breaking changes
Workspace
new:
refactor:
- update issue & PR templates by @imrn99 & @dssgabriel
in #229 - simplify and improve documentation consistency by @imrn99
in #263
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:
- add 3D geometry primitives by @imrn99
in #181 - add struct wrappers around inner storages by @imrn99
in #208
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:
- use prealloc methods for edge splitting by @imrn99
in #203 - add intermediate compute before step 2 by @imrn99
in #205 - improve dart preallocation code by @imrn99
in #211 - rewrite step 1 to enable parallelization by @imrn99
in #210 - clean-up module code by @imrn99
in #216
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
What's Changed
This update contains breaking changes
Workspace
new:
refactor:
- replace some explicit
panic!
andunwrap
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.18bevy
from 0.14.1 to 0.14.2bevy_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
toCMap2
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 ofCMapBuilder
by trait impls by @imrn99
in #163 - remove
Orbit2::is_isolated
by @imrn99
in #167 - remove lifetime from
OrbitPolicy
& updateAttributeBind
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:
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:
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:
- update user guide structure & content by @imrn99
in #161 - update rustdoc & user guide by @imrn99
in #166
Full Changelog: 0.5.0...0.6.0
0.5.0
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 to0.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 toCMap2
by @imrn99
in #127 - add
remove_storage
method toAttrStorageManager
by @imrn99
in #128 - add origin offset directly to grid descriptor/builder by @imrn99
in #148
refactor:
fix:
honeycomb-kernels (new member)
implementations of meshing kernels using combinatorial maps
new:
- 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
test:
honeycomb-render
visualization tool for combinatorial maps
fix:
Others
honeycomb-examples
project examples
new:
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
What's Changed
This update contains breaking changes
Workspace
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 andAttributeStorage
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
byUnknownAttributeStorage
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
- implement
- 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
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
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
from0.10.2
to0.11.0
smaa
from0.13.0
to0.14.0
wgpu
from0.19.4
to0.20.0
winit
from0.29.15
to0.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 thevtkio
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
FloatType
alias and thesingle_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 panickingCMap2::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 simplerlaunch
function (#70)- the function takes the same parameters that were provided to
Runner::run
- the function takes the same parameters that were provided to
- rewrite & reorganize most of the internal code due to
winit
update (#70)
Others
honeycomb-examples
project examples
new:
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
0.2.1
What's Changed
Workspace
- bump
rand
version from0.8.5
to0.9.0-alpha.1
& update code accordingly (#63)
New features
honeycomb-core
core definitions and tools for combinatorial map implementation
- expand on tests of the core crate (#49)
- implement the
GridBuilder
struct as a better, more versatile way to generate grid maps (#60)
honeycomb-examples
project examples
- add the following examples:
honeycomb-guide
mdbook-based user guide with information regarding usage & non-code-related
aspects of the project
honeycomb-render
visualization tool for combinatorial maps
- add code to properly render faces instead of using implicit coloring (#54)
- this implied creating new internal structures for efficiency purposes
- add a cap on the number of frames rendered per second to fix speed disparity induced by machine performance (#56)
Refactor
honeycomb-core
- mark as deprecated:
- fix various
clippy::pedantic
lints that were temporarily left as allowed (#51) - fix some unwanted behaviors:
honeycomb-examples
- fix
memory_usage
Rust code and associated script (#55)
honeycomb-render
- update render code to:
- edit the shader to color triangles according to the entity they form (#62)
- add a key binding (F1) to close the render window (#62)
Full Changelog: 0.2.0...0.2.1
0.2.0
What's Changed
This update contains breaking changes
New features
honeycomb-benches (new)
core structures & methods benchmarks
honeycomb-core
core definitions and tools for combinatorial map implementation
- add two new structures for 2D spatial representation:
Vertex2
&Vector2
,
which act as wrappers around aCoords2
value (#25) - remove the
Vertex2
type alias in favor of the new structure (#25) - add a new public module,
utils
, compiled when theutils
feature is enabled (#31)- the module contains functions previously defined in the
honeycomb-utils
crate
- the module contains functions previously defined in the
- add two new traits,
AttributeUpdate
andAttributeSupport
, for basic attribute genericity (#33) - implement new attribute traits for the
Vertex2
struct (#33) - add two storage structures for generic attributes
AttributeSparseVec
andAttributeSparseVec
(#34) - add collection structures that can be used to retrieve all cells of a given dimension of a map (#36)
honeycomb-examples (new)
project examples
- move all examples previously defined in
honeycomb-utils
&honeycomb-render
to this crate (#29) - update examples
honeycomb-guide
mdbook-based user guide with information regarding usage & non-code-related
aspects of the project
- add pages for the new project members (#32)
Refactor
honeycomb-core
- change visibility of all
honeycomb-core
modules to private & re-export types
accordingly (#23) - rename
TwoMap
/Orbit
toCMap2
/Orbit2
for consistency (#23) - remove marks table from
DartData
(#24), resulting in a signature change for many
functions and structures (anything withconst N_MARKS: usize
) ' - update code to make use of the new 2D representation structures (#25)
- reorganize internal module structure (#27, #42)
- create modules
cells
,spatial_repr
,attributes
- move
orbits
,coords
,vector
,vertex
, inside new modules - clean-up source files
- create modules
- rename the
benchmarking_utils
feature toutils
(#31) - rework the structure and interface of
CMap2
(#36)- implement the new cell id computation logic
- replace the vertex storage with an
AttributeSparseVec
- add support for incomplete vertex orbits in
Orbit2
implementation (#36) - remove
darts
,embed
modules and their content (#42)- move ID aliases to
cells
andcells::collections
modules
- move ID aliases to
- update the
CMap2
quickstart example (#43) - change the
CMap2::n_darts
method's return type to be more intuitive (#45)- add the
CMap2::n_unused_darts
method to provide an alternative to the old method
- add the
- remove the
CMap2::set_beta
method because of the lack of valid use case (#45) - gate the
CMap2::set_betas
behind theutils
feature (#45)
honeycomb-guide
- update all references to renamed types (#23)
- remove
honeycomb-utils
page (#32) - update index, summary, core & render pages (#32)
honeycomb-render
visualization tool for combinatorial maps
- update code:
honeycomb-utils (removed)
utility routines used in benchmarking and testing
- remove this crate in favor of:
Full Changelog: 0.1.3...0.2.0