a-b-street / a-b-street/speedwalk

Explore what would be needed to integrate speedwalk into iD

Abierto
#5 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Svelte
Estrellas
24
Forks
5
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I have been thinking about how to make iD a good foundation for special purpose editors for years.
Maybe Speedwalk can be the use case that will finally provide a good show case for this.

ATM the way to go is to create a custom editor, like the [Zlant editor for street side](https://zlant.github.io/parking-lanes/#17/52.49029/13.42733) parking. Or, use MapComplete which is kind of a framework for custom editor themes and an in between solution between the Zland and Speedwalk approach and what I describe below.

## To make this a bit more concrete…

**The iD Side**
iD has a lot of think that a great sidewalk editor needs.
- Presets for ways, crossings
- Ability to map surrounding features
- Great integration of street level imagery
- Great integration of arial imagery

But iD also has a lot of pieces missing, that make it usable for a single purpose editor ATM – more below

**The Speedwalk Side**
Speedwalk actually does not add too much as an editor. Its styling, QA, quick editing.

## What iD is lacking…

### Custom styles in iD

We need a way to style data in iD based on custom rules.
1. First to show the hidden data inside
2. But second to show the QA issues visually

This topic is something that might be resolved in iD soonish as part of https://github.com/openstreetmap/iD/issues/11168 and https://github.com/openstreetmap/iD/issues/11189

### Hide and disable data in iD

IMO, a great single purpose editor needs a way to hide some data and disable other.
For examples, we want to see the buildings for context, but we don't to have them editable which confuses users.

This topic is not fleshed out in iD, yet, but parts of this exist.
- We can hide data based on a hard coded definition. This needs more flexibility to define custom rules. And it needs a config (not just a URL param) to define those defaults so one can host a custom Editor based on that config.
- The custom styles (see above) might provide a way to disable editing via CSS; but I don't think that was tested yet and might have other side effects that require a custom solution.

### Custom presets

A focussed editing experience needs a way to provide a selected set of presets.
- Adding custom presets is something that is being discussed now in https://github.com/openstreetmap/iD/issues/11168
- In addition, we will likely need a way to filter the default presets or at least hide them behind something so the UX is focussed on the selected presets first

### Shortcuts

A single purpose editor needs a very quick way to map the data. Eg. adding new, separate sidewalks, crossings.
- https://github.com/openstreetmap/iD/pull/11269 is a PR that adds shortcuts for presets to iD
- But we might need to expand on this to also allow shortcuts for specific tags, like "sidewalk:right=yes" that do not overwrite existing data. (This might already work with the features from that PR; needs to be tested).

### Smart suggestions

When adding sidewalk, the app can do a lot to help create a good data quality. Rapid did some work in this area and https://github.com/openstreetmap/iD/issues/10757 tracks to backport that to iD.

### A config

In the end, we would likely want to host this iD version on a separate campaign page, preconfigured for this use case. For this, the existing JSON config that is used to initialize iD needs to be expanded to allow setting the defaults I describe above.

This might also be as simple as a page that redirects to a pre-defined iD URL and sets all the required settings in the URL…

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.