Commit Graph

511 Commits

Author SHA1 Message Date
Dustin Carlino
b9770dc4bd plumbing through the commands in spawn, finally... 2018-11-16 13:40:14 -08:00
Dustin Carlino
705adfcf08 representing the preparing-to-bike state in walking sim 2018-11-16 12:07:26 -08:00
Dustin Carlino
a2a6b16fdc plumbing biking option from scenario all the way down... incomplete 2018-11-16 11:31:27 -08:00
Dustin Carlino
fb2ec0bcd0 plumbing some bits for bikes 2018-11-16 10:38:05 -08:00
Dustin Carlino
ee9f2a0430 make a vehicle type for bikes and introduce a cap speed 2018-11-16 09:44:04 -08:00
Dustin Carlino
952e97d942 starting to write down an enum for the massive FSM revamp. having more
reservations about going this direction.
2018-11-15 18:58:03 -08:00
Dustin Carlino
febf3a1cad saving and loading synthetic models 2018-11-14 10:54:07 -08:00
Dustin Carlino
88334d50ca WIP rewriting pathfinding natively in terms of PathSteps 2018-11-13 14:06:52 -08:00
Dustin Carlino
a002e034d7 splitting out physics types 2018-11-13 11:48:35 -08:00
Dustin Carlino
6b5a012038 organizing sim drawing things 2018-11-13 11:38:35 -08:00
Dustin Carlino
11c2bbd11e grouping sim query methods 2018-11-13 11:32:17 -08:00
Dustin Carlino
af7785d6a3 always send along CarState in DrawCarInput, removing an annoying query method 2018-11-13 10:57:28 -08:00
Dustin Carlino
b2e3f25393 moving RNG helpers from sim to abstutil 2018-11-13 10:50:54 -08:00
Dustin Carlino
df5a151f8b rearranging some sim code into make/ 2018-11-13 10:39:42 -08:00
Dustin Carlino
ecae90eb8a refactor scenario instantiate 2018-11-13 10:11:32 -08:00
Dustin Carlino
462539b558 spawning cars at a border 2018-11-13 08:50:12 -08:00
Dustin Carlino
62182e6736 make cars end at borders properly by slightly extending the protocol for routers 2018-11-12 21:05:50 -08:00
Dustin Carlino
7214cd43d2 model cars finishing at a border... with a hack. :( 2018-11-12 20:51:13 -08:00
Dustin Carlino
98620ece6b sending some peds to border nodes, testing it 2018-11-12 17:20:09 -08:00
Dustin Carlino
7f62537085 oops. border could have been represented in sidewalkspot. merge the madness. 2018-11-12 17:01:49 -08:00
Dustin Carlino
257d051585 update walking model to handle ending at a border 2018-11-12 16:45:33 -08:00
Dustin Carlino
70c1fae4f1 encoding ability to go to a border node in scenarios 2018-11-12 16:02:14 -08:00
Dustin Carlino
8e7021e958 update walking model to handle starting at a border 2018-11-12 15:34:09 -08:00
Dustin Carlino
0c95122576 encoding spawn-peds-at-border in scenario layer 2018-11-12 14:11:50 -08:00
Dustin Carlino
7cf6aa0eeb new_trip API was needlessly complicated; ditched start/end_bldg 2018-11-12 13:39:26 -08:00
Dustin Carlino
f577cc9948 consolidate the panic/unwind code 2018-11-12 11:20:26 -08:00
Dustin Carlino
474d92f5db modeling border nodes in map, control, sim, editor layers 2018-11-11 14:49:27 -08:00
Dustin Carlino
40cc81ca6f make intersection policies handle one agent with multiple turns 2018-11-10 15:39:02 -08:00
Dustin Carlino
7ddbd753f4 storing neighborhoods as GPS 2018-11-09 14:12:20 -08:00
Dustin Carlino
9ba9acb3d2 modeling bus lanes 2018-11-07 13:50:22 -08:00
Dustin Carlino
c6cd36071c make the large maps still work: fixes to bus route verification and
degenerate stop sign handling
2018-11-06 12:39:27 -08:00
Dustin Carlino
02f24bfe15 removing annoying duplicated fields in Turn 2018-11-06 09:29:50 -08:00
Dustin Carlino
9f0d3b610a introducing TurnType 2018-11-05 18:42:33 -08:00
Dustin Carlino
bd96b4ff5f storing src/dst intersection with Road directly 2018-11-05 17:39:23 -08:00
Dustin Carlino
9cb1337785 starting a rewrite of the code to find turns between sidewalks, based on
road adjacencies. needs a few more intermediate steps.
2018-11-05 17:15:54 -08:00
Dustin Carlino
aa23d76243 simplify API: PathStep is Copy 2018-11-05 14:37:26 -08:00
Dustin Carlino
d69804e485 fixing chokepoints plugin by looking at paths 2018-11-04 15:25:48 -08:00
Dustin Carlino
376f9bd3c5 new, simple implementation of trace_route and lots of deleted old code 2018-11-04 08:27:35 -08:00
Dustin Carlino
df6628e5b5 preps for filling out pathfind impl 2018-11-03 20:57:58 -07:00
Dustin Carlino
d4dc5fc658 percolating changes to sim layer slowly... 2018-11-03 20:46:41 -07:00
Dustin Carlino
58025c027d fixing trace_route with contraflow on last step 2018-11-03 12:29:00 -07:00
Dustin Carlino
6ecfac0bd3 precomputing canonical pt per trip, since so much stuff kinda cares about it 2018-11-01 17:05:15 -07:00
Dustin Carlino
db34ddb2b7 changing the activity plugin to show a heatmap of what's currently in view 2018-11-01 16:07:48 -07:00
Dustin Carlino
b593d3f5cf WIP plugin to highlight lanes with movement 2018-11-01 14:42:43 -07:00
Dustin Carlino
b7e184eeca adjusting scripts to convert OSM polygons 2018-10-29 15:53:04 -07:00
Dustin Carlino
f8f2ea3f95 switching to a simpler GPS<->Pt2D scheme that's bijective 2018-10-29 15:01:15 -07:00
Dustin Carlino
bb9c98b54e splitting into two Bounds types 2018-10-29 14:16:30 -07:00
Dustin Carlino
cc9f0289ab exporting polygons in the osmosis format... wait, may need to change the
coordinate system first. let's first refactor bounds to be more careful
about existing code.
2018-10-29 12:29:11 -07:00
Dustin Carlino
949529b780 adding some initial neighborhood summary for an a/b test 2018-10-29 11:24:01 -07:00
Dustin Carlino
a45521e1a6 using Timer with read_binary 2018-10-28 17:17:35 -07:00
Dustin Carlino
f011f8f56d making hierarchial progress timer to replace flamegraphs. using in many,
but not all, places
2018-10-28 16:40:37 -07:00
Dustin Carlino
15da2fe9cd using quadtrees to MASSIVELY speed up sidewalk matching 2018-10-28 13:59:54 -07:00
Dustin Carlino
45bd7ee128 eliminate bus stops that dont line up with short driving lanes 2018-10-24 14:59:22 -07:00
Dustin Carlino
740597b64f even more convenient debugging, by marking what agent is being processed everywhere 2018-10-24 13:33:07 -07:00
Dustin Carlino
da786f9348 gather initial summary text for neighborhoods 2018-10-23 16:18:33 -07:00
Dustin Carlino
8a474e16b0 how is a car winding up with negative dist_along? argh, another hacky
epsilon fix
2018-10-22 20:03:39 -07:00
Dustin Carlino
9883da6fa8 fix bugs with follow plugin at the end of the trip 2018-10-22 16:32:58 -07:00
Dustin Carlino
ce9b9da5bb bugfix: find driving lane near destination building 2018-10-22 15:40:16 -07:00
Dustin Carlino
bed21cac17 woops, eagerly evaluating tooltip for parked car 2018-10-22 15:09:12 -07:00
Dustin Carlino
9660794467 show route by trip, not agent 2018-10-22 14:39:25 -07:00
Dustin Carlino
b8fa12d0d5 terminating ped trace_route at the right SidewalkSpot 2018-10-22 14:18:25 -07:00
Dustin Carlino
9c1ae28bf8 ped trace_routes were wrong for contraflow steps 2018-10-22 13:16:30 -07:00
Dustin Carlino
a1ac8cf7dd plugin to show diff for all agents 2018-10-22 11:22:16 -07:00
Dustin Carlino
ba3bcb5087 moving precompute binary to its own crate, adding logging 2018-10-21 11:37:30 -07:00
Dustin Carlino
68b0983436 associate the right map+edits with savestates 2018-10-21 11:14:22 -07:00
Dustin Carlino
050a9a1400 load pre-baked maps. now starting an a/b test is very fast! \o/ 2018-10-20 09:18:57 -07:00
Dustin Carlino
66bbdc0362 script to save all the maps with edits. no loading yet 2018-10-20 09:02:44 -07:00
Dustin Carlino
80121df78c rename data/maps to data/raw_maps 2018-10-20 08:25:49 -07:00
Dustin Carlino
5d010d2580 make a/b test work again... neighborhoods can be kind of poorly defined 2018-10-18 15:44:35 -07:00
Dustin Carlino
10a6ee09d1 debugging why we wound up with disconnected roads, breaking parking seeding... ah, there are roads in the neighborhood without any buildings 2018-10-18 13:57:38 -07:00
Dustin Carlino
bb21c45394 weighted choice for how many cars per building 2018-10-17 16:22:33 -07:00
Dustin Carlino
ec49d2dd20 fix problem with trace_route requesting invalid start dist 2018-10-17 15:27:38 -07:00
Dustin Carlino
452677672f savestate at the end of the step 2018-10-17 15:07:26 -07:00
Dustin Carlino
3968a78166 only allow interactive spawning at the beginning 2018-10-17 15:01:36 -07:00
Dustin Carlino
d897ebfd4b fixing up broken tests... at least making them build :\ 2018-10-17 13:42:07 -07:00
Dustin Carlino
d02c5004f9 clean up Pt2D::from_gps API 2018-10-17 13:14:10 -07:00
Dustin Carlino
b25046bd67 removing old, weird controls for interactively spawning stuff in the UI 2018-10-17 13:06:40 -07:00
Dustin Carlino
fade0f8883 UI plugin to show parked car / building associations 2018-10-17 12:29:46 -07:00
Dustin Carlino
24edfcd784 place parked cars close to buildings, in a stable way 2018-10-17 11:49:15 -07:00
Dustin Carlino
98914ce208 peds only use the car associated with their building 2018-10-17 10:34:02 -07:00
Dustin Carlino
0d33a25d44 calm down DiffWorlds, not every agent has a trip -- buses and parked cars, namely 2018-10-17 10:10:22 -07:00
Dustin Carlino
299c7bdb2f seed parked cars per building, not per spot 2018-10-17 10:01:33 -07:00
Dustin Carlino
7919b0bd8d associating cars with an owner 2018-10-16 17:28:03 -07:00
Dustin Carlino
2c110a58f9 starting a very basic plugin to show differences between trips in parallel worlds 2018-10-16 14:48:41 -07:00
Dustin Carlino
41817d3e91 oops, nonsense option to start moving cars 2018-10-16 12:15:02 -07:00
Dustin Carlino
9400e3d010 refactor: hardcode concrete rng type, remove annoying generic 2018-10-16 12:00:20 -07:00
Dustin Carlino
14c341d86a shuffle parked cars to use without offsetting the RNG 2018-10-16 11:50:16 -07:00
Dustin Carlino
77786c9483 forking RNGs to keep SeedParking consistent 2018-10-16 11:39:16 -07:00
Dustin Carlino
bc48b3189f generate trips to spawn before seeding parking spots, to make trip IDs line up better... 2018-10-14 18:53:39 -07:00
Dustin Carlino
022b78ca34 associate trips with peds and cars more easily 2018-10-14 14:10:46 -07:00
Dustin Carlino
80f6eb95b4 brainstorming edit-invariant trips. initial work to reference TripIDs,
which are independent of mode.
2018-10-14 14:01:03 -07:00
Dustin Carlino
19bcf0199e update map paths in tests 2018-10-13 17:43:52 -07:00
Dustin Carlino
90af8a84c6 woops, car pathfinding shouldnt use bike lanes. and A/B test manager
should set json filename
2018-10-13 16:34:02 -07:00
Dustin Carlino
25a1beba4e generalize traces a bit to handle 0-length turns properly 2018-10-13 16:05:52 -07:00
Dustin Carlino
e4dc075871 WIP trying to solve problem of driving traces not matching up sometimes 2018-10-13 15:41:40 -07:00
Dustin Carlino
f7f9b5ab70 plugin to find and show chokepoints 2018-10-13 15:24:14 -07:00
Dustin Carlino
99559fa578 also retain the logical pieces of a Trace, so we can next find chokepoints 2018-10-13 11:27:22 -07:00
Dustin Carlino
37173fc72c dont savestate at 0s 2018-10-10 16:31:16 -07:00
Dustin Carlino
792c25b40b removing failure crate in sim too 2018-10-10 16:29:43 -07:00
Dustin Carlino
843742b708 adding error messages for map model queries that can fail 2018-10-10 15:58:00 -07:00
Dustin Carlino
e681032866 fix bug where commands scheduled at tick 0 were skipped 2018-10-10 09:27:06 -07:00
Dustin Carlino
6dad7155aa swap sims 2018-10-09 21:44:26 -07:00
Dustin Carlino
4672994777 fixed one problem with ped trace_route... walking model is so complicated. >< 2018-10-09 17:43:22 -07:00
Dustin Carlino
dcbf373896 constructing traces way more directly. still broken for peds. :( 2018-10-09 16:14:48 -07:00
Dustin Carlino
88ac5267d2 include turns in ped route... but oops, this won't work, need to know
contraflow lanes when taking slices
2018-10-09 15:17:17 -07:00
Dustin Carlino
d0f88f8d52 use new Trace for show_route plugin. handle 0-length turns 2018-10-09 14:36:53 -07:00
Dustin Carlino
2716a2272b making trace handle lanes and turns 2018-10-09 13:43:59 -07:00
Dustin Carlino
d3e5fdb7c4 moving on->traversable, in the map model directly 2018-10-09 13:09:26 -07:00
Dustin Carlino
d7a36889b2 some of the pieces to render smart arrows in front of agents 2018-10-09 12:56:58 -07:00
Dustin Carlino
2fffbb53f9 refactoring logic to save stuff 2018-10-08 10:21:13 -07:00
Dustin Carlino
fcfef89760 intermission: handling empty directory listings, menus 2018-10-08 09:45:21 -07:00
Dustin Carlino
7ef462d94d defining a plugin to manage A/B tests 2018-10-08 09:00:55 -07:00
Dustin Carlino
daac00155e start animating the lines 2018-10-06 14:30:57 -07:00
Dustin Carlino
94ac54d7e8 stop using Color and Vec2d types from piston, to slowly move away from dependence on piston 2018-10-05 14:58:48 -07:00
Dustin Carlino
478d12aecb plumb car properties between driving and parking sims. seems simpler... 2018-10-05 12:35:32 -07:00
Dustin Carlino
2b0af3ea52 fixing name of map edits... 2018-10-05 10:58:45 -07:00
Dustin Carlino
2c8aa62f97 describe map edits in GUI 2018-10-04 11:16:00 -07:00
Dustin Carlino
bed2c604f3 directly save control intersection policies, dont need this intermedite savestate struct 2018-10-04 11:05:53 -07:00
Dustin Carlino
53993feebb skeleton of plugin that can manage different map edits 2018-10-02 21:29:50 -07:00
Dustin Carlino
190d9be972 sharing flags for specifying sim to load 2018-10-02 16:34:27 -07:00
Dustin Carlino
04acd6723b rename scenario_name, now that we have scenarios 2018-10-02 16:13:20 -07:00
Dustin Carlino
72d0294efb load named map edits, not a single one 2018-10-02 16:07:48 -07:00
Dustin Carlino
7b718b4621 bundling all map edits together 2018-10-02 15:48:10 -07:00
Dustin Carlino
8badd7a813 show optional sidepanel in UI with current sim score 2018-09-28 07:43:53 -07:00
Dustin Carlino
4f3afa3894 very primitively tracking trip times, only showing in headless 2018-09-28 07:19:16 -07:00
Dustin Carlino
6e0f58f4c6 accept scenarios on the CLI 2018-09-27 14:53:46 -07:00
Dustin Carlino
30362f138d spawn drivers too from scenarios 2018-09-27 14:42:22 -07:00
Dustin Carlino
287528bb66 handle spawn commands in any order 2018-09-27 14:19:25 -07:00
Dustin Carlino
b7a3dc852c spawn walking agents over time 2018-09-27 12:37:03 -07:00
Dustin Carlino
dc6549f726 seeding parked cars in polygon 2018-09-27 12:08:35 -07:00
Dustin Carlino
8e12d4d6f0 interlude: make spawn functions directly populate car_properties 2018-09-27 11:53:51 -07:00
Dustin Carlino
fa1d7e8182 WIP instantiating a scenario 2018-09-27 11:47:29 -07:00
Dustin Carlino
3d2255d728 move wizard to ezgui \o/ 2018-09-25 14:43:56 -07:00
Dustin Carlino
49ab31c1ca woops, was displaying ansi codes in logscroller 2018-09-24 15:42:10 -07:00
Dustin Carlino
d134706db7 bigger FSM for managing scenarios... it initially seems to work? :P 2018-09-24 15:40:37 -07:00
Dustin Carlino
8b5b7d806e moving maps to a subdirectory inside data/ 2018-09-24 14:40:16 -07:00
Dustin Carlino
19e6aaf244 defining scenarios, renaming polygons -> neighborhoods 2018-09-24 14:30:02 -07:00
Dustin Carlino
64e6f6c9cd define a second unused wizard workflow, and move some mostly generic pieces to ezgui 2018-09-24 14:17:29 -07:00
Dustin Carlino
8ffc817501 logging handlers for headless 2018-09-24 10:54:11 -07:00
Dustin Carlino
09c3b017b9 logging in map layer too 2018-09-23 14:15:24 -07:00
Dustin Carlino
e6e1f7cbc5 logging from sim crate, automatically noting the target 2018-09-23 13:56:29 -07:00
Dustin Carlino
bcc65941f3 saving polygon areas 2018-09-19 09:30:01 -07:00
Dustin Carlino
8b0fb9248c using Pt2D in ezgui's API when appropriate 2018-09-18 15:09:17 -07:00
Dustin Carlino
20a1bb7923 dispersing the remainders of map_model::geometry 2018-09-18 14:35:10 -07:00
Dustin Carlino
e4339436fc make bus stops a separate layer to render. easy! 2018-09-15 19:58:25 -07:00
Dustin Carlino
74ad9d0819 split bus stops into their own first-class object in the map model layer 2018-09-15 19:02:10 -07:00
Dustin Carlino
e65f3aecc7 update to rust 1.29, re-run format 2018-09-15 16:54:00 -07:00
Dustin Carlino
5303087fa2 making DrawCar implement renderable 2018-09-13 22:33:58 -07:00
Dustin Carlino
b3d2a5c5be WIP making DrawPed implement Renderable 2018-09-13 22:15:03 -07:00
Dustin Carlino
a059bccfd5 making more plugins initiate themselves, instead of UI doing it 2018-09-13 11:57:18 -07:00
Dustin Carlino
013b3e11c5 pathfinding using bus stops, unused, and not the right interface yet 2018-09-09 14:03:20 -07:00
Dustin Carlino
0b127e979a WIP generalizing pathfinding to have different expansion and costs 2018-09-09 13:15:56 -07:00
Dustin Carlino
630f6504f4 stick in some flamegraph timings to part of map loading 2018-09-08 13:01:39 -07:00
Dustin Carlino
99fe9f170c fixing up tests 2018-09-07 14:08:36 -07:00
Dustin Carlino
58b01fce9e instantiate bus routes from GTFS too 2018-09-07 13:03:50 -07:00
Dustin Carlino
143084a8a9 parse gtfs during map conversion 2018-09-07 11:54:27 -07:00
Dustin Carlino
c1ad5fb39f working on turning GTFS into map model layer bus stops, but interlude of
refactoring a sidewalk pt finder thing
2018-09-06 18:18:56 -07:00
Dustin Carlino
e02ec325de simpler gtfs parsing 2018-09-06 16:48:28 -07:00
Dustin Carlino
1d732c5a3b WIP load gtfs 2018-09-06 14:59:02 -07:00
Dustin Carlino
c5c00d5740 record stack traces 2018-09-06 13:32:35 -07:00
Dustin Carlino
0276dd54aa starting to capture stack traces at runtime 2018-09-05 16:37:18 -07:00
Dustin Carlino
e99d9944e4 using failure crate in sim 2018-09-05 15:21:04 -07:00
Dustin Carlino
a2c7b8b5bd fixing warping peds and preventing it from happening again 2018-09-05 14:22:47 -07:00
Dustin Carlino
fbcc2a9094 unifying WorldView and AgentInfo 2018-09-05 13:10:29 -07:00
Dustin Carlino
62d0c4af15 make simqueue cache dist_along 2018-09-05 12:22:35 -07:00
Dustin Carlino
8547b18650 WIP figuring out why just yielding at stop signs breaks things 2018-09-05 11:57:06 -07:00
Dustin Carlino
551c0c3170 making BusStop a lightweight ID-like thing 2018-09-04 13:21:01 -07:00
Dustin Carlino
11f0f20a3e digging into nondeterminism due to fp issues 2018-09-04 12:56:18 -07:00
Dustin Carlino
686f247b52 adding a test of a ped using the bus 2018-09-04 12:19:28 -07:00
Dustin Carlino
55b02e6c5c making a sample ped using the bus 2018-09-04 11:49:22 -07:00
Dustin Carlino
a74bfe6c92 making peds leave the bus 2018-09-04 11:18:27 -07:00
Dustin Carlino
7e8407466e gluing transit sim to trip manager for boarding a bus 2018-09-04 10:55:44 -07:00
Dustin Carlino
bc9b559701 making the multi-leg trips handle transitions correctly 2018-09-04 10:31:52 -07:00
Dustin Carlino
9d01183a7e introducing some proper multi-leg trips 2018-09-04 10:16:34 -07:00
Dustin Carlino
ae3a293d44 moving most of the parts of spawner that use rng to helpers 2018-09-03 12:47:06 -07:00
Dustin Carlino
3ecad61959 moving more sim spawning methods to helpers 2018-08-31 15:22:35 -07:00
Dustin Carlino
93e4e4217e moving some init helpers to be methods of sim 2018-08-31 15:11:18 -07:00
Dustin Carlino
0205eb8978 splitting out a trip manager from the spawner 2018-08-31 14:13:55 -07:00
Dustin Carlino
c1f87395cc unused, WIP code for peds to wait for, board, deboard buses 2018-08-31 11:23:30 -07:00
Dustin Carlino
c38c9d43ac visualize an agent's path 2018-08-30 15:30:53 -07:00
Dustin Carlino
c685a80a98 moving state to transit model, making router get directives from it 2018-08-30 15:00:52 -07:00
Dustin Carlino
da402dd2c1 making the unit test framework watch for events 2018-08-30 11:36:14 -07:00
Dustin Carlino
63a8171370 recording events that happen each tick 2018-08-30 11:03:58 -07:00
Dustin Carlino
44f02273be starting a transit sim state, so we know when a bus is at a stop, so we can unit test it. ;) 2018-08-29 23:42:16 -07:00
Dustin Carlino
023fa61da6 switching sim tests to inspect state via json 2018-08-29 22:37:21 -07:00
Dustin Carlino
b7379fcdf8 woops, bus length was wrong 2018-08-29 13:40:07 -07:00
Dustin Carlino
90a503559a sim being done doesnt wait for buses, which never stop 2018-08-29 13:34:28 -07:00
Dustin Carlino
bb619a9ddd oops, using the wrong router in lookahead, fixed a bug 2018-08-29 13:26:00 -07:00
Dustin Carlino
aa05519539 woops, forgot to make a bus route to next stop 2018-08-29 13:13:33 -07:00
Dustin Carlino
4840757562 turning assertions in kinemtics layer into nicer errors 2018-08-29 13:05:01 -07:00
Dustin Carlino
b51eb51716 fix bus router; it was starting with the wrong stop 2018-08-29 12:44:39 -07:00
Dustin Carlino
fc2abb1524 silence spammy logs 2018-08-28 14:50:16 -07:00
Dustin Carlino
c9a0ea213b spawning a bus that follows a route 2018-08-28 14:44:11 -07:00
Dustin Carlino
813be332d4 disable stop sign yields; it's uncovering other bugs that i'm not ready to dig into 2018-08-28 13:39:05 -07:00
Dustin Carlino
6e3f246877 make sure we're not exceeding speed limit... 2018-08-28 13:37:14 -07:00
Dustin Carlino
1845e5881b fix bug where cars wouldnt stop for lead vehicles on other lanes, due to lookahead dist confusion 2018-08-28 12:23:06 -07:00
Dustin Carlino
c325f91036 fix a test broken a bit ago 2018-08-28 12:10:15 -07:00
Dustin Carlino
bb15bdb4d4 extracting out router for cars. along the way, kinda rearranging how
mutability and views work
2018-08-28 12:02:52 -07:00
Dustin Carlino
b70648a8d4 print relevant savestate when the sim breaks 2018-08-27 14:18:09 -07:00
Dustin Carlino
9115a9e7f1 use run_until_done in more places 2018-08-27 14:05:05 -07:00