preload now accepts assets nested in object; separated constructScene method as a static method for external use out of view3d.