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