Releases: LIHPC-Computational-Geometry/honeycomb
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
0.1.3
What's Changed
New Features
honeycomb-core
core definitions and tools for combinatorial map implementation
Orbit<'a, const N_MARKS: usize, T: CoordsFloat>
- Generic implementation for
2D orbit computations. The structure itself only contains meta-data, the orbit
computation is done through theIterator
trait implementation (#18)OrbitPolicy<'a>
- Enum used to specify the beta functions used by an orbit.
It currently does not support compositions (#18)- New (temporary?) method for
TwoMap
:beta_runtime
. It works by redirecting
to the originalbeta
method, using match block and a beta identifier provided
at runtime (#18)
honeycomb-guide
mdbook-based user guide with information regarding usage & non-code-related
aspects of the project
- update content of the workspace section to include new member (#19)
- update honeycomb-core's page content (#19)
honeycomb-render (new member)
visualization tool for combinatorial maps
- implement
TwoMap
rendering code - add examples illustrating basic usage
Full Changelog: 0.1.2...0.1.3
0.1.2
What's Changed
Repository Changes
- remove
Cargo.lock
file from the repository - add changelog file
New Features
honeycomb-core
Coords2<T: CoordsFloat>
- Custom 2D coordinates representation using a
generic type for inner value.- refactor two attributes of
TwoMap
:free_darts: Vec<DartIdentifier>
: rename tounused_darts
& change type toBTreeSet
free_vertices: Vec<VertexIdentifier>
: rename tounused_vertices
& change type toBTreeSet
honeycomb-guide
- update usage instructions
honeycomb-utils
Full Changelog: 0.1.1...0.1.2
0.1.1
What's Changed
- update user guide by @imrn99 in #5
- fix few typos by @cedricchevalier19 in #9
- provide some test utility functions by @imrn99 in #7
- add new member
honeycomb-utils
for utilities, benchmarks and examples by @imrn99 in #10 - add iai-callgrind benchmarks for CI job by @imrn99 in #11
- update user guide & documentation for next release by @imrn99 in #12
New Contributors
- @cedricchevalier19 made their first contribution in #9
Full Changelog: 0.1.0...0.1.1
0.1.0
What's Changed
honeycomb-core
:
- Implement 2D combinatorial maps structure & basic operations
- Provide full Rust documentation for basic usage of the structure
Contributors
Full Changelog: https://github.com/LIHPC-Computational-Geometry/honeycomb/commits/0.1.0