- Shift dash: 0.45*v*0.6 instant burst then 0.6s of 50% slow (net 95% of
walking distance); slow doubles as cooldown, no dash while idle/slowed.
- Generic ammo refills scale with the live pressure dial at 80% of the HP
multiplier via ammoPressureMul().
- Hearts at full HP stay on the floor (magnet ignores them) instead of
converting to score.
- Muzzle audit: flame FX and pellets share one right-hand origin, Spinal
Tap beam starts at the muzzle, saw flash suppressed (blade sparks are
the effect).
- Debug REFILL/INF AMMO and the ammo row now cover a spent special
holstered behind the Bone Popper.
- Sfx.duck() defaults its args; a no-arg call crashed the loop with a
non-finite AudioParam value (found via the dash E2E).