chiark / gitweb /
dice: Sort out defaults
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 15 Apr 2022 12:47:06 +0000 (13:47 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 15 Apr 2022 21:43:43 +0000 (22:43 +0100)
 * Abolish the separate DEFAULT_COOLDOWN constant.  This seems otiose.
 * Clarify what the radius scale is supposed to mean
 * Provide a default radius scale

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/dice.rs

index 72a15870ab976aa641673b321a2a780f8b41b4df..26703512d515f7c81f86f0f17dd3ed4dd1347bb3 100644 (file)
@@ -14,8 +14,8 @@
 use crate::prelude::*;
 
 const MAX_COOLDOWN: Duration = Duration::from_secs(100);
-const DEFAULT_COOLDOWN: Duration = Duration::from_millis(4000);
-fn default_cooldown() -> Duration { DEFAULT_COOLDOWN }
+fn default_cooldown() -> Duration { Duration::from_millis(4000) }
+fn default_circle_scale() -> f64 { 1. }
 
 const COOLDOWN_EXTRA_RADIUS: f64 = DEFAULT_EDGE_WIDTH * 2. + 0.2;
 
@@ -25,9 +25,9 @@ pub struct Spec {
   image: Box<dyn PieceSpec>,
   #[serde(default)] labels: SpecLabels,
   #[serde(default)] occult_label: String,
-  // 1.0 means base circle size on most distant corner of bounding box
+  // 1.0 means base outline circle size on most distant corner of bounding box
   // minimum is 0.5; maximum is 1.5
-  circle_scale: f64,
+  #[serde(default="default_circle_scale")] circle_scale: f64,
   #[serde(default="default_cooldown")]
   #[serde(with="humantime_serde")] cooldown: Duration,
   itemname: Option<String>,