[object Object]

← back to Scarlet Riverboat Masquerade

Beef up the bear dance: bigger sway + always-grooving bounce + bigger arm waves/leg steps + stronger beat hop; more sensitive beat detector so hops fire more often against live music

91da5700ef8f1bc4fcb0eb3ad577f2931c102b73 · 2026-09-01 22:15:59 -0700 · Steve Abrams

Files touched

Diff

commit 91da5700ef8f1bc4fcb0eb3ad577f2931c102b73
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Sep 1 22:15:59 2026 -0700

    Beef up the bear dance: bigger sway + always-grooving bounce + bigger arm waves/leg steps + stronger beat hop; more sensitive beat detector so hops fire more often against live music
---
 index.html | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/index.html b/index.html
index 137f2f3..0df967b 100644
--- a/index.html
+++ b/index.html
@@ -910,10 +910,10 @@ function bearAndFireflies(x,y,s,t,accent){
 // articulated "puppet-style" dancing bear — jointed limbs swing, hips sway, head bobs; bigger on the beat
 function bearCub(x,y,s,t,ph,FUR){
   const beat=(S.pulse||0), amp=(S.amp||0), e=1+beat*0.9+amp*0.5;
-  const sway=Math.sin(t*2.6+ph)*0.22*e;                 // lively hip sway
-  const bob=Math.abs(Math.sin(t*5.2+ph))*(2.5+amp*2.5) + beat*12;  // dances free-running, HOPS on each beat when reacting
-  const step=Math.sin(t*2.6+ph);                        // alternating dance steps
-  const armL=Math.sin(t*3.4+ph), armR=Math.sin(t*3.4+ph+Math.PI);  // hands wave overhead, alternating
+  const sway=Math.sin(t*2.8+ph)*0.30*e;                 // big lively hip sway
+  const bob=Math.abs(Math.sin(t*5.4+ph))*(4.5+amp*4) + beat*15;  // always grooving; big HOP on each beat when reacting
+  const step=Math.sin(t*2.8+ph);                        // alternating dance steps
+  const armL=Math.sin(t*3.6+ph), armR=Math.sin(t*3.6+ph+Math.PI);  // hands wave overhead, alternating
   FUR = FUR || 'rgba(84,40,38,0.98)';
   ctx.save(); ctx.translate(x,y-bob); ctx.scale(s*1.2,s*1.2); ctx.rotate(sway);
   function limb(px,py,ang,len,w,foot){                  // a jointed, outlined limb
@@ -923,12 +923,12 @@ function bearCub(x,y,s,t,ph,FUR){
     if(foot){ cut(FUR,1.8); ctx.beginPath(); ctx.ellipse(0,len,3.2,2,0,0,7); fillOutline(); }
     ctx.restore();
   }
-  limb(-3.5,-3, 0.12+step*0.55, 12, 6.5, true);         // legs — alternating dance steps
-  limb(3.5,-3, 0.12-step*0.55, 12, 6.5, true);
+  limb(-3.5,-3, 0.12+step*0.7, 12, 6.5, true);          // legs — big alternating dance steps
+  limb(3.5,-3, 0.12-step*0.7, 12, 6.5, true);
   cut(FUR,2.6); ctx.beginPath(); ctx.ellipse(0,-12,8.5,11,0,0,7); fillOutline();   // body
   ctx.fillStyle='rgba(255,255,255,0.22)'; ctx.beginPath(); ctx.ellipse(0,-10,4.5,6,0,0,7); ctx.fill(); // belly highlight
-  limb(-7,-18, 2.3+armL*0.45+beat*0.35, 11, 5, true);   // arms raised overhead, waving + thrust up on the beat
-  limb(7,-18, -2.3+armR*0.45-beat*0.35, 11, 5, true);
+  limb(-7,-18, 2.3+armL*0.7+beat*0.45, 11, 5, true);    // arms overhead, big waves + thrust up on the beat
+  limb(7,-18, -2.3+armR*0.7-beat*0.45, 11, 5, true);
   cut(FUR,2.4); ctx.beginPath(); ctx.arc(0,-30,7,0,7); fillOutline();              // head
   ctx.beginPath(); ctx.arc(-6,-36,3,0,7); fillOutline();                          // ears
   ctx.beginPath(); ctx.arc(6,-36,3,0,7); fillOutline();
@@ -1426,7 +1426,7 @@ function sampleLevel(){
     window.SRM.level = window.SRM.level*0.6 + raw*0.4;       // smoothed 0..1
     // beat detection: a bass spike well above the running average, rate-limited
     _avg = _avg*0.92 + raw*0.08; _clock++;
-    if(raw > _avg*1.15 && raw > 0.16 && (_clock-_lastBeat) > 6){
+    if(raw > _avg*1.10 && raw > 0.12 && (_clock-_lastBeat) > 5){
       _lastBeat=_clock; window.SRM.beat=(window.SRM.beat||0)+1; window.SRM.pulse=1;
     }
     window.SRM.pulse = (window.SRM.pulse||0)*0.86;           // decaying throb (spikes to 1 on a beat)

← cf28d81 Collapse all control panels on load; add master ☰ Controls t  ·  back to Scarlet Riverboat Masquerade  ·  Concert venue backdrops (per-show stage-light beams + venue c67e4f5 →