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