Commit Graph

52 Commits

Author SHA1 Message Date
Bryan Housel
da10b6b254 Add maki- prefix to all maki icons
(re: #3924)
2018-06-05 22:12:33 -04:00
Bryan Housel
96afbbd785 Refactor vector math functions from geo.js to vector.js 2017-12-28 01:08:11 -05:00
Bryan Housel
2e2b037e36 Move a bunch of commonly used vector and projection math functions into geo
- geoVecAdd
- geoVecSubtract
- geoVecScale
- geoZoomToScale
- geoScaleToZoom
2017-12-18 15:05:42 -05:00
Bryan Housel
b9e48d1682 WIP: Move layer-hit to layer-points with explict sublayers, update tests
This is more work to further isolate the layers that entities draw to.
It makes it easier to debug what is going on, and can eventually lead to
deferred drawing, if each draw function is in its own place and not dependant
on anything else.

I've started to replace the vertex-hover with an explicit layer for touch
targets.

Also had to change a lot of the svg tests, which are really brittle.
Things would happen like - the surface would be created, it would kick of a
deferred redraw, which would notice that the zoom was 0 and call
editOff, which would remove the osm layers that were just created and
that the tests were trying to draw to. These tests need proper zoom and
projection otherwise nothing works.
2017-12-14 17:38:43 -05:00
Bryan Housel
bfaf17538e Move text to single group with subgroups for halo,label,debug 2017-12-14 12:32:28 -05:00
Bryan Housel
24baa5390e Adjust some variable names to better match what they do
- `nodes` are for osm nodes
- `points` are the projected locations of those node `loc` in screen space
2017-12-13 18:31:37 -05:00
Bryan Housel
d9e3367836 More improvements to label vertex avoidance
(re: #4271, #3636)

- better classification of "interesting" vertices
  (include tagged, selected, or child of selected)
- now we can draw labels on selected lines again (revert #3636)
  because the labels will avoid the vertices
- if debugging is on, draw a collision box for the mouse
2017-12-13 18:05:06 -05:00
Bryan Housel
006ee691bf Avoid placing labels in interesting points/vertices
(closes #4271)
2017-12-13 14:31:17 -05:00
Bryan Housel
450392d2e5 Fix label placement for directional points rendered as vertices 2017-12-13 10:23:25 -05:00
Bryan Housel
5d5546d54d Minor code formatting 2017-12-13 10:02:39 -05:00
Bryan Housel
38920b2c61 Reset temp placement variable each loop iteration
(closes #4473)

Otherwise `if (p)` will have stale data and be truthy for vertices at low zoom
2017-11-15 13:47:59 -05:00
Bryan Housel
4d1c6796c2 Don't leave space for an area icon, if preset doesn't have an icon
(closes #4479)
2017-10-31 22:22:40 -04:00
Bryan Housel
9edae82673 Convert lodah-es and d3 to named imports for svg 2017-09-25 23:16:24 -04:00
Kushan Joshi
909b72a39e cleaning up 2017-08-24 17:03:04 +05:30
Bryan Housel
9ce06549e1 Add new poi icons, make them work on point, vertex, area label
(closes #3856)
2017-02-26 23:28:29 -05:00
Bryan Housel
d5805dc3cd import textDirection instead of caching first time rtl detection 2017-01-19 19:08:44 +05:30
Bryan Housel
afb51ab4bd Add halo for area icons
(closes #3762)
2017-01-15 01:10:28 +05:30
Bryan Housel
04b9c08bff Adjust maki sizes and fill opacity
New icons are solid fill and take up a bit more of the icon space, so need to
be scaled differntly.
2017-01-14 23:06:23 +05:30
Bryan Housel
9b922899a6 Restore maki icons on vertices and areas 2017-01-14 22:08:47 +05:30
Bryan Housel
d63c766e69 Split into utilDisplayName / utilDisplayNameForPath
This is because utilDisplayName gets called a bunch of places and we
only want to add the Arabic reversal code for textpath labels
2017-01-03 20:58:56 -05:00
Bryan Housel
a55ab036aa Don't assume that all the ids in selectedIDs are valid
(This is becuse they might have been deleted in a delete operation
and we are immediately redrawing the results of that operation before
reselecting something else)
2016-12-09 11:46:22 -05:00
Bryan Housel
1912251251 Add labels for vertices
(closes #2709)
2016-12-07 16:58:27 -05:00
Bryan Housel
6b18ea76ff Hide labels along selected ways, or near selected vertices
(closes #3636)
2016-12-07 15:38:14 -05:00
Bryan Housel
8cd2d7097c Add preset for camp_site=camp_pitch for individual pitches 2016-10-31 17:08:01 -04:00
Bryan Housel
46b6086dcf Update projection arg for d3.geoPath(), deprecate d3.geoClipExtent() 2016-10-29 15:27:06 -04:00
Bryan Housel
efd9e6df4b Memoize and avoid extra calls to utilDetect() 2016-10-18 21:48:39 -04:00
Bryan Housel
bf857c419a Center label baseline hack for IE11, Edge
(closes #3020)
2016-10-18 21:28:20 -04:00
Bryan Housel
0036a3b308 Assign label priority by tag key and value (e.g. for highways) 2016-10-18 15:46:24 -04:00
Bryan Housel
9d98aae955 Insert small boxes along text path into collision tree
(closes #1645)
2016-10-18 15:12:09 -04:00
Bryan Housel
0d0b9b0d9b Use geoEuclideanDistance for simpler code 2016-10-18 00:56:18 -04:00
Bryan Housel
24e83189b8 Use bulk loading for rtree inserts, preparation for collision rectangle labels 2016-10-17 23:56:42 -04:00
Bryan Housel
0c35b8f9ab Fix bug in partial label redraw, tighten margins around line labels 2016-10-17 21:28:37 -04:00
Bryan Housel
1da02e57e2 Fix min/max collision box in getPointLabel, remove debug=true 2016-10-17 17:08:40 -04:00
Bryan Housel
f4e7cb6727 Add debugging for both drawn and skipped label collision trees 2016-10-17 16:27:47 -04:00
Bryan Housel
adb1fdd940 Add area labels and icons both to collision tree 2016-10-17 15:40:09 -04:00
Bryan Housel
f3505c2f3d All labels should use baseline middle, fix math, bboxes for area labels 2016-10-17 14:52:23 -04:00
Bryan Housel
4381bd11ac Simplify code for determining label font size (eliminate style inspection) 2016-10-17 13:57:15 -04:00
Bryan Housel
ae96d3942c Support RTL for point labels, fix math 2016-10-17 12:50:56 -04:00
Bryan Housel
e7f20a379e Fix label autohiding
(closes #3464)
2016-10-17 11:55:56 -04:00
Bryan Housel
8f044dd05e Minor code fiddling, preparing to address line labeling issues today 2016-10-17 10:36:06 -04:00
Bryan Housel
07fa5fcc34 Refactor Entity, Node, Relation, Tags, Way from core to osm 2016-10-11 22:41:24 -04:00
Bryan Housel
3102a4ae6a Rename all the things to include pseudonamespaces 2016-10-04 19:06:20 -04:00
Bryan Housel
6d2e999885 Fix enter/update selections for textpaths and text labels 2016-09-26 23:25:59 -04:00
Bryan Housel
a6d683eaf7 Code cleanups in svg, ui for selection merging, fix Mapillary. 2016-09-17 23:26:49 -04:00
Bryan Housel
afb88f2ae6 Fix rendering selections for all the OSM layers
This includes some renames for clarity.. "surface" -> "selection"
to make it clearer that rendering functions take a selection, and
don't necessarily render to the literal `#surface` node anymore.
2016-09-08 22:37:06 -04:00
Bryan Housel
a86f34b4ef Pacify eslint, get build and tests running again 2016-08-26 01:15:07 -04:00
Tom MacWright
cdb533fa84 Begin d3 v4 update 2016-08-21 15:19:27 -04:00
Tom MacWright
604d1e2719 import lodash (#3257) 2016-07-19 12:04:16 -04:00
Kushan Joshi
b3492b17a0 external modules for SVG 2016-07-06 14:39:14 -04:00
Bryan Housel
197b936d50 Upgrade rbush to 2.x 2016-07-01 23:12:51 -04:00