Decouple node graph execution (#1209)

* Decouple node graph execution from the main loop

* Trigger document Render + Layer updates after the graph evaluation
This commit is contained in:
Dennis Kobert
2023-05-25 10:36:56 +02:00
committed by Keavon Chambers
parent da6261aa75
commit 5816807f18
14 changed files with 510 additions and 337 deletions
@@ -107,6 +107,7 @@ impl OverlayRenderer {
// Eventually will get replaced with am immediate mode renderer for overlays
}
}
responses.add(OverlaysMessage::Rerender);
}
pub fn clear_subpath_overlays(&mut self, document: &Document, layer_path: Vec<LayerId>, responses: &mut VecDeque<Message>) {
@@ -219,7 +219,7 @@ impl ShapeState {
let Ok(layer) = document.layer(layer_path) else { continue };
let Some(vector_data) = layer.as_vector_data() else { continue };
let opposing_handle_lengths = opposing_handle_lengths.as_ref().map(|lengths| lengths.get(layer_path)).flatten();
let opposing_handle_lengths = opposing_handle_lengths.as_ref().and_then(|lengths| lengths.get(layer_path));
let transform = document.multiply_transforms(layer_path).unwrap_or(glam::DAffine2::IDENTITY);