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
Dustin Carlino
c0513a3d64
Reduce time to park/unpark offstreet when --infinite_parking is used.
...
Downtown forms gridock just from everyone pouring into Harborview! The
point of --infinite_parking is to simplify the sim by not modelling the
impact of parking. #368
2020-10-14 12:40:26 -05:00
Dustin Carlino
84a65c293b
Make it easier to test scenario modifiers by specifying them on the CLI
2020-10-14 12:16:38 -05:00
Dustin Carlino
eb7ee6d57d
Fix a few build warnings and breaks, and document the headless server a
...
bit more
2020-10-14 10:46:18 -05:00
Dustin Carlino
aee053312d
Document strategy for resolving gridlock
2020-10-13 11:44:13 -05:00
Dustin Carlino
4d549f80df
A fresh attempt at overviewing the map model docs
2020-10-11 12:54:17 -07:00
Dustin Carlino
b9c8e2231e
new release
2020-10-10 14:02:34 -07:00
Dustin Carlino
a2d36274a2
Prep for release [rebuild]
2020-10-10 13:11:11 -07:00
Dustin Carlino
94449e49e0
Launch the web version! #21
2020-10-09 22:55:13 -07:00
Dustin Carlino
69c8ce4cbe
Before the .wasm loads, display "Loading"
2020-10-07 23:02:10 -07:00
Dustin Carlino
2c3fd09378
Add an example Python tool that works with the JSON map export. Support
...
specifying trip endpoints by building or intersection when importing
traffic demand data.
2020-10-07 15:37:59 -07:00
Dustin Carlino
f258c50595
Organize import blocks using https://github.com/dabreegster/organize_rust_imports
2020-10-05 20:29:22 -07:00
Dustin Carlino
5b84ac897c
new release
2020-10-04 15:34:54 -07:00