Commit Graph

865 Commits

Author SHA1 Message Date
Dustin Carlino
1abddda18b change how inactive buttons are created, finally completing the grand button refactor 2020-03-21 12:04:12 -07:00
Dustin Carlino
7edb8a6190 rename Widget -> WidgetImpl, ManagedWidget -> Widget 2020-03-20 23:41:07 -07:00
Dustin Carlino
81c5ae3700 consolidate ezgui internals a little, and start a little bit of rustdoc 2020-03-20 18:05:50 -07:00
Dustin Carlino
9644ff24be remove the last button constructor, except for the inactive ones 2020-03-20 15:40:43 -07:00
Dustin Carlino
d8744648df clean up more old button constructors -- nice_text_button 2020-03-20 15:08:08 -07:00
Dustin Carlino
d22b26d66b fix up overlays, part 1:
- dont show most of them when zoomed in
- change the layers icon when one is active
2020-03-20 11:55:32 -07:00
Dustin Carlino
3aacb06fa5 adjust tutorial top panel to make task selection more clear 2020-03-20 10:23:30 -07:00
Dustin Carlino
b08c2caa12 wittle down more old button constructors. also improve splash screen style. 2020-03-18 11:45:20 -07:00
Dustin Carlino
d63c79d87c popup info in map editor only when a key is held. lock down old
blocking_text methods a little more
2020-03-18 11:13:40 -07:00
Dustin Carlino
01b5617840 show recommended scale factor in options [rebuild] 2020-03-18 10:22:39 -07:00
Dustin Carlino
ad4ebeeb61 add z-buffering to glow/wasm backends. helps #21 2020-03-17 11:16:22 -07:00
Dustin Carlino
0bcbac1fee upgrade a few misc packages 2020-03-17 10:35:37 -07:00
Dustin Carlino
6de415033e more button refactor:
- custom tooltips
- get rid of a few old Button constructors
2020-03-17 09:46:51 -07:00
Dustin Carlino
2ae6992a3e continue button refactor 2020-03-16 12:20:37 -07:00
Dustin Carlino
122aa1e25c starting a refactor of buttons. very modest start. [rebuild] 2020-03-15 19:58:03 -07:00
Dustin Carlino
fedacfe202 reduce verbosity of constructing text widgets [rebuild] 2020-03-13 23:06:52 -07:00
Dustin Carlino
28babb414f display baseline plots for roads/intersections 2020-03-10 12:42:30 -07:00
Dustin Carlino
c316d918d7 can only type in text boxes with focus 2020-03-09 13:23:03 -07:00
Dustin Carlino
e8bb993dfd make dropdown menus work reasonably: fix z value, add background, recalculate button outline 2020-03-09 09:40:59 -07:00
Dustin Carlino
f9b2c5de4f optionally use touchpad for different canvas movement controls 2020-03-07 16:13:30 -08:00
Dustin Carlino
5a3263df47 quick fixes after ux study:
- double finish button on signal editor
- reset ACS on each tutorial stage
2020-03-07 15:59:45 -08:00
Dustin Carlino
727131145b doh 2020-03-06 12:33:21 -08:00
Dustin Carlino
509e0812b1 add a video of the ezgui demo 2020-03-06 12:32:12 -08:00
Dustin Carlino
599a9abd34 document ezgui example 2020-03-06 12:21:36 -08:00
Dustin Carlino
a8f862f83d fleshing out the ezgui demo, and fixing a little bug with checkboxes 2020-03-06 10:31:08 -08:00
Dustin Carlino
b835f8a6f7 unused deps 2020-03-06 08:27:00 -08:00
Dustin Carlino
476751147c starting a new dropdown widget and using it for picking walk buttons.
avoids the cloneable mess. but has lots of new little issues...
2020-03-05 15:00:42 -08:00
Dustin Carlino
54f4597166 just refactoring some places that mutably build up rows/cols 2020-03-04 16:13:17 -08:00
Dustin Carlino
250b59bfee generalize checkboxes slightly. use in demo 2020-03-04 15:55:44 -08:00
Dustin Carlino
0fd4de749d enter signal metadata via a form with multiple textboxes at once. needs
work.
2020-03-04 15:33:28 -08:00
Dustin Carlino
9525b11b20 start a standalone ezgui example 2020-03-03 16:24:27 -08:00
Dustin Carlino
08cd956faa filling out the trip timeline a bit more 2020-03-03 12:12:42 -08:00
Dustin Carlino
04390c8be9 count a click+slight jitter+release as a drag AND a click 2020-03-03 10:19:37 -08:00
Dustin Carlino
a301343159 add a setting to scale up on-screen UI things [rebuild] 2020-03-02 12:02:25 -08:00
Dustin Carlino
042bff7971 refactoring this checkbox pattern... wound up also refactoring how
widgets are found within Composites [rebuild]
2020-02-28 19:06:59 -08:00
Dustin Carlino
8fb1f2fa37 cut off the active agent graph properly. dont assume anything about the rest of the day. also reset prebaked in a missing case 2020-02-28 13:11:31 -08:00
Dustin Carlino
ee9485a144 use my glutin fix to start windows on linux faster, until it's upstreamed 2020-02-28 12:54:21 -08:00
Dustin Carlino
758fb2a1d0 remove more ModalMenus. DebugMode needs UI work, but it did anyway. 2020-02-27 13:22:57 -08:00
Dustin Carlino
51745d2675 add a better bg for tooltips, centralized in one place 2020-02-27 11:28:57 -08:00
Dustin Carlino
e9468b8ebf add tooltip warnings about the status of different maps. 2020-02-27 11:10:13 -08:00
Dustin Carlino
5e85eee935 clean up dev tools mode, removing ModalMenu dependencies and modernizing
different UI things
2020-02-27 10:38:48 -08:00
Dustin Carlino
01a9986aab remove scenario editor and related things. havent used in ages, the scenario abstraction has proven to be wrong anyway, and it blocks cleanup of old ezgui stuff (SliderWithTextBox). 2020-02-27 09:07:12 -08:00
Dustin Carlino
3e6658785e active agent plot breaking polylines 2020-02-26 14:17:41 -08:00
Dustin Carlino
1ffcd1e5b5 make web fill the entire browser. fix the inverted mouse-wheel
direction.
2020-02-26 10:30:41 -08:00
Dustin Carlino
64bde1e4a3 multiple hotkeys 2020-02-25 14:17:49 -08:00
Dustin Carlino
06759dc58c new tutorial flow [rebuild] 2020-02-25 12:17:19 -08:00
Dustin Carlino
fbb4140181 tiny wasm cleanup. havent figured out serde problem yet. [rebuild] 2020-02-25 10:35:58 -08:00
Dustin Carlino
0f19cbab55 glsl 300 isnt working on mac. go back to 140 on native, and only use 300 for wasm. [rebuild] 2020-02-25 10:02:40 -08:00
Dustin Carlino
da1731ccb2 start with the realistic scenario by default. give extra info about some
scenarios by adding tooltips in the popup menus
2020-02-24 11:27:22 -08:00
Dustin Carlino
bba71844fd small tweaks after a quick round of UX testing: [rebuild]
- flip order of +.1s, +1h buttons to match qwerty keybindings
- arrow keys for changing speed
- escape key applies to info panels first
- click out of some Composites to cancel them
2020-02-23 11:37:09 -08:00
Dustin Carlino
1268890b75 revamp time warp screen 2020-02-21 12:57:51 -08:00
Dustin Carlino
64cf4c5d69 replace components in an existing Composite. use for jump to time. maybe this will be convenient in lots of other places too... 2020-02-21 12:19:24 -08:00
Dustin Carlino
95b9731dee rip out all of the support for textures from ezgui. no more uber-shader!
\o/
2020-02-20 18:23:00 -08:00
Dustin Carlino
8693c4f0d2 upgrade to latest lyon, which has a new fill tesselator 2020-02-20 18:12:09 -08:00
Dustin Carlino
266ca19970 adjust speed controls, and make note of keybindings in the tooltip 2020-02-20 13:30:33 -08:00
Dustin Carlino
2a747ef46b tooltips for UI elements only. don't need the OSD fullscreen now. 2020-02-20 11:24:50 -08:00
Dustin Carlino
e79790249e separators in meters [rebuild] 2020-02-19 13:44:09 -08:00
Dustin Carlino
848347a9b5 change up agent meters 2020-02-19 08:23:06 -08:00
Dustin Carlino
f28961e9c4 add padding to OSD 2020-02-18 17:43:00 -08:00
Dustin Carlino
f90ac143e0 put IDs back in info panels, in a less scary way. make histogram a bit
smaller, to stop covering new scorecard
2020-02-18 12:14:05 -08:00
Dustin Carlino
254d07223e option to invert scroll direction 2020-02-18 07:30:32 -08:00
Dustin Carlino
d292e29ad0 get the game crate running in wasm. bundle in lots of data files, fake out a few more IO things, glue timer println's to console log 2020-02-15 16:44:06 -08:00
Dustin Carlino
bdb0844512 make game crate compile under wasm 2020-02-14 16:15:44 -08:00
Dustin Carlino
b2c92ab8f9 upstreaming some changes for wasm here
- use instant crate
- bring in the wasm ezgui backend and necessary setup tweaks
- upgrade stdweb

