systemed/iD — pull request #1075 by jfirebaugh (2013-03-18 18:55:19+00:00)
Title: show vertices only for selected way

Reopening from #1022.

I think we should strongly consider this again. It has several advantages:

* Reduced visual clutter, less overwhelming for new mappers.
* Improved performance. From what I've seen lately, vertex rendering is the rendering hotspot.
* Significantly reduces the chances of accidentally dragging a vertex when you were trying to pan.
* Fixes #569.
* Provides an elegant solution to #750 -- we can copy what [P2 does](https://github.com/systemed/iD/issues/750#issuecomment-14196201).
* Makes it easier to implement simplification for ways when rendering, a potential performance improvement -- we can simplify non-selected ways without having to worry about them not matching up with their vertices.

Started looking at this. First off, rendering all vertices and hiding them in CSS by default is a no go -- performance is terrible. So we need to add/remove them dynamically.

Second, some interaction minutia:

* Tagged vertices are always visible.
* When a vertex is selected, all vertices in parent ways should be visible (so you can move from vertex to vertex easily).
* Need to think about multi-select. Maybe have the proximity behavior whenever Shift key is down. But that introduces a way to select a vertex without selecting a way first, the absence of which provided the solution for #750.