From 20b7417dfb4d9dbc2487e4ada020a148c6ebac22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lix=C3=ADvia?= <38163500+LixiviaDev@users.noreply.github.com> Date: Sun, 29 Jun 2025 17:23:13 +0000 Subject: [PATCH 1/3] Issue found! --- editor/src/messages/tool/tool_messages/spline_tool.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/editor/src/messages/tool/tool_messages/spline_tool.rs b/editor/src/messages/tool/tool_messages/spline_tool.rs index 2ac541d702..7ded512bc3 100644 --- a/editor/src/messages/tool/tool_messages/spline_tool.rs +++ b/editor/src/messages/tool/tool_messages/spline_tool.rs @@ -430,7 +430,8 @@ impl Fsm for SplineToolFsmState { SplineToolFsmState::MergingEndpoints } (SplineToolFsmState::Drawing, SplineToolMessage::Abort) => { - responses.add(DocumentMessage::AbortTransaction); + responses.add(OverlaysMessage::Draw); + // responses.add(DocumentMessage::AbortTransaction); SplineToolFsmState::Ready } (_, SplineToolMessage::WorkingColorChanged) => { From 1c24ad09281adc0c5085633036edb8d197dbae8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lix=C3=ADvia?= <38163500+LixiviaDev@users.noreply.github.com> Date: Mon, 30 Jun 2025 11:54:00 +0000 Subject: [PATCH 2/3] Spline tool no longer cleared on tool change --- editor/src/messages/tool/tool_messages/spline_tool.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/editor/src/messages/tool/tool_messages/spline_tool.rs b/editor/src/messages/tool/tool_messages/spline_tool.rs index 7ded512bc3..67a8f601e3 100644 --- a/editor/src/messages/tool/tool_messages/spline_tool.rs +++ b/editor/src/messages/tool/tool_messages/spline_tool.rs @@ -430,8 +430,9 @@ impl Fsm for SplineToolFsmState { SplineToolFsmState::MergingEndpoints } (SplineToolFsmState::Drawing, SplineToolMessage::Abort) => { - responses.add(OverlaysMessage::Draw); - // responses.add(DocumentMessage::AbortTransaction); + delete_preview(tool_data, responses); + + responses.add(DocumentMessage::EndTransaction); SplineToolFsmState::Ready } (_, SplineToolMessage::WorkingColorChanged) => { From 45f01ae2631702aa95cf3311043f10960431bc33 Mon Sep 17 00:00:00 2001 From: hypercube <0hypercube@gmail.com> Date: Sat, 5 Jul 2025 22:37:13 +0100 Subject: [PATCH 3/3] delete splines with <2 points --- editor/src/messages/tool/tool_messages/spline_tool.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/editor/src/messages/tool/tool_messages/spline_tool.rs b/editor/src/messages/tool/tool_messages/spline_tool.rs index 67a8f601e3..3958caa4ae 100644 --- a/editor/src/messages/tool/tool_messages/spline_tool.rs +++ b/editor/src/messages/tool/tool_messages/spline_tool.rs @@ -430,9 +430,14 @@ impl Fsm for SplineToolFsmState { SplineToolFsmState::MergingEndpoints } (SplineToolFsmState::Drawing, SplineToolMessage::Abort) => { - delete_preview(tool_data, responses); - - responses.add(DocumentMessage::EndTransaction); + if tool_data.points.len() < 2 { + // Delete layer if it is only a single point + responses.add(DocumentMessage::AbortTransaction); + } else { + // Delete the preview of the next stroke but commit the path + delete_preview(tool_data, responses); + responses.add(DocumentMessage::EndTransaction); + } SplineToolFsmState::Ready } (_, SplineToolMessage::WorkingColorChanged) => {