You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the raw_map layer embeds osm2streets StreetNetwork, just adding A/B Street-specific stuff in addition (buildings, areas, transit routes, and things like crosswalks & modal filters that aren't yet in osm2streets). But then the map_model layer, which is used by the traffic sim and all the apps, has its own representation for roads and intersections, and all the osm2streets stuff is gone. This was OK to start, but it's starting to get a bit tricky:
A/B Street edits lane specs and needs to regenerate geometry and movements, so we have an adapter kind of hack around it now
There are some osm2streets API concepts like RoadEdge that'd be useful to use over here now, but they're not easy to get at
I'd like to explore options for embedding StreetNetwork inside map_model::Map too. Reasons to be wary of this:
Keeping serialized file size small and loading times quick for large maps is important, potentially at the expense of code readability / API niceness
the API surface of Lane, Road, Intersection is huge and messy
Keeping some indirection / wrapper between osm2streets and here is a good idea for evolving the two codebases at different speeds
Another vague idea is to embed osm2streets::{Road, Intersection} structs inside of A/B Street equivalents, and keep a few extra fields over on this side
edits is all about modifying a map, undo/redo, saving edits so that they survive upstream OSM edits, etc. The relevant parts of this should also eventually live in osm2streets as an add-on crate.
make has some stuff unrelated to roads, but also the code for vehicle and walking turns currently lives here. That's something I want to move to osm2streets (and rewrite way more rigorously) soon
To make specific progress here, I think first using osm2streets rendering code and whittling down stuff in map_gui would be good. After a-b-street/osm2streets#199 happens, I'll experiment with some ideas for directly calling the osm2streets methods.
Currently the
raw_map
layer embeds osm2streetsStreetNetwork
, just adding A/B Street-specific stuff in addition (buildings, areas, transit routes, and things like crosswalks & modal filters that aren't yet in osm2streets). But then themap_model
layer, which is used by the traffic sim and all the apps, has its own representation for roads and intersections, and all the osm2streets stuff is gone. This was OK to start, but it's starting to get a bit tricky:map_gui
and osm2streets. And then again in Recreate OSM viewer with Bevy #1038 for BevyRoadEdge
that'd be useful to use over here now, but they're not easy to get atI'd like to explore options for embedding
StreetNetwork
insidemap_model::Map
too. Reasons to be wary of this:Lane
,Road
,Intersection
is huge and messyAnother vague idea is to embed
osm2streets::{Road, Intersection}
structs inside of A/B Street equivalents, and keep a few extra fields over on this sideCC @BudgieInWA
The text was updated successfully, but these errors were encountered: