AnalyticalGraphicsInc/cesium — pull request #501 by mramato (2013-02-02 00:10:16+00:00)
Title: Playback refactoring...

**NOTE:** This is a pull request into the `playback` branch. I don't expect it to be merged in right away, (there's a lot of cleanup/test/doc that still needs to be done) but I wanted to formally request feedback, largely from @emackey and @shunter in regards to the overall structure. With the exception of `AnimationViewModelSpec`, everything works.

The goal of these changes is the kickoff of an ongoing effort to have all Cesium widgets use a [knockout](http://knockoutjs.com/) backed MVVM architecture. Since the Animation widget is brand new, it was a good place to start.

**The big picture changes are**
1. Submit knockout 2.2.1 to Source/ThirdParty
2. Separate Animation into Animation and AnimationViewModel classes.
3. Delete AnimationController and AnimationControllerSpec and move required AnimationController functionality to AnimationViewModel.
4. Add a Command object for viewModel commands and a ButtonViewModel (for exposing buttons on a view model)
5. Add a new ClockViewModel to eventually be shared across widgets.

**Other misc changes**
1. Cleanup Eclipse project to exclude JS validation on all Source/ThirdParty code rather than on a file by file basis.
2. Add JulianDate.equals function
3. Add AnimationViewModelSpec (though tests are a mess).
4. Revert many of the changes to Clock/ClockRange/ClockStep to be closer inline with master, since required logic has moved to AnimationViewModel

@emackey I know the animation widget is your baby, so I apologize in advance if I screwed anything up. Just let me know.