Michael Kirk
a0ea2ba14e
use btn_close instead of "X"s
2021-09-10 15:17:15 -07:00
Dustin Carlino
8147f49093
Work around widgetry focus problem -- allow space or enter to choose a menu entry. Proper fix started and problem described more in #739 .
2021-09-10 13:54:47 -07:00
Dustin Carlino
2598f2a15d
Workaround spinners with f64s that wind up with 0.0000001 drift
2021-09-08 08:00:49 -07:00
Dustin Carlino
27a712bcc3
Remove buttons from map_editor map loader -- very slow and not useful
2021-09-07 15:39:55 -07:00
Dustin Carlino
b231ba602f
Drag-n-drop for waypoints! #743
...
Also some drag-n-drop API tweaks:
- Don't require the caller to set `named()`
- Vertical card layout!
Some UX issues:
- deletion button alignment
- horizontal card alignment off
- sync up highlighting between map and cards
- selection state for a waypoint is meaningless
2021-09-03 13:23:17 -07:00
Dustin Carlino
1c756befa8
Hover on route, to show elevation on line plot. #743
...
Some messiness, but step forward.
2021-09-01 18:20:48 -07:00
Dustin Carlino
30a114a483
Improve the bike network tool's colors. Always draw the fog-of-war, and
...
highlight road types better. #743
2021-09-01 17:07:57 -07:00
Dustin Carlino
ba6f9f4a14
When hovering on the elevation line plot, show the equivalent position
...
on the route. #743
2021-09-01 13:18:30 -07:00
Dustin Carlino
69d965ea3e
Use the new drag-drop widget for traffic signal editor stages!
2021-08-30 09:02:00 -07:00
Dustin Carlino
e924e9d7df
Simplify the buttons for picking a stage in the traffic signal editor,
...
in preparation for dragon-drop.
These were using MultiButtons, a widgetry concept kind of redundant with
DrawWithTooltips. I think at some point we had more visual mapping
between the stage icon and the intersection on the map, to help when
synchronizing many intersections. But the functionality remaining today
just looks like clicking one intersection inside the icon, which is
barely noticeable and not helpful, so sacrifice this to proceed.
2021-08-30 08:41:29 -07:00
Dustin Carlino
1c9aaac17f
Show drop position on the map while dragging lane cards
2021-08-29 16:40:54 -07:00
Dustin Carlino
93fb9a274f
Organize bike lane buffer types into a dropdown ( #724 )
...
Organize lane types in the editor. All buffer types expressed as a dropdown, and lanes for moving/not moving are grouped.
2021-08-25 14:12:17 -07:00
Michael Kirk
ae80eb2509
road editor design tweaks ( #737 )
...
- regroup sections to avoid undesirable inner rounding
- move panel away from edge
- make tabs more obvious with "shadow" on bottom of unselected tabs
2021-08-25 12:21:05 -07:00
Dustin Carlino
9761373c4b
Don't recalculate map hover state in the middle of dragging
2021-08-25 11:47:10 -07:00
Dustin Carlino
6c3ce23e5f
Use a cross-hatch pattern to show edited roads, instead of that bizarre
...
cyan.
For the moment, just to simplify things, bake the edited color into the
bike network layer. Probably will split it out later, maybe moving the
proposal management to the legend row.
2021-08-24 15:50:19 -07:00
Dustin Carlino
78222ffadb
Preserve the same Layers object through all the states of the ungap tool. Do this by a "new" Transition that's allowed to consume the current state.
...
Alternatives considered:
- put Layers in the App struct, since it's shared -- but only for the
ungap tool. It'd be nice to split it into its own standalone crate now,
but it'll be some work to refactor edit mode out of game.
- put Layers in App session
2021-08-24 14:37:16 -07:00
Dustin Carlino
bddbe8af99
Followup to #728 : highlight lanes on map when hovering on the cards
2021-08-24 10:58:04 -07:00
Dustin Carlino
b5015143cb
Small drag-and-drop typo fixes
2021-08-24 10:27:43 -07:00
Michael Kirk
4e93b34ded
restore proper shape/size/color/highlights of lane cards
2021-08-24 10:27:43 -07:00
Michael Kirk
03b15fae43
widgetry: dont grow widget as you're dragging
...
Otherwise the screen bizarrely grows/shrinks as you're dragging.
2021-08-24 10:27:43 -07:00
Michael Kirk
161e962bbc
widgetry: dragondrop inserts at proper place, not swap, fixes offset
2021-08-24 10:27:43 -07:00
Dustin Carlino
050c59e817
Draw the new state if the user would finish dropping.
...
Incorrect math in some cases, but making progress.
2021-08-24 10:27:43 -07:00
Dustin Carlino
7afd428017
Draw the card being dragged near the cursor
2021-08-24 10:27:43 -07:00
Dustin Carlino
b9b0ac5bb7
Very roughly express the road editor lane cards with DragDrop
2021-08-24 10:27:43 -07:00
Dustin Carlino
0d028d1bb7
Dragon drop poof of conscepter
2021-08-24 10:27:43 -07:00
Michael Kirk
9e0fc19bb1
canvas: double click to zoom ( #727 )
2021-08-21 09:56:15 -07:00
Dustin Carlino
4ad652fce5
Use SVG to create a text outline for labels
2021-08-20 15:14:41 -07:00
Michael Kirk
e124f21317
map explorer: add zoom buttons near legend ( #726 )
2021-08-20 12:47:19 -07:00
Dustin Carlino
135e85d06d
Force some distance spinners to render in feet
2021-08-19 10:49:10 -07:00
Dustin Carlino
98a081303f
Fix btn_plain_destructive in day/night mode. Background should be clear, not grey.
2021-08-18 13:54:28 -07:00
Dustin Carlino
ae490b54c9
Only grab OpenGL uniform location once per draw call. Chrome profiling says it's a hot-spot (very slight, but it's quite easy to fix, so...)
2021-08-15 09:51:46 -07:00
Dustin Carlino
fd1480cbac
Make widgetry require less Houdini skills: never mind on downloading new cities gets stuck with autocomplete search.
2021-08-09 14:28:55 -07:00
Dustin Carlino
1787611f56
More ergonomic route sketcher:
...
- still zoom when hovering on points
- more clearly show nodes being dragged
2021-08-08 10:00:44 -07:00
Dustin Carlino
773be88aed
Increase multisampling to fix unzoomed road outline tearing ( #722 )
2021-08-07 21:56:40 -07:00
Dustin Carlino
116198e863
Revive the ability to render in greyscale with the fragment shader, for quicker color scheme tuning...
2021-08-05 15:37:49 -07:00
Dustin Carlino
1585eed66f
Don't keep jamming the same button for the skeletonvator, that doesn't help
2021-08-04 10:51:31 -07:00
Dustin Carlino
06429d0d5f
In the mode shift dashboard, show roads that might be highly used by converted trips... but that're missing bike infrastructure. #448
2021-07-26 10:41:51 -07:00
Dustin Carlino
f6a94e8a58
Allow DrawWithTooltip to return custom data instead of string labels.
...
CloneableAny revived from e35c69f6f3
2021-07-18 14:14:19 -07:00
Dustin Carlino
942f2292fc
Steps towards clicking cells in the problem matrix to explore trips with differences. #600
...
- Add optional clickable labels to DrawWithTooltips
- Wire up problem_matrix to remember the list of trips associated with
each cell
- When clicking a cell, just open one arbitrary example trip
2021-07-18 14:14:19 -07:00
Michael Kirk
78a840edfa
return Duration not mins
2021-07-13 22:51:18 -07:00
Dustin Carlino
14a0e005c8
Make sliders trigger Outcome::Changed, except for scrollbars. Manually
...
verified this doesn't break or slow down existing uses of sliders.
2021-07-13 12:36:54 -07:00
Dustin Carlino
184593094e
Also round up the X axis for the elevation plot, and lower the number of
...
line plot labels by default
2021-07-09 09:23:56 -07:00
Michael Kirk
321c9d9c40
Label contingency matrix axes
2021-06-23 10:13:51 -07:00
Dustin Carlino
8f199177f5
Upgrade to Rust 1.53
...
- arrays are now iterable directly
- switch to using BTree{Set,Map}::retain!
- a round of clippy
- regenerate scenarios and prebaked data; not sure why, but there's a
diff
2021-06-17 23:04:35 -07:00
Rémi Lauzier
1a4b997818
Fix some clippy warnings
2021-06-16 16:21:35 -07:00
Dustin Carlino
d827673ace
Periodically free memory in the middle of screenshot test, to avoid
...
running out on my current machine. Fixes #671 .
Finally regenerate screenshots for the first time in ages... just
blindly accepting everything, because the slightly different screen size
means everything was slightly shifted down.
2021-06-09 14:31:40 -07:00
Dustin Carlino
889c500eb1
Force geojson to use geo-types feature everywhere. This lets different
...
binaries properly share workspace dependencies.
See
https://www.reddit.com/r/rust/comments/nvd6y7/common_crates_in_cargo_workspace_recompiled_due/
for the full story behind this mess.
I'm going to keep repeating this process until I get game and importer
to share dependencies again.
2021-06-09 09:48:53 -07:00
Dustin Carlino
a38125ad2c
Adjust multi road editor more -- custom cursor icons for select/unselect
2021-06-03 15:23:55 -07:00
Dustin Carlino
2f71751929
Add support for tooltips on disabled buttons. Use this to explain a f… ( #661 )
...
* Add support for tooltips on disabled buttons. Use this to explain a few pecularities of the road editor UI.
* Consistent tooltip storage
2021-05-24 15:05:32 -07:00
Vinzent Steinberg
a1899e29f8
Update dependencies ( #656 )
...
* Update dependencies
* Use github for polylabel, to make all dependencies use geo 0.18, not a mix of 0.18 and 0.17
* Downgrade lyon to avoid a crash
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2021-05-22 16:23:06 -07:00
Michael Kirk
94501e4699
size horizontal-divider WRT its parent size, not absolute window size
2021-05-17 18:19:06 -07:00
Michael Kirk
ed36776b1d
PERF: don't recompute flexbox when scrolling
2021-05-17 17:44:06 -07:00
Dustin Carlino
1e3ed254a9
Reorganize canvas settings, so that they can actually be saved. #216
2021-05-17 13:12:45 -07:00
Dustin Carlino
0f06d4d52f
Make canvas scroll speed configurable, just like GUI panel scroll speed.
2021-05-17 10:16:44 -07:00
Vinzent Steinberg
9d17faa878
Prefer slices over reference to owned type
2021-05-15 14:24:08 -07:00
Dustin Carlino
1edbca6509
Refactor most of the places extracting polygons from geojson files ( #644 )
2021-05-15 09:05:28 -07:00
Michael Kirk
9fc2505df8
touch up "travel times" screen (formerly "trip summaries") ( #645 )
...
* touch-up scatter plot
* Bespoke bucket durations for faster/slower, rename duration summaries
* codify secondary text color per theme
* clarify axis labels apply to bar boundaries
* address clippy
2021-05-14 16:19:00 -07:00
Dustin Carlino
29c881ffc3
Switch from cargo +nighty fmt to the stable cargo fmt. Whatever edge-case formatting was happening with stable has been fixed
2021-05-14 08:39:51 -07:00
Vinzent Steinberg
fd3b0e2a14
Fix compilation failures and most clippy warnings ( #642 )
...
* abstutil: Fix compilation failure
* map_gui: Fix compilation
* traffic_signal_data: Fix compilation failure
* map_model: Fix compilation failure
* abstutil: Fix doctests
* abstio: Fix most clippy warnings
* abstutil: Fix most clippy warnings
* collisions: Fix clippy warning
* convert_osm: Fix clippy warnings
* sim: Fix most clippy warnings
* geom: Fix clippy warnings
* kml: Fix clippy warnings
* map_model: Fix most clippy warnings
* fifteen_min: Fix clippy warnings
* game: Fix many clippy warnings
* Disable some noisy clippy warnings
* headless: Fix clippy warnings
* importer: Fix clippy warnings
* map_editor: Fix clippy warnings
* map_gui: Fix clippy warnings
* osm_viewer: Fix clippy warnings
* parking_mapper: Fix most clippy warnings
* popdat: Fix clippy warnings
* santa: Fix clippy warnings
* sumo: Fix clippy warnings
* traffic_seitan: Fix clippy warning
* updater: Fix clippy warnings
* widgetry: Fix clippy warnings
* tests: Fix some clippy warnings
* Fix compilation on stable Rust
* Simplify unwrapping
* Make use of `Entry` more readable
* Fix formatting
* Fix code that was broken in the refactoring
* Apply cargo +stable fmt
* Fix code that was broken in the refactoring, second try
* Remove `Default` impls that are equivalent to `new`
* Remove obsolete clippy wrapper
* Avoid turbofish
* Prefer `unwrap_or_else` over allowing `clippy::or_fun_call`
* Remove redundant `into_iter`
* Fix typo
* Prefer `&& false` over commenting code out
* Fix some clippy warnings
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2021-05-14 08:32:56 -07:00
Michael Kirk
0d758c74f1
Polish contingency matrix / risk screen
...
- better color contrast
- don't color neutral/no-change buckets
- show "-" rather than "0" for cells which have been filtered out
- bespoke, non-linear, bucket durations for x-axis
- less buckets for y-axis
- better copy for tooltips
- label axes
- show empty chart rather than no chart
- remove "delays" which aren't really risks
- clarify that risk visualizations are just for bikes for now
- remove filter UI and only include bikes
2021-05-13 13:35:04 -07:00
Michael Kirk
cfbd58cdce
shrink down jump-to menu w/ exact sizing
2021-05-12 17:39:19 -07:00
Michael Kirk
ec82b728dc
hotkeys for proposal navigation
2021-05-12 17:39:19 -07:00
Dustin Carlino
8826af31cb
Make the CSV extra shapes parser handle WKT linestrings, so we can
...
visualize the GMNS signal timing data easily. #626
And fiddle with the KML viewer UI a bit to make it easier to inspect the
movement polylines.
2021-05-05 13:40:53 -07:00
Dustin Carlino
82332ad94a
Change how durations are printed ( #633 )
2021-04-29 14:22:35 -07:00
Dustin Carlino
5186957ce4
Store a generic type in the Spinner widget. ( #631 )
2021-04-29 11:35:22 -07:00
Dustin Carlino
8c5f603c39
Pick default scenarios better, and describe some of the UK scenarios in the picker.
...
And the tiny Widget::evenly_spaced_row refactor from the previous PR
2021-04-28 18:01:08 -07:00
Michael Kirk
4a18c64701
tweaks to get closer to the design ( #630 )
2021-04-28 17:59:23 -07:00
Dustin Carlino
7f2dafb489
Get closer to the Figma card style for road editor buttons. #597 ( #627 )
2021-04-28 17:39:21 -07:00
Dustin Carlino
b235c0d0bb
Organize the per-country city picker UI by alphabetical rows. Quick idea from today's UX session.
2021-04-28 17:19:09 -07:00
Dustin Carlino
bc591c1b5f
Plumb back the widget name in Outcome::Changed
2021-04-22 13:09:32 -07:00
Dustin Carlino
babdc9e384
Let TextBox know its own name, and clean up the API for creating them
2021-04-22 13:09:32 -07:00
Dustin Carlino
ff039f017a
Let Spinner know its own name
2021-04-22 13:09:32 -07:00
Dustin Carlino
4ee50de58d
Make dropdowns start with the current value when you open them
2021-04-22 07:57:23 -07:00
Michael Kirk
0697e1f649
make minimap fixed size
...
On very large windows, the minimap felt a little weird.
Plus, looked weird on very short windows, since we were only considering
width, not height,
Now that layout is all in logical pixels, we're more likely to get
reasonable layout using "fixed-size" components, and only judicious use
of components that scale with the window.
2021-04-15 19:22:37 -07:00
Dustin Carlino
1e94ba9b06
Update some tutorial wording from Yuwen's designs.
...
Internally, overhaul some of the crazy tutorial code to just use Text,
not Vec<String>.
2021-04-13 16:56:39 -07:00
Michael Kirk
4f81f186af
embed mode and reworked web build system ( #592 )
...
* root element id from Settings, respect element size
* Plumb assets root via settings
* adapt crates to new wasm api
* more FileLoader cleanup
* use tsc bin from node_modules
* avoid spurious unlink errors
GNU Make considers the src/*/wasm_pkg targets as intermediate build
files and attempted to `rm` them. We can stop that my marking them as
`.PRECIOUS`
https://www.gnu.org/software/make/manual/html_node/Special-Targets.html
* `open` doesn't work on Linux
We could do something with xdg-open, but meh, not worth having platform
dependent logic for this.
* fix typo, clarify instructions
* make server compatible with older python install on linux
* revert change - we dont want to include music on web
the leading "-" means exclude a subdir of an included dir.
* better wrap of comments
* fix misfire in copy/pasted comment
* update docs
2021-04-01 19:31:02 -07:00
Dustin Carlino
0e86b94408
Make the start/end rectangular filter actually apply to the trip tables. #574
2021-03-31 16:35:56 -07:00
Dustin Carlino
c89e918fec
Create a dummy widget to stash generic state in a Panel, and use it to plumb around the rectangular regions to the trip table filters. #574
...
The filter still doesn't make use of the regions yet.
2021-03-31 16:35:56 -07:00
Dustin Carlino
ef7cbdcf48
Generalize LinePlot to handle any kind of X-axis, not just time. #82
...
Also split out some common code to a plots module. Fan charts and
scatter plots are still hardcoded to use Time as the X-axis and
duplicate lots of code, but this is a step towards refactoring
everything.
2021-03-26 12:07:21 -07:00
Dustin Carlino
73a31d1633
Add a line plot showing the elevation of the route taken by pedestrians
...
and cyclists. Add support for Distance as the Y axis of a LinePlot. #82
2021-03-26 12:07:21 -07:00
Dustin Carlino
2c1c18d34a
Upgrade glow
2021-03-25 15:23:13 -07:00
Michael Kirk
e672256828
Import screen UI fixups ( #584 )
...
* Import screen UI fixups
- even out the spacing a bit
- use underline style for "Alternate Instructions" web link
- left/right switch is more intuitive than right/left
- disambiguate label from toggle id
2021-03-23 15:11:14 -07:00
Michael Kirk
b07ac626d4
fixup proposal "tabs"
2021-03-22 12:00:43 -07:00
Michael Kirk
761e2e6412
new tab styles for info panels
2021-03-20 14:33:54 -07:00
Michael Kirk
af079c24e6
rename txt.add -> txt.add_line
2021-03-19 17:48:30 -07:00
Michael Kirk
affd582093
more concise Text
/ tooltip()
2021-03-19 16:48:54 -07:00
Dustin Carlino
edfb745bb2
Change the default color scheme to day mode. Behaviorally, this rolls out the change for the OSM viewer, 15m app, parking mapper, and map_editor.
2021-03-19 15:26:35 -07:00
Michael Kirk
2de212438f
fix comment typos
2021-03-19 12:43:32 -07:00
Michael Kirk
62180432b9
increase tab contrast a bit more in dark theme
2021-03-19 11:56:22 -07:00
Michael Kirk
014bd56379
CR: clarify swap_inner_content method
2021-03-19 11:56:22 -07:00
Michael Kirk
8b685fd746
increase contrast of panel_bg vs the panel_section
...
Currently the color was only via transparency - so depending on what was
behind the panel, there was sometimes not enough contrast.
2021-03-19 11:56:22 -07:00
Michael Kirk
e493c02d83
convert trip tables to new tabs
...
The GenericTable machinery lost a lot of it's utility now that we have
proper tabs. I've left a couple of free functions to be shared, and
inlined the remaining simple functionality.
2021-03-19 11:56:22 -07:00
Michael Kirk
e39059644c
fixup! wip apply tabs to TimeWarp
2021-03-19 11:56:22 -07:00
Michael Kirk
02d08fa262
fixup! style tabs
2021-03-19 11:56:22 -07:00
Michael Kirk
1d57bb5f25
wip apply tabs to TimeWarp
2021-03-19 11:56:22 -07:00
Michael Kirk
7f00154ae6
style tabs
2021-03-19 11:56:22 -07:00
Michael Kirk
ab787a5cd1
WIP: spiked tabs implementation for widgetry demo
...
TODO:
- tooltips (or is that just a responsibility of the button builder?)
- widgetry color scheme should use day-theme
- pick nice tab colors
- start applying!
- jump in time
- info panel
- "more data"
- fix width to match widest? Or maybe width modes?
2021-03-19 11:56:22 -07:00
Michael Kirk
a0ad4bd762
fixup! Replace ButtonImage with Image
...
Apply default tint to icons unless specified as untinted
2021-03-18 11:02:41 -07:00
Michael Kirk
546599e4f9
Replace ButtonImage with Image
2021-03-17 19:06:43 -07:00
Dustin Carlino
1773782975
Place layer panels and info panels in the same place, on the left side of the screen. Simplify layer code, now that we don't need to align relative to the minimap.
2021-03-17 14:15:13 -07:00