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, based on a temporal dependency list, that a value of the temporally dependent variable is dirty for a first frame different from the requested frame, wherein a value of the temporally dependent variable for the first frame is to be used to evaluate the dependency graph for the requested frame, and wherein the temporal dependency list comprises a list of values of the temporally dependent variable determined by previous evaluations of the dependency graph; in response to receiving the request to evaluate the dependency graph for the requested frame and in accordance with identifying that the value of the temporally dependent variable is dirty for the first frame, evaluating the temporally dependent variable for the first frame to generate a non-dirty value of the temporally dependent variable for the first frame; updating the list of values of the temporal dependency list based on the non-dirty value of the temporally dependent variable for the first frame; and evaluating at least a portion of the dependency graph at the requested frame based at least in part on the non-dirty value of the temporally dependent variable for the first frame from the updated list of values of the temporal dependency list.