Skip to content

Oscillator playground tool with waveform and harmonic modes

jedmund requested to merge jedmund/playground-tools into main

Created by: jedmund

Summary

  • New OscillatorContainer component combining waveform generator and harmonic series builder into a single compact card
  • UISegmentedControl-based waveform selector with programmatic icons and native drag/selection behavior
  • Custom frequency slider with labeled thumb showing current Hz value
  • Live configurator updates: changing available waveforms, frequency range, harmonic count, and fundamental frequency all reflect immediately without restart
  • Auto-normalizing waveform visualization that scales to peak amplitude
  • Log-scale frequency sliders in the configurator for perceptually even distribution
  • Unified "Oscillator" grid entry replacing separate Waveform Generator and Harmonic Series Builder tools
  • Side panel chevron pinned to sidebar with flick gestures

Test plan

  • Tap Oscillator in the playground grid, verify waveform mode loads with segmented control and frequency slider
  • Switch waveforms via segmented control, verify audio and visualization update
  • Drag frequency slider, verify thumb label and audio update in real time
  • Open configurator, switch to Harmonic mode, verify harmonic bars appear
  • Adjust harmonic bar amplitudes, verify waveform visualization auto-normalizes without clipping
  • Change available waveforms in configurator, verify segmented control updates reactively
  • Change min/max frequency in configurator, verify slider thumb repositions
  • Change number of harmonics via slider, verify bars add/remove live
  • Tap Harmonic Series Builder from a lesson exercise, verify it opens in harmonic mode

Merge request reports

Loading