354f54d | Mike Bostock | 23 August 2013, 21:18:53 UTC | Bump version. | 23 August 2013, 21:18:53 UTC |
64eca0a | Mike Bostock | 23 August 2013, 21:17:53 UTC | Merge remote-tracking branch 'origin/geo-circle-precision' into 3.3.1 | 23 August 2013, 21:18:14 UTC |
16e4c01 | Mike Bostock | 23 August 2013, 21:17:12 UTC | Merge remote-tracking branch 'origin/time-parse-padding' into 3.3.1 | 23 August 2013, 21:17:41 UTC |
23a2d7d | Mike Bostock | 23 August 2013, 21:15:30 UTC | Remove major class from axis ticks. The major class is now obsolete with the removal of tick subdivision. | 23 August 2013, 21:15:30 UTC |
7b63274 | Jason Davies | 23 August 2013, 20:09:32 UTC | Simplify. | 23 August 2013, 20:09:32 UTC |
bc75ddb | Jason Davies | 23 August 2013, 18:59:42 UTC | Rephrase test. | 23 August 2013, 18:59:42 UTC |
8f4d0ac | Jason Davies | 23 August 2013, 17:51:59 UTC | Fix #1483; time parsing with padding modifier. | 23 August 2013, 17:51:59 UTC |
d89ba56 | Jason Davies | 22 August 2013, 08:19:41 UTC | d3.geo.circle: ensure coincident start/end points. Due to floating point rounding error, d3.geo.circle would sometimes miss out the end point, which should be coincident with the start point. Fixes #1476. | 22 August 2013, 08:19:41 UTC |
f59fc64 | Mike Bostock | 22 August 2013, 04:08:52 UTC | Release 3.3.0. | 22 August 2013, 04:08:52 UTC |
fa2892e | Mike Bostock | 22 August 2013, 04:05:22 UTC | Break infinite loop on invalid date. | 22 August 2013, 04:05:22 UTC |
cc4a1d0 | Mike Bostock | 22 August 2013, 03:59:43 UTC | Support nice(count) and nice(interval, skip). Fixes #1475. | 22 August 2013, 03:59:43 UTC |
762f984 | Mike Bostock | 21 August 2013, 19:16:21 UTC | Add generated file. | 21 August 2013, 19:16:21 UTC |
7f8c03e | Mike Bostock | 21 August 2013, 19:08:37 UTC | Save bytes by aliasing d3.time. | 21 August 2013, 19:08:37 UTC |
e6551e5 | Mike Bostock | 21 August 2013, 18:57:51 UTC | Compress slightly. | 21 August 2013, 18:57:51 UTC |
403a0dd | Mike Bostock | 21 August 2013, 18:47:41 UTC | Better time.nice and time.ticks. Fixes #1434. | 21 August 2013, 18:53:16 UTC |
53ce4bb | Mike Bostock | 19 August 2013, 18:13:10 UTC | Minor optimization. | 19 August 2013, 18:13:10 UTC |
0c20525 | Mike Bostock | 19 August 2013, 18:06:53 UTC | Add d3.pairs. | 19 August 2013, 18:06:53 UTC |
8d9d2b7 | Mike Bostock | 19 August 2013, 17:50:09 UTC | Replace d3.geo.identity with d3.geo.clipExtent. The only function of d3.geo.identity was to allow viewport clipping on the identity projection, so it seems clearer to replace d3.geo.identity with a geometry transform that is explicitly tailored to viewport clipping. | 19 August 2013, 17:55:39 UTC |
1e0faba | Mike Bostock | 16 August 2013, 22:13:31 UTC | Fix d3.geo.stream tests for [x, y, z] coordinates. | 16 August 2013, 22:13:31 UTC |
b196e40 | Mike Bostock | 16 August 2013, 18:34:51 UTC | Limit streamed coordinates to three dimensions. Unfortunately, it seems that generically applying the point coordinates are arguments prevents certain optimizations by the JavaScript runtime. If we instead limit geometry streaming to three dimensions, this still allows us to perform dynamic transformations based on arbitrary data. | 16 August 2013, 18:34:51 UTC |
ac9f51f | Mike Bostock | 16 August 2013, 17:25:07 UTC | Replace d3.geo.simplify with d3.geo.transform. Rather than exposing a geometry transformation that is limited to filtering points based on a minimum z value, this commit introduces a more generic method of constructing streaming geometry transformations. This eliminates some of the wrapper code used previously to create transforms. This commit also restructures the implementation in core/array to remove a dependency on core/document; instead, core/document now depends on core/array and redefines the implementation of d3_array for broken browsers. | 16 August 2013, 17:28:11 UTC |
508ae65 | Mike Bostock | 15 August 2013, 21:55:40 UTC | Add d3.geo.simplify. Assumes that the third dimension (z) of each coordinate represents the importance of that coordinate, and implements a filter stream that skips coordinates that fail to meet the minimum importance threshold. | 15 August 2013, 21:59:05 UTC |
36e5526 | Mike Bostock | 15 August 2013, 19:09:33 UTC | Don’t floor brush extent. When the brush extent is set explicitly, use the exact values to set the displayed position of the brush, rather than flooring the pixel coordinates. This ensures a consistent appearance with other elements, such as an axis, that may be rendered with shape-rendering: crispEdges. | 15 August 2013, 19:17:45 UTC |
1c88fc2 | Mike Bostock | 15 August 2013, 17:03:30 UTC | Allow submillisecond transition timing. Although submillisecond timing probably isn’t important for a single transition, error can accumulate over time with chained transitions, so it’s important to allow submillisecond timing for long-running looped transitions. | 15 August 2013, 17:03:30 UTC |
1816561 | Mike Bostock | 15 August 2013, 16:27:52 UTC | Defer persistence until transition start. The zoom behavior was immediately persisting the new view when the transition was scheduled, rather than waiting until the transition started. By waiting until the transition starts, it’s possible to schedule chained transitions to different views. | 15 August 2013, 16:30:01 UTC |
f030c61 | Mike Bostock | 15 August 2013, 16:22:10 UTC | Cleanup transition after end. Previously, the transition would delete itself prior to notifying any end event listeners. This could cause a crash when trying to schedule a chained transition when a transition ends. To fix this, we now defer the deletion of the transition until after the end event is dispatch. This commit also makes a few tests that depended on the order in which tweens were invoked a little more robust: the state after a transition ends is inspected in the next tick after, rather than during, the end event. | 15 August 2013, 16:22:10 UTC |
806db97 | Mike Bostock | 15 August 2013, 03:55:29 UTC | Oops, saved too many bytes. | 15 August 2013, 03:55:29 UTC |
5ea3de2 | Mike Bostock | 15 August 2013, 03:52:57 UTC | Save a few bytes. | 15 August 2013, 03:52:57 UTC |
a83d89d | Mike Bostock | 15 August 2013, 03:47:49 UTC | Interrupt zoom transition on zoomstart. | 15 August 2013, 03:47:49 UTC |
48a4871 | Mike Bostock | 15 August 2013, 03:07:14 UTC | Smooth and efficient zooming and panning. Based on the interpolate-zoom plugin. Required adding a zoom.size method to specify the viewport size of the zoomable area. | 15 August 2013, 03:07:14 UTC |
079db13 | Mike Bostock | 14 August 2013, 22:50:31 UTC | First cut at zoom transitions. | 15 August 2013, 00:30:08 UTC |
f5fc306 | Mike Bostock | 15 August 2013, 00:19:58 UTC | Make event dispatching explicit. Rather than dispatch brush events implicitly as part of selection.call or transition.call, there is now a brush.event method which can be similarly called to dispatch events. This way, the user can control when (or if) the events get dispatched, and avoid unexpected events. | 15 August 2013, 00:19:58 UTC |
de30d65 | Mike Bostock | 14 August 2013, 20:38:21 UTC | Fix event dispatch on initial render. | 14 August 2013, 20:38:21 UTC |
24f9f2c | Mike Bostock | 14 August 2013, 20:08:10 UTC | Store brush transition state on the DOM. Rather than capture the brush’s pre-transition state via closure, store the state on the DOM like the axis component (this.__chart__). Now the brush can be instanced on multiple elements, and each element’s pre-transition state can be tracked separately, consistent with its display. Further, restore the pre-transition state of the brush prior to emitting the brushstart event, using the pre-transition data-space extent, if any. And likewise, when the transition ends, restore the post-transition data-space extent if available, rather than the less accurate pixel-space extent. Since the data-space extent is restored when the transition ends, an additional brush event is now emitted prior to brushend, since the extent may have changed. | 14 August 2013, 20:08:10 UTC |
dddb501 | Mike Bostock | 14 August 2013, 16:58:28 UTC | Disable highlight tap on Android & iOS. | 14 August 2013, 16:58:28 UTC |
123646a | Mike Bostock | 13 August 2013, 21:37:08 UTC | Stream caching for d3.geo.identity. | 13 August 2013, 21:37:08 UTC |
1c18bcd | Mike Bostock | 13 August 2013, 21:19:07 UTC | Bump version. | 13 August 2013, 21:19:07 UTC |
08d791f | Mike Bostock | 13 August 2013, 21:17:26 UTC | Merge remote-tracking branch 'origin/remove-tick-subdivide' into 3.3 | 13 August 2013, 21:17:26 UTC |
b6b6494 | Mike Bostock | 13 August 2013, 21:16:39 UTC | Merge branch 'zoom-center' into 3.3 Conflicts: src/behavior/zoom.js | 13 August 2013, 21:16:39 UTC |
d11205b | Mike Bostock | 13 August 2013, 21:13:55 UTC | Merge remote-tracking branch 'origin/geo-identity' into 3.3 | 13 August 2013, 21:13:55 UTC |
b82d85c | Mike Bostock | 13 August 2013, 21:13:21 UTC | Merge branch 'scale-nice' into 3.3 | 13 August 2013, 21:13:21 UTC |
5203dc1 | Mike Bostock | 13 August 2013, 21:12:43 UTC | Merge branch 'xhr-beforesend' into 3.3 | 13 August 2013, 21:12:43 UTC |
2fbae96 | Mike Bostock | 13 August 2013, 21:12:06 UTC | Merge branch 'zoom-events' into 3.3 | 13 August 2013, 21:12:06 UTC |
f1e796a | Mike Bostock | 13 August 2013, 18:00:38 UTC | Restructure state to shave a few bytes. | 13 August 2013, 18:00:38 UTC |
e7a1ff7 | Mike Bostock | 13 August 2013, 17:07:51 UTC | Only notify when extent changes. This avoids unnecessary work and some infinite loops. | 13 August 2013, 17:07:51 UTC |
fb4f262 | Mike Bostock | 13 August 2013, 00:08:58 UTC | Use the "brush" namespace for brush events. | 13 August 2013, 00:08:58 UTC |
9732e0c | Mike Bostock | 12 August 2013, 23:50:08 UTC | No brushstart and brushend on immediate change. | 12 August 2013, 23:50:08 UTC |
f18298b | Mike Bostock | 12 August 2013, 23:47:39 UTC | Simplify. | 12 August 2013, 23:47:39 UTC |
7bf2524 | Mike Bostock | 12 August 2013, 23:39:23 UTC | Interrupt transition on brushstart, if any. | 12 August 2013, 23:39:23 UTC |
1a54808 | Mike Bostock | 12 August 2013, 23:32:40 UTC | Fix copy-on-write on clear. | 12 August 2013, 23:35:17 UTC |
3a11f93 | Mike Bostock | 12 August 2013, 21:37:24 UTC | Dispatch brush events on redraw. The brush can interpolate its extent automatically during a transition, dispatching brush events to notify listeners of the changing extent. | 12 August 2013, 23:34:19 UTC |
76d52a2 | Mike Bostock | 11 August 2013, 07:13:24 UTC | Add brush transitions. Fixes #1385. However, since the new extent is set to trigger the transition, this does not provide interpolation of the extent in data-space, making it somewhat cumbersome to perform live brush intersection during the transition. | 12 August 2013, 23:34:03 UTC |
e7e6c3a | Mike Bostock | 09 August 2013, 19:34:41 UTC | Fix #1410 - add selection.interrupt. This also changes the imports so that it’s possible to build a version of D3 with selections but without transitions. | 12 August 2013, 23:33:20 UTC |
41bfffe | Mike Bostock | 12 August 2013, 15:17:45 UTC | Add --ascii to uglifyjs. Related #1195. | 12 August 2013, 15:17:45 UTC |
3007e88 | Mike Bostock | 10 August 2013, 17:23:24 UTC | Add axis.{inner,outer}TickSize. Fixes #1394. | 10 August 2013, 17:33:02 UTC |
bd0ce6c | Mike Bostock | 29 June 2013, 17:12:34 UTC | Remove axis.tickSubdivide. Fixes #1115. | 10 August 2013, 16:53:00 UTC |
c7461b0 | Mike Bostock | 10 August 2013, 04:09:43 UTC | Add zoomstart and zoomend events. Fixes #1422. | 10 August 2013, 04:09:43 UTC |
774a081 | Mike Bostock | 10 August 2013, 03:52:03 UTC | More readable. | 10 August 2013, 03:52:03 UTC |
8e8fcbe | Mike Bostock | 10 August 2013, 03:32:19 UTC | Add test for beforesend listener. | 10 August 2013, 03:32:19 UTC |
9f59f94 | Mike Bostock | 10 August 2013, 03:19:52 UTC | Merge branch 'xhr-beforesend-event' of git://github.com/adnan-wahab/d3 into xhr-beforesend | 10 August 2013, 03:19:52 UTC |
1462c5f | Mike Bostock | 05 August 2013, 17:47:22 UTC | Save two bytes. | 05 August 2013, 17:47:22 UTC |
8479315 | Mike Bostock | 05 August 2013, 17:44:59 UTC | Fix #1437 - add identity projection. The identity projection is equivalent to setting path.projection(null), except that you can apply post-projection features such as viewport clipping. | 05 August 2013, 17:44:59 UTC |
7169511 | Mike Bostock | 02 August 2013, 22:03:24 UTC | Fix #1435 - use ten ticks by default. This applies to linear.ticks and linear.tickFormat, and their equivalents on pow and sqrt scales. In addition it changes the behavior of linear.nice() so that it is equivalent to linear.nice(10) for consistency. | 02 August 2013, 22:03:24 UTC |
23ee2c0 | Mike Bostock | 01 August 2013, 14:37:51 UTC | Merge branch '3.2.8' | 01 August 2013, 14:37:51 UTC |
4c6b28d | Mike Bostock | 01 August 2013, 14:37:00 UTC | Merge branch 'map-copy-constructor' into 3.2.8 | 01 August 2013, 14:37:00 UTC |
b563495 | Mike Bostock | 01 August 2013, 14:36:26 UTC | Merge branch 'fix-zoom-touch' into 3.2.8 | 01 August 2013, 14:36:26 UTC |
af85c4e | Mike Bostock | 01 August 2013, 14:36:02 UTC | Merge branch 'fix-degenerate-log-ticks' into 3.2.8 | 01 August 2013, 14:36:02 UTC |
7f03c05 | Mike Bostock | 01 August 2013, 14:35:21 UTC | Merge branch 'fix-sort-null' into 3.2.8 | 01 August 2013, 14:35:38 UTC |
4530a2e | Mike Bostock | 01 August 2013, 14:33:51 UTC | Style tweak. | 01 August 2013, 14:33:51 UTC |
b32286c | Mike Bostock | 01 August 2013, 14:31:35 UTC | Revert microoptimization of d3_number. | 01 August 2013, 14:31:53 UTC |
23904cc | Mike Bostock | 01 August 2013, 14:30:31 UTC | Revert breakage of d3.{as,des}cending. | 01 August 2013, 14:30:31 UTC |
46472b1 | Mike Bostock | 01 August 2013, 14:29:32 UTC | Merge branch 'patch-3' of git://github.com/LeoDutra/d3 into micro-optimizations Conflicts: src/core/array.js | 01 August 2013, 14:29:32 UTC |
c234c58 | Mike Bostock | 01 August 2013, 14:28:49 UTC | Merge branch 'patch-2' of git://github.com/LeoDutra/d3 into micro-optimizations Conflicts: src/arrays/set.js | 01 August 2013, 14:28:49 UTC |
e2a4409 | Mike Bostock | 01 August 2013, 14:27:59 UTC | Merge branch 'master' of git://github.com/LeoDutra/d3 into micro-optimizations | 01 August 2013, 14:27:59 UTC |
43f439e | Jason Davies | 31 July 2013, 21:39:01 UTC | Minor optimisation. | 31 July 2013, 21:39:01 UTC |
a85b05e | Mike Bostock | 31 July 2013, 21:31:22 UTC | Fix dbltap detection. | 31 July 2013, 21:31:22 UTC |
993017f | Jason Davies | 31 July 2013, 20:28:41 UTC | Add a few comments. | 31 July 2013, 20:28:41 UTC |
9192c11 | Mike Bostock | 31 July 2013, 18:00:11 UTC | Fix #1431 - sort with null nodes. | 31 July 2013, 18:00:11 UTC |
c247e16 | Mike Bostock | 31 July 2013, 17:40:07 UTC | Better test for automatic tick precision. | 31 July 2013, 17:40:07 UTC |
ab68440 | Leonardo Dutra | 29 July 2013, 20:27:08 UTC | Optimized array.js | 29 July 2013, 20:27:08 UTC |
fe5b68d | Leonardo Dutra | 29 July 2013, 20:25:05 UTC | Optimized set.js | 29 July 2013, 20:25:05 UTC |
6d20d95 | adnan | 28 July 2013, 20:46:17 UTC | add beforesend event to xhr. fixes #1397 | 29 July 2013, 17:24:53 UTC |
0befad2 | Leonardo Dutra | 24 July 2013, 21:39:27 UTC | Optimized number.js | 24 July 2013, 21:39:27 UTC |
5cb34b8 | Leonardo Dutra | 24 July 2013, 21:04:52 UTC | Optimized array.js Less operators, vars and: http://jsperf.com/array-constructor-vs-literal-modalities | 24 July 2013, 21:04:52 UTC |
1240174 | Leonardo Dutra | 24 July 2013, 20:59:28 UTC | Optimized set.js length cache, ++i faster operator. | 24 July 2013, 20:59:28 UTC |
1bec3a6 | Leonardo Dutra | 24 July 2013, 20:51:35 UTC | Update permute.js Why? Less vars, less operators, and this difference: http://jsperf.com/array-constructor-vs-literal-modalities | 24 July 2013, 20:51:35 UTC |
48f27ae | Leonardo Dutra | 24 July 2013, 19:01:18 UTC | Optimized descending.js No need to repeat ">="... "===" is faster (same type comparison operator) | 24 July 2013, 19:01:18 UTC |
4a7e697 | Leonardo Dutra | 24 July 2013, 18:58:58 UTC | Optimized ascending.js No need to repeat ">=" "a < b ? -1 : a > b ? 1 : 0" would be better, but I don't know if it would break logic. | 24 July 2013, 18:58:58 UTC |
0015231 | Mike Bostock | 24 July 2013, 18:11:45 UTC | Fix #1420 - regression with degenerate log ticks. Commit 59554738 broke the check for a degenerate domain; this restores the original check and adds a test to verify this behavior. | 24 July 2013, 18:13:12 UTC |
120fb55 | Jason Davies | 23 July 2013, 22:23:38 UTC | Fix issue with drag suppression for multitouch. Due to the touchend listener being overwritten for every touchstart, two touchstart events would result in d3_event_dragSuppress being called twice, with only a single drag restore, meaning that a document's user-select style could be lost. This restructuring means that the first touchstart creates the closures for subsequent touchstart, touchmove and touchend events. A nice side-benefit is that fewer closures are created for multitouch. | 23 July 2013, 22:23:38 UTC |
2fd0227 | Jason Davies | 23 July 2013, 18:52:51 UTC | Avoid binding multiple touch listeners for zoom. For a two-finger pinch, if two touchstart events fire, this results in two touchmove and touchend listeners. The first will have a single location in the locations variable, but its touchmove listener will fire with two touches, causing it to fail due to not finding the location of the second touch. If the first listener fires before the second, this exception breaks touch zooming (as no further listeners will be called), but the order is undefined so may be browser/device dependent (for reproducing the bug). Since zooming only ever involves a single gesture at a time, it makes more sense to only have one listener of each type at a time, unlike dragging, which involves multiple drag gestures at once. | 23 July 2013, 18:52:51 UTC |
4b839b6 | Mike Bostock | 22 July 2013, 11:55:24 UTC | More restrictive copy constructor. Rather than duck-checking for a forEach method, limit the use of forEach to d3_Map instances. In ECMAScript 6, the map.forEach method passes the callback (value, key) rather than (key, value); likewise, array.forEach does the same. | 22 July 2013, 11:55:24 UTC |
c14858b | Mike Bostock | 21 July 2013, 16:55:17 UTC | Fix #1413 - d3.map copy constructor. | 21 July 2013, 16:55:17 UTC |
dddef32 | Mike Bostock | 19 July 2013, 03:30:09 UTC | Fix transitions that stop on start. | 19 July 2013, 03:30:09 UTC |
268af88 | Mike Bostock | 19 July 2013, 03:17:22 UTC | Merge branch '3.2.7' | 19 July 2013, 03:17:22 UTC |
f603935 | Mike Bostock | 19 July 2013, 03:15:03 UTC | Merge branch 'optimize-time-ticks' into 3.2.7 | 19 July 2013, 03:15:03 UTC |
9c50a1b | Mike Bostock | 19 July 2013, 03:14:37 UTC | Merge branch 'fix-transition-callback-order' into 3.2.7 | 19 July 2013, 03:14:37 UTC |
07360d7 | Mike Bostock | 19 July 2013, 03:14:06 UTC | Merge branch 'fix-zoom-mouse-touch' into 3.2.7 | 19 July 2013, 03:14:06 UTC |
c49570f | Mike Bostock | 19 July 2013, 03:13:40 UTC | Merge branch 'fix-transition-filter' into 3.2.7 | 19 July 2013, 03:13:40 UTC |
8c5558a | Mike Bostock | 19 July 2013, 02:53:21 UTC | Color interpolators return strings. This partially reverts ce6526cfe3b70a8555bbb7b2f235af9c916d34a0. Although this lacks the occasional convenience of a color instance, it has several advantages: strings are immutable, so there is no concern of modifying the return value (#1030); performance is improved; sometimes (e.g., Canvas, IE9 #1371) automatic string coercion of values is unavailable, so strings are more convenient. | 19 July 2013, 03:08:56 UTC |