From d29280bf70c41ae0b15477800129b6863796b992 Mon Sep 17 00:00:00 2001 From: Kulratan Thapar Date: Tue, 10 Feb 2026 17:39:27 +0000 Subject: [PATCH 1/4] Origin Offset --- .../node_graph/document_node_definitions.rs | 3 +++ .../src/messages/portfolio/document_migration.rs | 15 +++++++++++++++ node-graph/nodes/transform/src/transform_nodes.rs | 3 ++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs b/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs index 1f72162800..349d89f8d5 100644 --- a/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs +++ b/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs @@ -584,6 +584,7 @@ fn document_node_definitions() -> HashMap HashMap( rotation: f64, scale: DVec2, skew: DVec2, + origin_offset: DVec2, ) -> T { let trs = DAffine2::from_scale_angle_translation(scale, rotation.to_radians(), translation); let skew = DAffine2::from_cols_array(&[1., skew.y.to_radians().tan(), skew.x.to_radians().tan(), 1., 0., 0.]); - let matrix = trs * skew; + let matrix = DAffine2::from_translation(origin_offset) * trs * skew * DAffine2::from_translation(-origin_offset); let footprint = ctx.try_footprint().copied(); From d4a4c7c434870f8697028a4209cc32e97109a54e Mon Sep 17 00:00:00 2001 From: Kulratan Thapar Date: Tue, 10 Feb 2026 18:49:54 +0000 Subject: [PATCH 2/4] suggestions --- .../document/node_graph/document_node_definitions.rs | 11 ++++++++++- editor/src/messages/portfolio/document_migration.rs | 6 +++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs b/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs index 349d89f8d5..aa186dd463 100644 --- a/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs +++ b/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs @@ -1765,7 +1765,16 @@ fn document_node_definitions() -> HashMap Date: Tue, 10 Feb 2026 18:51:33 +0000 Subject: [PATCH 3/4] mistake fix --- .../portfolio/document/node_graph/document_node_definitions.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs b/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs index aa186dd463..338038f499 100644 --- a/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs +++ b/editor/src/messages/portfolio/document/node_graph/document_node_definitions.rs @@ -1767,7 +1767,7 @@ fn document_node_definitions() -> HashMap Date: Wed, 11 Feb 2026 00:26:25 +0530 Subject: [PATCH 4/4] Remove not needed code --- editor/src/messages/portfolio/document_migration.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/editor/src/messages/portfolio/document_migration.rs b/editor/src/messages/portfolio/document_migration.rs index e603959867..bb68866938 100644 --- a/editor/src/messages/portfolio/document_migration.rs +++ b/editor/src/messages/portfolio/document_migration.rs @@ -1095,7 +1095,6 @@ fn migrate_node(node_id: &NodeId, node: &DocumentNode, network_path: &[NodeId], document.network_interface.set_input(&InputConnector::node(*node_id, 9), old_inputs[4].clone(), network_path); } - // Upgrade Transform node to add "Origin Offset" input if reference == DefinitionIdentifier::ProtoNode(graphene_std::transform_nodes::transform::IDENTIFIER) && inputs_count == 5 { let mut node_template = resolve_document_node_type(&reference)?.default_node_template(); let old_inputs = document.network_interface.replace_inputs(node_id, network_path, &mut node_template)?;