Commit Graph

913 Commits

Author SHA1 Message Date
Dustin Carlino
ae96627711 add the separator to split btns 2020-04-05 12:16:51 -07:00
Dustin Carlino
fec2bb51ca start organizing ezgui internal constants into a Style struct 2020-04-05 11:57:27 -07:00
Dustin Carlino
b62c293104 start some in-progrss color schemes for rapid prototyping 2020-04-04 18:13:45 -07:00
Dustin Carlino
8b6485b233 persistent split buttons for time increments. still need few tweaks, but
largely there
2020-04-04 13:22:14 -07:00
Dustin Carlino
edffcf3db7 small time/speed panel changes. also learning a little more about when
padding actually works in flexbox...
2020-04-04 12:06:06 -07:00
Dustin Carlino
4d8ab45750 slowly moving string colors to the struct 2020-04-04 10:59:51 -07:00
Dustin Carlino
fd80a7f2a9 starting the grand colorscheme refactor (there really are lots of grand
refactors lately). plumbing and replacing constants / floating methods
2020-04-04 10:16:18 -07:00
Dustin Carlino
af2708df67 goodbye eyes, hello colored checkboxes. also switch to a vertical
visibility panel when unzoomed. [rebuild]
2020-04-03 17:41:20 -07:00
Dustin Carlino
e0acc4973b actually, i don't need to support changing font or size mid-line yet. simplifies some info panel code. 2020-04-03 14:26:17 -07:00
Dustin Carlino
24acb27934 force override width to make the table look nice 2020-04-03 13:35:20 -07:00
Dustin Carlino
5ba468f4cf SVG border-radius is sometimes a lie. mimic the dirty trick. 2020-04-03 13:22:05 -07:00
Dustin Carlino
0b6418bdb6 finally make autocomplete a real widget 2020-04-02 13:33:42 -07:00
Dustin Carlino
6f56bf64bf dismantle the old draw_text_at, clean up a few more ezgui APIs and
callers
2020-04-02 12:02:14 -07:00
Dustin Carlino
2fe6303f9c fix some buttons not having correct hover state when composites are
replaced due to time passing or values changing. handle for restoring
scroll state and realigning panels.
2020-04-02 11:27:21 -07:00
Dustin Carlino
a31d3baf1d create a spinner widget, replace some bad heatmap sliders with it 2020-04-02 11:03:27 -07:00
Dustin Carlino
87cc45752d better person headers 2020-04-01 17:18:29 -07:00
Dustin Carlino
ef90c6935c use the locate header button to follow/unfollow people 2020-04-01 15:50:11 -07:00
Dustin Carlino
199b175319 change the mouse cursor based on context [rebuild] 2020-04-01 10:23:28 -07:00
Dustin Carlino
93227a138b ありがとう, Mr Roboto. You've served us well, but switch to Overpass 2020-04-01 09:32:52 -07:00
Dustin Carlino
62b49ad884 refactor: properly generic histogram, and remove unnecessary boilerplate
from Plot. Rust generics are so awesome.
2020-03-31 20:57:50 -07:00
Dustin Carlino
e12e788716 work on more small style improvements of info panels [rebuild] 2020-03-31 17:27:25 -07:00
Dustin Carlino
509eb87bf5 merge status and trips pages. and go back to latest lyon after fix in
https://github.com/nical/lyon/issues/558
2020-03-31 14:45:07 -07:00
Dustin Carlino
7be5b3f34a change settings live for traffic/delay graphs [rebuild] 2020-03-31 12:31:40 -07:00
Dustin Carlino
a2b064099e reorganize bus info when clicking on an actual bus 2020-03-30 17:39:14 -07:00
Dustin Carlino
06bb5e08e6 refactoring Color / FancyColor. remove hatching style 1 2020-03-30 16:15:32 -07:00
Dustin Carlino
0fb22b5f50 sloppy (and incorrect!) implementation of gradients. temporarily breaks
non-glium backends, about to cleanup.
2020-03-30 15:48:23 -07:00
Dustin Carlino
403232e48e woops, fix a tutorial crash from the refactor. and tweak a few info
panels [rebuild]
2020-03-28 23:05:24 -07:00
Dustin Carlino
8288a4b6af fix unicode characters that arent in roboto 2020-03-27 16:56:34 -07:00
Dustin Carlino
e2cc9dbb55 improving trip details, adding links to src/goal [rebuild] 2020-03-27 15:02:11 -07:00
Dustin Carlino
d109325b3f force downgrade lyon to fix horrible text rendering regression [rebuild] 2020-03-27 13:05:32 -07:00
Dustin Carlino
863ed5877a approaching a better style for info panel tabs 2020-03-27 08:07:34 -07:00
Dustin Carlino
69dab9e27d typography overhaul... [rebuild] 2020-03-26 15:42:37 -07:00
Dustin Carlino
0133685eb7 converted the import.sh shell script into Rust. towards #27
as part of this, wound up grabbing fresh OSM and GTFS. but actually cant
reimport OSM right now, because fixes reference old OSM IDs and things
break. so sticking with old OSM, but new GTFS. urgh.
2020-03-25 19:54:33 -07:00
Dustin Carlino
0ab262be99 remove stretch style boilerplate 2020-03-25 10:45:17 -07:00
Dustin Carlino
8b1f66a3ed clarify modes on main menu 2020-03-24 10:06:26 -07:00
Dustin Carlino
b6eb46ec04 moving ezgui stuff around a little, cleaning up some of the APIs for
instantiating widgets
2020-03-22 23:50:14 -07:00
Dustin Carlino
96d7987c7e aha, dont need to plumb ScreenRectangle to widgets after all 2020-03-22 21:04:05 -07:00
Dustin Carlino
4df64b4c83 remove last users of ModalMenu. so long, (some variant of) the original widget. 2020-03-22 20:59:44 -07:00
Dustin Carlino
581956222c refactor some of the downcasting [rebuild] 2020-03-22 16:35:20 -07:00
Dustin Carlino
0e59efe15b trait-ifying nothing, row, column. the enum is hereby gone! 2020-03-22 16:19:05 -07:00
Dustin Carlino
1682b6c28f trait-ify Button 2020-03-22 15:20:46 -07:00
Dustin Carlino
10d3c0aa60 get rid of the warping and normal item sliders. do something more manual in the (dev tools only) places using them. going to rethink slider API more carefully later.
(removed individual/all PSRC trip viz; these haven't been useful for a
long time, and the people/schedule stuff is kinda replacing it anyway)
2020-03-22 14:55:16 -07:00
Dustin Carlino
67b21a334c trait-ify dropdowns (generic type plumbed in the right place now) 2020-03-22 14:23:01 -07:00
Dustin Carlino
2b2b30a6bb express many ezgui widgets as a generic trait.
- prepares the API for anyone to implement widgets
- cleans up boilerplate code
- gets rid of hacks with Plot<T>
2020-03-22 14:06:02 -07:00
Dustin Carlino
2712ea8c74 settle on using the common widget ID for everything (except rows/cols).
move some non-widget tools to a better module, and rename shaders
directory
2020-03-22 10:48:11 -07:00
Dustin Carlino
1259b42ab5 same for fillers and menus 2020-03-21 18:51:07 -07:00
Dustin Carlino
dbd9dcf5dd inline sliders in the tree directly 2020-03-21 18:41:01 -07:00
Dustin Carlino
acbeb2b499 expose some settings for interactively tuning the dot / heat map of people. this way is buggy (controls constantly being recreated), but a start. 2020-03-21 17:42:17 -07:00
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