HOLD THE PHONE...
Now it is a different story with the already damaged level you sent along with the original.
When you try to paint a surface, you get a constant stream of extra triangles and vertices.
This is because the triangle that is being displayed on the screen is different from the one that is being picked by the CameraPick.
The CameraPick sees one triangle and the Blitz3D render engine displays another (camera range doesn't seem to make a difference).
Decorator then takes the picked triangle and tries to move it to another surface. But the one it picked is not the one you see. So it picks the same one and moves it again and so on.
Now it is a different story with the already damaged level you sent along with the original.
When you try to paint a surface, you get a constant stream of extra triangles and vertices.
This is because the triangle that is being displayed on the screen is different from the one that is being picked by the CameraPick.
The CameraPick sees one triangle and the Blitz3D render engine displays another (camera range doesn't seem to make a difference).
Decorator then takes the picked triangle and tries to move it to another surface. But the one it picked is not the one you see. So it picks the same one and moves it again and so on.