I was inspired by this topic to produce a bezier surface. The surface is not a mesh but a logical object that contains the data from which you can build the mesh using a ribbon.
I restricted myself to a bicubic surface. Over the next weeks I will add some other methods and who know perhaps try to write a typescript version and PR it.
This PG animates the surface by changing the control points, https://www.babylonjs-playground.com/#KT9EE7#1
In this PG you can move the control point