but no map editor build magic yet
2020-02-14 14:28:25 -08:00
Dustin Carlino
152568476c no more Text::prompt 2020-02-13 13:57:48 -08:00
Dustin Carlino
691dcdfbbc also revamp panels for other objects, except for the trip details part 2020-02-12 12:22:43 -08:00
Dustin Carlino
fc47d2b948 work on info panels a little more. lanes are looking pretty good now. 2020-02-12 11:16:05 -08:00
Dustin Carlino
67846ee2ca X buttons in popup menus werent clickable, fix by unconsuming the event 2020-02-11 16:25:44 -08:00
Dustin Carlino
606325ac77 make the glow and glium backends toggleable at build-time 2020-02-10 20:23:12 -08:00
Dustin Carlino
0b56ef6dea clipping support 2020-02-10 20:10:58 -08:00
Dustin Carlino
b2e9709c33 fixed the broken drawing, needed indices count, not vertices 2020-02-10 19:51:05 -08:00
Dustin Carlino
7267410ac0 aha, fixed size problem, gotta update viewport 2020-02-10 19:41:15 -08:00
Dustin Carlino
34fdf6a5e5 got stuff displaying! \o/ buggily 2020-02-10 19:28:23 -08:00
Dustin Carlino
dcca8e7147 WIP upload and draw buffers. doesn't work yet. I miss glium's nice
abstractions. :(
2020-02-10 17:44:59 -08:00
Dustin Carlino
5205a0c43e starting a stubbed out port to glow (glutin dependencies still). it
uploads the shaders, clears the window out so far!
2020-02-10 16:59:02 -08:00
Dustin Carlino
c5a055cbb6 rearrange ezgui internals to isolate all glium/glutin specifics into one
module
2020-02-10 16:18:31 -08:00
Dustin Carlino
82f149db56 X button on popup menus 2020-02-10 13:38:14 -08:00
Dustin Carlino
9c5ea334e0 avoid a crash with empty text (happening in building info panels, for example) [rebuild] 2020-02-10 10:10:05 -08:00
Dustin Carlino
6ff0c85a14 cutover to use winit's own event loop. thanks to goddessfreya for help
fixing the animation timing in
https://github.com/rust-windowing/winit/pull/1450#pullrequestreview-355698895
2020-02-10 10:01:49 -08:00
Dustin Carlino
935e42aee6 upgrade glium and glutin
- reference events exported from glutin as winit events, which will ease a transition to wasm (where winit is used with glow, not glium)
- also winit stopped requiring a dance to convert logical to physical sizes, so stop tracking dpi!
2020-02-09 10:56:51 -08:00
Dustin Carlino
62fb7bfd95 avoid unnecessary polygon transformations when adding SVGs to things.
rotate() requires center(), which is actually a bit expensive because of
some paranoia about dupe pts.
2020-02-08 17:08:08 -08:00
Dustin Carlino
4660dd077c rip out the old support for mapping UV coordinates onto a polygon 2020-02-08 16:48:01 -08:00
Dustin Carlino
e46cd7b677 cache SVGs 2020-02-08 16:27:45 -08:00
Dustin Carlino
4f79339b0f adjust plot axes and mouseover 2020-02-08 14:08:26 -08:00
Dustin Carlino
db65e1d41f slightly less inefficient draw_blocking_text 2020-02-08 13:52:29 -08:00
Dustin Carlino
0fc864ee51 limit text cache size. work on build scripts again [rebuild] 2020-02-08 13:25:48 -08:00
Dustin Carlino
a5e9505fd2 manually add padding to text, making it look reasonably usable. cutover!
[rebuild]
2020-02-08 13:08:31 -08:00
Dustin Carlino
5a1e54f40e override dims of text-based things. kinda fixes some problems, but... 2020-02-08 10:36:44 -08:00
Dustin Carlino
f262317b7e trying to sort out line height 2020-02-08 10:36:44 -08:00
Dustin Carlino
c51c37caba draw the OSD better [rebuild] 2020-02-08 10:36:44 -08:00
Dustin Carlino
4b95f34209 make loading screen draw its bg properly 2020-02-08 10:36:44 -08:00
Dustin Carlino
fad4cdbda2 plumb font directory so it'll work anywhere, but still would prefer to bundle binary data properly 2020-02-08 10:36:44 -08:00
Dustin Carlino
6268b291b9 escape svg text 2020-02-08 10:36:44 -08:00
Dustin Carlino
da59362dfe fix z values, especially for tooltips. also refactor Button::new 2020-02-08 10:36:44 -08:00
Dustin Carlino
b7b607a6b6 eradicate DrawBoth 2020-02-08 10:36:44 -08:00
Dustin Carlino
d3aa02cee4 improve loading screen text rendering time. don't double-render text,
use fixed dims, adjust lyon tolerance
2020-02-08 10:36:44 -08:00
Dustin Carlino
12826fe118 start dismantling DrawBoth, and make the JustDraw API nicer 2020-02-08 10:36:44 -08:00
Dustin Carlino
1371ed35ee dirt simple hack to cache rendered text. reasonable! 2020-02-08 10:36:44 -08:00
Dustin Carlino
1e7760062d rephrase render API to not include transformation, so we can cache Text 2020-02-08 10:36:44 -08:00
Dustin Carlino
3ff56f54cf prepping for a caching layer by changing render API, plumbing ctx...
getting close
2020-02-08 10:36:44 -08:00
Dustin Carlino
7c76f2d119 migrating all callers of draw_text_at_mapspace to do something better now 2020-02-08 10:36:44 -08:00
Dustin Carlino
d806d9509b draw traffic signal text label properly (and way more efficiently now) 2020-02-08 10:36:44 -08:00
Dustin Carlino
37bcfab7af whoa, tspan exists and is magical. simplify things... 2020-02-08 10:36:44 -08:00
Dustin Carlino
bd20d61500 use my own enum for font. remove glium-glyph dependency completely 2020-02-08 10:36:44 -08:00
Dustin Carlino
95c1f47047 clean up text_dims, then unplumb a BUNCH of stuff 2020-02-08 10:36:44 -08:00
Dustin Carlino
9355bcf5fd cutover mapspace text quickly (without doing the scaling down yet.
delete lots of stuff.
2020-02-08 10:36:44 -08:00
Dustin Carlino
234689533a woohoo, dismantle screenspace glyphs entirely 2020-02-08 10:36:44 -08:00
Dustin Carlino
7f0539bcac cutting over more internal callers to new thing 2020-02-08 10:36:44 -08:00
Dustin Carlino
ab1652aa77 cutover text_dims to the new thing. fixes lots of buttons. 2020-02-08 10:36:44 -08:00
Dustin Carlino
613fa73a32 offset negative dims. doesnt quite work but kinda leaving this in... 2020-02-08 10:36:44 -08:00
Dustin Carlino
a9ef443c17 handle empty lines 2020-02-08 10:36:44 -08:00
Dustin Carlino
ec08a9177e custom font families 2020-02-08 10:36:44 -08:00
Dustin Carlino
3eea1f2a45 changing DrawBoth internally to use the new thing. this actually gets
most callers!
2020-02-08 10:36:44 -08:00
Dustin Carlino
fa6cbea28c be able to handle generic Text 2020-02-08 10:36:44 -08:00
Dustin Carlino
b6b1be7d18 starting a way to add some text to a GeomBatch 2020-02-08 10:36:44 -08:00
Dustin Carlino
59686dddbc can we render svg text directly? need harfbuzz. [rebuild] 2020-02-08 10:36:44 -08:00
Dustin Carlino
bdb4ba43ba less terrible stop sign editor [rebuild] 2020-02-05 16:54:10 -08:00
Dustin Carlino
a878f57a42 refactor rotating colors, and use a different palette for the 10 bucket case 2020-02-05 14:53:22 -08:00
Dustin Carlino
10ef4057a0 make buttons in sandbox dash look more like tabs 2020-02-05 13:01:35 -08:00
Dustin Carlino
2d73513b0c flexbox trick to make sure plot axes arent stretched out too much when embedded in larger panels 2020-02-05 12:44:05 -08:00
Dustin Carlino
b0a56abb6e no more prompt in some of the popups, adjust the menu coloring, cancel
popups by clicking on the map
2020-02-04 13:41:09 -08:00
Dustin Carlino
7f82241ed9 put some popup menus beneath their buttons 2020-02-04 13:25:53 -08:00
Dustin Carlino
28d593797a overhaul fullscreen layouts: splash menu, about, challenge picker,
sandbox dashboards. I think I understand enough of the tricks now.
2020-02-03 16:13:40 -08:00
Dustin Carlino
92c2fca55e make the details button in signal challenge inactivate 2020-02-03 12:01:13 -08:00
Dustin Carlino
acef70add0 draw after update events [rebuild] 2020-02-02 22:16:02 -08:00
Dustin Carlino
abba4be202 filter out overlays intelligently 2020-02-01 11:39:48 -08:00
Dustin Carlino
8228f53d02 make it easier to debug objects by warping to them, draw turn cycler
arrows a little more successfully
2020-01-31 14:06:37 -08:00
Dustin Carlino
800008dc03 making the histogram more clear about same trips 2020-01-30 15:33:27 -08:00
Dustin Carlino
da92518d62 align all overlay panels above the minimap 2020-01-30 14:38:26 -08:00
Dustin Carlino
78344ee2a4 simplify traffic signal challenge's communication of main score. move
count/duration comparators to a more general place.
2020-01-30 10:49:20 -08:00
Dustin Carlino
cfbaf80fe3 autoscroll signal editor to show the current phase 2020-01-29 15:59:56 -08:00
Dustin Carlino
d54384742a tune minimap controls. also avoid the brief flash of a loading screen
when it's very fast [rebuild]
2020-01-29 13:35:36 -08:00
Dustin Carlino
43ea723111 tune lane editor style, and refactor some widget centering patterns
[rebuild]
2020-01-29 12:16:18 -08:00
Dustin Carlino
8a966395af prevent a crash with spawning agents around intersections. tiny tutorial tweaks 2020-01-28 14:33:55 -08:00
Dustin Carlino
e733fe9d94 plumb real time passed through Update event, just base off of that 2020-01-28 09:39:44 -08:00
Dustin Carlino
bef513ec8b inactive buttons in tutorial mode 2020-01-27 15:22:53 -08:00
Dustin Carlino
52e921ff66 tune miter explosion threshold for plots 2020-01-25 14:30:28 -08:00
Dustin Carlino
dea77369a5 fix crash when an info panel becomes smaller in a direction and scroll offset was too big 2020-01-25 14:25:47 -08:00
Dustin Carlino
d3b2055b8f plot grid lines 2020-01-25 13:28:50 -08:00
Dustin Carlino
6d016cd01b stop blindly plumbing through no-op events after any input is used. do
it more explicitly in just a few places.

fixes crash when cycling through turns while sim is running.

this makes modal menus appear laggy, but that's fine; phasing those out
anyway.
2020-01-23 17:11:29 -08:00
Dustin Carlino
89a269a59e consolidating other button styles, and adjusting signal editor colors 2020-01-23 16:05:35 -08:00
Dustin Carlino
76f5cde433 nicer text button style for the top bar 2020-01-23 15:35:08 -08:00
Dustin Carlino
fd0cdb4fdb skip empty warps 2020-01-22 15:42:10 -08:00
Dustin Carlino
bdd05ee1a7 point out the car to follow 2020-01-22 15:36:17 -08:00
Dustin Carlino
75281ed354 when we change states, immediately run through a round of no-op event(). this lets us immediately draw a WizardState without having to flail the mouse a bit to trigger a first event.
(also, fix release script again)
2020-01-22 11:47:06 -08:00
Dustin Carlino
95a84fd26a tweaking rustfmt options; the long literal string vecs in tutorial look awful 2020-01-21 15:20:02 -08:00
Dustin Carlino
318faacbdb less silly scrollbar colors 2020-01-21 15:06:40 -08:00
Dustin Carlino
dfd8d43b83 tutorial stage introducing the minimap. point to widgets more precisely. 2020-01-21 15:01:10 -08:00
Dustin Carlino
73680948b5 use top-center panel for more things in all challenge modes. remove help
functions in favor of putting more info in the challenge description
2020-01-20 13:52:11 -08:00
Dustin Carlino
67ebb76f94 tiny refactor of rounded_rectangle. pad time panel 2020-01-20 12:36:27 -08:00