This was in Godot 2. A lot of time has passed and maybe things changed.
Also, you use
create_from. As far as I can tell, this disregards previous calls to
SurfaceTool and replaces its content with the array.
Maybe you could try
It also sounds strange to use SurfaceTool when you seem to have a mesh already, that sounds wasteful. I suspect it's just because you want to use
generate_normals, which is quite unfortunate^^"