diff --git a/data/layout.xml b/data/layout.xml
index 87c47cb..3d7afc6 100644
--- a/data/layout.xml
+++ b/data/layout.xml
@@ -561,10 +561,10 @@
-
+
-
+
diff --git a/src/node_panel_stroke.cpp b/src/node_panel_stroke.cpp
index 033b2d8..9ee4350 100644
--- a/src/node_panel_stroke.cpp
+++ b/src/node_panel_stroke.cpp
@@ -158,7 +158,7 @@ void NodePanelStroke::update_controls()
m_tip_noise->m_value.x = b->m_tip_noise;
m_jitter_scale->m_value.x = b->m_jitter_scale;
m_jitter_angle->m_value.x = b->m_jitter_angle;
- m_jitter_scatter->m_value.x = b->m_jitter_scatter;
+ m_jitter_scatter->m_value.x = m_curves[m_jitter_scatter].to_slider(b->m_jitter_scatter);;
m_jitter_flow->m_value.x = b->m_jitter_flow;
m_jitter_opacity->m_value.x = b->m_jitter_opacity;
m_jitter_hue->m_value.x = b->m_jitter_hue;
@@ -488,6 +488,10 @@ void NodePanelStroke::init_controls()
[](float v) { return glm::pow(v, 2.f); },
[](float v) { return glm::pow(v, 1.f / 2.f); },
};
+ SliderCurve curve_linear1k_perc {
+ [](float v) { return v * 10.f; },
+ [](float v) { return v * 0.1f; },
+ };
SliderCurve curve_size1k_perc {
[](float v) {
float ret = 0;
@@ -534,9 +538,10 @@ void NodePanelStroke::init_controls()
m_curves[m_tip_flow] = curve_quad;
m_curves[m_dual_size] = curve_size1k_perc;
m_curves[m_dual_spacing] = curve_size1k_perc;
- m_curves[m_dual_scatter] = curve_size1k_perc;
+ m_curves[m_dual_scatter] = curve_linear1k_perc;
m_curves[m_dual_flow] = curve_quad;
m_curves[m_pattern_scale] = curve_size1k_perc;
+ m_curves[m_jitter_scatter] = curve_linear1k_perc;
m_tip_aspect_reset = find("tip-aspect-reset");
m_tip_aspect_reset->on_click = [this](Node*) {