Updating a three-dimensional model includes generating a three-dimensional model comprised of components, modifying one of the components, determining other components having a possible changing effect on the three-dimensional model as a result of modifying the one component, and constructing a modified version of the three-dimensional model by regenerating the modified component and the other components having the possible changing effect while not regenerating remaining ones of the components not having the possible changing effect. The modified version achieves the same result as revising the three-dimensional model by regenerating each one of components.