emberjs/ember.js — pull request #325 by joewest (2012-01-01 18:50:50+00:00)
Title: Add caching via route/path to StateManager

StateManager builds a cache of routes.

e.g. StateManager._cache['grandparent.parent.child']

Each cache entry is an array of states needed to fully transition to the target State.

goToState compares the smallest possible list of exitStates needed to leave the currentState to the list of new enterStates needed to goTo the target State. The unique lists are given to enterStates which handles dispatching exit/enters asynchronously.

Start / initialStates are not async yet.