This was accidentally hidden by the drag behavior. Probably, the drag behavior should be broken out and moved to the d3.behavior module. But this is a nice fix for the immediate problem of name collision. Fixes #192.
… are concatenated into the same file.
From Mike: > This way, we keep the core library small, and we can make > non-backwards compatible changes without bumping the major version > number.
Includes interactive "voroboids" example!
This way, people can play with superformulas if they want them, but we keep the core library small. If we want to replace the default symbol implementation with superformulas in the future, we can do that too. For now, be conservative.
This is useful when other modules want to register interpolators for d3.interpolate without adding an explicit dependency to d3.core. The interpolators are applied in reverse order, and the first one that returns a function is used. (This commit was authored by @jasondavies and cherry picked.)
I'm not totally sure about the nicing behavior for pow scales; we might want it to behave more like nicing for log scales. But this works for now!
The subclasses can't use the same object as the parent class, because they are functions. But, there's no reason to duplicate the code that rebinds the methods onto the subclass.
If the tween function returns null, then no tween will be applied for the specified element. The default tween function now returns null if the start and end value are the same, thus avoiding redundant interpolation.
The longer domains mess up the aligment but I'm sure Mike will figure something out!
We can't just rebind the internal linear scale's nice function because the linear scale's domain is the exponentiated pow domain, so the actual pow domain would most likely be fractional as the linear scale will round to the nearest integer exponentiation.