Skip to content

Commit 37c4252

Browse files
authored
chore: update changelog, bump versions (#63)
* chore: bump workspace version * chore: bump dependencies version updating rand to 0.9 alpha to fix incompatibility issue sonner rather than later * fix: update code using rand to accomodate for breaking changes * chore: complete changelog * chore: update examples to match the new rand version * doc: update current objective
1 parent b94a706 commit 37c4252

File tree

10 files changed

+91
-21
lines changed

10 files changed

+91
-21
lines changed

CHANGELOG.md

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,75 @@
44

55
## To be released
66

7-
content from PR #49 / commit ce3948d2e7ccda4e58395ff9e715c946e9b8f744 onward
7+
...
8+
9+
---
10+
11+
## 0.2.1
12+
13+
### Workspace
14+
15+
- bump `rand` version from `0.8.5` to `0.9.0-alpha.1` & update code accordingly (#63)
16+
17+
### New features
18+
19+
#### honeycomb-core
20+
21+
<sup>core definitions and tools for combinatorial map implementation</sup>
22+
23+
- expand on tests of the core crate (#49)
24+
- implement the `GridBuilder` struct as a better, more versatile way to generate grid maps (#60)
25+
26+
#### honeycomb-examples
27+
28+
<sup>project examples</sup>
29+
30+
- add the following examples:
31+
- `render_squaremap_parameterized` (#60)
32+
- `render_squaremap_shift`, based on benchmarking code (#52)
33+
- `render_squaremap_split_diff`, based on benchmarking code (#52)
34+
- `render_squaremap_split_some`, based on benchmarking code (#52)
35+
36+
#### honeycomb-guide
37+
38+
<sup>**mdbook**-based user guide with information regarding usage & non-code-related
39+
aspects of the project</sup>
40+
41+
- update usage instructions (#50)
42+
- add a **References** section to the index (#61)
43+
44+
#### honeycomb-render
45+
46+
<sup>visualization tool for combinatorial maps</sup>
47+
48+
- add code to properly render faces instead of using implicit coloring (#54)
49+
- this implied creating new internal structures for efficiency purposes
50+
- add a cap on the number of frames rendered per second to fix speed disparity induced by machine performance (#56)
51+
52+
### Refactor
53+
54+
#### honeycomb-core
55+
56+
- mark as deprecated:
57+
- `AttrSparseVec::get_mut`, `AttrCompactVec::get_mut` (#49)
58+
- `utils::square_cmap2`, `utils::splitsquare_cmap2` (#60)
59+
- fix various `clippy::pedantic` lints that were temporarily left as allowed (#51)
60+
- fix some unwanted behaviors:
61+
- attribute re-insertion in `CMap2::two_unsew` (#55)
62+
- not-panicking execution paths of `CMap2::one_sew` & `CMap2::two_sew` (#59)
63+
64+
#### honeycomb-examples
65+
66+
- fix `memory_usage` Rust code and associated script (#55)
67+
68+
#### honeycomb-render
69+
70+
- update render code to:
71+
- skip darts and faces that have only one or less vertex defined (#59)
72+
- draw proper arrows instead of triangles (#62)
73+
- draw beta2 function as diamonds (#62)
74+
- edit the shader to color triangles according to the entity they form (#62)
75+
- add a key binding (F1) to close the render window (#62)
876

977
---
1078

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ members = [
1111
[workspace.package]
1212
edition = "2021"
1313
license = "MIT OR Apache-2.0"
14-
version = "0.2.0"
14+
version = "0.2.1"
1515
homepage = "https://lihpc-computational-geometry.github.io/honeycomb/"
1616
repository = "https://github.com/LIHPC-Computational-Geometry/honeycomb"
1717
readme = "README.md"
@@ -22,10 +22,10 @@ authors = ["Isaie Muron <[email protected]>", "Cedric Chevalier <cedric.chevali
2222

2323
[workspace.dependencies]
2424
# members
25-
honeycomb-benches = { version = "0.2.0", path = "./honeycomb-benches" }
26-
honeycomb-core = { version = "0.2.0", path = "./honeycomb-core" }
27-
honeycomb-examples = { version = "0.2.0", path = "./honeycomb-examples" }
28-
honeycomb-render = { version = "0.2.0", path = "./honeycomb-render" }
25+
honeycomb-benches = { version = "0.2.1", path = "./honeycomb-benches" }
26+
honeycomb-core = { version = "0.2.1", path = "./honeycomb-core" }
27+
honeycomb-examples = { version = "0.2.1", path = "./honeycomb-examples" }
28+
honeycomb-render = { version = "0.2.1", path = "./honeycomb-render" }
2929

3030
# common
3131
cfg-if = "1"
@@ -36,7 +36,7 @@ num = "0.4.2"
3636
# benchmarks
3737
criterion = "0.5.1"
3838
iai-callgrind = "0.10.2"
39-
rand = "0.8.5"
39+
rand = "0.9.0-alpha.1"
4040

4141
# render
4242
bytemuck = "1.15.0"

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ combinatorial maps for meshing applications. More specifically, the goal is
1111
to converge towards a (or multiple) structure(s) adapted to algorithms
1212
exploiting GPU and many-core architectures.
1313

14-
The current objective is to ~write a first implementation in Rust, to then~
15-
improve the structure without having to deal with data races and similar
16-
issues, thanks to the Rust's guarantees.
14+
The current objective is to implement basic meshing algorithms to evaluate the viability of the implementation & improve
15+
our structure using Rust's framework to streamline the refactoring and parallelization process.
1716

1817
## Usage
1918

honeycomb-benches/benches/splitsquaremap/shift.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criteri
2020
use rand::{
2121
distributions::{Distribution, Uniform},
2222
rngs::SmallRng,
23-
SeedableRng,
2423
};
2524

2625
use honeycomb_core::{
@@ -72,7 +71,8 @@ pub fn criterion_benchmark(c: &mut Criterion) {
7271
let seed: u64 = 9817498146784;
7372
let mut rngx = SmallRng::seed_from_u64(seed);
7473
let mut rngy = SmallRng::seed_from_u64(seed);
75-
let range: Uniform<FloatType> = Uniform::new(-0.5, 0.5);
74+
let range: Uniform<FloatType> =
75+
Uniform::new(-0.5, 0.5).expect("Could not initialize the uniform distribution");
7676
let xs = (0..(N_SQUARE + 1).pow(2)).map(|_| range.sample(&mut rngx));
7777
let ys = (0..(N_SQUARE + 1).pow(2)).map(|_| range.sample(&mut rngy));
7878

honeycomb-benches/benches/squaremap/shift.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criteri
2020
use rand::{
2121
distributions::{Distribution, Uniform},
2222
rngs::SmallRng,
23-
SeedableRng,
2423
};
2524

2625
use honeycomb_core::{
@@ -72,7 +71,8 @@ pub fn criterion_benchmark(c: &mut Criterion) {
7271
let seed: u64 = 9817498146784;
7372
let mut rngx = SmallRng::seed_from_u64(seed);
7473
let mut rngy = SmallRng::seed_from_u64(seed);
75-
let range: Uniform<FloatType> = Uniform::new(-0.5, 0.5);
74+
let range: Uniform<FloatType> =
75+
Uniform::new(-0.5, 0.5).expect("Could not initialize the uniform distribution");
7676
let xs = (0..(N_SQUARE + 1).pow(2)).map(|_| range.sample(&mut rngx));
7777
let ys = (0..(N_SQUARE + 1).pow(2)).map(|_| range.sample(&mut rngy));
7878

honeycomb-benches/benches/squaremap/split.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ use honeycomb_core::{utils::GridBuilder, CMap2, DartIdentifier, FloatType};
2323
use rand::{
2424
distributions::{Bernoulli, Distribution},
2525
rngs::SmallRng,
26-
SeedableRng,
2726
};
2827

2928
// ------ CONTENT

honeycomb-examples/examples/render/squaremap_shift.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ use honeycomb_render::*;
33
use rand::{
44
distributions::{Distribution, Uniform},
55
rngs::SmallRng,
6-
SeedableRng,
76
};
87
use std::time::Instant;
98

@@ -26,7 +25,8 @@ fn main() {
2625
let seed: u64 = 9817498146784;
2726
let mut rngx = SmallRng::seed_from_u64(seed);
2827
let mut rngy = SmallRng::seed_from_u64(seed);
29-
let range: Uniform<FloatType> = Uniform::new(-0.5, 0.5);
28+
let range: Uniform<FloatType> =
29+
Uniform::new(-0.5, 0.5).expect("Could not initialize the uniform distribution");
3030
let xs = (0..(N_SQUARE + 1).pow(2)).map(|_| range.sample(&mut rngx));
3131
let ys = (0..(N_SQUARE + 1).pow(2)).map(|_| range.sample(&mut rngy));
3232
let offsets: Vec<Vector2<FloatType>> = xs.zip(ys).map(|(x, y)| (x, y).into()).collect();

honeycomb-examples/examples/render/squaremap_split_diff.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use honeycomb_core::{utils::GridBuilder, CMap2, DartIdentifier, FloatType};
22
use honeycomb_render::*;
33
use rand::distributions::Bernoulli;
4-
use rand::{distributions::Distribution, rngs::SmallRng, SeedableRng};
4+
use rand::{distributions::Distribution, rngs::SmallRng};
55
use std::time::Instant;
66

77
fn main() {

honeycomb-examples/examples/render/squaremap_split_some.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use honeycomb_core::{utils::GridBuilder, CMap2, DartIdentifier, FloatType};
22
use honeycomb_render::*;
33
use rand::distributions::Bernoulli;
4-
use rand::{distributions::Distribution, rngs::SmallRng, SeedableRng};
4+
use rand::{distributions::Distribution, rngs::SmallRng};
55
use std::time::Instant;
66

77
fn main() {

honeycomb-guide/src/index.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ Honeycomb aims to provide a safe, efficient and scalable implementation of combi
1414
More specifically, the goal is to converge towards a (or multiple) structure(s) adapted to algorithms exploiting GPUs
1515
and many-core architectures.
1616

17-
The current objective is to ~write a first implementation in Rust, to then~ improve the structure without having to
18-
deal with data races and similar issues, thanks to the language's guarantees.
17+
The current objective is to
18+
19+
- ~write a first implementation in Rust~
20+
- ~improve the structure without having to deal with data races and similar issues, thanks to the Rust's guarantees~
21+
- implement basic meshing algorithms to evaluate the viability of the implementation & improve our structure using
22+
Rust's framework to streamline the refactoring and parallelization process
1923

2024
### Core Requirements
2125

0 commit comments

Comments
 (0)