Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Go to file
Bruce d47f2d84f3
Queue::try_to_reserve_entry needs improvement (#439)
If an intersection is short, and bike is spawned, another bike coming along will attempt to fit if force_entry is true. This results in a panic. To address this, if the reserved_length is >= the geom_len, false will be returned, even if forced_entry is true.
2020-12-30 18:08:43 -08:00
.github/workflows Rename the experiment crate in preparation for a Monday release 2020-12-19 10:01:28 -08:00
abstutil Organize assets that're baked into widgetry. They don't belong in the 2020-12-28 10:40:55 -08:00
book Start a 15 min tool to find houses that have access to a user-specified set of needs. #393 2020-12-28 14:41:40 -08:00
collisions Display tooltips in the collision viewer. #87 2020-11-10 12:49:08 -08:00
convert_osm Handle the junction=intersection tag in OSM, representing a short "road" 2020-12-28 19:43:40 -08:00
data Handle one-way roads more uniformly in the traffic signal heuristics. #8 2020-12-30 15:28:17 -08:00
fifteen_min Start a 15 min tool to find houses that have access to a user-specified set of needs. #393 2020-12-28 14:41:40 -08:00
game More turn restriction preservation... #114 2020-12-30 10:01:23 -08:00
geom Try merging intersections with concave hull instead. #114 2020-12-28 16:05:41 -08:00
headless Batch API for all trip time lower bounds. #392 2020-12-28 13:40:44 -08:00
importer Start importing Bellevue. Treat it as a separate city from Seattle, and 2020-12-30 13:21:59 -08:00
kml Allow and ignore a 3rd coordinate in KML files 2020-12-10 12:02:35 -08:00
map_editor Restore the ability to merge short roads at the RawMap layer and in the 2020-12-28 17:21:20 -08:00
map_gui Handle one-way roads more uniformly in the traffic signal heuristics. #8 2020-12-30 15:28:17 -08:00
map_model I got the turn restriction preservation direction wrong earlier. Now 2020-12-30 17:30:05 -08:00
osm_viewer Also deploy the OSM viewer and 15 min tool to the web 2020-12-18 12:36:19 -08:00
parking_mapper Give SimpleApp a way to stash session-wide state. First use case is high scores for the experiment. 2020-12-04 15:08:15 -08:00
popdat Express AmenityType as a proper enum. 2020-12-28 12:18:29 -08:00
release Rename the experiment crate in preparation for a Monday release 2020-12-19 10:01:28 -08:00
santa Add WASD alternate santa controls for someone with broken arrow keys. 2020-12-29 19:37:54 -08:00
sim Queue::try_to_reserve_entry needs improvement (#439) 2020-12-30 18:08:43 -08:00
tests Adjust the threshold for what counts as a straight vs right turn from 10 2020-12-18 12:06:16 -08:00
traffic_seitan Plumb the intended TripMode for cancelled trips; instead make the trip duration optional. Breaking change for anyone using the API. Makes way more sense. [rebuild] [release] 2020-11-22 11:21:44 -08:00
updater Organize assets that're baked into widgetry. They don't belong in the 2020-12-28 10:40:55 -08:00
widgetry Fix uber turn viewer -- the panel in the SimpleState wasn't being 2020-12-28 15:37:05 -08:00
widgetry_demo Refactor: GeomBatch::load_svg directly takes EventCtx or GfxCtx. The prerender struct should ultimately not be exposed outside of widgetry. 2020-12-15 11:44:58 -08:00
.gitignore Start importing Bellevue. Treat it as a separate city from Seattle, and 2020-12-30 13:21:59 -08:00
Cargo.lock Start importing Bellevue. Treat it as a separate city from Seattle, and 2020-12-30 13:21:59 -08:00
Cargo.toml Rename the experiment crate in preparation for a Monday release 2020-12-19 10:01:28 -08:00
clippy.sh round of clippy. not fixing everything. 2019-12-11 16:17:15 -08:00
format_md.sh Fix more broken links. Sadly can't enable linkcheck, because it has two false positives. 2020-09-24 19:37:16 -07:00
import.sh util to convert geojson to osmosis polygon (#309) 2020-09-02 15:29:25 -07:00
LICENSE Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00
README.md new release 2020-12-27 10:33:16 -08:00
rgrep.sh Set up a test scenario for lane-changing to reproduce #382. The same 2020-11-11 11:33:47 -08:00
rustfmt.toml tweaking rustfmt options; the long literal string vecs in tutorial look awful 2020-01-21 15:20:02 -08:00

A/B Street

Ever been stuck in traffic on a bus, wondering why is there legal street parking instead of a dedicated bus lane? A/B Street is a game exploring how small changes to a city affect the movement of drivers, cyclists, transit users, and pedestrians.

Show, don't tell

Alpha release trailer

Find a problem:

exploring_traffic

Make some changes:

editing_map

Measure the effects:

evaluating_impacts

Documentation

Roadmap and contributing

See the roadmap for current work, including ways to help. If you want to bring this to your city or if you're skilled in design, traffic simulation, data visualization, or civic/government outreach, please contact Dustin Carlino at dabreegster@gmail.com. Follow r/abstreet for weekly updates or @CarlinoDustin for occasional videos of recent progress.

Project mission

If you fix some traffic problem while playing A/B Street, my ultimate goal is for your changes to become a real proposal for adjusting Seattle's infrastructure. A/B Street is of course a game, using a simplified approach to traffic modeling, so city governments still have to evaluate proposals using their existing methods. A/B Street is intended as a conversation starter and tool to communicate ideas with interactive visualizations.

Why not leave city planning to professionals? People are local experts on the small slice of the city they interact with daily -- the one left turn lane that always backs up or a certain set of poorly timed walk signals. Laura Adler writes:

"Only with simple, accessible simulation programs can citizens become active generators of their own urban visions, not just passive recipients of options laid out by government officials."

Existing urban planning software is either proprietary or hard to use. A/B Street strives to be highly accessible, by being a fun, engaging game. See here for more guiding principles.

Credits

Core team:

Others:

Data: