lshift/diffa — pull request #127 by paulj (2012-04-27 01:41:00+00:00)
Title: Heatmap on new aggregation api

This branch ports the heatmap to use the new aggregation API, and removes the zoom API functions that are now unused.

As port of the heatmap port, it introduces a number of functional cleanups:

* __Infinite panning__ - Instead of retrieving a fixed window, and only allow panning around that, the heatmap now uses a 'projection' model on top of the aggregation api, which supports moving the heatmap to any point in time, and then requesting the appropriate aggregates. The left/right arrows use the new open-ended aggregation features to provide an accurate representation regardless of the age of the non-visible difference;
* __Live vs Locked__ - instead of "LIVE" and "CLICK TO POLL", the indicator now changes between "LIVE" and "LOCKED". Whilst in the locked state, the heatmap will continue to poll (and thus visualise changes in the older differences), but won't auto-progress with time.
* __Consistent Scale__ - the new panning functionality introduced some issues with the scale, whereby the tick marks would jump around. A new consistent scale has been introduced such that regardless of the start time, the same tick marks are shown - hence ensuring that as the view is panned, the labels stay constant (instead of alternating).