git.lucas.co / cce-designer
graphic design tool
git clone https://git.lucas.co/cce-designer.git

commitf7f26eec7907e7d88d32011dece074a801a4617c
parent5bb07c8d6a
authorLucas Galante <[email protected]>
date2026-07-31 13:21
fix: Point Size slider range 0-0.1 (was 0.01-0.30)

The old range put all useful sizes in the first tenth of the track.
Existing saves migrate on load (type/min/max refreshed, value clamped).

Co-Authored-By: Claude Fable 5 <[email protected]>

 src/project.rs | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/project.rs b/src/project.rs
index 5d08a68..8c686c1 100644
--- a/src/project.rs
+++ b/src/project.rs
@@ -532,7 +532,7 @@ impl State {
         ensure_param(render_node, "Wire Color", "color", &color_to_hex(wire_color), &[], None, None, None);
         ensure_param(render_node, "Opacity", "slider:0.00:1.00", &format!("{:.2}", geo_opacity), &[], Some(0.0), Some(1.0), None);
         ensure_param(render_node, "Render Points", "toggle", bool_str(render_points), &[], None, None, None);
-        ensure_param(render_node, "Point Size", "slider:0.01:0.30", &format!("{:.2}", point_size), &[], Some(0.01), Some(0.30), None);
+        ensure_param(render_node, "Point Size", "slider:0.00:0.10", &format!("{:.2}", point_size), &[], Some(0.0), Some(0.10), None);
         ensure_param(render_node, "Point Color", "color", &color_to_hex(point_color), &[], None, None, None);
 
         for p in render_node.params.iter_mut() {
@@ -542,7 +542,13 @@ impl State {
                 "Wire Color" => p.default = color_to_hex(wire_color),
                 "Opacity" => p.default = format!("{:.2}", geo_opacity),
                 "Render Points" => set_toggle(p, render_points),
-                "Point Size" => p.default = format!("{:.2}", point_size),
+                "Point Size" => {
+                    // Range migration: older saves carried slider:0.01:0.30.
+                    p.param_type = "slider:0.00:0.10".to_string();
+                    p.min = Some(0.0);
+                    p.max = Some(0.10);
+                    p.default = format!("{:.2}", point_size);
+                }
                 "Point Color" => p.default = color_to_hex(point_color),
                 _ => {}
             }
@@ -683,7 +689,7 @@ impl State {
                     "Wire Color" => if let Some(col) = hex_to_color(&p.default) { self.wire_color = col; }
                     "Opacity" => if let Ok(val) = p.default.parse::<f32>() { self.geo_opacity = val.clamp(0.0, 1.0); }
                     "Render Points" => if let Ok(val) = p.default.parse::<bool>() { self.render_points = val; }
-                    "Point Size" => if let Ok(val) = p.default.parse::<f32>() { self.point_size = val.clamp(0.005, 1.0); }
+                    "Point Size" => if let Ok(val) = p.default.parse::<f32>() { self.point_size = val.clamp(0.0, 0.1); }
                     "Point Color" => if let Some(col) = hex_to_color(&p.default) { self.point_color = col; }
                     _ => {}
                 }