Wow cool! Thanks for the clip 
Thanks, will fix that.
Feel free to! The main thing is basically this bit by William Light that I translated into gen~. I added the mode parameter for further twang.
pd(phase, d, mode) {
if (phase < (mode==1?d:(1-d))) {
phase /= d;
}
else {
phase = 1.0 + ((phase - d) / (1.0 - d));
}
return 0.5 * phase;
}
Then you put it through cos(tau * pd(oscPhase, distAmt, mode));