From 7687211fbbaaa13462de69e18f1446bd1f7c4840 Mon Sep 17 00:00:00 2001 From: ramox81 <184937705+ramox81@users.noreply.github.com> Date: Tue, 18 Aug 2026 18:43:16 +0300 Subject: [PATCH] fix(ellipse): show full end angle as 360 Use kernel closure tolerance so Properties matches geometric classification. --- src/entities/ellipse.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/entities/ellipse.rs b/src/entities/ellipse.rs index 36016e359..144c0fce1 100644 --- a/src/entities/ellipse.rs +++ b/src/entities/ellipse.rs @@ -114,7 +114,13 @@ fn properties(ell: &Ellipse) -> Vec { let minor_vec = v * r_minor; let start_angle = ell.start_parameter.to_degrees().rem_euclid(360.0); - let end_angle = ell.end_parameter.to_degrees().rem_euclid(360.0); + let end_angle = if crate::entities::curve::ellipse_curve(ell) + .is_some_and(|curve| curve.curve.is_closed()) + { + 360.0 + } else { + ell.end_parameter.to_degrees().rem_euclid(360.0) + }; let props = ell.mass_props();