graphic design tool
git clone https://git.lucas.co/cce-designer.git
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; }
_ => {}
}