Ah, yes, I noticed your Polygonal VCO in the patch library last night and played around with it a bit, it's cool! If I understand you comment about 2D/3D oscillators and then a separate transformer class, you mean that in my case I'd have a 3D oscillator that generates the 3D points and then a separate transformer class would convert those to 2D? Or would the transformer handle the rotation, kinda like how a stereo signal could be run through a spatializer or something like that?
I agree it'd be a good exercise to break up my patch into more standalone blocks like that, although I will probably work on something new before coming back to it.
Also, thanks for the info about the MIDI handling, my decision to handle them explicitly was based on seeing that in the Harmonic Lich code, but I guess in that case the overtones array isn't registered directly as parameters.