For both the pad-synth algorithm and for the add-synth engine users create a definition for an oscillator in terms of the frequency components. Then to play the oscillator it is converted into a time domain wavetable. For pad-synth a collection of wavetables are created with each one corresponding to a different frequency (and thus a different antialiasing threshold). For add-synth when a user hits a note, then a new wavetable is build by removing the high frequencies which would alias before performing an inverse fft.
There are still some issues with this approach since it's possible for the frequency of the note to change over time (e.g. frequency lfo/envelopes or add-synth cross-oscillator modulations), so in the future I'd like to add some optional oversampling to the cases where aliasing isn't eliminated by the current approach.