The contents of a Region may be Inlines, so it's entirely possible that the contents of most Regions never get downloaded. If the user never enters a Region from which the Attic is visible, then none of the Attic's contents ever have to be retrieved. That data may still be cached on disk, but would not have to be kept in memory. When the user moves from one Region to another, the data for the new Region will almost certainly be in memory already by virtue of having been on the old Region's visibleRegions list. An intelligent browser could even pre-load Regions, by loading not only the set of visibleRegions but also the visibleRegions of those Regions.
Some optimizations are possible here.
The list is already sorted by relevance, which makes the process even faster. Collision Detection One of the reasons that collision detection tends to be computationally expensive is that there is potentially a very large number of objects in the world that can be collided with. Regions simplify the collision detection problem considerably, since only objects in the current Region need to be tested against. Updates only need to be received from those objects that are in the same Region that the user is in. If bandwidth is available, updates for visibleRegions Regions would be sent as well.