1. A computer-implemented process for enabling a user to virtually manipulate products in three dimensions, comprising: accessing at least one data file, wherein the at least one data file contains information, for each of a plurality of product categories, describing dimensions of a display area in three dimensions, indications of products in the display area and locations of the products in three dimensions, wherein each product has a unique code, and wherein the at least one data file further contains information describing each product and dimensions of each product in three dimensions, accessing a product image database, wherein an image of each of the products is stored and wherein the image of each product is accessible using the unique code for the product, receiving an indication from the user of a selected product category of the plurality of product categories, retrieving the information describing the locations and dimensions of the products in three dimensions and dimensions of the display area in three dimensions for the selected product category, retrieving, using the unique code for each product in the selected product category, the image for each product in the selected product category, generating a three dimensional model of the selected product category, including a three-dimensional model of the display area and a three-dimensional model of each product in the selected product category from the retrieved information, combining the retrieved images and the generated three-dimensional models to generate a digital image representative of the selected product category, displaying the digital image to the user, receiving a command from the user through an input device, wherein the command is indicative of a manipulation of one or more of the products in the displayed digital image, modifying the three dimensional model of the selected product category and the digital image of the selected product category and redisplaying the modified digital image according to the manipulation indicated by the command from the user; and tracking each product manipulated and the manipulation performed on the product.