37 Commits

Author SHA1 Message Date
Kyℓe Hensel
f513ccd03d enable intellisense for the main classes (#10618) 2025-02-17 11:35:50 +01:00
Kyℓe Hensel
4747ae253c refactor isOneWay to properly support bidirectional ways (#10730) 2025-02-12 14:22:09 +01:00
Kyℓe Hensel
a2e347ac97 prevent degenerate ways caused by deleting a corner of a triangle (#10003) 2025-02-05 14:38:03 +01:00
Kyle Hensel
c7731f5499 support highway=ladder 2024-05-25 16:25:59 +10:00
Kyℓe Hensel
3b24932bda fix highway=busway not supported in the turn restriction editor (#9633) 2023-11-14 09:53:23 +01:00
Kyℓe Hensel
43b4b4f02b render right-sided arrows for features with lifecycle prefixes (#9493) 2023-03-03 18:53:10 +01:00
Quincy Morgan
ba48a861bc Enable curly and block-spacing eslint rules 2020-11-10 14:19:11 -05:00
Quincy Morgan
d179f791a9 Significantly improve the performance of the crossing_ways validation in areas with long ways (close #7656) 2020-06-22 16:49:32 -04:00
Quincy Morgan
5125c04a58 Fix issue where merging a point matching a fallback preset into an area could discard tag values (close #7446) 2020-03-23 12:47:14 -07:00
Quincy Morgan
09ad21a26f Improve "add a bridge/tunnel" fixes by basing the structure length on the crossed feature type, not a fixed constant (re: #7202) 2020-01-08 12:03:30 -05:00
Quincy Morgan
228af9a000 Move areaKeys and setAreaKeys to modules/osm/tags 2019-04-26 12:53:05 -07:00
Quincy Morgan
d01bb78707 Reduce circular dependencies caused by importing from indexes, the location of the validation models, and the location of areaKeys (close #6237) 2019-04-24 13:45:59 -07:00
Bryan Housel
d5abe468b9 Remove rest of the lodash iterators: map, reduce, forEach
(re: #6087)
2019-03-29 15:14:21 -04:00
Bryan Housel
5b4aa529de Replace lodash uniq
(re: 6087)
2019-03-27 02:43:25 -04:00
Bryan Housel
7a6c63fcc5 Remove lodash extend (re: #6087) 2019-03-23 00:38:39 -04:00
Bryan Housel
c7e375cbd7 Preserve directionality of sided way when joining to non-sided ways
(closes #6033)
2019-03-21 22:19:05 -04:00
Bryan Housel
b47ab4ac50 Change orthogonalize to support degenerate shapes, non-closed ways
Also adds a handful of useful vector math functions to geo module
2019-02-28 22:52:45 -05:00
Quincy Morgan
12b1af7002 Don't say tags imply area for tags that iD doesn't have a preset for (close #5933) 2019-02-25 12:42:39 -05:00
Quincy Morgan
bfefea422b Use iD's area tag logic for the tag_suggests_area validation 2019-02-05 13:55:59 -05:00
Huon Wilson
dd0be84da4 Add one-sided triangular markers to ways with sides (e.g. natural=cliff).
This generalizes the oneway arrow logic for adding SVG markers along a
line. Using that functionality, certain tags get arrows on their
right-hand side, indicating which side is "inside", e.g. the
right-side of a cliff is the lower side.

The list of tags considered to be sided (unless there's a
two_sided=yes tag) is:

- natural=cliff
- natural=coastline
- barrier=retaining_wall
- barrier=kerb
- barrier=guard_rail
- barrier=city_wall
- man_made=embankment

The triangles attempt to be reminiscent of the triangles used for
rendering cliffs on OSM (and elsewhere). The different tags get
different renderings (e.g. colors that match the main way, and
different spacings). In addition, natural=coastline is special-cased
to have blue markers (despite having a green way), to emphasise that
the "inside" of a coastline is the water.

Fixes https://github.com/openstreetmap/iD/issues/1475.
2018-11-28 01:45:50 +11:00
Bryan Housel
119792fd22 Cleanups to Detach Node feature
This commit includes a bunch of minor things:
- change keyboard shortcut to 'E' to not conflict with anything
- move `disabled` check from operation into action and simplify
- use `actionMoveNode` to place the detached node at the mouse cursor
- disable the operation if the node is connected to hidden features
- lots of code simplification
- make the icon more centered
2018-07-23 13:36:34 -04:00
Bryan Housel
de488e252f Draw covered/underground lines beneath areas
(closes #4718)
2018-01-22 15:06:58 -05:00
Bryan Housel
c908807f64 Render oneway=alternating, oneway=reversible with dual arrows
(closes #4291)
2018-01-04 13:40:49 -05: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
855c112ae0 Convert lodah-es and d3 to named imports for osm 2017-09-25 14:14:49 -04:00
Bryan Housel
8de3429f2b Fix misspelling 2017-08-06 23:59:16 -04:00
Bryan Housel
10659505e2 Add code to treat a few special tags as areas instead of lines
even in the absense of a proper `area=yes` or `areaKeys` tag.
(closes #4194)
2017-08-06 23:39:58 -04:00
Bryan Housel
f109efda7b Fix close() for single node ways 2017-01-12 15:56:46 +05:30
Bryan Housel
73e27c9657 Now that updateNode preserves circularity, provide close/unclose functions
This lets us break closed ways at their connecting node in the few situations where
we actually want that behavior (disconnect action for circular non-area ways)
2017-01-09 19:41:38 -05:00
Bryan Housel
8676dd6e4c Changes to removeNode and add tests 2017-01-09 18:38:28 -05:00
Bryan Housel
7b86afc9de Changes to replaceNode and add tests, also stricter isClosed 2017-01-09 18:16:30 -05:00
Bryan Housel
f510038791 Changes to updateNode and add tests 2017-01-09 17:33:46 -05:00
Bryan Housel
f1cdde0f92 Changes to addNode and add tests 2017-01-09 17:33:26 -05:00
slhh
7817d6dff1 Prevent duplicate consecutive nodes in addNode, updateNode, and
replaceNode, and add some comments.
2016-12-24 18:32:28 +01:00
Bryan Housel
b07bf8eaa2 Extract lane parsing code from way.js into lanes.js 2016-10-12 00:10:46 -04:00
Bryan Housel
07fa5fcc34 Refactor Entity, Node, Relation, Tags, Way from core to osm 2016-10-11 22:41:24 -04:00