@Mugen87, thank you very much for sharing this project, I would like to use this techniques in my animation project: https://dean.yesbird.online, as it suits my needs the best way, but I stacked at porting it to present (0.172.0) threejs version.
Fortunately I was able to force it to work by renaming a defined function round() that was conflicted with built-in function.
Although it works somehow, there are few errors reported to the console.
Maybe they are not critical, but it would be nice if some expert with shades of knowledge would look at the code and help me to fix them. Just to keep everything in order.