1. Introduction
For 2D GUI applications, resizing is an infrequent, discrete event with established techniques for adapting to the smaller screen size. Scroll bars are enabled to pan around a larger workspace, and buttons and text can be wrapped to fit the new area. In 3D environments, applications' screen size is constantly changing as they become closer to or further from the user's position. The constant and continuous resizing makes 2D interface concepts impractical. Static interfaces are clearly insufficient - an interface designed for an average depth can be much too complex whtn the application is too far away, or wastefully sparse whtn the application is near the user.