fix elastic interpolator crash with period 0

fixes #6422
- it prevents users from setting the period to 0
- if period is 0, it defaults to the original value (0.5)
- it aligns the cpp initial value to match the dart initial value (0.5f)

Diffs=
584a1c28e fix elastic interpolator crash with period 0 (#6450)

Co-authored-by: hernan <hernan@rive.app>
diff --git a/.rive_head b/.rive_head
index 3b784ab..b2dba0e 100644
--- a/.rive_head
+++ b/.rive_head
@@ -1 +1 @@
-af2f2d632619ec298e58ec54c4a9b6a66f9d27dc
+584a1c28ed6ec51aecde5a9983f366a26ba77280
diff --git a/src/animation/elastic_interpolator.cpp b/src/animation/elastic_interpolator.cpp
index bbf3907..39a2b19 100644
--- a/src/animation/elastic_interpolator.cpp
+++ b/src/animation/elastic_interpolator.cpp
@@ -2,11 +2,11 @@
 
 using namespace rive;
 
-ElasticInterpolator::ElasticInterpolator() : m_elastic(1.0f, 1.0f) {}
+ElasticInterpolator::ElasticInterpolator() : m_elastic(1.0f, 0.5f) {}
 
 StatusCode ElasticInterpolator::onAddedDirty(CoreContext* context)
 {
-    m_elastic = ElasticEase(amplitude(), period());
+    m_elastic = ElasticEase(amplitude(), period() == 0.0f ? 0.5f : period());
     return StatusCode::Ok;
 }