This is the function I’m porting to Ansible’s Cycles in a week or two after our next plug-in is released:
It takes one phasor and can smoothly transition between ramp, triangle, and sawtooth. I don’t know how feasible it is with regular TT code.
However, in the TT 2.0 thread, LFOs have been discussed as a potential future feature. I think this variable-shape LFO code would be an excellent operator in a future firmware.