[] create a "Draw Missing Crossings (BBOX)": run protoblocks algorithm in bbox, then use the "existing sidewalks" field output, and then considering only the "true" ones for each neighbouring output pair of blocks (create a list of tuples with 2 members) analyze the 2 endpoints: in a search radius of half the segment length, search for existing crossings in the OSM database, if the crossing is outside the two protoblocks (since the search area is gonna be a circle), ignore it. For each positive case draw the crossing and its two kerbs as is done in the sidewalk drawing algorithms. A standing question is: how to properly handle shared points with the existing OSM features (the two sidewalks and the street)? Should we use OSM API directly to create those shared nodes?
[] data quality algorithms, like the ones used in the Paper 