Commit Graph

259 Commits

Author SHA1 Message Date
Tom MacWright 51d915c8a6 Refactoring and fixing layers
* Fixed opacity control
* Reorganize layer switcher
* Add GPX item to menu
* Allow user to cinch to GPX extent

Needs:

* Moderate refactoring
* Possibly a specific 'layerchange event'
* Dropping GPX on the map should be a behavior, probably, instead of in
  the layer
* Layers, if we want them, should be named rather than just have list
  indices
* A better icon for zoom to extent and for that icon to be properly
  placed
2013-03-20 15:59:15 -04:00
Tom MacWright c94ec3b4a9 Local GPX file support, first push towards multilayer support. 2013-03-19 18:41:16 -04:00
Ansis Brammanis 6e0925003c add Maki icons to areas 2013-03-15 13:57:08 -04:00
John Firebaugh 3787185182 Rendering tagged points
At z16 and below, tagged points are rendered with a small
dot in the center. At z17 and above, they are rendered with
a maki icon.

See the test rendering page for examples.

Fixes #381.
2013-03-13 17:31:25 -07:00
John Firebaugh 60ff6fc021 Use maki icons for points (fixes #881) 2013-03-08 20:22:06 -08:00
Tom MacWright 0fafa340fe Start using d3 3.1.0
Update d3, use streams, d3.set, clip
Use clipping, fix side effects
2013-03-07 17:45:16 -05:00
Ansis Brammanis 32a78d4573 let centerEase be stopped by dragging 2013-03-06 14:42:56 -05:00
Ansis Brammanis 8fc4cffd20 Revert "shorter wait before redrawing after zooming"
This reverts commit 7a22e62426.
2013-03-06 13:12:46 -05:00
Ansis Brammanis f8f86e7a42 Avoid style recalculation in resetTransform 2013-03-06 12:11:46 -05:00
Ansis Brammanis 7a22e62426 shorter wait before redrawing after zooming
Feels a lot snappier.
Slightly longer delay when panning.
2013-03-06 12:04:41 -05:00
John Firebaugh 417e21ab05 Remove unused 2013-03-05 16:02:27 -08:00
John Firebaugh 60a290282c Clip lines with Cohen-Sutherland algorithm
This yields a 10x paint performance increase at
#map=18.88/38.85208/-76.72632, as measured with
Chrome Canary's "Continuous Page Repainting" mode.

Fixes #885.
2013-03-03 18:25:42 -08:00
Ansis Brammanis 0090920d41 maintain center when map resized 2013-02-28 14:35:33 -05:00
Ansis Brammanis 4081d1234e set centerzoom before drawing map 2013-02-28 13:12:00 -05:00
John Firebaugh b7894ceaf0 Calculate participating ways in AddMidpoint
Due to differenced redraw, midpoint.ways was getting stale,
so sometimes dragging a midpoint didn't add the new node to
all ways. Better to calculate participating ways when needed.
This also simplifies the code for adding a midpoint via double
click. It does make filtering midpoints on redraw a bit more
expensive, but a cursory profile didn't show it being a problem.

Fixes #763.
2013-02-27 20:41:38 -08:00
John Firebaugh 571edc707d d3.tail -> iD.ui.Tail 2013-02-27 17:55:23 -08:00
John Firebaugh e154a94ef0 Draw only visible midpoints (#804) 2013-02-17 11:27:36 -08:00
Ansis Brammanis 147fce1f49 Merge branch 'tree-intersects'
Conflicts:
	js/id/behavior/lasso.js
2013-02-15 13:40:01 -05:00
Ansis Brammanis 7102fea04d add history.intersects to context 2013-02-13 18:12:53 -05:00
Tom MacWright b8c79b8b48 Fix map.extent 2013-02-13 18:12:38 -05:00
Tom MacWright eb2a133ac6 Hate multiline bracketless ifs 2013-02-13 17:57:58 -05:00
Ansis Brammanis e60c9ab16b Fix zoom limitation while drawing 2013-02-13 17:31:23 -05:00
John Firebaugh 3be61a65e6 Manual redraw debouncing
This avoids a duplicate full redraw at the end of a drag pan. The
redraw triggered by mouseup.zoom now cancels the pending debounced
redraw.

Also, bump the debounce interval to 300ms, which helps avoid full
redraws during scroll zoom, making it more responsive.
2013-02-13 14:27:01 -08:00
Tom MacWright 8538339b44 Fix zooming to validated features. Fixes #748 2013-02-13 17:21:21 -05:00
John Firebaugh a53e604b5b Avoid unnecessary style recalculation 2013-02-13 11:57:32 -08:00
John Firebaugh 65fbc808a1 Map#pan redraws 2013-02-13 10:39:48 -08:00
Ansis Brammanis 529b570c89 Merge remote-tracking branch 'systemed/master' into tree-intersects 2013-02-13 13:31:11 -05:00
Ansis Brammanis 2f15b0ffca Use tree intersects instead of graph.intersects 2013-02-12 17:38:15 -05:00
Tom MacWright 61d7ec45b5 Banish function ( style 2013-02-12 16:35:47 -05:00
Ansis Brammanis 7554c7445d Fix typo triggering too many redraws 2013-02-12 15:34:26 -05:00
Tom MacWright a773aaaab4 Improve perf with some benchmarking.
Re translate change see http://jsperf.com/coerce-vs-join-array
2013-02-07 22:55:44 -05:00
Ansis Brammanis ec065dca4c Fix flashing, reset transform on mouseup 2013-02-07 17:18:44 -05:00
Ansis Brammanis ec152716fb Fix calls to ui.flash 2013-02-07 01:16:51 -05:00
John Firebaugh 5eb0644242 Improve multipolygon rendering
Multipolygon relations report their geometry as 'area' and are rendered
as such. However, they do not render a stroke. The stroke rendering
will come from the individual lines, which are given the tag
classes of their parent relations, allowing them to have a stroke
style matching the style of simple areas with the same tags.

Untagged circular ways are no longer considered areas. This prevents
an untagged inner way of a multipolygon from rendering as an area and
is consistent with how P2 and JOSM treat them.

In the CSS, it's no longer necessary to deal with multipolygons
explicitly in selectors. But keep in mind that area boundaries can
now be rendered either as lines or as area strokes. In most cases
the selector should be `path.stroke.tag-_____`, i.e. an explicit
`.area` or `.line` classes should not be included.

Finally, the parent ways of selected multipolygons are given the 'selected'
class.
2013-02-05 15:20:11 -08:00
Tom MacWright 4ee620cb09 Namespace selectors to iD-owned elements 2013-02-04 12:23:46 -05:00
John Firebaugh ec602a7db7 Hook up connection and history in context 2013-02-02 19:47:56 -05:00
John Firebaugh fc00f154a9 Dispatch a change event on merge 2013-02-02 19:47:56 -05:00
John Firebaugh ddc5e324f6 Extract iD.Difference
iD.Difference represents the difference between two graphs.
It knows how to calculate the set of entities that were
created, modified, or deleted, and also contains the logic
for recursively extending a difference to the complete set
of entities that will require a redraw, taking into account
child and parent relationships.

Additionally, all history mutators now return a difference.
2013-02-02 19:47:56 -05:00
John Firebaugh 619216b33b Remove double dispatch 2013-02-01 13:13:32 -05:00
John Firebaugh fe49e8fb77 Pass around context rather than map 2013-02-01 12:40:16 -05:00
Ansis Brammanis 559f3c9037 Remove unecessary line 2013-02-01 11:00:55 -05:00
John Firebaugh 9494d8d468 Remove unused 2013-02-01 10:47:40 -05:00
John Firebaugh 2655810efe Remove unused parameter 2013-01-31 12:06:21 -05:00
Ansis Brammanis f0414f7ca1 Fix call to flash 2013-01-31 11:17:32 -05:00
Ansis Brammanis 5c1d3cc18e Preserve label tree between partial redraws 2013-01-31 10:34:57 -05:00
Ansis Brammanis 35cefceba6 Fix partial redraws 2013-01-30 17:43:14 -05:00
Ansis Brammanis b73d18cbf5 Merge remote-tracking branch 'systemed/master' into graph-perf2 2013-01-30 16:58:44 -05:00
John Firebaugh e4c513ae87 midpoint = true -> type = 'midpoint'
Makes it more consistent with entities.
2013-01-30 16:24:33 -05:00
Ansis Brammanis 2fa48df9a1 Small parentWays, parentRelations perf improvements 2013-01-30 16:09:15 -05:00
Ansis Brammanis 1b5a1b8268 Merge takes an entities object, not graph 2013-01-30 14:20:39 -05:00