Stai utilizzando una proiezione ortogonale a cui dici che stai inquadrando in finestra da -100.0 a +100.0.
Quindi devi controllare quando il quadrato raggiunge quelle coordinate, e raggiungerà quindi anche il bordo della finestra.
Il problema qui è la coerenza degli spazi in cui fai i conti.
Se fai i conti e usi la posizione in world space, controlli (-100, 100), se fai i conti e usi la posizione in screen space, usi (0, 800).
E tutti un problema di decidere in che modo fare le cose.
Attualmente stai facendo un 2D "finto", con una proiezione ortografica, ma i conti sono tutti in 3D in world space.
Questi è uno dei problemi maggiori per chi si avvicina.
Capire in quale spazio si sta lavorando e rimanere coerenti.
In futuri troverai un sacco di space diversi, world space, object space, camera space, screen space, clip space, tangent space, light space.
Dovrai imparare a litigarci, ed esprimere le coordinate nel modo corretto (ed eventualmente convertirle)