it is most likely that the bevel fixed it because it insulates the awkward topology on the top surface from the 90 degree corners. you could probably achieve the same result by insetting all the top faces.
Hi! What is "insetting"? Do you mean to add additional faces? Not sure that I understand it correctly, but I selected the top faces and tried to Extrude > Offset them (highlighted with pink in the screenshot below). Before exporting the mesh I applied triangulation as well. The result looks ok: If that's what you meant:…
The shading depends on vertex normals. Flat thing should have them same directed . Typically 3d packages control vertex normal on their own but with lots of tiny long triangles errors usually happen . insetting or beveling or face weighting are just ways to help automatic algorithm. You can do same manually too. Like…
While the face normals (the one from a center of each triangle ) looks perfectly up those normal are derivative as a median of vertex normals in triangles corners. The bottom left corner for example , clearly not 90 degree up . it's what creates shading gradients. Face weighting, or direct normals editing could fix it .…