abstreet/TODO.md

96 lines
3.3 KiB
Markdown
Raw Normal View History

# TODO
2018-04-22 18:08:06 +03:00
## Map editor
- still key overlap bugs with floodfilling
- master UI exclusive state -- one plugin at a time
2018-04-22 18:08:06 +03:00
- traffic signal editor
- button to reset intersection to original cycles
- turns can belong to multiple cycles; the colors become slightly meaningless
- support left turn yield
2018-04-22 18:08:06 +03:00
- stop sign editor
- cant have no stop signs for two roads whose center line crosses
- infer default policy
- draw as red octogon with thin white trim, off to the right side of the road
2018-04-22 18:08:06 +03:00
- better visualization
- why are some icons in the intersection?
- draw detailed turns better, like https://i.ytimg.com/vi/NH6R3RH_ZDY/maxresdefault.jpg
2018-04-22 18:08:06 +03:00
## Driving model
2018-04-22 18:08:06 +03:00
- try to simplify straw_model step (less phases?)
2018-04-22 18:08:06 +03:00
- make cars pathfind to their destination
2018-04-22 18:08:06 +03:00
- better visualization
- draw moving / blocked colors (gradually more red as they wait longer)
- draw stop buffer in front/behind of cars
- draw cars in intersections, even when slightly zoomed out
- draw cars in slightly different colors, to distinguish them better
2018-04-22 18:08:06 +03:00
- start implementing a second AORTAish driving model
- reversible sim
## Map model
- more data
2018-04-22 18:08:06 +03:00
- parse shp, get traffic signals in the right places
- do need to mouseover shapefile things and see full data
2018-04-22 18:08:06 +03:00
- grab number of phases from traffic signal shp
- look for current stop sign priorities
- https://gis-kingcounty.opendata.arcgis.com/datasets/traffic-signs--sign-point/
2018-06-18 22:16:46 +03:00
- multiple lanes
- make a smaller GUI where it's easy to explore solving the multiline problem
- model bikes in driving lanes (as slow cars)
- add random bike lanes, figure out how turns would work
- be able to convert between parking and bike lanes, recompute the turns
- model cars parking
- maybe render numbers on the cars to distinguish them
- document the FSM (on lane driving, waiting, turning, parking, etc)
2018-06-19 20:09:55 +03:00
- model pdestrians
- maybe draw crosswalks?
- regression testing
- goldenfile approach for map_model, geom, and render layer from a small OSM chunk
- or maybe a visual demo approach with a list of things to manually check
2018-06-19 20:09:55 +03:00
- unit test that Centered thick line yields same geometry with points reversed
2018-04-22 18:08:06 +03:00
## Code cleanup
- where does 'extern crate' belong? only in main / mod?
2018-04-22 18:08:06 +03:00
- clean up code
- master Map struct
- line type / ditch vec2d / settle on types
2018-06-21 20:46:59 +03:00
- one-at-a-time UI plugins
- UI colors in one place
- cleaner pipeline of map construction
- serde, not pb
- logically be able to shift what gets recomputed or not
- better layering: GeomParcel, GeomIntersection, etc, so that render layer doesn't need to know Bounds and use gps_to_screen
- more uniformity with polygon + center line?
- add/plan tests
2018-04-22 18:08:06 +03:00
- document pieces that're stabilizing
- run clippy everywhere
2018-04-22 18:08:06 +03:00
- presubmit script
- also enforce consistent style (import order, extern crate only in mod.rs or lib.rs, derive order)
- extract common crates
- ask about mut vs returning new version of self (and what that requires of all the contained stuff)
- https://stackoverflow.com/questions/28385339/mutable-self-while-reading-from-owner-object
2018-04-22 18:08:06 +03:00
## Example use cases
- montlake/520 turn restrictions with pedestrian scramble
- close interior neighborhoods to most cars (except for src/dst), see how traffic restricted to arterials would work
- create a bike network with minimal hills, dedicated roads, minimal crossings