Commit Graph

865 Commits

Author SHA1 Message Date
Dustin Carlino
557db1d3fe wrapping up something to interact with a diagram, using in signal editor
and standalone diagram explorer
2019-07-28 12:12:46 +02:00
Dustin Carlino
16926d57a1 upgrade glium, glutin, etc. fix the HIDPI issues properly! 2019-07-26 17:25:19 +02:00
Dustin Carlino
84ac102d05 fix major perf regression from modal menus getting sections. need to
call draw_queued for text once per frame, otherwise cache gets ruined
2019-07-26 16:26:41 +02:00
Dustin Carlino
3c2d794c62 sliders coupled with text boxes in wizards for picking times 2019-07-21 11:26:11 +02:00
Dustin Carlino
de929a5fb9 user-defined shortcuts 2019-07-14 11:22:37 +01:00
Dustin Carlino
d08c794cfe woops, didnt use GeomBatch for all the new ModalMenu stuff 2019-06-26 15:20:25 -07:00
Dustin Carlino
5e97c9f548 add a minimize/expand icon to modal menus 2019-06-26 12:14:43 -07:00
Dustin Carlino
8d1581241f render separators between groups of menu items. very messy
implementation, but many other ideas fell through, and this works.
2019-06-25 10:58:40 -07:00
Dustin Carlino
f7b5cf9a9f organize all modal menus into groups. dont render them yet. 2019-06-24 15:43:22 -07:00
Dustin Carlino
3958ec556e state transitions for nicely handling a few things... in particular,
clearing splash screen wizard state so we dont get stuck on a choice ;)
2019-06-22 20:05:12 -07:00
Dustin Carlino
6738de2488 draw text beneath Sliders, not in the ModalMenu 2019-06-20 14:48:32 -07:00
Dustin Carlino
cdacaef1a6 refactor menu text for all ItemSliders 2019-06-17 17:22:20 -07:00
Dustin Carlino
efb6954a97 refactor the combination of ItemSlider and Warper 2019-06-14 14:17:08 -07:00
Dustin Carlino
8c055312b4 refactor Warper to an ezgui widget, to use it in fix_map_geom 2019-06-14 12:45:46 -07:00
Dustin Carlino
1f34e591e0 debug_initialmap: use loading screens, stop depicting half-roads, draw
OSM tags non-invasively on the side, rename it, highlight degenerate
intersections
2019-06-13 13:20:24 -07:00
Dustin Carlino
0adeac1d53 remove the single point associated with intersections, now that we're
actually going to be mucking with geometry. it wasnt doing anything
useful anyway. also a round of clippy.
2019-06-12 10:10:04 -07:00
Dustin Carlino
47654b61cf make wizard acknowledge a bit easier to use. name psrc scenarios by time
range and fix some filename parsing
2019-06-10 13:29:23 -07:00
Dustin Carlino
53d87afa6e move hex parsing 2019-06-08 13:15:31 -07:00
Dustin Carlino
6221fd858b make edit mode's cross hatches less intrusive 2019-06-06 13:29:45 -07:00
Dustin Carlino
36cddbf5df recalculate current selection in all the places that used to before a big UI refactor. if not, hovering on agent + jumping savestates can crash badly. also refactor how mouseover is detected 2019-06-06 12:51:49 -07:00
Dustin Carlino
34e637773d simplify wizard.wrap API slightly 2019-06-05 13:13:33 -07:00
Dustin Carlino
b2ad0b5ae7 converting PSRC trips to a repeatable scenario. along the way,
parallelizing and refactoring a bit of psrc stuff
2019-06-05 12:58:06 -07:00
Dustin Carlino
0c6a93d38f introducing a basic slider to adjust speed of all route viz player and
sim. code duplication.
2019-06-04 14:22:11 -07:00
Dustin Carlino
0c4399e683 use mem::replace, not clone, for swapping TimeTravel states 2019-05-30 15:34:33 -07:00
Dustin Carlino
53addc79b9 use ItemSlider for time travel 2019-05-30 15:20:43 -07:00
Dustin Carlino
602a936440 using nom to create Text with inline colors. just using in a few places;
still buggy and kind of inconvenient actually.
2019-05-30 14:14:38 -07:00
Dustin Carlino
9faa2bf143 using MultiKey a bit more consistently 2019-05-29 14:13:46 -07:00
Dustin Carlino
53e2c3e905 hack in a way to easily check for ctrl+key. use to jump between
sandbox, debug, and edit modes
2019-05-29 14:08:59 -07:00
Dustin Carlino
35b3e4b7be round of clippy / unbreaking the build 2019-05-29 13:01:33 -07:00
Dustin Carlino
17b31582cb delete ModalMenu::hacky_new 2019-05-29 11:34:53 -07:00
Dustin Carlino
cce1b6ff88 making an ItemSlider to handle the common case of scrolling through items 2019-05-29 11:31:01 -07:00
Dustin Carlino
110140f391 union make_arrow polygon 2019-05-28 18:05:10 -07:00
Dustin Carlino
f2f16ad992 make slider just operate on percentages. use for scrolling time in all trip viz 2019-05-28 14:56:09 -07:00
Dustin Carlino
28b2734d59 starting a slider widget, using in easy places where the range is usize 2019-05-28 12:13:22 -07:00
Dustin Carlino
1cdbe0ea81 refactor parallelized pathfinding and use it in trip viz too 2019-05-24 12:50:01 -07:00
Dustin Carlino
788cd237a8 upload traffic signal Drawable once per state change 2019-05-23 11:31:28 -07:00
Dustin Carlino
d2dc7e52eb draw the traffic signal diagram on the left. stop caring where the
bottom left of a modalmenu is
2019-05-21 14:13:48 -07:00
Dustin Carlino
3a625f9a32 print percentages and number of samples in bar chart 2019-05-20 14:57:17 -07:00
Dustin Carlino
09493f9b7b remove old color shifting 2019-05-20 11:58:35 -07:00
Dustin Carlino
381883b357 display the stats with simple bar charts 2019-05-20 11:56:00 -07:00
Dustin Carlino
de51b1c154 simplify some render/ code by using GeomBatch 2019-05-17 13:14:58 -07:00
Dustin Carlino
222ddf6a96 use Distance, not f64, for some params in geom/ layer, simplifying other code 2019-05-17 12:42:36 -07:00
Dustin Carlino
db04553626 batch traffic signal drawing 2019-05-16 17:55:26 -07:00
Dustin Carlino
d5aebd4d4a prevent double-use of Escape key between context and modal menus 2019-05-15 11:02:02 -07:00
Dustin Carlino
5b6e541f9c fix mac scrolling and the directory name in the release script 2019-05-15 10:06:42 -07:00
Dustin Carlino
639ce25d09 hatching shader's stripes are now in map-space, are crosses, and have
color/size tuned
2019-05-12 18:35:12 -07:00
Dustin Carlino
f4620c1951 add basic hatching support to fragment shader. use it to visualize map
edits when zoomed in
2019-05-12 17:59:12 -07:00
Dustin Carlino
240efa5ad7 make warping be slightly snappier with impatient keypressing and a
minimum speed
2019-05-08 12:07:32 -07:00
Dustin Carlino
939f2fefdd adding hands to the bikes 2019-05-06 18:33:01 -07:00
Dustin Carlino
b0ca4429ad make turn blinkers work even when sim is paused 2019-05-06 12:56:19 -07:00
Dustin Carlino
26ee29ff62 actually do need to throttle redraws on loading screen 2019-05-05 19:07:54 -07:00
Dustin Carlino
272503873c avoid menu flickering and incorrect entries by sending a NoOp after used events 2019-05-05 18:23:36 -07:00
Dustin Carlino
08282186a7 only keep so many lines in the loading screen logger 2019-05-05 09:47:57 -07:00
Dustin Carlino
af30d93ba8 also reprint Timer lines -- has a bug, but this is a start 2019-05-04 17:47:02 -07:00
Dustin Carlino
73f32854be fix up other ezgui apps, run clippy 2019-05-04 17:25:05 -07:00
Dustin Carlino
a921469da9 dont special-case having a loading screen during make_gui. pass in EventCtx to make_gui to undo some hacks 2019-05-04 17:19:45 -07:00
Dustin Carlino
798a7b5354 be able to trigger a loading screen anywhere 2019-05-04 17:07:07 -07:00
Dustin Carlino
eed33931de proof-of-concept for gluing Timer to loading screen. hacky and not
featurefull yet.
2019-05-04 16:41:01 -07:00
Dustin Carlino
951e2f37ce flush text to display immediately, not at the end. prerequisite to drawing scaled text better 2019-05-04 15:36:40 -07:00
Dustin Carlino
2f66c8ca5c remember if modal menus are hidden or not 2019-05-04 09:30:44 -07:00
Dustin Carlino
625d9890d7 dont allow dupe keys in menus 2019-05-03 14:55:40 -07:00
Dustin Carlino
3db78d1ddd hacky way of showing context menu hotkeys in OSD 2019-05-03 14:21:43 -07:00
Dustin Carlino
4b4e6f17a0 start a really basic OSD 2019-05-02 12:38:12 -05:00
Dustin Carlino
08e1d3f353 place the context menu onscreen, be smart about going OOB 2019-05-02 12:02:15 -05:00
Dustin Carlino
96c3907655 combo calls to update prompt for ModalMenu 2019-05-01 21:45:34 -05:00
Dustin Carlino
a0b69db71e recalculate modal menu when resizing, hiding, updating prompt... 2019-05-01 17:00:23 -07:00
Dustin Carlino
bc3b883e2f optional modal menu keys 2019-05-01 16:22:14 -07:00
Dustin Carlino
3b6ecbf4af draw everything from ezgui in screencap mode 2019-05-01 16:14:15 -07:00
Dustin Carlino
913ec8d4c7 remove top menu from ezgui. unused right now, can restore it later if needed 2019-05-01 16:06:40 -07:00
Dustin Carlino
e767a704d3 remove old modal menu stuff from ezgui 2019-05-01 16:02:50 -07:00
Dustin Carlino
36df2e7908 convert more to NewModalMenu 2019-05-01 14:55:47 -07:00
Dustin Carlino
d10cbd9b7c manage the ModalMenu directly in each state, not in ezgui. convert 2
uses of it to start.
2019-05-01 14:00:46 -07:00
Dustin Carlino
1eb1b0ea40 slightly refactoring Text creation 2019-05-01 11:46:22 -07:00
Dustin Carlino
c904e9cdcf get rid of set_mode_with_extra; legend plugin is gone 2019-05-01 11:27:28 -07:00
Dustin Carlino
b42bba799d ModalMenus can be mostly hidden 2019-05-01 11:17:30 -07:00
Dustin Carlino
3b2c1a1d73 new warp function that autocompletes street names 2019-04-30 12:48:00 -07:00
Dustin Carlino
8b2d74cad8 simplify instructions after all the GUI refactor 2019-04-28 20:24:37 -07:00
Dustin Carlino
aa6f8f61fd make escape key work in modal menus 2019-04-28 20:16:27 -07:00
Dustin Carlino
2f6cc5fe4d remove vestiges of top menu being in the way 2019-04-28 20:10:00 -07:00
Dustin Carlino
8f69d5bbac woops, ModalMenus and context menus broke if the top menu didnt exist. :P decouple them 2019-04-28 18:06:17 -07:00
Dustin Carlino
a72e779a89 remove legacy mode, UI's new_event, the top_menu... impl GUI on Game, no
more forwarding to UI ever
2019-04-28 18:00:44 -07:00
Dustin Carlino
01628624c0 hotkeys on the wizard splash screen 2019-04-27 13:48:22 -07:00
Dustin Carlino
ce25f8bbf6 making menus support multi-line prompts 2019-04-24 16:51:35 -07:00
Dustin Carlino
2384157108 simplify ezgui API -- event takes &mut EventCtx 2019-04-23 21:28:03 -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
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
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
45083198ea load different maps from splash menu 2019-04-21 15:59:04 -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
4b1107bf57 clean up ezgui runner API 2019-04-20 15:10:03 -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
46d24a7c58 compile on mac 2019-04-19 09:23:36 -07:00
Dustin Carlino
b610139f89 woops, screencap everything cut off the bottom and right 2019-04-15 11:42:38 -07:00
Dustin Carlino
9a2699aab9 take a single screenshot (hiding menus and stuff) 2019-04-15 10:07:50 -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
a9afc3efdd improve arrow API, at least -- creating them from a polyline is fine 2019-04-11 17:39:07 -07:00
Dustin Carlino
94d08efd61 clicking outside of a menu shouldnt do anything 2019-04-03 15:16:54 +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
0cf9e1a1cd draw a simple loading screen 2019-04-03 08:24:06 +09:00
Dustin Carlino
7100900714 load different glsl versions 2019-03-18 14:58:41 -07:00
Dustin Carlino
8bf8b958d7 supporting glsl 110 as well as 140 2019-03-18 12:26:40 -07:00
Dustin Carlino
3eb5270d51 trying to cross-compile to windows. making some unix-only dependencies
optional.
2019-03-11 17:09:47 -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
0c26e3e127 dont redraw if key release event was unused 2019-03-11 13:08:57 -07:00
Dustin Carlino
40206eccc3 removing most log usage from editor 2019-02-20 11:29:36 -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
e4e07e7ba6 make it easier to debug areas 2019-02-18 15:56:15 -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
e445f972dd move ToggleableLayers out of ezgui, stop associating a zoom with them 2019-02-14 16:51:27 -08:00
Dustin Carlino
c3cbd47645 organize DES model code a bit 2019-02-14 14:00:44 -08:00
Dustin Carlino
06c8ed72a9 flag-based profiling of GUI 2019-02-14 13:16:43 -08:00
Dustin Carlino
a2e2c3311e drawing border arrows way better 2019-02-12 14:42:03 -08:00
Dustin Carlino
6a573dfbd0 use better glium buffer types 2019-02-11 14:08:43 -08:00
Dustin Carlino
d655bdc588 pass color to GPU as u8, not f32 2019-02-11 13:52:17 -08:00
Dustin Carlino
72e823c2c6 only have one Prerender object constructed, simplifying the plumbing of the Cell counters 2019-02-11 12:14:43 -08:00
Dustin Carlino
1d3e4284a7 do some tracking of video memory used by RenderMap 2019-02-11 12:02:29 -08:00
Dustin Carlino
8693bbc1e3 import residential building dataset 2019-02-10 19:24:34 -08:00
Dustin Carlino
ec01207369 try upgrading rand and serde again 2019-02-10 15:57:28 -08:00
Dustin Carlino
72b044c64f plugin to show roads connected to intersection. surprisingly useful for debugging merged intersections sometimes 2019-02-09 11:46:31 -08:00
Dustin Carlino
579097dbb1 fiddling with the event loop. simplified code, but didn't fix issues. 2019-02-06 12:58:26 -08:00
Dustin Carlino
e1155a1d9c WIP stabilize screenshotting 2019-02-05 15:18:02 -08:00
Dustin Carlino
72b39b0401 aha, a slight optimization to not call draw() when events happen that aren't even sent to the application 2019-02-05 15:10:15 -08:00
Dustin Carlino
40d3c6b0ca count all Prerender uploads, not just the ones that happen in draw() 2019-02-05 15:02:10 -08:00
Dustin Carlino
e0fd39bb7c stop requiring hotkeys for TopMenu folders 2019-02-02 16:09:30 -08:00
Dustin Carlino
d08751fb64 preupload pedestrian geometry 2019-02-02 13:44:27 -08:00
Dustin Carlino
61d1d2fe83 revamp handling of onscreen stuff. no more callback plumbing, and can
plumb prerender successfully into dynamic stuff. just can't do as much
work directly in DrawMap.
2019-02-02 12:32:07 -08:00
Dustin Carlino
e4b95c936b organizing ezgui into subdirectories 2019-02-01 09:55:25 -08:00
Dustin Carlino
06b8c26716 split ezgui runner into setup and loop functions 2019-02-01 09:30:01 -08:00
Dustin Carlino
bd7d18592b simplify screenshot internals 2019-02-01 09:23:16 -08:00
Dustin Carlino
8c80755bbd moving screenshot code into a module 2019-02-01 09:09:27 -08:00
Dustin Carlino
5181a3db34 starting to move some text drawing code out of canvas 2019-01-31 23:40:15 -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
7519fdf584 using strong Distance types in many more places 2019-01-30 15:54:54 -08:00
Dustin Carlino
4d5bafd551 slightly simplify interaction between Canvas and text module 2019-01-26 10:25:08 -08:00
Dustin Carlino
067ee108c7 make screencap work (and more simply) with custom event loop 2019-01-26 10:04:20 -08:00
Dustin Carlino
8afe83162b collapsing all lane markings into a single Drawable 2019-01-25 11:21:46 -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
4882e98933 start a way to upload once, draw many times 2019-01-25 09:09:55 -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
8cc652514d making a simple way to batch drawn stuff. not using it yet, it's buggy! 2019-01-24 18:04:54 -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
590ab4bccb just moving GfxCtx to its own module 2019-01-24 16:10:18 -08:00
Dustin Carlino
49f0c64ef4 use the pts/indices for rendering 2019-01-24 15:32:46 -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
c8385b52d6 explicitly pass index buffer, even though points are repeated 2019-01-24 12:18:51 -08:00
Dustin Carlino
d2f0cd91ee send Update events, fixing animation 2019-01-24 12:07:46 -08:00
Dustin Carlino
46c07dc57a make text entry work when empty 2019-01-24 11:12:13 -08:00
Dustin Carlino
9182a57af5 enabling draw_arrow again... math is not quite great 2019-01-24 10:01:30 -08:00
Dustin Carlino
5a8e2349e0 draw top menu items individually, so we don't have to mess with measuring whitespace from the font 2019-01-24 09:41:11 -08:00
Dustin Carlino
2cbb28a1a4 fixing srgb issue... geez 2019-01-23 23:13: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
2ab4502268 use glyph brush's built-in support for lines with different colors. sacrifice different background colors mid-line, which was unused anyway 2019-01-23 13:15:51 -08:00
Dustin Carlino
c9587ebd01 more text positioning fixes... now that we can see the actual height of some rendered text 2019-01-23 12:51:08 -08:00
Dustin Carlino
c4b7196570 fixing some text positioning bugs 2019-01-23 12:30:48 -08:00
Dustin Carlino
9b14206be0 implementing GfxCtx forking... aka, reset uniforms 2019-01-23 12:22:26 -08:00
Dustin Carlino
d9d89e93dd using glium_glyph... things initially kind of work 2019-01-23 12:10:17 -08:00
Dustin Carlino
ca00dda8be drawing circles in glium 2019-01-23 10:00:36 -08:00
Dustin Carlino
5dc8542856 upload data once per polygon, not once per triangle. derp. 2019-01-22 23:19:48 -08:00
Dustin Carlino
03215a5836 disable unneeded depth testing. enable antialiasing and alpha blending 2019-01-22 23:10:14 -08:00
Dustin Carlino
099846437c dont redraw unnecessarily 2019-01-22 22:30:36 -08:00
Dustin Carlino
fa075766cc fix y inversion. camera now feels totally correct 2019-01-22 18:20:20 -08:00
Dustin Carlino
f896e92d25 simplifying camera math drastically... passing in stuff to the vertex
shader, which does transformations not using matrices! \o/
2019-01-22 17:43:25 -08:00
Dustin Carlino
fb7a809892 tweaked camera based on canvas. workable, not great. 2019-01-22 17:12:48 -08:00
Dustin Carlino
af7596f9a5 remove piston stuff, cut over to glutin in some basic way. nothing
displays now. :D
2019-01-22 16:51:02 -08:00
Dustin Carlino
974b04e74d start to move ezgui to glium. just copying extra code in, not deleting
existing stuff yet
2019-01-22 16:11:49 -08:00
Dustin Carlino
f018158aa3 remove copyright comment from remaining files 2019-01-20 13:57:55 -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
ac9b9fa302 dont asap combine tiles 2019-01-15 17:21:20 -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
09a3aed407 import raw map to synthetic 2019-01-15 09:37:23 -08:00
Dustin Carlino
6d4e958ea5 retain directory of screencap tiles, for faster diffing 2019-01-14 13:02:03 -08:00
Dustin Carlino
3f88eb2142 reorganizing ezgui runner to have proper state struct... 2019-01-14 12:54:25 -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
2f35ca5dc1 much faster screencapturing with scrot instead 2019-01-14 10:14:14 -08:00
Dustin Carlino
164cd7d757 print screengrab progress better 2019-01-14 10:11:11 -08:00
Dustin Carlino
e47ddfb1c4 call gnome-screenshot directly, removing the border 2019-01-14 09:52:46 -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
bc6a61fc74 WIP: better sidewalk corner geometry. it's a start. 2019-01-12 13:40:06 -08:00
Dustin Carlino
b76eaa8021 dont flicker with turn cycler OSD action; put important actions in the OSD even if that key was chosen 2019-01-12 11:14:44 -08:00
Dustin Carlino
c09fa98f57 upgrade a few dependencies 2019-01-11 10:55:58 -08:00
Dustin Carlino
af7e12e52b bundle ttf 2019-01-11 10:13:29 -08:00
Dustin Carlino
d95099efbe basic installation instructions, and tweaks to scripts so that things
work better out-of-box
2019-01-11 10:04:56 -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
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
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
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
8202698daa start text box with cursor at the end of prefilled 2018-12-23 09:05:39 -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
92ce83dfdd cant start dragging on top of covered area 2018-12-22 22:21:05 -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
1d9f3320fa implementing draw_line and draw_rounded_line directly 2018-12-22 13:58:45 -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
dfc08bfe97 figure out longest line for text dims by actual rendered width 2018-12-22 12:04:17 -08:00
Dustin Carlino
44c3fab9f6 working on text alignment again 2018-12-22 11:54:49 -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
c7e7f6ae75 oops, dont allow unselecting a key-controlled menu 2018-12-19 11:52:58 -08:00
Dustin Carlino
ad497ac698 make menus handle window resizing 2018-12-19 11:48:35 -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
78f3107d8a oh, piston has a helper for rendering a line of text. use it. 2018-12-18 15:02:51 -08:00
Dustin Carlino
a0160f6be0 render highlighted lines with full width when it makes sense 2018-12-18 12:42:29 -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
d4592f64a0 clippy run 2018-12-18 09:59:50 -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
54c1f1ba73 update modal menu prompt 2018-12-17 20:21:55 -08:00
Dustin Carlino
4a98e1d086 convert all plugins to modal calls 2018-12-17 16:40:03 -08:00
Dustin Carlino
e6595c0d14 destroy modal menu when done 2018-12-17 16:08:32 -08:00
Dustin Carlino
002095bc84 make menu item activeness be mutable 2018-12-17 16:01:42 -08:00
Dustin Carlino
72a39c9597 wire up modal actions 2018-12-17 14:54:36 -08:00
Dustin Carlino
c654bf2b06 revamp menu to work in screen-space, so canvas can move beneath modal menu. also fix the menu mouseover when a prompt is present. 2018-12-17 14:42:52 -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
bbacdfb676 declaring modal menus 2018-12-17 13:08:46 -08:00
Dustin Carlino
2194ea38a5 grey out irrelevant top menu items 2018-12-17 12:13:32 -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
661c9715b3 handle idle event; happens when running sim 2018-12-17 11:36:14 -08:00
Dustin Carlino
b3dea902de handle window close event 2018-12-17 11:33:57 -08:00
Dustin Carlino
806a139788 dont panic on unknown keypresses 2018-12-17 11:30:20 -08:00
Dustin Carlino
a11fe98ca9 oh yeah, still let keys be pressed for top menu actions. :D 2018-12-17 10:27:35 -08:00
Dustin Carlino
21c61e4a60 avoid typos in action_chosen 2018-12-17 10:23:14 -08:00
Dustin Carlino
6f92a82efe glue TopMenu to UserInput... get ready to change lots of calls to it 2018-12-17 09:47:53 -08:00
Dustin Carlino
1f1f3b63e2 wiring up submenu events 2018-12-17 09:07:49 -08:00
Dustin Carlino
6595f804e0 spawn submenu in the proper place 2018-12-16 20:19:30 -08:00
Dustin Carlino
b571f410ef spawn submenus... but not in the right place. no input wiring yet. 2018-12-16 19:57:39 -08:00
Dustin Carlino
7c5ba61e89 touchscreen support. (not) 2018-12-16 19:49:00 -08:00
Dustin Carlino
8aa12fb6d9 highlight selected item in top menu 2018-12-16 19:41:11 -08:00
Dustin Carlino
a4a312d488 draw the top menu bar 2018-12-16 19:22:48 -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
0b069a7083 display optional prompt in the menu 2018-12-16 16:58:04 -08:00
Dustin Carlino
435f3f35c9 start wizard menus with first item selected, like the good ol days 2018-12-16 16:51:15 -08:00
Dustin Carlino
24fbc18324 rewrite a fxn from wizard with NLL 2018-12-16 16:45:52 -08:00
Dustin Carlino
2a5384cf11 making wizard use the new Menu 2018-12-16 16:29:25 -08:00
Dustin Carlino
3a47cb04e9 expressing context menu as an FSM instead 2018-12-16 16:12:51 -08:00
Dustin Carlino
6993294f24 make ContextMenu use Menu now 2018-12-16 15:49:12 -08:00
Dustin Carlino
2b245f9277 write a proper Menu constructor, now that we can calculate geometry up-front 2018-12-16 15:23:49 -08:00
Dustin Carlino
62bdd92ac3 move ownership of GlyphCache into Canvas, so calculating text dimensions can be done during event. Stick the glyphs behind a RefCell to avoid mutability creeping into canvas everywhere 2018-12-16 15:16:02 -08:00
Dustin Carlino
671dad6b02 make a blend between ScrollingMenu and ContextMenu... don't use it yet 2018-12-16 14:47:48 -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
d9721caa8a left clicking to confirm or cancel a menu 2018-12-15 16:48:47 -08:00
Dustin Carlino
51d1cbba6e highlighting if a menu item is selected 2018-12-15 16:36:45 -08:00
Dustin Carlino
cf74050758 dont call event() for a render event 2018-12-15 12:24:06 -08:00
Dustin Carlino
b633d698d2 make sure nothing else happens while a context menu is present 2018-12-15 11:07:51 -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
3f2a7d6e68 display when a traffic signal is in overtime 2018-12-14 12:01:00 -08:00
Dustin Carlino
2b16b9571e making it easier to create one-line Texts 2018-12-14 11:01:14 -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
3c710c2e8a fix the sim score plugin 2018-12-12 10:47:02 -08:00
Dustin Carlino
44d9065123 wrap long agent tooltips 2018-12-09 15:28:04 -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
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
ac4c7a5b83 edit cycle time 2018-12-04 11:44:34 -08:00
Dustin Carlino
038cd385d7 show cycle duration in sidebar 2018-12-04 11:20:51 -08:00
Dustin Carlino
43fa67177d plumbing generic things in ezgui runner 2018-12-04 10:20:08 -08:00
Dustin Carlino
3155bcbaf1 drawing a box to show time left in current cycle 2018-12-04 08:33:24 -08:00
Dustin Carlino
ac1e12b43a draw ALL cycles in a sidebar, to summarize. needs tuning, but looks
initially good
2018-12-03 17:09:56 -08:00
Dustin Carlino
f36b967dee drawing yield turns better in turn cycler 2018-12-03 10:37:14 -08:00
Dustin Carlino
7705289a62 specialize tooltip_lines to one plugin. solves the problem of not being able to look up objects in DrawMap 2018-11-20 11:32:03 -08:00
Dustin Carlino
7937586e52 make it easy to prefill a textbox from wizard 2018-11-14 11:56:45 -08:00
Dustin Carlino
7b6f1c4624 refactoring a proper way to draw/use rectangles 2018-11-14 09:57:58 -08:00
Dustin Carlino
f1d82a4c97 make the warp plugin animate the panning 2018-11-12 11:02:51 -08:00
Dustin Carlino
03909cc04f make turn cycler able to draw all turns from a lane, even when the plugin isnt really 'active' 2018-11-05 17:52:35 -08:00
Dustin Carlino
a610575701 changing ezgui API to return Bounds, not Rect 2018-11-01 15:31:06 -07:00
Dustin Carlino
898e036c7e the great color scheme refactor! 2018-10-24 19:18:37 -07:00
Dustin Carlino
2026acde32 draw_text_at centers the text box 2018-10-23 13:56:04 -07:00
Dustin Carlino
bb21c45394 weighted choice for how many cars per building 2018-10-17 16:22:33 -07:00
Dustin Carlino
df927c5829 make sim ctrl plugin advance dual sims and print some OSD and side panel
stuff appropriately
2018-10-08 17:03:36 -07:00
Dustin Carlino
af2d49debb show a textbox when an empty menu is attempted 2018-10-08 12:25:17 -07:00
Dustin Carlino
fcfef89760 intermission: handling empty directory listings, menus 2018-10-08 09:45:21 -07:00
Dustin Carlino
7b3069a1a1 clean up ezgui draw() API and hide window size inside ezgui entirely 2018-10-06 11:52:08 -07:00
Dustin Carlino
0048f90734 removing use_event_directly 2018-10-06 11:15:37 -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
7ee75ea6be renaming osd -> just text 2018-10-01 13:56:43 -07:00
Dustin Carlino
d9ff599332 refactoring text alignment 2018-09-28 07:59:05 -07:00
Dustin Carlino
8badd7a813 show optional sidepanel in UI with current sim score 2018-09-28 07:43:53 -07:00
Dustin Carlino
3d2255d728 move wizard to ezgui \o/ 2018-09-25 14:43:56 -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
7836df4580 storing associated data with menu 2018-09-24 08:34:02 -07:00
Dustin Carlino
6c7d4185b3 proper logging from the editor layer 2018-09-22 20:12:24 -07:00
Dustin Carlino
f9e0b6facc adding a scrollable log buffer widget 2018-09-21 14:09:20 -07:00
Dustin Carlino
f6ddd8aeaa adding categories to unimportant actions, arranging them in a tree 2018-09-21 13:16:46 -07:00
Dustin Carlino
0a50fbd8bd scroll long menus 2018-09-21 09:55:56 -07:00
Dustin Carlino
13baaf6b6f styled text spans 2018-09-21 08:57:01 -07:00
Dustin Carlino
f1f0683026 prompts on top of menus, too 2018-09-21 08:08:34 -07:00
Dustin Carlino
b66e6891f6 textbox and menu take UserInput and consume it 2018-09-20 19:19:08 -07:00
Dustin Carlino
4a9306e1e2 use 3-way result for menus and text boxes, letting text boxes be
canceled properly
2018-09-20 19:13:23 -07:00
Dustin Carlino
d32556f470 only take TextOSD in canvas API 2018-09-20 19:00:14 -07:00
Dustin Carlino
1d7417e851 display text entry boxes in the middle of the screen, not as part of the bottom OSD 2018-09-20 18:55:44 -07:00
Dustin Carlino
726adb6249 basic menu support to gui wizard 2018-09-20 17:04:52 -07:00
Dustin Carlino
86c3a33526 input sim Ticks in gui wizard 2018-09-20 15:15:07 -07:00
Dustin Carlino
b365f595bd populate OSD during event. this lets wizard display prompts easily. 2018-09-20 14:57:42 -07:00
Dustin Carlino
c95f5e7a4d starting a stateful multi-question GUI wizard. just accepts usize's
right now
2018-09-20 14:29:50 -07:00
Dustin Carlino
4b26411794 show current selected polygon as preview 2018-09-19 18:44:17 -07:00
Dustin Carlino
c7f2c50e25 draw menus centered in the screen, with highlighted lines 2018-09-19 17:38:31 -07:00
Dustin Carlino
96994eb9bd load existing polygon with pre-filled name 2018-09-19 14:24:09 -07:00
Dustin Carlino
60d4e0af33 list existing polygons with menu 2018-09-19 12:28:29 -07:00
Dustin Carlino
ce91b77ad6 highlighting the cursor in text boxes 2018-09-18 18:52:25 -07:00
Dustin Carlino
8b0fb9248c using Pt2D in ezgui's API when appropriate 2018-09-18 15:09:17 -07:00
Dustin Carlino
1050d86e67 making a proper Circle type in geom 2018-09-18 14:00:55 -07:00
Dustin Carlino
e8ef4545fb remove to_vec from Pt2D; only need it in one triangulation-specific place 2018-09-18 13:44:14 -07:00
Dustin Carlino
49ebe97c21 small refactor in ezgui and polyline 2018-09-18 13:39:55 -07:00
Dustin Carlino
7dc192b0c9 refactoring helpers to draw lines 2018-09-18 13:29:30 -07:00
Dustin Carlino
e65f3aecc7 update to rust 1.29, re-run format 2018-09-15 16:54:00 -07:00
Dustin Carlino
8db279ff7c refactoring toggleable layers 2018-09-13 10:49:56 -07:00
Dustin Carlino
986717dc76 dont expose ezgui's modules 2018-09-10 17:32:33 -07:00
Dustin Carlino
64d4117c0c moving GUI runner to ezgui 2018-09-09 18:50:36 -07:00
Dustin Carlino
7eb279a978 simplify toggleable layer; dont need to repeat key names 2018-08-14 14:06:32 -07:00
Dustin Carlino
40cb2bf6f4 making draw_polygon only accept a geom Polygon. guess ezgui depending on geom is fine. 2018-08-09 10:57:19 -07:00
Dustin Carlino
5d2a4f3ac4 trying an ear clipping algorithm for buildings and parcels. works great,
lots of cleanup needed now!
2018-08-08 14:39:08 -07:00
Dustin Carlino
b1c74157d9 scale the zoom speed based on how far already zoomed in 2018-08-05 15:22:55 -07:00
Dustin Carlino
1348db1288 different colors for cars and peds 2018-08-01 15:06:23 -07:00
Dustin Carlino
3fa06fd032 dont repeat keypress manually in OSD message 2018-07-26 14:28:01 -07:00
Dustin Carlino
120e7c5db1 plumb through UI controls for road edits 2018-07-24 15:43:01 -07:00
Dustin Carlino
2ebc13140b round of rustfmt after 1.27 upgrade 2018-07-09 12:30:59 -07:00
Dustin Carlino
18132e3c8b consistently having one(ish) plugin do stuff at a time 2018-07-06 12:25:43 -07:00
Dustin Carlino
e2aabeb0e9 refactoring drawing primitives into GfxCtx 2018-07-06 11:04:18 -07:00
Dustin Carlino
8f244438c1 plumbing window_size with canvas 2018-07-06 10:26:35 -07:00
Dustin Carlino
43536743a8 warp plugin, and making text entry handle numbers 2018-06-26 09:05:14 -07:00
Dustin Carlino
6afb71ea5f preps for line trimming 2018-06-25 11:54:15 -07:00
Dustin Carlino
9b1ce9b3b3 split canvas scrolling and text 2018-06-22 14:47:07 -07:00
Dustin Carlino
0d46b413bb move gfxctx 2018-06-22 14:42:13 -07:00
Dustin Carlino
348f9a0a0f very hacky menu to pick what color to change 2018-06-21 13:45:09 -07:00
Dustin Carlino
6b8a5a0103 moving more colors to scheme 2018-06-21 11:18:17 -07:00
Dustin Carlino
e7e334a460 using color scheme in most places 2018-06-21 10:32:07 -07:00
Dustin Carlino
03df50c96e fill in parcel interior with color 2018-06-19 14:24:30 -07:00
Dustin Carlino
923883883b updating README and trimming license declarations 2018-06-03 17:56:53 -07:00
Dustin Carlino
0e672f9e09 remove svg rendering. output is too large, never used. 2018-05-16 18:58:30 -07:00
Dustin Carlino
b8842d5852 detect and fix when two parts of the UI try to read the same key 2018-05-14 19:00:26 -07:00
Dustin Carlino
f2b7344940 using new rust 1.26 match stuff, and fmt 2018-05-10 16:19:26 -07:00
Dustin Carlino
065c2ce9ba Importing everything since the initial import 2018-04-10 17:51:37 -07:00
Dustin Carlino
1863289f6d Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00