Commit Graph

980 Commits

Author SHA1 Message Date
Dustin Carlino
bc4ba647bc caching Renderables for agents 2019-02-01 15:10:35 -08:00
Dustin Carlino
ff80d0d445 disable time travel recording by default 2019-02-01 14:38:55 -08:00
Dustin Carlino
3451b65823 lazily compute SimStats 2019-02-01 14:31:35 -08:00
Dustin Carlino
58c4cb5e1b dont look up full SimStats unless needed 2019-02-01 13:45:37 -08:00
Dustin Carlino
92134f9125 get halloween working with small lines. refactor a Line::maybe_new. 2019-02-01 12:12:40 -08:00
Dustin Carlino
097d1591e1 load previous/next initial map. refactor this functionality for sim
savestates
2019-02-01 11:03:57 -08:00
Dustin Carlino
c4d09b6e4f rearrange colorscheme ownership 2019-01-31 23:28:26 -08:00
Dustin Carlino
64573ea0ea own canvas inside of ezgui, not in applications. lots of refactoring
unlocked now...
2019-01-31 22:33:36 -08:00
Dustin Carlino
8d897f2266 speed up mouseover in main UI, and do it any zoom level now 2019-01-31 16:41:11 -08:00
Dustin Carlino
142bd57aa0 refactoring some approx_eq EPSILON_DIST checks 2019-01-31 15:10:33 -08:00
Dustin Carlino
32a308f120 dont crash when warping to a thing twice 2019-01-31 14:57:52 -08:00
Dustin Carlino
b9e96618da stop abusing max distance for path tracing. disable some newly brokenish stuff 2019-01-31 13:09:15 -08:00
Dustin Carlino
7519fdf584 using strong Distance types in many more places 2019-01-30 15:54:54 -08:00
Dustin Carlino
0c6f7c424d removing dimensioned from last few crates 2019-01-30 14:29:42 -08:00
Dustin Carlino
ac2b8f5a9a switch to new units in sim... and editor, darnit, accidentally ammended
commit
2019-01-30 14:19:48 -08:00
Dustin Carlino
2a70efde5f simplify: slice can fail. all the callers dont have to check for EPSILON_DIST
(also, disable not-so-useful geom unit tests that use randomness)
2019-01-29 18:53:04 -08:00
Dustin Carlino
a98383db8f dealt with cases where a pair of intersections has two roads between them 2019-01-29 15:34:53 -08:00
Dustin Carlino
103a4ca053 ensuring no tiny Lines exist in most cases 2019-01-29 13:23:54 -08:00
Dustin Carlino
7495d29288 handle a case when drawing shared sidewalk corners 2019-01-28 23:57:39 -08:00
Dustin Carlino
2e982ec827 making an infinite line type, to be less confusing 2019-01-28 18:28:05 -08:00
Dustin Carlino
f2d8e77759 figured out the source of a weird polyline bug, adding checks to avoid
it in the future
2019-01-26 16:27:11 -08:00
Dustin Carlino
c58113d631 port the simpler intersection merging to InitialMap-world. try the
geometry restoration... wait, need more stuff first
2019-01-26 14:59:18 -08:00
Dustin Carlino
ab6796d56c make intersection actually be a polygon now 2019-01-26 13:31:29 -08:00
Dustin Carlino
5ca066a7df dont even draw parcels by default 2019-01-26 10:58:08 -08:00
Dustin Carlino
476a4346e8 disable slow and unused startup step, and add more timing in DrawMap 2019-01-26 10:39:43 -08:00
Dustin Carlino
2a59f90abb do basic polygon batching for cars 2019-01-25 14:23:39 -08:00
Dustin Carlino
a999cdd57b prerender intersection stuff too 2019-01-25 12:10:30 -08:00
Dustin Carlino
9cd2795329 prerender lane polygons for MASSIVE win 2019-01-25 11:24:43 -08:00
Dustin Carlino
8afe83162b collapsing all lane markings into a single Drawable 2019-01-25 11:21:46 -08:00
Dustin Carlino
f59879011d prerender buildings and parcels 2019-01-25 10:50:40 -08:00
Dustin Carlino
25bc02fb32 using prerender for lanes... a good start. 2019-01-25 10:38:40 -08:00
Dustin Carlino
623e578665 inverting the ezgui/GUI control to plumb Prerender 2019-01-25 10:19:58 -08:00
Dustin Carlino
6af551bc95 plumbing colorscheme early to support prerendering in DrawMap construction... 2019-01-25 09:46:19 -08:00
Dustin Carlino
b21852875e batch lots more easy things... down from 760 calls for a scene to 158 2019-01-25 08:39:45 -08:00
Dustin Carlino
a065c63ad7 batching sidewalk lines. fix the very silly batching bug 2019-01-25 08:10:09 -08:00
Dustin Carlino
9ac0674e62 stop rounding yellow center lines. the roundness gets cut off by the intersection anyway. 2019-01-24 18:14:35 -08:00
Dustin Carlino
c7eaa2cf55 exposing some basic drawing performance stats... 2019-01-24 16:21:56 -08:00
Dustin Carlino
237a19b6ec appease the clippy 2019-01-24 16:17:22 -08:00
Dustin Carlino
559d568acd make Polygon store points and indices. don't use this fact for rendering
just yet.
2019-01-24 15:13:27 -08:00
Dustin Carlino
9182a57af5 enabling draw_arrow again... math is not quite great 2019-01-24 10:01:30 -08:00
Dustin Carlino
8d270574ec revamping fork math 2019-01-23 17:27:34 -08:00
Dustin Carlino
a25f358295 hacking around top menu issue mostly 2019-01-23 16:19:32 -08:00
Dustin Carlino
f1b81456a6 calculating line height from the font 2019-01-23 14:02:43 -08:00
Dustin Carlino
9c94e2f374 simplify text API and storage to have one bg color per line 2019-01-23 13:38:24 -08:00
Dustin Carlino
9b14206be0 implementing GfxCtx forking... aka, reset uniforms 2019-01-23 12:22:26 -08:00
Dustin Carlino
fb7a809892 tweaked camera based on canvas. workable, not great. 2019-01-22 17:12:48 -08:00
Dustin Carlino
08db3bf27f rendering traffic signal diagrams with lights per lane... needs work, so
disabling it
2019-01-22 11:58:56 -08:00
Dustin Carlino
6dee096a0e zorder for cars/peds too... had to rework get_objects_onscreen 2019-01-21 14:51:57 -08:00
Dustin Carlino
1e7b8f2dfc end interactive trips at border nodes 2019-01-21 13:53:24 -08:00
Dustin Carlino
a129adeaa1 refactoring spawning plugin so far 2019-01-21 12:43:35 -08:00
Dustin Carlino
c87c7b32ae make interactive driving trips still end at a building 2019-01-21 12:21:26 -08:00
Dustin Carlino
4b42f70da4 actually spawning walking trips... 2019-01-21 11:59:59 -08:00
Dustin Carlino
0d297b9dac let mouseover happen at low zoom for the agent spawner plugin 2019-01-21 11:47:44 -08:00
Dustin Carlino
f58f8a7ef1 make single spawn work from bldg to bldg or driving lane to driving lane 2019-01-21 11:34:22 -08:00
Dustin Carlino
998c27ddff starting a plugin to interactively spawn specific agents 2019-01-20 19:31:07 -08:00
Dustin Carlino
11045fd44f zorder for lanes and intersections 2019-01-20 14:15:50 -08:00
Dustin Carlino
f018158aa3 remove copyright comment from remaining files 2019-01-20 13:57:55 -08:00
Dustin Carlino
ae6438e8b7 show sidewalk corners when zoomed out 2019-01-19 21:19:49 -08:00
Dustin Carlino
4ca6571e2f warp by stable intersection ID 2019-01-19 21:10:54 -08:00
Dustin Carlino
fad89ddffa include more pts in the intersection polygon to only cover area from the original road bands. also fix a bug deduping points in the polygon. 2019-01-19 20:56:03 -08:00
Dustin Carlino
e403a6388d a much simpler, general approach for intersection polygons. needs a
little work, but it replaces lots of other code.

