Hey @Matthew_Pflueger @Blake,
@bghgary did some awesome debugging work and helped us narrow down the source of this issue. It looks like _processMeasure needs to be called whenever the view matrix changes. (it’s already called by _checkUpdate in onBeforeSceneRender, but for some reason it needs to be called even earlier than that to keep it in sync.) I made a couple of changes to one of the playgrounds:
Simple GUI in fullscreen mode | Babylon.js Playground (babylonjs.com)
The main thing is that all we need to do is call _processMeasures on the rect to keep it in sync, rather than needing checkUpdate on the whole ADT.
We definitely want to fix this issue in Babylon GUI, rather that needing a workaround that calls internal functions. I am going to take a look into this further and hope an update by Monday