Commit Graph

131 Commits

Author SHA1 Message Date
Dustin Carlino
f23dacbde7 Start some skeleton code for tomorrow's hackathon 2020-12-09 22:11:05 -08:00
Dustin Carlino
aa5010f2d0 Import part of Manhattan. Need to adjust the boundary to fix water
polygons, but this is a start.
2020-12-09 16:15:08 -08:00
Dustin Carlino
6e6e975923
There's no way it's this easy to add music... (#417) 2020-12-09 13:46:27 -08:00
Dustin Carlino
737b35f68d Document --scale_factor flag for #381 and #415 2020-12-08 14:54:42 -08:00
Dustin Carlino
c8a37a27a0 Create 3 new small maps of Seattle for the experiment. Notably, 2 of
them simulate fully with --infinite_parking, and SLU makes it to about
4pm, so these might have some other interesting use...
2020-12-07 20:58:04 -08:00
Dustin Carlino
a88fef0874 Update minimap style and other bits from Figma, better snowflakes 2020-12-07 16:42:41 -08:00
Dustin Carlino
d799b20d93 Refactor colors 2020-12-07 13:57:55 -08:00
Michael Kirk
0e759aa934
replace custom logger with env_logger (#414) 2020-12-07 12:58:47 -08:00
Dustin Carlino
8af6e1343d Serialize game state on native. Figuring out how to do this on web next... 2020-12-07 11:01:43 -08:00
Dustin Carlino
2ebaf99e0d A fresh attempt at finding the root causes of gridlock map-wide 2020-12-01 10:50:05 -08:00
Dustin Carlino
b5ea263fc1 Expose the blocked-by graph through the API, and add root-cause analysis
to the UI debugger. #392
2020-11-30 17:01:15 -08:00
Dustin Carlino
8ee3466815 new release 2020-11-29 17:02:34 -08:00
Dustin Carlino
c450922211 Split out the 15min tool to its own crate. 2020-11-23 17:58:32 -08:00
Dustin Carlino
139d435bd3 Split out the OSM viewer to its own crate, porting over a simple form of current_selection. Temporarily omit the minimap and navigator from it. 2020-11-23 17:58:32 -08:00
Dustin Carlino
ad0d1ae7a4 Split out the OSM parking mapper into a separate app, temporarily
WITHOUT mouseover.
2020-11-23 17:58:32 -08:00
Dustin Carlino
ab2f6fefec Split the controls experiment into a separate binary, get it to draw a
map way more simply than the game
2020-11-23 17:58:32 -08:00
Dustin Carlino
558eb6f716 Extract DrawMap into a separate crate, along with everything else it
depends on.

The goal is to be able to split things like the OSM viewer, parking
mapper, and 15 min tool into separate crates from the game, while still
sharing lots of code.
2020-11-23 17:58:32 -08:00
Dustin Carlino
ed8fe187cc new release 2020-11-22 13:41:58 -08:00
Dustin Carlino
47d09d61f0 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
Dustin Carlino
e6e7ec42ff Collapse two methods in TripSpawner. While we validate a TripSpec, also produce the TripLegs. Also get rid of the stateful TripSpawner entirely. #258 2020-11-18 15:08:06 -08:00
Dustin Carlino
37c132465f Document how simulation spawning works, as a way to think through the next steps towards simplifying it. #258 2020-11-18 14:35:04 -08:00
Dustin Carlino
6a2c391b8b Add a tool to convert maps from JSON back to binary, to enable experiments with modifying parking per buildings. Except... apparently we can't read back in JSON maps?! 2020-11-18 11:34:38 -08:00
Dustin Carlino
32dea68f5d Measure how many simulation events actually result in something
changing. #368
2020-11-16 11:51:24 -08:00
Dustin Carlino
a0daeb2f4b new release 2020-11-15 10:59:36 -08:00
Dustin Carlino
1a0bd1848c Prep for release [rebuild] [release] 2020-11-15 10:16:45 -08:00
Dustin Carlino
5107b0f6c2 Namespace data/player/{edits,camera_state,saves} by city name. #326 2020-11-14 14:29:49 -08:00
Dustin Carlino
6fe49ce0fa Some preps for importing Paris: avoid crashing on some previously unseen
OSM things, and making geojson_to_osmosis handle multiple polygons in
one input file.
2020-11-13 16:31:22 -08:00
Dustin Carlino
f30e1e2fff Dump the entire map to geojson 2020-11-10 13:02:00 -08:00
Dustin Carlino
6ac49c3a50 Document how data/ is arranged. #195 2020-11-09 11:25:36 -08:00
Dustin Carlino
424c9be029 new release 2020-11-08 11:22:25 -08:00
Dustin Carlino
54ced5b5b4 Stub out a native-only UI to download extra cities. Move the config
about what cities somebody has opted into downloading to JSON and a more
common place. #326

Note this is a breaking change for this config file, but I don't think
many people have started using this yet.
2020-11-07 16:20:27 -08:00
Dustin Carlino
104c987edd Import Seattle collision data and convert to the common format. #87 2020-11-06 13:16:50 -08:00
Dustin Carlino
b0bdbf6c1f Change some cities to just use JSON config for importing, instead of boilerplate-filled code. #326 2020-11-06 10:56:36 -08:00
Dustin Carlino
e0a8d82b61 Reorganize polygon files to importer/config, instead of data/input.
Nothing in data/input should be under version control; all of it is
managed by the updater. #326
2020-11-06 10:10:03 -08:00
Dustin Carlino
ad7a25f7f2 Prototype a simple data format for collision data. Import data for Leeds and London. #87 2020-11-05 16:16:40 -08:00
Dustin Carlino
e15efa9002 Organize raw maps by city. With this, data/input/ is totally namespaced by city! Nothing prevents us from having a map named "downtown" in multiple cities now. #326 2020-11-05 14:58:28 -08:00
Dustin Carlino
4f2cda8d53 Reorganize data/system/ files by city! The only interesting change is
abstutil::path_all_maps becoming abstutil::list_all_maps. #326
2020-11-05 14:05:48 -08:00
Dustin Carlino
576e64e246 Consolidate integration tests from the map_tests crate and some of the
stuff smushed into game for some reason
2020-11-05 12:42:52 -08:00
Dustin Carlino
c481567ebb Cut over from Dropbox to S3. #195, #326
Uploading files individually to Dropbox is flaky, and the unique URL per
file complicates data/MANIFEST.

While we're at it, start carving aside a directory structure for keeping
data for the last few releases.

[rebuild] to make sure github actions can download everything
2020-11-02 17:36:02 -08:00
Dustin Carlino
4cd18047bd Fix the random_scenario tool by adding --scenario_name and saving a
binary scenario file
2020-11-02 12:01:37 -08:00
Dustin Carlino
c210b0a1bd new release 2020-11-01 10:30:03 -08:00
Dustin Carlino
f187cf4bd8 Add an API call to export intersection geometry to geojson, for experimental streetmix3d integration.
To get an example:
> cargo run --bin headless -- --port=1234
> curl http://localhost:1234/map/get-intersection-geometry?id=291
2020-10-29 12:00:34 -07:00
Dustin Carlino
b4c39a0850 An initial script to mass import cities. #326 2020-10-26 17:46:53 -07:00
Dustin Carlino
c018de86b1 new release 2020-10-25 17:29:42 -07:00
Dustin Carlino
47fa997f72 Refactor a proper Amenity struct. Leave room for optional raw OSM tags.
Don't expose the tags in the UI yet. [rebuild]
2020-10-25 11:49:46 -07:00
Dustin Carlino
22ae06c3a4 Remove the --pathfinding_upfront option. #312 and #258
Originally, all trips in the entire scenario had their paths calculated
at the beginning of a simulation. The sum time is faster than
calculating them individually, because we could use multiple threads.
But a while ago, this was disabled by default to improve the startup
latency. Especially if a player isn't making it through an entire day
anyway, calculating all of the paths upfront is a waste and slows down
their initial experience.

Now I'm hitting all sorts of bugs with live map edits, because the map
change between initial planning and when a trip starts. Previously, the
PathRequest was calculated up-front and resolved when a trip starts. But
even this PathRequest can become stale. So now always calculate it when
a trip actually starts, looking at the current map. To do this sanely,
totally rip out support for --pathfinding_upfront.

If we really want it later for performance, we could add it back in, and
be very careful about detecting stale PathRequests and recomputing. But
for now, there's no use case for this, so it'd needlessly complicate the
code.
2020-10-22 13:47:03 -07:00
Dustin Carlino
8bc6b09b10 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
Dustin Carlino
422882c03b Ditch cpuprofiler in favor of cargo flamegraph. Add a tool that just
runs a scenario headlessly, since that's easier than sending a few curl
commands to the API. #368
2020-10-15 17:12:38 -05:00
Dustin Carlino
39ec4a13de Import forests as park areas (for Salzburg) and add a warning about JOSM. #366 2020-10-15 15:10:12 -05:00
Dustin Carlino
20b4f15e86 Another attempt to write down a sort of roadmap for modularizing abst 2020-10-14 13:14:53 -05:00