Dustin Carlino
a5ae881be5
Start to dismantle the old lane editor by moving the old bulk road
...
selector into debug mode. #597
Previously, it was used both to search/replace lane types and to
select roads, then dump them in various formats. Just preserve the
latter behavior.
2021-05-21 14:34:04 -07:00
Dustin Carlino
ef90721741
Fix missing study area polygons on the web. The refactor to Polygon::from_geojson_file introduced filesystem IO to the geom crate. Instead, we need to be explicit about how we do file IO.
...
Also fix some clippy errors
2021-05-20 14:33:04 -07:00
Dustin Carlino
922ec40a61
UX fixes for the multi-road editor:
...
- Disable the 'edit multiple' button if the current road hasn't been
changed yet
- Start with no other roads selected
- Add a "select all" and "select none" button
- Show the count of segments in the panel
2021-05-19 10:26:54 -07:00
Dustin Carlino
289475d894
Simplify multiple road editor:
...
- only handle roads with the same name
- use different colors for the 3 states
2021-05-19 10:26:54 -07:00
Dustin Carlino
a528409233
Create a UI to apply edits from one road to others with matching configurations. #597
2021-05-19 10:26:54 -07:00
Dustin Carlino
28afbe1224
Add hotkeys for lane types in the new road editor, but only for modifying an existing lane.
2021-05-19 10:26:54 -07:00
Dustin Carlino
11df7f79c7
In the travel times dash, retain the scroll state when toggling filters
2021-05-17 18:19: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
4e8136d4ff
delay chart on "travel times"
2021-05-17 18:19: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
1fe60eb8bb
Automatically save/restore user settings. #216
...
On a best-effort basis, of course. If the format changes, just start
fresh.
2021-05-17 10:34:13 -07:00
Dustin Carlino
d33a88281f
Handle fixed column names in timing.csv. #626 [rebuild] [release]
2021-05-16 11:12:39 -07:00
Dustin Carlino
ca400ae61b
Add a file picker for GMNS timing.csv. #626
2021-05-16 11:03:05 -07:00
Dustin Carlino
d6539f7449
Refactor file picker
2021-05-16 10:51:03 -07:00
Dustin Carlino
72d0e53fdc
Make ChooseSomething take a FnOnce callback, so we can avoid cloning at a few call-sites
2021-05-16 08:41:37 -07:00
Dustin Carlino
7a262fb25f
Set the gameplay mode correctly when loading from a savestate, so that prebaked results actually are loaded correctly
2021-05-15 17:11:31 -07:00
Dustin Carlino
27da792df6
cargo fmt
2021-05-15 16:28:50 -07:00
Vinzent Steinberg
ac62dde925
Prefer turbofish over temporary binding when collecting
2021-05-15 14:24:08 -07:00
Vinzent Steinberg
9d17faa878
Prefer slices over reference to owned type
2021-05-15 14:24:08 -07:00
Dustin Carlino
7767da39b9
Add fire icon to tutorial
2021-05-15 14:00:55 -07:00
Dustin Carlino
913f7b770f
Load prebaked results when restoring a savestate from the command line
2021-05-15 09:19:41 -07:00
Dustin Carlino
1edbca6509
Refactor most of the places extracting polygons from geojson files ( #644 )
2021-05-15 09:05:28 -07:00
Vinzent Steinberg
446a21696d
Fix most clippy warnings ( #646 )
...
* More conventional spelling of acronym identifiers
* `new` -> `new_state`
* Remove redundant field name
* Remove needless `collect`
* `to_controls` -> `make_controls`
* Simplify long if statement
* Fix module inception
* Simplify chained if let
* Return directly instead of creating a binding
* Disable clippy warning about `borrow` method
Implementing the `Borrow` trait instead would result in excessive type
annotations.
* Fix most remaining clippy warnings
* Allow clippy::type_complexity
* Fix bad merge from web editor
* Run cargo fmt
* Suppress large_enum_variant warnings
* Rename FYI state to ShowMessage
* Fix upper_case_acronyms warnings
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2021-05-14 17:31:32 -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
Dustin Carlino
efd10ac9b0
Fix build errors not caught by merge conflicts from #642
2021-05-14 08:37:46 -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
Dustin Carlino
0ed933aa9c
Create a contingency matrix showing how number of problems change per
...
trip duration. #600
2021-05-13 12:36:20 -07:00
Michael Kirk
cfbd58cdce
shrink down jump-to menu w/ exact sizing
2021-05-12 17:39:19 -07:00
Michael Kirk
d185195bba
toggle "draw" while warping rather than before
...
This is helpful if you forget to check the box, or if you want to take a
quick peak of what's going on in the map while warping without stopping
the warp.
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
2c5e0dae03
Fix static trait object method warning that we're now hitting in Rust 1.52
...
The <dyn ...> syntax is gross, but I don't think there's a way to avoid
this without defining a differently named empty struct and putting the
static method on that
2021-05-11 12:31:58 -07:00
Dustin Carlino
1e5771897f
Fix lakeslice gridlock; S Charles and Rainier has a tiny driveway causing low throughput due to cars not wanting to block the box
2021-05-11 10:55:01 -07:00
Dustin Carlino
5bac09bf2a
Restore popdat.bin and Seattle scenarios and prebaked data. For whatever reason, the GDAL transformation is returning coordinates in a flipped order on my new machine.
...
Lakeslice prebaked disabled, because it starts gridlocking around 5pm.
I'll fix separately.
2021-05-11 09:34:40 -07:00
Dustin Carlino
1bcbe057f0
Use more realistic lane widths during importing. #597
2021-05-10 20:10:23 -07:00
Dustin Carlino
775b1fcfc4
GMNS through movements are always protected. #626
2021-05-08 11:05:49 -07:00
Dustin Carlino
cc007d0c6e
Adjust the signal editor panel layout based on Figma mocks. Many issues
...
left, but this seems good enough to push forward for now. Can go
through a proper review next week.
2021-05-08 10:57:25 -07:00
Dustin Carlino
6e3040f5a2
Rewrite the snapping algorithm for the GMNS signal importer, based on the new example data. #626
2021-05-07 13:45:42 -07:00
Trevor Nederlof
4080d0d130
Add craft and office to import and add/reorg AmenityType ( #638 )
...
* Add craft and office to import and add/reorg AmenityType
* Remove bike rental/parking and rename BikeShop to Bike
* add in leisure and tourism tags, add more categories to AmenityType and remove lesser used tags
* add dependency on strum and strum_macros and removed some manual code for text display of Enum and Enum into string
* include lock file, fix color of buildings for amenity layer, fix formatting and use orders
2021-05-06 08:43:52 -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
81f9ee5a1b
Change the KML/external shapefile debug tool to use a real file picker
2021-05-05 11:09:56 -07:00
Dustin Carlino
8fa0f97d37
Highlight just the lane or the whole road, not both. #597
2021-05-05 08:26:41 -07:00
Dustin Carlino
488c9ffe68
Start to import GMNS timing.csv just based on line-strings. #626
2021-05-04 10:34:34 -07:00
Dustin Carlino
f400663b01
Better choices for lane width. #597 [rebuild] [release]
2021-05-02 09:11:21 -07:00
Trevor Nederlof
b430a3acc2
Add default behavior for driving, non driving and sidewalks ( #634 )
...
for #597
2021-04-30 14:35:13 -07:00
Dustin Carlino
d3c035ffb3
Remember the last map loaded, and start the game with that, unless using --dev or some other override
2021-04-30 12:36:24 -07:00
Dustin Carlino
03fade1aa7
Change the tooltip wording
2021-04-29 14:23:08 -07:00
Dustin Carlino
a11cd866c2
Add tooltips to the signal editor.
2021-04-29 14:23:08 -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
71e559b6d5
Compress all of the road edits when we confirm, same as the signal editor. And add a cancel button. #597
2021-04-27 17:54:36 -07:00
Dustin Carlino
a4584f7427
Add new lanes more intelligently: #597
...
- Don't allow adding >2 parking lanes or sidewalks
- Set the initial position and direction based on the new lane type and
existing confguration
Much more work needed here, but this is some progress.
2021-04-27 15:35:54 -07:00
Dustin Carlino
e917cb7772
Refactor internal panel management of road selector UI
2021-04-26 14:47:20 -07:00
Dustin Carlino
bba48ec654
For the new road editor, also select lanes on the map directly. #597
2021-04-26 14:41:08 -07:00
Dustin Carlino
36427d163c
Fix the traffic signal challenge. It shouldn't reset the simulation after editing!
...
And fix up the score panel a bit
2021-04-26 10:49:15 -07:00
Dustin Carlino
97b41b9e19
Make the deploy_actdev script work again
2021-04-24 13:57:00 -07:00
Dustin Carlino
55127924ea
Fix more junctions in Tempe, and opt it into the screenshot testing
2021-04-23 18:04:00 -07:00
Dustin Carlino
298d322054
Record the time of a problem, and add a filter for that in the layer. #600
...
Also change the dot map color to purple, start with the heatmap by
default, and add the count to the panel.
Regenerate prebaked data
2021-04-23 10:15:52 -07:00
Dustin Carlino
46f7d7e099
Add a layer to show where on the map problems are occurring, either individually or as a heatmap. #600
2021-04-23 10:15:52 -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
Michael Kirk
e8e678f4ca
remove repeated choice from "speed". use nicer method
2021-04-22 10:43:09 -07:00
Dustin Carlino
8722c102b9
Fix bug moving lanes left/right where the width of different lanes
...
wasn't getting updated, due to the code-path handling the old case...
2021-04-22 10:22:06 -07:00
Dustin Carlino
2112736a1f
Polish UI of new road editor
2021-04-22 07:57:23 -07:00
Dustin Carlino
e0871d9db2
Undo/redo in the new road editor
2021-04-22 07:57:23 -07:00
Dustin Carlino
8dbb1a47e5
Refactor how edits are applied inside the new road editor
2021-04-22 07:57:23 -07:00
Dustin Carlino
f781d3e74f
Delete the temporary old road editor. I didn't expect the new editor to become usable so quickly.
...
And enable the new editor for everyone, with the experimental warning
2021-04-22 07:57:23 -07:00
Dustin Carlino
9aa5d97271
Select the newly created lane
2021-04-22 07:57:23 -07:00
Dustin Carlino
1fb1253e97
Refactor speed_limit_choices
2021-04-22 07:57:23 -07:00
Dustin Carlino
6cd869e494
Temporary way to move lanes left/right
2021-04-22 07:57:23 -07:00
Dustin Carlino
acfe095a3f
Handle editing just the width of one lane
2021-04-22 07:57:23 -07:00
Dustin Carlino
c73ceebd35
MVP of Yuwen's new road editor!
2021-04-22 07:57:23 -07:00
Dustin Carlino
38f5da4f80
Make the native download progress screen show how many files are left.
2021-04-21 17:01:51 -07:00
Dustin Carlino
3b9a7cfa1f
Add a basic per-file progress bar for native downloads!
2021-04-21 17:01:51 -07:00
Dustin Carlino
d644bf3b5f
Debug tool to change color schemes without recompiling
2021-04-20 17:03:55 -07:00
Dustin Carlino
ee78644089
Download files before starting a challenge mode or Santa level, if needed
2021-04-20 16:10:17 -07:00
Dustin Carlino
7176994a87
Refactor CarID to be a struct, not a tuple
...
And regenerate prebaked data from a few commits ago
2021-04-19 15:16:48 -07:00
Dustin Carlino
bc2a21ca89
Refactor some methods in Traversable
2021-04-19 14:50:51 -07:00
Dustin Carlino
c62cf1c90c
Refine the detection for when a car wants to over-take a bike, and expose it in the UI as a problem. #81 , #600
2021-04-19 14:44:42 -07:00
Dustin Carlino
478a146350
Display a caution icon for large intersection crossings, and add tooltips for all drawn problems. #600
2021-04-19 11:40:39 -07:00
Dustin Carlino
6380bd74ec
Refactor a concept of per-trip Problem. #600 , #170
...
The simulation analytics tracks problems per trip. The previous
measurements for delay at intersections is one case, and the new
cyclist-crossing-large-interection event is another. I removed the lane
speed measurement, since it's kind of redundant with the delay.
Consolidated the reporting in the trip info panel / drawn on the route.
2021-04-19 11:40:39 -07:00
Dustin Carlino
6f5a7b980a
Track when a pedestrian or bike crosses a large intersection. Start to
...
show it in individual trip info panels. #600
2021-04-19 11:40:39 -07:00
Dustin Carlino
31070ccadf
Tutorial fixes after a UX study:
...
- Fix a typo
- Draw a star on the car that the player is supposed to follow
- Move the message panel to the left when pointing to the minimap and
layers
- Add button icons to the message box to really emphasize what we're
pointing to
2021-04-18 11:14:01 -07:00
Dustin Carlino
3a6b8f2919
Make the 'no sidewalks' layer understand how shared cycle+foot paths look right now.
2021-04-16 16:22:48 -07:00
Michael Kirk
bc3a121cd6
introduce --minimal_controls option for screen recordings
2021-04-15 19:22:37 -07:00
Dustin Carlino
d41482febd
Fix running external tools on Windows [rebuild] [release]
2021-04-15 11:29:29 -07:00
Dustin Carlino
5bcd2a5526
Fix the grid2demand import, when repeatedly importing different files.
2021-04-15 08:58:21 -07:00
Dustin Carlino
179daa5d25
Clean up commented out code from #170 . Going to re-evaluate how problems along a trip are shown in the UI anyway.
2021-04-14 17:25:58 -07:00
Dustin Carlino
79fdf01690
Remove the fade overlay from the tutorial. It makes some of the arrows pointing at stuff hard to see. If we just use it on message screens without an arrow, it looks odd to appear/disappear.
...
Also prep a mid-week [rebuild] [release]...
2021-04-14 13:05:54 -07:00
Dustin Carlino
4a06a7285b
Change the grid2demand file picker to be async. #605
2021-04-14 09:54:04 -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
Dustin Carlino
ae6414abd5
Rename building path->driveway, since path is such an overloaded term.
2021-04-13 15:13:36 -07:00
Dustin Carlino
9923c1270a
Repair parking lot connections after road widening. #597
2021-04-13 15:13:36 -07:00
Dustin Carlino
b9a9e8e5c5
Redraw building paths when needed
2021-04-13 15:13:36 -07:00
Dustin Carlino
7852e1d2b8
Import scenarios from grid2demand's input_agents.csv directly from the UI! #603 [rebuild]
...
For reference, the input_agents.csv -> abst input is ported from
https://github.com/asu-trans-ai-lab/grid2demand/blob/main/src/demand_to_abst_scenario.py
2021-04-13 13:39:50 -07:00
Dustin Carlino
6b30bffc43
Recreate the road in the quadtree when modifying width. #597
2021-04-10 11:56:05 -07:00