Describe the Bug
In the Pitch Staircase widget (pitchstaircase.js), repeatedly clicking a stair with custom ratios (e.g. 7/4) causes frequencies to multiply exponentially up to $10^{38}\text{ Hz}$ (or drop below $10^{-38}\text{ Hz}$).
Observed Behavior
- The stair table cell width shrinks into a 20px sliver.
- Text overflows with scientific notation (
1.044345e+38 C10).
- Tone.js audio synth fails to play frequencies beyond the Nyquist / audible limit.
Proposed Solution
Add audible range validation in _dissectStair() ($20\text{ Hz} \le f \le 20,000\text{ Hz}$) with user notification feedback when boundaries are reached, accompanied by Jest unit test coverage.
I would be happy to submit a PR to fix this!
Describe the Bug
In the Pitch Staircase widget ($10^{38}\text{ Hz}$ (or drop below $10^{-38}\text{ Hz}$ ).
pitchstaircase.js), repeatedly clicking a stair with custom ratios (e.g. 7/4) causes frequencies to multiply exponentially up toObserved Behavior
1.044345e+38 C10).Proposed Solution
Add audible range validation in$20\text{ Hz} \le f \le 20,000\text{ Hz}$ ) with user notification feedback when boundaries are reached, accompanied by Jest unit test coverage.
_dissectStair()(I would be happy to submit a PR to fix this!