Dustin Carlino
e99def9124
Switch all error handling to anyhow. Nothing consumes our code as a
...
library yet, so this is a step forward from string errors. Manually
tested how errors show up (including the nice with_context bit).
2021-01-05 11:35:03 -08:00
Dustin Carlino
bc3c3dfd6c
Rename phase -> stage in the JSON traffic signal format. Meant to do this a long time ago. #295
...
Make this schema change backwards compatible for player edits.
2021-01-04 11:18:17 -08:00
Dustin Carlino
d529ae2e5c
Upgrade usvg and rand
2021-01-04 09:19:54 -08:00
Dustin Carlino
965d999199
Upgrade misc other dependencies
2021-01-03 20:01:27 -08:00
Dustin Carlino
2945913fb3
Upgrade rand
2021-01-03 19:48:03 -08:00
Dustin Carlino
5c04923dff
Split abstio crate out from abstutil. #253
...
widgetry, geom, and abstutil may wind up on crates.io in some form to
let other projects use widgetry. abstio has A/B Street-specific tricks
for reading data on native/web. Note widgetry still depends on abstio,
will figure out how to clean that up next.
2021-01-02 10:28:00 -08:00
Dustin Carlino
50ec6830c0
Batch API for all trip time lower bounds. #392
2020-12-28 13:40:44 -08:00
Dustin Carlino
42d833ec3f
Return an error when a GET param in an API call is missing, instead of crashing
2020-12-17 10:33:49 -08:00
Dustin Carlino
d4fa67ac87
Make the one-mode path guesses more precise in their start/end locations. Noticeable effect is in the freeform agent spawner, the paths actually go between buildings now, instead of lane starts.
2020-12-16 15:49:03 -08:00
Dustin Carlino
7c973ecacf
Expose continuous distance crossed for vehicles. #392
2020-12-16 15:29:55 -08:00
Dustin Carlino
b39aa2a45f
Expose continuous distance crossed for pedestrians. #392
2020-12-16 15:09:06 -08:00
Dustin Carlino
6e275a0a60
Track Path's total_length and crossed_so_far a bit more precisely at the beginning/end of the path, towards #392
2020-12-16 14:45:20 -08:00
Dustin Carlino
a0555d1df5
Add an API call to estimate the best-case duration of a trip. #392
2020-12-16 09:42:50 -08:00
Michael Kirk
8b9b3ce2b1
census areas import ( #425 )
...
#424
2020-12-14 17:48:47 -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
3eda17627b
Handle binary or JSON scenarios
2020-11-30 14:00:19 -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
3905131fe4
Track and expose total trip distance in the API. #392
2020-11-19 10:40:00 -08:00
Dustin Carlino
915e12ff7e
Remove PersonID from Scenario; the simulation will assign IDs sequentially. They're redundant. #258
...
Slightly reduces scenario file size, and simpler code to construct
scenarios.
2020-11-18 14:13:25 -08:00
Dustin Carlino
b9bf23e420
Downgrade tokio. aa966d7533
broke headless and updater. Blocked on https://github.com/seanmonstar/reqwest/issues/1060
2020-11-12 10:31:52 -08:00
Dustin Carlino
7854823c28
Change the to/from permanent map edits APIs to be a little more ergonomic
2020-11-12 10:13:32 -08:00
Dustin Carlino
aa966d7533
Upgrade a bunch of dependencies
2020-11-11 12:02:53 -08:00
Dustin Carlino
f30e1e2fff
Dump the entire map to geojson
2020-11-10 13:02:00 -08:00
Dustin Carlino
cda586dfc9
Cleanup by moving some methods to belong to MapName. #326
2020-11-05 14:18:13 -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
e17273dc31
Expose distance crossed per agent in the API.
2020-11-05 12:19:58 -08:00
Dustin Carlino
67530bec07
Future-proof file organization by changing map_name from a string to a
...
struct. Whatever choices we make next about naming cities hierarchially
or not can be managed in just one place. #326
This is a pretty huge change, but the compiler gives reasonable
confidence it's correct. More bugs are likely to crop up in the next
step, when filenames start being namespaced by the city too.
2020-11-04 17:26:32 -08:00
Dustin Carlino
1707b6fe37
Consolidate some PolyLine geometry code, and refactor some geom->geojson
...
mappings
2020-10-29 12:23:39 -07: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
3ed7e73aa8
Use a u64 RNG seed, not a u8
2020-10-29 09:25:07 -07:00
Dustin Carlino
a579cb4f74
Add a sanity check to catch live map edit bugs faster. Deleted turns
...
aren't getting cleaned up properly.
Also fix broken headless build, woops.
2020-10-21 10:23:56 -07:00
Dustin Carlino
c435d3fce2
Consolidate two scenario modifiers, allowing all walking trips to be cancelled, for #368
2020-10-19 18:03:17 -05: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
b3525f95a2
Enable profiling in the headless server. #368
...
(Although actually, I'm liking cargo flamegraph better than cpuprofiler.
Might rip out the support for cpuprofiler.)
2020-10-15 16:21:57 -05:00
Dustin Carlino
ab270ce9f5
Some versions of python apparently need to explicitly be told utf8
...
encoding to read a .json
2020-10-14 11:28:02 -05:00
Dustin Carlino
cd1d790659
And fix the headless example scripts to not pass an argument to headless, woops
2020-10-14 10:49:24 -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
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
d844646cb9
Implement per-road caps for #325 , necessitating a tiny map edits version
...
bump.
2020-10-06 14:17:55 -07:00
Dustin Carlino
6fd8422cf5
Woops, fix headless build break
2020-10-06 13:05:23 -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
9ccbf40dba
Merge the concept of cancelled and aborted trips, in preparation for storing the reason for cancellation, for #312
2020-10-03 10:41:53 -07:00
Dustin Carlino
cfa203a4d3
Add an API call to dump all traffic signals' current state
2020-10-02 21:03:29 -07:00
Dustin Carlino
f951b296f7
Cap all roads in the Python experiment. Right now, this'll unintentionally merge adjacent zones with the same cap into zones.
2020-10-01 15:13:18 -07:00
Dustin Carlino
4e4e11b404
A few documentation adjustments after
...
5de05a6fe3
2020-09-29 09:21:36 -07:00
Dustin Carlino
2c0f3a13f7
Distinguish capped/uncapped trips in experiment results. #325
2020-09-24 18:08:05 -07:00
Dustin Carlino
0d8ab143f9
Slightly better error handling in the API
2020-09-24 17:26:46 -07:00
Dustin Carlino
e1b079900a
Don't touch SimFlags in headless at all
2020-09-24 17:10:07 -07:00
Dustin Carlino
da1921ae74
Do a few rounds of capping in the experiment. #325
2020-09-24 13:24:31 -07:00
Dustin Carlino
c9fbf67989
Rearrange headless API to explicitly apply edits at the same time as
...
specifying the scenario to run. #325
2020-09-24 13:14:49 -07:00