Commit Graph

1099 Commits

Author SHA1 Message Date
Dustin Carlino
d207c3c33a rip out parcels entirely; unused for long time and no anticipated uses 2019-04-11 11:40:37 -07:00
Dustin Carlino
49ec5a312e kind of messy impl for showing a route just by hovering 2019-04-11 10:40:19 -07:00
Dustin Carlino
834384fb10 remove the Trace type rename; serves no purpose. also the unused
stopping_buffer; no more lookahead
2019-04-11 10:27:28 -07:00
Dustin Carlino
c25d544fe2 fixing edits_name in map paths and also supporting Windows backslashes in paths 2019-04-10 11:22:36 -07:00
Dustin Carlino
27fc74c05a implement a stop sign-ish policy 2019-04-10 10:22:13 -07:00
Dustin Carlino
f54443410f draw very basic arrows foreach SpawnOverTime 2019-04-03 17:14:09 +09:00
Dustin Carlino
35d6995a7b starting a plugin to visualize a scenario, by just displaying
neighborhood polygons
2019-04-03 15:03:07 +09:00
Dustin Carlino
d0a3b5c383 lane edit validity 2019-04-03 12:41:10 +09:00
Dustin Carlino
db23ad041d plugin to show map diffs 2019-04-03 11:57:08 +09:00
Dustin Carlino
904d56e563 recalculate DrawTurns upon edits 2019-04-01 13:40:52 +09:00
Dustin Carlino
f3bac035d1 fix mouseover of turn icons by populating list from lane, not
intersection
2019-04-01 12:21:00 +09:00
Dustin Carlino
235125b77f reviving intersection editors, basic functionality there 2019-04-01 10:25:34 +09:00
Dustin Carlino
9744c22955 draw the selected thing as an additional transparent polygon. makes changing lane types reasonable. 2019-03-28 14:28:57 +09:00
Dustin Carlino
b0035cde08 include option for no_edits in menus and make sure we revert things when
loading no_edits
2019-03-20 18:05:14 -07:00
Dustin Carlino
b4c1138baf revive map edits plugin 2019-03-20 17:51:43 -07:00
Dustin Carlino
da3152a0e7 revamp road editor plugin. recalculate DrawMap changes. fixing some
apply_edits bugs
2019-03-18 18:53:32 -07:00
Dustin Carlino
3ea3ea199a completely remove most traces of MapEdits. quietly disconnect some
editor plugins
2019-03-18 15:37:02 -07:00
Dustin Carlino
f99a20163d rip out stubbed MapEdits stuff in sim layer, letting basic UI for
editing work again. only let UI plugins work if sim is empty.
2019-03-18 13:36:46 -07:00
Dustin Carlino
db536a04d5 refactor an exact_slice for polylines 2019-03-15 14:02:43 -07:00
Dustin Carlino
a5a93483c1 prerender neighborhood polygons 2019-03-15 13:47:48 -07:00
Dustin Carlino
961b70d1f4 kind of improved draw_unzoomed, except there are just tons of weird
situations to represent
2019-03-15 13:39:25 -07:00
Dustin Carlino
88c9630f7a check for gridlock every 5m and savestate when it happens 2019-03-15 12:17:35 -07:00
Dustin Carlino
dd198bb37f overly conservative gridlock detection, triggered kind of manually 2019-03-15 12:10:47 -07:00
Dustin Carlino
e6d51cf421 fixing invisible bikes and broken warping 2019-03-14 16:46:09 -07:00
Dustin Carlino
78fe1fcc82 why was tooltip_lines in a different place than everything else? consolidate 2019-03-14 16:14:57 -07:00
Dustin Carlino
17ef2c5a3a separate Queued and WaitingToTurn states for cars. populate
waiting_to_turn in DrawCar
2019-03-13 15:14:49 -07:00
Dustin Carlino
05800e16f9 just step the sim from the UI after spawning stuff. problem solved. 2019-03-12 13:35:13 -07:00
Dustin Carlino
505b0a9496 store events in Sim, not a plugin. switch tutorial mode. 2019-03-12 13:23:39 -07:00
Dustin Carlino
9c3c0cca7c move spawning code to better plugin. also stop spawning individ agents
+TIMESTEP later
2019-03-12 13:11:57 -07:00
Dustin Carlino
5711e343e8 spawn cars around an intersection 2019-03-12 11:06:42 -07:00
Dustin Carlino
417615cf3a porting extract_colorscheme.py to rust 2019-03-11 17:54:37 -07:00
Dustin Carlino
5ca359998c upgrade some dependencies and list data source licenses in README 2019-03-11 16:04:47 -07:00
Dustin Carlino
cab95e91e2 dont redraw on ignored Update events either 2019-03-11 13:15:16 -07:00
Dustin Carlino
387ced08ea dont try to show detailed active traffic heatmap when unzoomed 2019-03-09 12:33:07 -08:00
Dustin Carlino
1f16687c3e flag for num_agents in UI too 2019-03-09 12:23:02 -08:00
Dustin Carlino
1eebea8001 cutting over to new graph search in some cases. adding support for
one-step walking paths.
2019-03-08 10:47:39 -08:00
Dustin Carlino
ce340f5668 more frequent status updates, based on real time passing, not sim time 2019-03-05 17:10:27 -08:00
Dustin Carlino
385a9044db store requests to intersections, as a prep for notifying them when to retry 2019-03-03 20:01:38 -08:00
Dustin Carlino
81d604367e make buses cycle between stops. move the waiting at stop state to
CarState, since idling in Queued doesn't make sense
2019-03-01 15:25:42 -08:00
Dustin Carlino
8d9a44fd76 making sure to call TripManager and publish events for most transitions 2019-02-28 19:07:40 -08:00
Dustin Carlino
50451b6120 make tests build again. cleanup sim::load 2019-02-27 13:16:28 -08:00
Dustin Carlino
17d9a42218 delete the first attempt at a simpler model, the one with time-space intervals 2019-02-27 12:27:47 -08:00
Dustin Carlino
54935ab5de draw unzoomed cars, color peds preparing bikes 2019-02-27 12:23:15 -08:00
Dustin Carlino
f249c6b2d9 call Timer.done automatically using Drop trait. use throwaway less 2019-02-27 12:15:04 -08:00
Dustin Carlino
f6a6bb888e cleanup crate dependencies, fix spawning car from lane, reduce
mutability of debug_car
2019-02-27 12:06:29 -08:00
Dustin Carlino
11c549331e finally, the big cutover! editor and headless work. tests dont compile. 2019-02-27 11:53:45 -08:00
Dustin Carlino
8e522e13dc prepping helpers to spawn ala carte trips 2019-02-27 11:25:13 -08:00
Dustin Carlino
350428b6e9 impl remaining Sim methods 2019-02-27 09:33:49 -08:00
Dustin Carlino
d52be43a30 lift owner into Vehicle 2019-02-27 09:18:30 -08:00
Dustin Carlino
874b3be519 prevent illegal trip from happening, fix bike_to_sidewalk 2019-02-27 09:04:06 -08:00
Dustin Carlino
ba9a545dcf use Path natively in Router 2019-02-27 08:50:26 -08:00
Dustin Carlino
18d00b7a31 more sim API 2019-02-26 23:50:18 -08:00
Dustin Carlino
bf52dd5c1a more carefully filling out the Sim API again 2019-02-26 17:17:16 -08:00
Dustin Carlino
41d23d2e54 properly implementing stuff in Sim so far... removing some half-baked summary stuff 2019-02-26 17:06:06 -08:00
Dustin Carlino
c0c4dbd4d2 impl GetDrawAgents inside Sim 2019-02-26 16:49:30 -08:00
Dustin Carlino
b3b4f82f45 rename CarState enum 2019-02-26 16:41:32 -08:00
Dustin Carlino
c7b1894cd4 bring in few other sim files 2019-02-26 15:04:54 -08:00
Dustin Carlino
df7e9716f4 bring in make/ code from sim, dont use it 2019-02-26 14:43:21 -08:00
Dustin Carlino
b0abf7abff make time private in Sim, force clear API 2019-02-26 14:23:59 -08:00
Dustin Carlino
76ee37c077 get rid of Tick externally 2019-02-26 14:21:57 -08:00
Dustin Carlino
42c7c21246 removing many external dependencies on Tick. moving time parsing to
Duration.
2019-02-26 14:09:08 -08:00
Dustin Carlino
d5181f6bf8 own time inside of Sim 2019-02-26 13:08:56 -08:00
Dustin Carlino
5d033e9bbd speed up spawning with an index of bldg->owned car 2019-02-26 12:24:19 -08:00
Dustin Carlino
37ce6ff357 organizing scenario code a little 2019-02-26 12:14:03 -08:00
Dustin Carlino
8ab4b403fa bike -> ped 2019-02-26 11:43:10 -08:00
Dustin Carlino
e404780c25 bikes pt1 -- start biking 2019-02-26 11:14:28 -08:00
Dustin Carlino
4bf7a6f4ea use scenario for the big run 2019-02-25 20:01:55 -08:00
Dustin Carlino
f1ad9f8b0c port scenario, don't use yet 2019-02-25 19:52:26 -08:00
Dustin Carlino
885f85f5a5 walk after parking 2019-02-25 16:51:28 -08:00
Dustin Carlino
16a6a62ce3 making it easier to get driving pos from parked car 2019-02-25 13:21:42 -08:00
Dustin Carlino
0e7a08a0a3 make peds start and end at buildings... oops, and also start parked cars
from ped. except need something more
2019-02-25 12:37:42 -08:00
Dustin Carlino
41169a7c5b do validation upfront in TripSpawner 2019-02-24 12:34:53 -08:00
Dustin Carlino
3c219a035a use spawner from UI 2019-02-24 12:10:40 -08:00
Dustin Carlino
aea11b72e3 putting together a spawn layer. not using it yet. 2019-02-24 11:15:49 -08:00
Dustin Carlino
0c9b173683 use scheduler for spawning (and retrying) cars 2019-02-23 15:46:28 -08:00
Dustin Carlino
2e37d673b8 port scheduler. use it for spawning peds. 2019-02-23 15:18:03 -08:00
Dustin Carlino
661b486870 WIP bring in trips, just make it build 2019-02-23 14:44:23 -08:00
Dustin Carlino
6de3b08fa7 an attempt to keep mechanics and higher-level planning a bit separated 2019-02-23 14:35:16 -08:00
Dustin Carlino
e7dc9cb644 make peds obey intersections too 2019-02-23 13:36:13 -08:00
Dustin Carlino
4f0e7fb425 reduce viz of parking sim state 2019-02-23 13:10:52 -08:00
Dustin Carlino
ebd9eec3c7 split out intersection sim state 2019-02-23 13:04:00 -08:00
Dustin Carlino
ac4044b087 make peds follow path, ignore intersections, vanish at end 2019-02-23 12:52:21 -08:00
Dustin Carlino
2bca40bbfd skeleton of walking sim, gluing drawing 2019-02-23 12:35:30 -08:00
Dustin Carlino
b6eb62aa62 give commands to spawn peds, but don't do anything with them yet 2019-02-23 11:48:42 -08:00
Dustin Carlino
ce019ed08d deal with case where two cars start parking in the same spot 2019-02-22 20:44:19 -08:00
Dustin Carlino
bb32525e9a roam around for parking 2019-02-22 20:08:17 -08:00
Dustin Carlino
e619a620f3 fix a case with unparking -> last step immediately 2019-02-22 18:55:21 -08:00
Dustin Carlino
3aded47d5f make some cars park when finished. works in most cases. 2019-02-22 15:51:51 -08:00
Dustin Carlino
3bcfcb8c84 pulling path and end_dist into a Router. handling a special case of the
last step
2019-02-22 13:59:37 -08:00
Dustin Carlino
4593e168b0 actually make the parked cars start slowly 2019-02-22 12:38:35 -08:00
Dustin Carlino
a928b32ebc preps to start some parked cars 2019-02-22 12:02:12 -08:00
Dustin Carlino
e778241216 making a Sim to wrap driving and parking. seeding some parked cars. 2019-02-22 11:31:36 -08:00
Dustin Carlino
6673807422 bring in parking code and some structures needed for it. dont use it yet. switch to Vehicle. 2019-02-22 11:09:33 -08:00
Dustin Carlino
ff8ddc94b5 splitting DES code into modules more properly 2019-02-22 10:45:58 -08:00
Dustin Carlino
cbc25cff8b traffic signals allowing over-time 2019-02-21 22:27:32 -08:00
Dustin Carlino
29f03043a3 cleaning up some edge cases in spawning 2019-02-21 19:17:52 -08:00
Dustin Carlino
63b5c341bc smooth out the position of queued cars when they become unblocked...
kind of. some bugs emerge -- clean up code to track them down...
2019-02-21 19:09:38 -08:00
Dustin Carlino
d5e30b6e06 allow more turns at a time, dont avoid gridlock 2019-02-21 18:02:59 -08:00
Dustin Carlino
9a26bc3659 queues per turn. all the prep for more complex intersections. 2019-02-21 17:36:33 -08:00
Dustin Carlino
a45b4510b6 speed up neighborhood<->building and road matching during scenario instantiation 2019-02-21 11:33:56 -08:00
Dustin Carlino
70cfcc9b45 convert all synthetic maps during precompute.sh; they keep getting out of sync with map format changes 2019-02-21 10:25:59 -08:00
Dustin Carlino
5e9d4ca7f7 populate more turns so that lane-changing effectively happens when
turning, but keep the lane->lane semantics
2019-02-20 17:03:26 -08:00
Dustin Carlino
86cb58b5f1 first make a DirectedRoad ID, finally 2019-02-20 16:23:24 -08:00
Dustin Carlino
8112df11d2 different vehicle lengths 2019-02-20 15:35:11 -08:00
Dustin Carlino
55c6e20db7 end distance, too 2019-02-20 15:01:56 -08:00
Dustin Carlino
28b2ca5e9f fix a case where spawning moved existing cars 2019-02-20 14:52:05 -08:00
Dustin Carlino
e3ad0ed02a prevent spillover by stopping cars from starting a turn when there's no room at the end 2019-02-20 14:37:18 -08:00
Dustin Carlino
fd7b20b01c spawn cars anywhere along first lane. seems to work! 2019-02-20 13:49:15 -08:00
Dustin Carlino
890eb070b0 preps to spawn cars anywhere along the first lane 2019-02-20 12:27:01 -08:00
Dustin Carlino
09af9e6cda removing the log crate completely. remove the DisplayLogs plugin, since
it's unused and unclear how it should work going forwards
2019-02-20 11:56:54 -08:00
Dustin Carlino
40206eccc3 removing most log usage from editor 2019-02-20 11:29:36 -08:00
Dustin Carlino
e4ef1ec79d removing log from sim 2019-02-20 11:22:51 -08:00
Dustin Carlino
a026c02890 removing log crate from map_model 2019-02-20 11:03:34 -08:00
Dustin Carlino
c2791a6ead using Warn in all of geom 2019-02-20 10:36:58 -08:00
Dustin Carlino
1848387ef0 starting to organize warnings in a much more reasonable way. 2019-02-20 10:08:02 -08:00
Dustin Carlino
381da1083b split up code 2019-02-20 08:23:36 -08:00
Dustin Carlino
46fb2c94b5 implement DrawAgents 2019-02-20 08:11:03 -08:00
Dustin Carlino
e80eef304c dont spawn in front of incoming cars 2019-02-19 20:44:33 -08:00
Dustin Carlino
c5034494a9 spawn lots more cars to stress test 2019-02-19 20:22:08 -08:00
Dustin Carlino
ded94d91d6 simplifying unzoomed mode again 2019-02-19 20:06:06 -08:00
Dustin Carlino
b254316934 drawing cars smoothly across steps 2019-02-19 18:06:20 -08:00
Dustin Carlino
02bc78002f drawing individual cars, without handling transitions yet 2019-02-19 17:26:23 -08:00
Dustin Carlino
6aafb908b6 randomize spawned paths a bit 2019-02-19 16:17:26 -08:00
Dustin Carlino
28984075cc spawn some conflicting traffic 2019-02-19 16:10:00 -08:00
Dustin Carlino
23aea90b2d draw freeflow group better 2019-02-19 15:46:50 -08:00
Dustin Carlino
8ec2303f48 basic intersection modeling with new DES 2019-02-19 14:52:53 -08:00
Dustin Carlino
7a8088f772 actually, trying a new idea for a DES model 2019-02-19 14:34:39 -08:00
Dustin Carlino
af59307c71 adjust the debug_areas stuff when unzoomed 2019-02-18 19:06:41 -08:00
Dustin Carlino
e4e07e7ba6 make it easier to debug areas 2019-02-18 15:56:15 -08:00
Dustin Carlino
49d00c8907 binary search intervals 2019-02-18 14:53:57 -08:00
Dustin Carlino
914f5a6642 check for cars too close during the stress test 2019-02-18 14:38:57 -08:00
Dustin Carlino
2e967af830 robustifying car following even more. passes all tests and looks pretty
good!
2019-02-18 14:18:50 -08:00
Dustin Carlino
c7ee1fa051 investigating problems with more followers. some fixes. 2019-02-18 11:08:31 -08:00
Dustin Carlino
633ddde2f3 detect intersection of two freeflow intervals 2019-02-17 20:12:30 -08:00
Dustin Carlino
27ad53e9e6 WIP runtime checks that nothing's too close 2019-02-17 19:34:01 -08:00
Dustin Carlino
b45766e09a handling some weird cases, making test pass everywhere 2019-02-17 19:19:08 -08:00
Dustin Carlino
b8fc610997 moving interval validations around. no point in doing them up-front.
remove useless hit_speed.
2019-02-17 18:30:02 -08:00
Dustin Carlino
43dad4090a factor in dist_behind to original intersection check. looks really good
overall! but not robust yet
2019-02-17 17:22:30 -08:00
Dustin Carlino
8944438164 fix end time for all intervals 2019-02-17 17:04:00 -08:00
Dustin Carlino
46a8414f21 make quadratic dist work for DES. seems to work! but need to adjust ALL
intervals...
2019-02-17 16:48:37 -08:00
Dustin Carlino
e1259587cb updating OSM source. some tweaks to make things work. 2019-02-17 15:58:04 -08:00
Dustin Carlino
5830908604 version control checksums of screencaps for all maps... well,
still not small_seattle. :P
2019-02-17 14:27:48 -08:00
Dustin Carlino
ad16247695 active agents per road in unzoomed mode 2019-02-16 17:55:02 -08:00
Dustin Carlino
c388d1f772 disabled DES quadratic distance... but some other improvements 2019-02-15 14:57:50 -08:00
Dustin Carlino
cee4c8750e spawn a few more cars when there's room 2019-02-15 13:15:17 -08:00
Dustin Carlino
8aee575056 make follower proceed to end of lane after following. and classify
intervals for easier reading.
2019-02-15 13:05:53 -08:00
Dustin Carlino
6b0a70268c clean up some interval epsilon stuff a bit 2019-02-15 12:55:36 -08:00
Dustin Carlino
cb6595574d make basic car following work on short lane. has epsilon hacks kind of
spread around, but seems solid.
2019-02-15 12:24:27 -08:00
Dustin Carlino
5a350f5ec2 DES cars cross short roads correctly! 2019-02-15 11:26:31 -08:00
Dustin Carlino
ab5fa6025e slight optimization to DrawBuilding 2019-02-15 09:06:48 -08:00