Rather than having two implementations for local time and UTC time, we now have
a single local-time implementation and use d3_time_utc to adapt for UTC.
Rather than producing separate files for each module, the default build now
produces a single file. This should encourage better page-load performance as
the files were relatively small. Also, it's easier to deal with only one file
rather than many, especially if you're not quite sure what the dependencies are.
You may still create minimized builds, if you don't want every feature.
This commit also demotes the chart components to the examples directory, rather
than keeping them as part of the core library. As always, D3 is not a charting
library, and these were ever only intended to serve as examples.
I simplified the implementation, though it still seems somewhat magical. I
would be more confident if there were an easy way to extract the mantissa and
exponent from a floating point number, but since JavaScript does not expose the
bitwise representation of numbers, there's no easy way to do it.
This is useful when stopping the layout in response to a user action,
e.g. if another layout is used to position the nodes in an event
handler. In this case, we don't want the next tick of the force layout
to run as it could undo the positioning work done in the event handler.
This is ported from the Protovis implementation, pv.Layout.Rollup.
The only difference is that the rollup nodes are not instances of any
original nodes (Protovis used pv.extend). Users are expected to use the
"x" and "y" properties of the rollup node, or alternatively the "rolled
up" nodes can be retrieved via the "nodes" property.
Fixes#428. This is built on top of existing tick support for linear scales: for
small intervals, a linear scale computes ticks based on milliseconds; for large
intervals, a linear scale computes ticks based on fractional years. This commit
also extends the time scale's formatter to display milliseconds.