Need Assistance with SurfaceGui Camera CFraming

I have a really simple map, and on top it a part with a SurfaceGui adorneed to it (reference img):


The SurfaceGui has a ViewportFrame inside of it and inside of that ViewportFrame there’s a model of the map (same size and CFrame of the original map just different color), and I am trying to ‘overlap’ the SurfaceGui on top of the map(?) to try and achieve something like this (reference img):

What I currently have right now is:

while true do
	game:GetService('RunService').RenderStepped:Wait();
	cam.CFrame = workspace.CurrentCamera.CFrame;
end

Of course this doesn’t give me the result I want…(reference img).

How would I go around creating something like the end result I want? Any reference materials or help would be appreciated.

Source material provided here (if you want to try out yourself):
visualizers.rbxl (42.5 KB)

Why don’t you just use RenderStepped without the loop?