disabled, but adding a few more cases to the list of manually merged short roads
2019-01-19 19:07:07 -08:00
Dustin Carlino
0c32faa40c moving neighborhood to map_model crate, so convert_osm can stop depending on sim 2019-01-17 15:29:00 -08:00
Dustin Carlino
63c24ce5a7 improve robustness of image diffing script, even when intersection IDs change 2019-01-17 14:29:31 -08:00
Dustin Carlino
761008b3ac make raw roads directly refer to intersections 2019-01-17 11:30:58 -08:00
Dustin Carlino
3422877d3d adding a stable ID for raw roads and intersections. way easier to refer to things in the midst of deletions. 2019-01-17 11:10:05 -08:00
Dustin Carlino
dfe50dcee4 reasonable support for roundabouts... collapse it to a single
intersection, which usually gets treated like a stop sign, and has
reasonable geometry
2019-01-16 15:05:44 -08:00
Dustin Carlino
802cf333b8 list possible easy simplifications in the geom validator plugin 2019-01-16 12:48:40 -08:00
Dustin Carlino
e8e119dbbf remove all the polyline shifting/polygon variants that might fail 2019-01-15 15:25:00 -08:00
Dustin Carlino
aae021f478 oops, gigantic change trying to handle bad lane geometry
- debug points and triangles of lanes
- disabled fixes for polylines with points that change angles by 180 and can be fixed by swapping them
- organize intersection polygon code in different methods for the degenerate cases
- try something new for degenerate-two's... fix road centers, then calculate intersection corners. it fixed a few spots!
2019-01-15 13:48:15 -08:00
Dustin Carlino
3cc1ccfd26 annotate screencaps with an intersection in the shot 2019-01-15 11:00:13 -08:00
Dustin Carlino
66ef25c8aa tool to compare screencaps 2019-01-15 10:06:54 -08:00
Dustin Carlino
09a3aed407 import raw map to synthetic 2019-01-15 09:37:23 -08:00
Dustin Carlino
bae23f79da even better progress, and make it easier to deal with failed montage 2019-01-14 12:01:56 -08:00
Dustin Carlino
299f05e0a2 force showing full detail when screencapping at low zoom 2019-01-14 11:24:07 -08:00
Dustin Carlino
dbfc1ec0d2 combine the tiled images 2019-01-14 11:13:48 -08:00
Dustin Carlino
afa159abb4 ezgui-driven magic for screencapping EVERYTHING 2019-01-14 08:46:40 -08:00
Dustin Carlino
e607c6574a actually, use screengrab 2019-01-13 17:54:58 -08:00
Dustin Carlino
a94fddb209 try screenshot capture again. it's very slow and broken. 2019-01-13 15:40:58 -08:00
Dustin Carlino
66006618df hold a key to show traffic signal diagram 2019-01-13 14:14:07 -08:00
Dustin Carlino
f1536fa260 make sure sidewalk corner polygons dont explode out of the original intersection polygon 2019-01-12 23:31:35 -08:00
Dustin Carlino
665bf77345 adjust sidewalk corner colors 2019-01-12 23:19:30 -08:00
Dustin Carlino
930107793b dedupe pts from intersection polygons without making all Pt2Ds have careful resolution yet. sidewalk corners now need work... 2019-01-12 23:17:05 -08:00
Dustin Carlino
d20e433e7d remove wrappers from Turn -- force callers to think about the geometry
more
2019-01-12 20:00:22 -08:00
Dustin Carlino
73714ec173 plugin to debug polygons in depth 2019-01-12 15:26:59 -08:00
Dustin Carlino
daa55026ae making shift left/right for polyline too 2019-01-12 14:13:15 -08:00
Dustin Carlino
caf4006837 explicitly making shift right/left for Line 2019-01-12 13:48:14 -08:00
Dustin Carlino
bc6a61fc74 WIP: better sidewalk corner geometry. it's a start. 2019-01-12 13:40:06 -08:00
Dustin Carlino
25d38adf27 dont recalculate mouseover when plugins request it if zoom is too low 2019-01-12 10:52:23 -08:00
Dustin Carlino
c50013c583 dont mouseover parcels 2019-01-12 10:47:36 -08:00
Dustin Carlino
47b5d2e4aa upgrade all other deps, except for piston/winit stuff 2019-01-11 12:36:20 -08:00
Dustin Carlino
b94e0db5ec fix turn cycler panic... yet again 2019-01-11 12:24:56 -08:00
Dustin Carlino
c09fa98f57 upgrade a few dependencies 2019-01-11 10:55:58 -08:00
Dustin Carlino
2bc97fa609 adjust stuck car color, avoid weird black. and small clippy fixes 2019-01-10 19:58:12 -08:00
Dustin Carlino
eefd9abdc6 render cars using slice 2019-01-10 17:11:34 -08:00
Dustin Carlino
884c47cc6b just focus on one intersection... 2019-01-10 10:06:37 -08:00
Dustin Carlino
cb47c4b13d debug intersection polygon 2019-01-10 09:57:47 -08:00
Dustin Carlino
0522829d9a draw my own arrows, which don't exceed distance too much... except they
dont work in all cases, so disable
2019-01-09 14:59:46 -08:00
Dustin Carlino
34aa0c0d74 hide areas by default 2019-01-09 12:53:10 -08:00
Dustin Carlino
f8c7ed5ea8 woops, turn cycler assumed everything's a traffic signal 2019-01-09 12:46:44 -08:00
Dustin Carlino
37c9d01a6f declare extra space needed by modal menus. dont stretch menus to cover
that amount... yet.
2019-01-09 12:26:16 -08:00
Dustin Carlino
5ef73ee8eb show legend by default in tutorial mode 2019-01-01 14:56:06 -06:00
Dustin Carlino
71cf5116d6 new modal plugin to show a legend for explaining colors of stuff.
partially done.
2018-12-26 20:06:51 -06:00
Dustin Carlino
a232d023ff draw signal diagram exactly below modal menu 2018-12-26 19:11:03 -06:00
Dustin Carlino
1f60a718de be able to draw signal diagram farther down, as caller demands 2018-12-26 18:48:13 -06:00
Dustin Carlino
a0fefc377f draw signal diagram on the right side of the screen 2018-12-26 18:39:11 -06:00
Dustin Carlino
ed318f0c9e compute full width needed for signal diagram, including labels 2018-12-26 15:08:51 -06:00
Dustin Carlino
976f210b9a stack modal states... also fix the show score plugin drawing a bit 2018-12-25 10:27:38 -08:00
Dustin Carlino
972a0d2fa2 hide debug top menu when appropriate 2018-12-24 19:32:56 -08:00
Dustin Carlino
e91b6c1064 move debug objects plugin to... well, debug control set 2018-12-24 19:24:01 -08:00
Dustin Carlino
92c0af2f41 solved the mystery of the spurious recompiles -- editor_state and color_scheme need to live outside the crate root, so modtimes are nice 2018-12-24 19:16:38 -08:00
Dustin Carlino
0bcda36380 teardown the wretched UIState trait 2018-12-24 19:13:36 -08:00
Dustin Carlino
8708bc750b now we can make PluginCtx just once 2018-12-24 18:54:46 -08:00
Dustin Carlino
8913ea44e3 brief interruption to plumb primary_plugins to plugins that need it in a different way outside the ctx, to avoid annoying borrow issues 2018-12-24 18:51:51 -08:00
Dustin Carlino
7aed6fa690 disable debug controls in tutorial mode... except for the top menu fixes 2018-12-24 18:26:11 -08:00
Dustin Carlino
7766c80f25 cam_zoom doesnt need to be repeated in RenderOptions. 2018-12-24 18:16:15 -08:00
Dustin Carlino
d56f2fad1c reorg time travel plugin. at last, teardown the old active_plugin cruft. 2018-12-24 18:08:52 -08:00
Dustin Carlino
c83c4c4899 collapse ViewMode, moving ambient plugins out 2018-12-24 17:57:47 -08:00
Dustin Carlino
fc15b28826 lift the special case search plugin out of simmode. 2018-12-24 17:47:41 -08:00
Dustin Carlino
d06f80e918 lift warp plugin out of simmode. and categorize display logs as view,
just to organize the directory more.
2018-12-24 17:31:21 -08:00
Dustin Carlino
597828ce28 revamp toggleable layers plugin, and get rid of debug mode 2018-12-24 17:22:52 -08:00
Dustin Carlino
ad3ef954eb revamping hider plugin 2018-12-24 16:30:45 -08:00
Dustin Carlino
46b3e85bd3 flatten some DebugMode stuff that actually doesnt need to be permap, since it's exclusive blocking 2018-12-24 12:38:51 -08:00
Dustin Carlino
a626f5c542 remove steepness plugin; it's annoying and useless 2018-12-24 12:32:39 -08:00
Dustin Carlino
3b372dd9ce move DisplayLogs into exclusive_blocking_plugin 2018-12-24 12:26:02 -08:00
Dustin Carlino
7b8b9fdbe6 flatten SimMode into DefaultUIState 2018-12-24 12:19:16 -08:00
Dustin Carlino
39c3e2917e flatten EditMode into DefaultUIState 2018-12-24 10:39:24 -08:00
Dustin Carlino
d989e2fb09 convert object hider into a modal menu 2018-12-24 08:17:23 -08:00
Dustin Carlino
567ded85de stop drawing weird time left box. update the text in the diagram instead. 2018-12-23 21:31:37 -08:00
Dustin Carlino
ae6f8d5e16 show entire signal diagram when hovering 2018-12-23 21:11:30 -08:00
Dustin Carlino
e05d4be34b draw blinkers in the front and back, increase size, tweak color 2018-12-23 09:20:18 -08:00
Dustin Carlino
551a8ef63a aw yeah, unicode arrow key descriptions. and tweaking some wording from filip's feedback 2018-12-22 23:20:21 -08:00
Dustin Carlino
5d28acd1af traffic signal editor left bar should be drawn below top menu 2018-12-22 22:18:03 -08:00
Dustin Carlino
0edded5725 trying out a quick way to mark parts of the screen unavailable for map-space mouseover. oh hey, it works great. 2018-12-22 20:03:12 -08:00
Dustin Carlino
2d7034e9cb canvas wont serve up map-space cursor when it's out of the window 2018-12-22 17:12:30 -08:00
Dustin Carlino
0aece4944d prep for disabling mouseover by changing canvas API. fix neighborhood
plugin to handle out-of-bounds points while we're there.
2018-12-22 16:49:47 -08:00
Dustin Carlino
099fd288fe all arrows are rounded 2018-12-22 14:02:42 -08:00
Dustin Carlino
88ef720f16 dont overdraw turns in turn cycler, and fix colors when cycling through individual turns 2018-12-22 13:40:33 -08:00
Dustin Carlino
ce45b5469b highlight turn icon circle, not arrow, so we can keep seeing the current priority. draw the big turn differently too. 2018-12-22 13:31:08 -08:00
Dustin Carlino
9b6725fc7d back to adjusting GUI colors 2018-12-22 13:12:10 -08:00
Dustin Carlino
9d32ef8b83 use const functions to construct constant colors in many cases, now that rust 2018 is here 2018-12-22 12:39:17 -08:00
Dustin Carlino
0f62da0f63 centralize and adjust constants for text colors. also clean up places
unnecessarilly passing in RGB values for constants
2018-12-22 12:26:34 -08:00
Dustin Carlino
2510625efc removing piston window size type from canvas, meaning piston deps are now very narrowly isolated to part of ezgui 2018-12-21 10:00:45 -08:00
Dustin Carlino
31ddbd0e61 draw stop sign line closer to the intersection 2018-12-20 12:32:59 -08:00
Dustin Carlino
c27015223c distinguish intersection types by color, even when zoomed out 2018-12-20 12:03:44 -08:00
Dustin Carlino
0c2a389f96 dont draw complicated stop sign depiction when hovering. simplify lots of the rendering hints, also fixing up traffic signal crosswalk depiction. 2018-12-20 11:28:42 -08:00
Dustin Carlino
f0250b4571 always depict traffic signals, not just when hovering with turn cycler.
partly broken right now.
2018-12-20 11:00:50 -08:00
Dustin Carlino
7b9a24f99f draw traffic signal timer box in the intersection, not the corner of the screen 2018-12-20 10:42:17 -08:00
Dustin Carlino
999c4e6975 follow build.rs output rules better... even though spurious recompiles
still happen. :(
2018-12-20 10:21:52 -08:00
Dustin Carlino
b7f31cc8f4 make canvas know initial screen size, so centering on map pt initially does work 2018-12-18 15:37:44 -08:00
Dustin Carlino
887a8a7fcb dont show intersection stuff when zoomed out 2018-12-18 13:50:31 -08:00
Dustin Carlino
64e5bcc8f8 draw turn blinkers on cars 2018-12-18 12:24:37 -08:00
Dustin Carlino
0a18d2afd2 fix broken top menu hotkeys when a submenu is present 2018-12-18 11:50:23 -08:00
Dustin Carlino
3a3499db39 dont show car lookahead buffers by default 2018-12-18 10:03:22 -08:00
Dustin Carlino
cdc9c58ab4 start tutorial mode centered on the right thing. improve map label API by returning references. 2018-12-18 09:57:51 -08:00
Dustin Carlino
ac961f2016 start tutorial with sim playing 2018-12-18 09:48:22 -08:00
Dustin Carlino
7621f6a999 dont offer an irrelevant ped scramble cycle 2018-12-18 07:54:22 -08:00
Dustin Carlino
7ebc51ee64 use arrow keys to switch cycles, not numbers. remove number_chosen. only allow arrow keys in wizard menus. 2018-12-17 20:40:32 -08:00
Dustin Carlino
fdac85f7fb use the modal sidebar, not the osd, in a few places 2018-12-17 17:03:46 -08:00
Dustin Carlino
e368919cfd fixing neighborhood editor 2018-12-17 16:58:24 -08:00
Dustin Carlino
4a98e1d086 convert all plugins to modal calls 2018-12-17 16:40:03 -08:00
Dustin Carlino
787c965985 explicit type for screen-space stuff in ezgui 2018-12-17 14:25:05 -08:00
Dustin Carlino
32db434862 trying out modal flow in UserInput... at least initially displaying the
sidebar
2018-12-17 13:58:06 -08:00
Dustin Carlino
acbd08240d few things that should be in top menu 2018-12-17 13:16:31 -08:00
Dustin Carlino
bbacdfb676 declaring modal menus 2018-12-17 13:08:46 -08:00
Dustin Carlino
875edddc7a undo the few remaining places that pass in keys to plugins 2018-12-17 11:49:36 -08:00
Dustin Carlino
b3dea902de handle window close event 2018-12-17 11:33:57 -08:00
Dustin Carlino
21c61e4a60 avoid typos in action_chosen 2018-12-17 10:23:14 -08:00
Dustin Carlino
e64c44da33 change calls in UI 2018-12-17 10:05:19 -08:00
Dustin Carlino
1f1f3b63e2 wiring up submenu events 2018-12-17 09:07:49 -08:00
Dustin Carlino
8aa12fb6d9 highlight selected item in top menu 2018-12-16 19:41:11 -08:00
Dustin Carlino
efc0db122a specify top menu in UI, but it doesn't do anything yet 2018-12-16 18:23:17 -08:00
Dustin Carlino
2a5384cf11 making wizard use the new Menu 2018-12-16 16:29:25 -08:00
Dustin Carlino
11945739bd rename old ezgui menu to scrolling menu, which color picker will keep using for now 2018-12-16 14:18:43 -08:00
Dustin Carlino
4629015e12 delete unused TreeMenu and stop passing in the category for unimportant actions 2018-12-16 14:13:28 -08:00
Dustin Carlino
9adcb0315e making my own event, mapping piston's event to it. will simplify downstream code and make moving away from piston even easier. 2018-12-15 20:44:28 -08:00
Dustin Carlino
cf74050758 dont call event() for a render event 2018-12-15 12:24:06 -08:00
Dustin Carlino
003881fe93 prototyping right-click context menus. solid start, lots of work needed. 2018-12-15 10:39:50 -08:00
Dustin Carlino
7b6d20bb08 tweak instructions and at least say what current turn priority is in OSD 2018-12-14 12:38:38 -08:00
Dustin Carlino
8a8d017063 hide all agents when editing intersections, so turn icons are always
visible
2018-12-14 12:21:12 -08:00
Dustin Carlino
3f2a7d6e68 display when a traffic signal is in overtime 2018-12-14 12:01:00 -08:00
Dustin Carlino
a8ee229793 fix traffic signal bugs letting TurnPriority::Banned cars in on a cycle 2018-12-14 11:40:18 -08:00
Dustin Carlino
28d025103c show accepted agents when hovering over an intersection 2018-12-14 11:29:14 -08:00
Dustin Carlino
2a8842aa00 brief round of clippy 2018-12-14 11:13:05 -08:00
Dustin Carlino
c55faec3fe more color in tooltips 2018-12-14 11:11:34 -08:00
Dustin Carlino
2b16b9571e making it easier to create one-line Texts 2018-12-14 11:01:14 -08:00
Dustin Carlino
0f1c475ab7 simplify tutorial map, actually count cars spawning now 2018-12-14 10:55:21 -08:00
Dustin Carlino
84b136be14 finally letting tutorial mode listen to sim events 2018-12-14 10:38:14 -08:00
Dustin Carlino
a3a41ed186 move PerMapUI to state module 2018-12-13 15:26:02 -08:00
Dustin Carlino
b8ca1728e2 dont need PluginsPerUI; collapse it into DefaultUIState 2018-12-13 15:21:32 -08:00
Dustin Carlino
59c30ac03e make tutorial mode go through its two states again 2018-12-13 14:59:35 -08:00
Dustin Carlino
7c48ec02cc making tutorial UIState that just wraps and delegates, doesn't do
its own thing yet
2018-12-13 14:51:40 -08:00
Dustin Carlino
bb71418fd3 make UI generic over UIState 2018-12-13 14:30:18 -08:00
Dustin Carlino
28327b4905 another attempt to remove the list of plugins and use a struct directly. keeping active_plugin idx. 2018-12-13 14:24:04 -08:00
Dustin Carlino
79dc9aee40 pulling UI state behind a trait. result is a bit convoluted still. 2018-12-13 14:03:09 -08:00
Dustin Carlino
f9016c6871 move recalc_current_selection... it's this temporary bit of state 2018-12-13 11:22:25 -08:00
Dustin Carlino
8e715de098 simplify UI state a bit... dont plumb around extra KML shapes to display. if we load an A/B test or different map edits, no need to preserve the KML; its for one-off debugging. 2018-12-13 11:13:33 -08:00
Dustin Carlino
4b7a424b1f remove duplicate color definitions and don't allow them 2018-12-12 17:27:34 -08:00
Dustin Carlino
a5befc83fe run rustfmt in the build script 2018-12-12 17:22:15 -08:00
Dustin Carlino
87bbadecc1 change ColorScheme to use the generated code. remove the terrible mutability. 2018-12-12 17:18:47 -08:00
Dustin Carlino
90fffe2410 invoke from build.rs 2018-12-12 17:03:31 -08:00
Dustin Carlino
13134a091b generate a module 2018-12-12 16:55:01 -08:00
Dustin Carlino
010a636ae6 change the colorscheme method name to find more easily in parsing 2018-12-12 16:25:08 -08:00
Dustin Carlino
9d653b103d starting a python script to find ColorScheme calls 2018-12-12 16:14:24 -08:00
Dustin Carlino
26af5526f2 just moving some plugin-bundling code to a separate module, but not really changing ownership structure yet 2018-12-12 14:36:26 -08:00
Dustin Carlino
d61255a4b3 lift panic handling from UI's event to ezgui runner, use also for draw 2018-12-12 14:11:18 -08:00
Dustin Carlino
e29ff690f8 move PluginCtx 2018-12-12 13:58:02 -08:00
Dustin Carlino
dd859ba76d clean up interaction between UI and get_objects_onscreen a bit 2018-12-12 12:27:45 -08:00
Dustin Carlino
3c710c2e8a fix the sim score plugin 2018-12-12 10:47:02 -08:00
Dustin Carlino
6cc7399b89 draw full turns using sharp bends if needed 2018-12-11 15:19:35 -08:00
Dustin Carlino
de5c02a6c4 preps for merging intersections again... notes and not passing Map
during first few phases of construction
2018-12-11 12:26:21 -08:00
Dustin Carlino
577e674e51 setting up a scenario for the first tutorial (commit 1,000!) 2018-12-11 10:14:21 -08:00
Dustin Carlino
11584efbb6 starting a TutorialMode, sneakily installing the plugin based on filename (ew) 2018-12-10 16:12:31 -08:00
Dustin Carlino
7e6f6a6a61 quick fix to the crashing chokepoints plugin 2018-12-09 18:06:31 -08:00
Dustin Carlino
ebc5419f9a jump to previous/next savestate 2018-12-09 17:47:54 -08:00
Dustin Carlino
44d9065123 wrap long agent tooltips 2018-12-09 15:28:04 -08:00
Dustin Carlino
dacd423080 clippy pt4 2018-12-09 12:04:02 -08:00
Dustin Carlino
caae9bcc36 clippy pt3 2018-12-09 11:33:24 -08:00
Dustin Carlino
f48757c5e7 clippy pt2 2018-12-08 19:56:54 -08:00
Dustin Carlino
ab86835611 initially playing with clippy... pt1 2018-12-08 18:21:56 -08:00
Dustin Carlino
7363302d5d one key to toggle lane types 2018-12-08 14:15:44 -08:00
Dustin Carlino
e71fa25229 moving sim_controls into SimMode, expressing it as a Paused/Running state 2018-12-08 13:51:31 -08:00
Dustin Carlino
8ee38d8dba defining a mode to control the sim, with diff trip/all and score split
out. more soon.
2018-12-08 13:07:48 -08:00
Dustin Carlino
b92303ecab avoiding overlapping keys in ViewMode 2018-12-08 12:19:16 -08:00
Dustin Carlino
c0317c0ce0 fix initial zoom when loading new PerMapUI. this broke a few commits ago when moving ToggleableLayers from per-UI to per-map plugins. 2018-12-07 14:17:40 -08:00
Dustin Carlino
cd4c39dec6 consolidating event and new_event 2018-12-07 14:06:47 -08:00
Dustin Carlino
dc0298a713 switch to new_color_for and new_draw everywhere (and rename them), cleaning up Ctx creations 2018-12-07 13:38:36 -08:00
Dustin Carlino
e604d3866c rewrite turn cycler; it was confusing because it used to cycle through turns over time 2018-12-07 11:45:42 -08:00
Dustin Carlino
6a32166452 rewrite lots of stuff with NLL! \o/ 2018-12-06 12:47:20 -08:00
Dustin Carlino
91b2b07fbd remove more extern crate's; import macros directly 2018-12-06 11:22:12 -08:00
Dustin Carlino
375a923a9d try removing most extern crate's 2018-12-06 11:00:13 -08:00
Dustin Carlino
f64f411093 upgrade all crates to 2018 in Cargo.toml. this requires switching to
crate:: paths everywhere. not yet fiddling with 'extern crate's
2018-12-06 10:57:31 -08:00
Dustin Carlino
6a0cd7f71e rust 2018: run the new fmt, delete the unneeded script 2018-12-06 10:05:50 -08:00
Dustin Carlino
dc450a1959 moving search into view 2018-12-06 10:02:11 -08:00
Dustin Carlino
6a317aea33 moving warp into ViewMode 2018-12-06 09:47:51 -08:00
Dustin Carlino
63c80405f5 neighborhood summary part of ViewMode 2018-12-06 09:39:01 -08:00
Dustin Carlino
0b39be0d1a moving each of the Modes into that directory's mod.rs 2018-12-06 09:34:10 -08:00
Dustin Carlino
5b6cdf24bd making a View mode, with mostly ambient/stackable plugins 2018-12-05 21:13:36 -08:00
Dustin Carlino
7cac74457c debug mode -- pt2, the stateful and ambient plugins 2018-12-05 19:17:29 -08:00
Dustin Carlino
d8492b7e17 bundling together a debug mode too -- pt1, the easy transient plugins 2018-12-05 18:22:18 -08:00
Dustin Carlino
96df555107 refactor edit plugins to not need an inactive state 2018-12-05 17:02:27 -08:00
Dustin Carlino
da46544e99 bundling exclusive editor-like plugins together in one meta plugin,
edit_mode
2018-12-05 16:28:15 -08:00
Dustin Carlino
7a10378b00 make UI handle loading new maps with no buildings to focus on 2018-12-05 11:47:58 -08:00
Dustin Carlino
636eb1fb1c overriding crosswalk colors for stop signs 2018-12-05 10:57:12 -08:00
Dustin Carlino
6295d6b2e7 drawing turns at a stop sign 2018-12-05 10:34:08 -08:00
Dustin Carlino
545b96a74a also suppress stop sign icon when relevant 2018-12-05 10:11:57 -08:00
Dustin Carlino
fa33c96201 revamp stop sign editor... space to toggle priorities, reset to default 2018-12-05 10:03:38 -08:00
Dustin Carlino
3198ade5d1 add a 4th turn priority... can completely ban turns. make pathfinding
pay attention to this.
2018-12-05 09:48:22 -08:00
Dustin Carlino
956ebc04e6 add a new cycle for ped scramble mode 2018-12-04 15:48:29 -08:00
Dustin Carlino
e640c6d46d let user invoke presets 2018-12-04 15:29:42 -08:00
Dustin Carlino
06bd34b1f4 move cycles up/down, delete them, add them 2018-12-04 15:01:33 -08:00