Outline: include constraints in element diff key

This tells Sycamore that the outline view of an element should update
when the element's constraint set has changed. To make the constraint
set hashable, so we can include it in the diff key, we store it as a
`BTreeSet` instead of an `FxHashSet`.
This commit is contained in:
Aaron Fenyes 2024-09-26 19:10:34 -07:00
parent f5486fb0dd
commit 9b39fe56b8
3 changed files with 7 additions and 6 deletions

View file

@ -5,6 +5,7 @@ mod outline;
use nalgebra::DVector;
use rustc_hash::FxHashSet;
use std::collections::BTreeSet;
use sycamore::prelude::*;
use add_remove::AddRemove;
@ -37,7 +38,7 @@ fn main() {
label: String::from("Wing A"),
color: [1.00_f32, 0.25_f32, 0.00_f32],
rep: DVector::<f64>::from_column_slice(&[0.5, 0.5, 0.0, 0.5, -0.25]),
constraints: FxHashSet::default()
constraints: BTreeSet::default()
}
)
);
@ -48,7 +49,7 @@ fn main() {
label: String::from("Wing B"),
color: [0.00_f32, 0.25_f32, 1.00_f32],
rep: DVector::<f64>::from_column_slice(&[-0.5, -0.5, 0.0, 0.5, -0.25]),
constraints: FxHashSet::default()
constraints: BTreeSet::default()
},
)
);
@ -59,7 +60,7 @@ fn main() {
label: String::from("Central"),
color: [0.75_f32, 0.75_f32, 0.75_f32],
rep: DVector::<f64>::from_column_slice(&[0.0, 0.0, 0.0, 0.4, -0.625]),
constraints: FxHashSet::default()
constraints: BTreeSet::default()
}
)
);