Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Go to file
Dustin Carlino c2b6c917ae Generalize the State/Transition GUI structure, moving it into widgetry.
Nothing about it is specific to A/B Street, and other apps built with
widgetry could organize themselves as a stack of states. This is also a
first step towards sharing more common code between A/B Street and a
future OSM viewer.

Mostly mechanical change. Some more cleanup / documentation coming up
next.
2020-10-22 17:34:59 -07:00
.github/workflows Upgrade to rust 1.47. No relevant changes except that stack traces hide some useless boilerplate now. 2020-10-21 10:25:55 -07:00
abstutil Fix a crash with the new FixedMap. Don't assume the keys exist! 2020-10-22 11:12:24 -07:00
book Remove the --pathfinding_upfront option. #312 and #258 2020-10-22 13:47:03 -07:00
convert_osm Import forests as park areas (for Salzburg) and add a warning about JOSM. #366 2020-10-15 15:10:12 -05:00
data After making live map edits, indicate that results aren't finalized. #312 2020-10-22 11:05:07 -07:00
game Generalize the State/Transition GUI structure, moving it into widgetry. 2020-10-22 17:34:59 -07:00
geom Mkirk/perf 2 (#370) 2020-10-20 11:51:00 -07:00
headless Add a sanity check to catch live map edit bugs faster. Deleted turns 2020-10-21 10:23:56 -07:00
importer Organize import blocks using https://github.com/dabreegster/organize_rust_imports 2020-10-05 20:29:22 -07:00
kml Organize import blocks using https://github.com/dabreegster/organize_rust_imports 2020-10-05 20:29:22 -07:00
map_editor Generalize the State/Transition GUI structure, moving it into widgetry. 2020-10-22 17:34:59 -07:00
map_model Handle agents deleted mid-turn. #312 2020-10-21 11:17:27 -07:00
map_tests Organize import blocks using https://github.com/dabreegster/organize_rust_imports 2020-10-05 20:29:22 -07:00
release Start deploying the web build to s3... #21 2020-10-08 16:29:06 -07:00
sim Cars in the process of parking were being double-counted for deletion in 2020-10-22 14:28:16 -07:00
traffic_seitan Prevent traffic seitan from making illegal edits that orphan a parking 2020-10-21 16:32:48 -07:00
updater Fix a few build warnings and breaks, and document the headless server a 2020-10-14 10:46:18 -05:00
widgetry Generalize the State/Transition GUI structure, moving it into widgetry. 2020-10-22 17:34:59 -07:00
widgetry_demo Generalize the State/Transition GUI structure, moving it into widgetry. 2020-10-22 17:34:59 -07:00
.gitignore Delay highlighting (#363) 2020-10-10 12:23:02 -07:00
Cargo.lock Dump a savestate in the run_scenario tool when interrupted. Useful for 2020-10-19 14:52:26 -05:00
Cargo.toml Switch from stdweb to websys for #21. 2020-10-05 19:50:52 -07: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-10-10 14:02:34 -07:00
rgrep.sh Regularly import Tel Aviv! 2020-08-26 10:25:45 -07: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: