From 1f7a9188baf9f53e3e262205d7238139d6acbf75 Mon Sep 17 00:00:00 2001 From: Adam Gerhant <116332429+adamgerhant@users.noreply.github.com> Date: Wed, 30 Apr 2025 03:38:09 -0700 Subject: [PATCH] Improve the speed of SVG importing due to node positioning (#2625) Fix slow svg import Co-authored-by: Keavon Chambers --- .../graph_operation/graph_operation_message_handler.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs b/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs index 460702c4a..9f8b8586f 100644 --- a/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs +++ b/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs @@ -5,7 +5,7 @@ use crate::messages::portfolio::document::utility_types::document_metadata::Laye use crate::messages::portfolio::document::utility_types::network_interface::{InputConnector, NodeNetworkInterface, OutputConnector}; use crate::messages::portfolio::document::utility_types::nodes::CollapsedLayers; use crate::messages::prelude::*; -use glam::{DAffine2, DVec2}; +use glam::{DAffine2, DVec2, IVec2}; use graph_craft::document::{NodeId, NodeInput}; use graphene_core::Color; use graphene_core::renderer::Quad; @@ -330,6 +330,9 @@ fn import_usvg_node(modify_inputs: &mut ModifyInputsContext, node: &usvg::Node, let layer = modify_inputs.create_layer(id); modify_inputs.network_interface.move_layer_to_stack(layer, parent, insert_index, &[]); modify_inputs.layer_node = Some(layer); + if let Some(upstream_layer) = layer.next_sibling(modify_inputs.network_interface.document_metadata()) { + modify_inputs.network_interface.shift_node(&upstream_layer.to_node(), IVec2::new(0, 3), &[]); + } match node { usvg::Node::Group(group) => { for child in group.children() {