From 3d8faacd8c418749c1c309d3b8156eb8e3118568 Mon Sep 17 00:00:00 2001 From: Annonnymmousss Date: Wed, 31 Dec 2025 07:34:33 +0530 Subject: [PATCH 1/3] fix : flow of transaction --- .../document/document_message_handler.rs | 1 + .../graph_operation_message_handler.rs | 15 +++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index 461e443a35..ce73bab2a5 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -311,6 +311,7 @@ impl MessageHandler> for DocumentMes } } DocumentMessage::RemoveArtboards => { + responses.add(DocumentMessage::AddTransaction); responses.add(GraphOperationMessage::RemoveArtboards); } DocumentMessage::ClearLayersPanel => { 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 631bc1250b..cac360ddfe 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 @@ -1,6 +1,7 @@ use super::transform_utils; use super::utility_types::ModifyInputsContext; use crate::messages::portfolio::document::graph_operation::utility_types::TransformIn; +use crate::messages::portfolio::document::node_graph::document_node_definitions::resolve_document_node_type; use crate::messages::portfolio::document::utility_types::document_metadata::LayerNodeIdentifier; use crate::messages::portfolio::document::utility_types::network_interface::{InputConnector, NodeNetworkInterface, OutputConnector}; use crate::messages::portfolio::document::utility_types::nodes::CollapsedLayers; @@ -234,12 +235,6 @@ impl MessageHandler> for return; } - responses.add(DocumentMessage::AddTransaction); - responses.add(NodeGraphMessage::DeleteNodes { - node_ids: network_interface.all_artboards().iter().map(|layer_node| layer_node.to_node()).collect(), - delete_children: false, - }); - let mut artboard_data: HashMap = HashMap::new(); // Go through all artboards and create merge nodes @@ -264,8 +259,8 @@ impl MessageHandler> for }, ); - let mut modify_inputs = ModifyInputsContext::new(network_interface, responses); - modify_inputs.create_layer(node_id); + let new_merge_node = resolve_document_node_type("Merge").expect("Merge node").default_node_template(); + network_interface.insert_node(node_id, new_merge_node, &[]); responses.add(NodeGraphMessage::SetDisplayName { node_id, @@ -310,6 +305,10 @@ impl MessageHandler> for }); } + responses.add(NodeGraphMessage::DeleteNodes { + node_ids: network_interface.all_artboards().iter().map(|layer_node| layer_node.to_node()).collect(), + delete_children: false, + }); responses.add(NodeGraphMessage::RunDocumentGraph); responses.add(NodeGraphMessage::SelectedNodesUpdated); responses.add(NodeGraphMessage::SendGraph); From 3b8327e63972edecf192342dd83740af4d2986cf Mon Sep 17 00:00:00 2001 From: Annonnymmousss Date: Thu, 22 Jan 2026 01:48:28 +0530 Subject: [PATCH 2/3] fix : type difference --- .../graph_operation/graph_operation_message_handler.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 cac360ddfe..b5cac5a7dd 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 @@ -1,7 +1,7 @@ use super::transform_utils; use super::utility_types::ModifyInputsContext; use crate::messages::portfolio::document::graph_operation::utility_types::TransformIn; -use crate::messages::portfolio::document::node_graph::document_node_definitions::resolve_document_node_type; +use crate::messages::portfolio::document::node_graph::document_node_definitions::resolve_network_node_type; use crate::messages::portfolio::document::utility_types::document_metadata::LayerNodeIdentifier; use crate::messages::portfolio::document::utility_types::network_interface::{InputConnector, NodeNetworkInterface, OutputConnector}; use crate::messages::portfolio::document::utility_types::nodes::CollapsedLayers; @@ -259,7 +259,7 @@ impl MessageHandler> for }, ); - let new_merge_node = resolve_document_node_type("Merge").expect("Merge node").default_node_template(); + let new_merge_node = resolve_network_node_type("Merge").expect("Merge node").default_node_template(); network_interface.insert_node(node_id, new_merge_node, &[]); responses.add(NodeGraphMessage::SetDisplayName { From 575cd930060c3f8ffe7cc48f7774cf94e4a84bed Mon Sep 17 00:00:00 2001 From: Annonnymmousss Date: Thu, 19 Feb 2026 06:56:05 +0530 Subject: [PATCH 3/3] fix : Non-aborting transaction --- .../document/graph_operation/graph_operation_message_handler.rs | 1 + 1 file changed, 1 insertion(+) 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 b5cac5a7dd..818c751b92 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 @@ -232,6 +232,7 @@ impl MessageHandler> for } GraphOperationMessage::RemoveArtboards => { if network_interface.all_artboards().is_empty() { + responses.add(DocumentMessage::AbortTransaction); return; }