Thats basically correct.
The wavegenerator adds new “bleps” to the blep array. (MinBlepGenerator::addBlep() and addBlepArray() functions).
In the audio thread we run MinBlepGenerator::processBlock() - from the buildWave function in waveGenerator, which pulls the next buffers worth of blep based corrections, and adds that to the naive wave.
There are other functions in minBlep - rescale_bleps_to_buffer() - that can be used for bleps that are known to occur but the nature of the discontinuity (the scale of the 0th and 1st order isn’t known and has to be calculated from the incoming audio). This is the case for things like a sawtooth flanger, or skipping around in an audio buffer.
Also - note the MinBlepGenerator::setLimitingFreq() function - which is used to rescale the minBlep array limiting frequency, effectively controlling the harmonic depth of the waveform (how many higher frequency components we are allowing).