Skip to content

0.2.0

Compare
Choose a tag to compare
@imrn99 imrn99 released this 20 Apr 06:39
· 224 commits to master since this release
4181d7f

What's Changed

This update contains breaking changes

New features

honeycomb-benches (new)

core structures & methods benchmarks

  • move and update all benchmarks previously defined in honeycomb-utils to this crate (#31, #36)

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 a Coords2 value (#25)
  • remove the Vertex2 type alias in favor of the new structure (#25)
  • add a new public module, utils, compiled when the utils feature is enabled (#31)
    • the module contains functions previously defined in the honeycomb-utils crate
  • add two new traits, AttributeUpdate and AttributeSupport, for basic attribute genericity (#33)
  • implement new attribute traits for the Vertex2 struct (#33)
  • add two storage structures for generic attributes AttributeSparseVec and AttributeSparseVec (#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
    • to reflect mark removal (#24)
    • to fix import path of utility functions (#31)
    • to fit new CMap2 methods signature (#36)

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 to CMap2/Orbit2 for consistency (#23)
  • remove marks table from DartData (#24), resulting in a signature change for many
    functions and structures (anything with const 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
  • rename the benchmarking_utils feature to utils (#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 and cells::collections modules
  • 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
  • remove the CMap2::set_beta method because of the lack of valid use case (#45)
  • gate the CMap2::set_betas behind the utils 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:
    • to reflect mark removal (#24)
    • to make use of the new 2D representation structures (#25)
    • to fit new CMap2 methods signature (#36)

honeycomb-utils (removed)

utility routines used in benchmarking and testing

  • remove this crate in favor of:
    • a new member dedicated to benchmarks (#31)
    • a new member dedicated to examples (#29)
    • a new utils module in the core crate (#31)

Full Changelog: 0.1.3...0.2.0