1. A computer-implemented method for interfacing with objects, comprising: displaying, using a computer processor, a computer-implemented three-dimensional (3D) scene on a display device, wherein the scene comprises two or more objects; accepting user input identifying a viewpoint within the scene, wherein the viewpoint establishes a location and an orientation within a 3D space of the scene to view the two or more objects in the scene; displaying a two-dimensional (2D) abstraction of the 3D scene, wherein the 2D abstraction comprises a textual list of the two or more objects; dynamically maintaining a connection between the 2D abstraction and the 3D scene; using the computer processor, dynamically and independently from additional user actions, determining a proximity of each of the two or more objects from the viewpoint; dynamically displaying and maintaining, using the computer processor, on the display device, the textual list of the two or more objects, wherein the textual list is dynamically sorted based on the proximity of each of the two or more objects from the viewpoint, and the displayed textual list is dynamically updated in real-time as the viewpoint is moved within the scene; and accepting user input to custom define a weighting factor that is applied to each of the two or more objects wherein: the weighting factor defines a weight for sorting the textual list; and the weighting factor is based on the location, the orientation, and a focal length of the viewpoint.