Memoize hashing (#1876)

* Implement memoization wrapper for hashing

* Fix pattern matching errors

* Revert proper point modification hash calculiton

* Remove unused hashing code

* Code review and bug fixes

* Improve pattern matching

* Fix tests

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
Dennis Kobert 2024-08-01 13:42:15 +02:00 committed by GitHub
parent 44ffb635e9
commit a6af5d4831
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 224 additions and 466 deletions

View file

@ -751,26 +751,14 @@ impl EditorHandle {
return;
}
let empty_vec = Vec::new();
let path_data = if let NodeInput::Value {
tagged_value: TaggedValue::Subpaths(translation),
..
} = &inputs[0]
{
translation
} else {
&empty_vec
let path_data = match &inputs[0].as_value() {
Some(TaggedValue::Subpaths(translation)) => translation,
_ => &Vec::new(),
};
let empty_vec = Vec::new();
let colinear_manipulators = if let NodeInput::Value {
tagged_value: TaggedValue::PointIds(translation),
..
} = &inputs[1]
{
translation
} else {
&empty_vec
let colinear_manipulators = match &inputs[1].as_value() {
Some(TaggedValue::PointIds(translation)) => translation,
_ => &Vec::new(),
};
let mut vector_data = VectorData::from_subpaths(path_data, false);