From 5bd104faabbcc44489fd9bbe40e7a214a8ed4a84 Mon Sep 17 00:00:00 2001 From: ramox81 <184937705+ramox81@users.noreply.github.com> Date: Tue, 18 Aug 2026 16:09:09 +0300 Subject: [PATCH] fix(properties): normalize XLine direction edits --- src/entities/ray.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/entities/ray.rs b/src/entities/ray.rs index 47f4e7d06..952c97f2a 100644 --- a/src/entities/ray.rs +++ b/src/entities/ray.rs @@ -267,14 +267,17 @@ impl PropertyEditable for XLine { self.set_direction(direction); } } - "xl_dx" => { - self.direction.x = v; - } - "xl_dy" => { - self.direction.y = v; - } - "xl_dz" => { - self.direction.z = v; + "xl_dx" | "xl_dy" | "xl_dz" => { + let mut direction = self.direction; + match field { + "xl_dx" => direction.x = v, + "xl_dy" => direction.y = v, + "xl_dz" => direction.z = v, + _ => unreachable!(), + } + if direction.length_squared() > 1e-18 { + self.set_direction(direction); + } } _ => {} }