1. A method for evaluating a dependency graph having a temporally dependent variable that is used to evaluate the dependency graph for a frame other than that at which the temporally dependent variable was evaluated, the method comprising: receiving, by a processor, a request to evaluate the dependency graph for a requested frame of an animation; identifying a dirty value of the temporally dependent variable for a frame used to evaluate the dependency graph for the requested frame based on a temporal dependency list, wherein the temporal dependency list comprises a list of values of the temporally dependent variable determined by previous evaluations of the dependency graph; evaluating the identified dirty value; updating the list of values of the temporal dependency list based on the evaluation of the identified dirty value; and evaluating at least a portion of the dependency graph at the requested frame based at least in part on the updated list of values of the temporal dependency list.