I have encountered this too, but for me it was limited only to parts that had their faces on the exact same plane causing Z-index fighting and the render engine not knowing which face to render, causing flickering.
This happened on glass for an escalator. I only noticed it after unioning the glass, I got around this by unioning the glass parts together with a large part cutting off the top 0.05 studs of the faces, leaving a perfectly flat surface. This probably won’t work for you since it’s around the whole map.
I have a suspicion that this might not be a glitch, but I’m not sure. I think the slight edge is nearly invisible and this stops Z-index fighting as mentioned before.
Either way, I made a quick script to do this, but I seriously advise you to NOT use this, this works for parts that have their orientation in strictly 90-degree increments, otherwise any part oriented differently WILL be moved in an unwanted direction causing the same gap to appear, for example, any roof.
Either way, this is the best I can do. If you want, add a check for the orientation if it divides by 90, and if not, don’t edit the position.
Use at your own risk, I suggest you make a backup of the map before using too, or better, don’t use it at all and live with the small gaps that actually help you by hiding Z-index flickering.
for i, v in pairs(game.Workspace:GetDescendants()) do
if v:IsA("BasePart") then
local x,y,z = v.Position.X, v.Position.Y, v.Position.Z
x = math.floor(x*100)/100
y = math.floor(y*100)/100
z = math.floor(z*100)/100
v.Position = Vector3.new(x,y,z)
end
end