Commit Graph

1155 Commits

Author SHA1 Message Date
Dustin Carlino
79b87d6040 agent follower in sandbox mode 2019-04-25 14:36:47 -07:00
Dustin Carlino
e1a854609c moving agent spawner to sandbox mode 2019-04-25 14:28:36 -07:00
Dustin Carlino
1fabf29747 start the sandbox mode, just with sim controls. remove unused sim score
plugin.
2019-04-25 12:22:12 -07:00
Dustin Carlino
ce25f8bbf6 making menus support multi-line prompts 2019-04-24 16:51:35 -07:00
Dustin Carlino
faea4538a1 remove old unused debug plugins: OSM classifier, geometry validation,
floodfiller
2019-04-24 13:54:40 -07:00
Dustin Carlino
3c2a8feef3 cleaning up apply_map_edits 2019-04-24 13:46:28 -07:00
Dustin Carlino
e86f88199c reset RenderingHints properly for traffic signal editor 2019-04-24 13:10:44 -07:00
Dustin Carlino
0694283b10 detect reverts to original for traffic signal 2019-04-24 13:06:58 -07:00
Dustin Carlino
02e1cd559c moving traffic signal editor into edit mode 2019-04-24 12:58:10 -07:00
Dustin Carlino
81bb9c8d1b moving the stop sign editor into edit mode. figuring out how to plumb show_turn_icons and color_for 2019-04-24 12:04:37 -07:00
Dustin Carlino
2384157108 simplify ezgui API -- event takes &mut EventCtx 2019-04-23 21:28:03 -07:00
Dustin Carlino
138b47512a folding in road editor 2019-04-23 17:29:51 -07:00
Dustin Carlino
1abb5b630a move load edits into new edit mode. remove old plugin. 2019-04-23 17:14:09 -07:00
Dustin Carlino
2affd5f238 put the screensaver and RNG into the SplashScreen state where they belong 2019-04-23 16:56:37 -07:00
Dustin Carlino
2c0c7bfc1d stop calling old UI event from edit mode 2019-04-23 16:48:37 -07:00
Dustin Carlino
74c922daf6 taking over save edits functionality 2019-04-23 16:42:51 -07:00
Dustin Carlino
d771927576 moving the map diffs viewer into a top-level Edit mode 2019-04-23 16:01:33 -07:00
Dustin Carlino
c0947fcb35 refactor tutorial mode impl 2019-04-23 15:48:18 -07:00
Dustin Carlino
6c247d376c clean up ezgui draw() API by putting screencap and naming_hint inside GfxCtx 2019-04-23 15:42:15 -07:00
Dustin Carlino
51db6887fa combine SplashScreen and About modes by adding LogScroller functionality to Wizard natively 2019-04-23 15:30:53 -07:00
Dustin Carlino
410cb17c5f hacky way to split GameState into multiple modules 2019-04-23 15:19:03 -07:00
Dustin Carlino
a8ca4b7dd0 make map edits actually show up reasonably loudly 2019-04-23 14:22:45 -07:00
Dustin Carlino
e627930757 draw text in map-space, except drawing zoomed-in text is extremely slow! 2019-04-23 14:12:30 -07:00
Dustin Carlino
320c91faf7 bam, variable font size 2019-04-22 20:17:18 -07:00
Dustin Carlino
008b2f9de5 preps for variable font size 2019-04-22 20:02:18 -07:00
Dustin Carlino
4eece7bae7 borrow text to draw, stop cloning everywhere 2019-04-22 13:29:24 -07:00
Dustin Carlino
c2ddb7587b make neighborhood polygon points easier to see and manipulate at all zoom levels 2019-04-22 12:51:43 -07:00
Dustin Carlino
26fd30191d removing controls from LogScroller, which doesn't do the right thing and
also crashes if you try to scroll
2019-04-22 11:06:07 -07:00
Dustin Carlino
7c67ceca2d remove UIState trait 2019-04-21 17:38:22 -07:00
Dustin Carlino
b433fc692e delete old tutorial mode, fold splash.rs into main.rs, change flag to
skip the menu
2019-04-21 17:25:18 -07:00
Dustin Carlino
4a9f9f0ae3 start a new tutorial mode 2019-04-21 17:16:50 -07:00
Dustin Carlino
45083198ea load different maps from splash menu 2019-04-21 15:59:04 -07:00
Dustin Carlino
a718717c5b pause game and return to splash screen, but now without scrolling and
with slightly different options
2019-04-21 14:28:41 -07:00
Dustin Carlino
996cab982c cleanly quit from splash menu 2019-04-21 14:18:45 -07:00
Dustin Carlino
adc12f85b9 continue scrolling while about screen is active 2019-04-21 14:16:19 -07:00
Dustin Carlino
c97c189975 about screen 2019-04-21 14:08:45 -07:00
Dustin Carlino
31f9f455bb scroll the map in the background while the splash screen menu is up.
remove screensaver as a plugin.
2019-04-21 13:55:18 -07:00
Dustin Carlino
17870baf9d actually start with a menu. just play and quit right now. 2019-04-21 13:32:28 -07:00
Dustin Carlino
8ff293bdc4 dont plumb last_data through ezgui layer. apps can just... store that themselves. removes unnecessary plumbing. 2019-04-21 13:20:40 -07:00
Dustin Carlino
0b4694dcba start splash screen wrapping everything. doesn't do anything yet 2019-04-21 13:05:03 -07:00
Dustin Carlino
bc47237f8d super basic reset sim function 2019-04-20 16:24:48 -07:00
Dustin Carlino
24d6924231 screensaver mode 2019-04-20 16:00:24 -07:00
Dustin Carlino
4b1107bf57 clean up ezgui runner API 2019-04-20 15:10:03 -07:00
Dustin Carlino
669fd886d5 improve turn markings on lanes 2019-04-20 11:47:42 -07:00
Dustin Carlino
a1176e053b use hotkey color in OSD, to make OSD slightly more readable 2019-04-19 16:05:06 -07:00
Dustin Carlino
beba58924c pedestrian turn arrows 2019-04-19 15:35:51 -07:00
Dustin Carlino
46d24a7c58 compile on mac 2019-04-19 09:23:36 -07:00
Dustin Carlino
dc2649ad59 fix some crashes when spawning agents 2019-04-18 18:42:52 -07:00
Dustin Carlino
5ed6f2256e also spawn peds around an intersection 2019-04-16 13:37:30 -07:00
Dustin Carlino
9a2699aab9 take a single screenshot (hiding menus and stuff) 2019-04-15 10:07:50 -07:00
Dustin Carlino
72ae49e25f draw real map bg by default now 2019-04-13 16:22:37 -07:00
Dustin Carlino
0772e6e3c8 make_arrow only for PolyLine, simplify and improve the result in most
cases
2019-04-12 15:06:44 -07:00
Dustin Carlino
ab2e37e2ab fix the show_route plugin, enter main state from hovering, not inactive 2019-04-12 12:20:36 -07:00
Dustin Carlino
a9afc3efdd improve arrow API, at least -- creating them from a polyline is fine 2019-04-11 17:39:07 -07:00
Dustin Carlino
94b5307828 use the new SharedSidewalkCorner code for turn geometry, at least 2019-04-11 16:38:06 -07:00
Dustin Carlino
b910960640 partly working, disabled rewrite of SharedSidewalkCorner geometry 2019-04-11 12:46:32 -07:00
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