jellyflow_runtime/io/tuning/
pan_inertia.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct NodeGraphPanInertiaTuning {
6 #[serde(default)]
8 pub enabled: bool,
9
10 #[serde(default = "default_pan_inertia_decay_per_s")]
12 pub decay_per_s: f32,
13
14 #[serde(default = "default_pan_inertia_min_speed")]
16 pub min_speed: f32,
17
18 #[serde(default = "default_pan_inertia_max_speed")]
20 pub max_speed: f32,
21}
22
23fn default_pan_inertia_decay_per_s() -> f32 {
24 14.0
25}
26
27fn default_pan_inertia_min_speed() -> f32 {
28 36.0
29}
30
31fn default_pan_inertia_max_speed() -> f32 {
32 8000.0
33}
34
35impl Default for NodeGraphPanInertiaTuning {
36 fn default() -> Self {
37 Self {
38 enabled: false,
39 decay_per_s: default_pan_inertia_decay_per_s(),
40 min_speed: default_pan_inertia_min_speed(),
41 max_speed: default_pan_inertia_max_speed(),
42 }
43 }
44}