Dustin Carlino
d2ecab44a7
Be sure to validate signals before committing the results, since GMNS imports aren't validated upfront. #626
2021-06-02 11:40:54 -07:00
Dustin Carlino
cd66d7209e
Automatically fill out crosswalks to the GMNS signal import. #626
2021-06-02 11:13:30 -07:00
Dustin Carlino
dc1ce15c30
Heavily penalize GMNS snapping if the bearing doesn't match the movement. #626
...
University/Mill looks great now.
2021-05-28 15:56:04 -07:00
Dustin Carlino
30a317cf94
Make the KML viewer be able to inspect multiple overlapping objects. Useful for GMNS timing.csv files. #626
2021-05-28 15:21:07 -07:00
Dustin Carlino
4227371bbe
Rewrite the GMNS signal movement snapping algorithm. Instead of
...
independently picking the best match for "from" and "to", it considers
all vehicle movements, and minimizes "turn_type_cost * (from_cost +
to_cost)", using a hint about turn type to correct for geometry
mismatches at consolidated intersections. #626
Gets better results in Tempe at University and Mill, at least.
2021-05-28 14:55:53 -07:00
Dustin Carlino
5aa00955f9
Clean up the timer.parallelize API, getting rid of the weird enum to
...
toggle how many CPUs to thrash. We always use all of them, except for
one case, where a separately named method is more clear. Also make that
variation use all but 1 CPU, instead of just half.
2021-05-27 17:47:22 -07:00
Dustin Carlino
53430319b1
Filter out trips between the same place. Regenerate all Britain background scenarios. Fixes #664
2021-05-27 07:57:25 -07:00
Dustin Carlino
455399b90e
Collapse degenerate intersections between cycle+footpaths. At various
...
times in the past, I've also tried doing this for other roads, but wound
up reverting for reasons only git remembers. But it seems like an
obvious win for bike paths; especially around Seattle, the ways are
split because of all of this raised curb data we're ignoring anyway.
Tested manually around Montlake.
Finally regenerating all data... Only Phinney breaks. One for tomorrow.
2021-05-26 22:27:29 -07:00
Dustin Carlino
3a68e5677f
Allow all vehicles to use bus-only lanes that also happen to be turn lanes. #555
...
There are some caveats with the implementation commented inside.
Verified manually in Montlake -- down to just 122 cancelled turns!
Still not regenerating...
2021-05-26 19:13:14 -07:00
Dustin Carlino
e4a95b604e
Fix Rainier Valley gridlock, fallout from #664 .
...
https://www.openstreetmap.org/changeset/105381427 mapping a turn lane is
the fix, preventing crazy U-turns using the service road. Not sure how I
missed that lane when looking here before. I made the edit to .osm
locally instead of grabbing fresh data for all of Seattle.
2021-05-26 15:02:20 -07:00
Dustin Carlino
9fc79b1089
Use explicit start/endpoints for trips in scenarios. This is necessary
...
for people that leave one border, then re-enter a different one. #664
Alternative considered: insert a dummy remote trip between the two
borders. We used to do something like this at non-trivial code
complexity expense and having to explain the trip in the UI.
Regenerated all scenarios and prebaked data.
- Modest file size increase, as expected. Montlake scenario goes from
1.3MB to 1.5, downtown from 37MB to 43MB, all Seattle scenarios from
280MB to 327MB
- Eyeballed a few of the previously broken trips; they work now!
- Montlake goes from 3127 cancelled trips to just 302!
- No new gridlock, except in Rainier Valley -- disabling that for now
- I discovered missing validation in Poundbury for no-op trips between
the same building. I'll filter those out and restore prebaked results
there in a followup.
2021-05-26 14:30:01 -07:00
Dustin Carlino
3b375078b1
Prebake data until the simulation is done, not just until midnight. That
...
way, we have trip stats for people starting near the end of the day, and
we stop incorrectly showing failed trips when comparing.
Prebaked data: no change in size (245MB)
Montlake: 3135 "cancelled" trips -> 3127
Lakeslice: 6766 "cancelled" trips -> 6647
2021-05-26 10:22:09 -07:00
Dustin Carlino
c95a0b0f64
Handle another case for creating multiple left/right turns at an intersection. Use the new validation for connectivity at an intersection and give up on using OSM turn restrictions in some cases.
...
39 problems in Montlake down to 33, but regressions on some of the LCing unit tests...
2021-05-25 20:24:11 -07:00
Michael Kirk
93c56f4ded
make clippy happy
2021-05-25 16:06:39 -07:00
Michael Kirk
cba8ba761b
update drawn problems when switching before/after
2021-05-25 16:02:26 -07:00
Michael Kirk
11a49e7c55
Add "arterial crossing" risk for pedestrians.
...
Also:clarify "Complex" vs "Large" intersection, which is now ambiguous.
2021-05-25 16:02:26 -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
Dustin Carlino
cc344af231
Add a file-picker UI to import JSON scenarios easily
2021-05-24 14:55:11 -07:00
Dustin Carlino
13bb434249
Highlight the lane card when hovering on the lane in the map. #597
...
[rebuild] [release]
2021-05-23 10:06:45 -07:00
Dustin Carlino
a6e707eb8a
Upgrade more dependencies.
...
(Can't upgrade winit yet, because glutin doesn't have a crates.io
release that's caught up)
2021-05-22 16:36:57 -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
Dustin Carlino
d85cd7f797
Per feedback in #659 , change the road editor to automatically compress
...
edits to a road before entering the zone editor. Users can use edit
mode's undo if they made a mistake. It's more fluid than prompting.
Use the same auto-compress flow to allow switching to different roads,
without leaving the road editor
2021-05-22 16:02:03 -07:00
Dustin Carlino
541c82a601
Add missing icon for shared left turns, preventing a crash
2021-05-21 14:34:04 -07:00
Dustin Carlino
d7d45b9052
Enforce parking lanes requiring a driving lane; the simulation crashes otherwise. #597
...
The enforcement is a bit more invasive, because there's a few ways of
getting into a bad state.
2021-05-21 14:34:04 -07:00
Dustin Carlino
644935114d
Enforce max 2 sidewalks and max 2 parking lanes per road. It was working
...
for adding new lanes, but not changing existing lanes. #597
2021-05-21 14:34:04 -07:00
Dustin Carlino
256d280f50
Delete the old lane editor. Jump straight into the new road editor, focused on a particular lane. #597
2021-05-21 14:34:04 -07:00
Dustin Carlino
548acc1024
Add access restrictions button to new road editor. #597
...
The design in Figma treats it like a dropdown, but I think we still need
the dedicated UI to draw the bounds of the access-restricted zone.
2021-05-21 14:34:04 -07:00
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
Dustin Carlino
10255c2835
Recalculate intersection geometry when road width changes. #579
...
No effect on the road geometry yet, though...
2021-04-10 11:56:05 -07:00
Dustin Carlino
e8b7019ef7
Use LaneSpec in map edits, letting width of each lane be modified too. #597
2021-04-09 14:35:49 -07:00
Dustin Carlino
14609ab157
Fix lane geometry after changing the number of lanes. #597
2021-04-09 14:35:49 -07:00
Dustin Carlino
584c1be9e0
A humble start to deleting lanes. #597
2021-04-09 14:35:49 -07:00
Dustin Carlino
c6906f6153
Change Vec<Lane> to BTreeMap<LaneID, Lane> to prepare for
...
adding/deleting lanes. #597
Not regenerating all maps yet. Haven't evaluated performance impact yet.
2021-04-09 14:35:49 -07:00
Dustin Carlino
2a89b68121
Create a temporary dev-only UI for modifying the number of lanes in a road. #597
...
It crashes when actually trying to change the number of lanes, as
expected.
2021-04-09 14:35:49 -07:00
Dustin Carlino
da3272e2ee
Convert the alternative path debugger to use directed roads, not lanes. #555
...
This lets us clean up some of the old pathfinding v1 code, removing some
duplicate code!
Also improve that debugger to show a different cost for each side of the
road. The cost to turn around and reach a building on the other side of
the road may be high, so this really makes the debugger more
understandable.
2021-04-07 10:58:48 -07:00
Dustin Carlino
ad5c573a27
Change congestion capping to pathfind avoiding roads, not lanes. #555
...
Capping only happens when you edit a road and introduce a per-hour
vehicle cap.
2021-04-07 10:04:00 -07:00
Dustin Carlino
9263e95e83
Only show elevation line plot in the trip info panel for walking and biking trips. It's just noise to see it for somebody walking to their car. #82
2021-04-07 09:42:25 -07:00
Dustin Carlino
ce9e98782e
Poundbury once again completes without gridlock!
2021-04-06 17:03:24 -07:00
Dustin Carlino
196af2a1f4
Refactor: store Direction for a Lane, simplifying Lane->DirectedRoadID. #555
2021-04-06 17:03:24 -07:00
Dustin Carlino
8cfb377dfa
Unbreak the cancelled/unfinished trip tables. The start/end filters were
...
only added to finished trips, but the other tables also tried to grab
the filter.
2021-04-06 10:39:27 -07:00
Dustin Carlino
1e3708f9b4
Remove UberTurnGroup and the prototype of editing a cluster of traffic
...
signals using uber turn groups. #555
This was an old half-baked experiment for handling a cluster of traffic
signals. Since then, merging intersections (by manually tagging them in
OSM for now, maybe automatically in the future) has proven better.
Removing this old code in preparation for pathfinding v2.
2021-04-05 10:05:27 -07:00
Dustin Carlino
df7d1080d9
Update trip start/end icons
2021-04-03 11:26:01 -07:00
Dustin Carlino
cc4bcae1cb
Color the 'more finished trips' tooltip green, to be consistent with other good/bad colors
2021-04-03 10:37:24 -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
20de91bae7
Also refactor walking speeds. #82
2021-04-01 15:03:20 -07:00
Dustin Carlino
892afddcd5
Refactor uses of biking speed between the sim and pathfinding, in preparation for incorporating incline. #82
...
(This was a bigger mess than I expected, so worth doing separately.)
2021-04-01 11:52:25 -07:00
Dustin Carlino
3c601b50c1
Clean up the trip table rectangular selection UI: #574
...
- explicit clear/apply buttons
- show start/end filters on the trip table preview
2021-03-31 16:35:56 -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
dff923b3e6
Make a tool to select a rectangular region. No way to pass back the
...
results yet. #574
2021-03-31 16:35:56 -07:00
Dustin Carlino
7f4f83d4e0
Refactor all of the places drawing start/goal markers on the map, and actually line up the tip of the icon with the position.
2021-03-31 14:23:16 -07:00
Dustin Carlino
afb962f73b
Use the start/end markers in the interactive trip spawner.
2021-03-31 13:44:19 -07:00
Dustin Carlino
3f1abda5e2
Use chevrons, not arrows, to point uphill, per discussion with Yuwen. #82
2021-03-27 09:25:06 -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
00323925f3
Add a layer showing elevation using contours. #82 ( #589 )
2021-03-26 11:53:41 -07:00
Dustin Carlino
7a565f114f
Adjust the steep streets panel: #82
...
- Move the steepest grade under the legend
- Use an arrow icon in the text
2021-03-26 11:40:01 -07:00
Dustin Carlino
fac9f8159d
Change the color scheme of the steep streets layer. #82 ( #588 )
2021-03-25 16:44:32 -07:00
Dustin Carlino
f0dba4b65c
In the path cost debugger, show all roads with a cost less than the chosen route
2021-03-25 15:30:54 -07:00
Dustin Carlino
92d3a890ea
Express all pathfinding costs in units of seconds. #82 , #494 ( #587 )
...
This is simpler to reason about, allows the penalty for entering a zone
or taking an unprotected turn to be expressed in terms of a time
penalty, and is a step towards adjusting bike/foot routing for elevation
data.
When we later add things like "safety/quietness" for cycling, maybe we
can switch to using a (time, quietness) tuple, and transform into a
single number with a linear combination parameterized by that agent's
preference for time/safety. This change is compatible with that future
idea.
There are behavior changes here, particularly for zones and unprotected
turns. No new maps start gridlocking, and in fact, Rainier starts
working again.
2021-03-25 12:59:36 -07:00
Dustin Carlino
4ef04f5bd1
Change road incline calculations to be stored in RawMap. Previously, the
...
"rise / run" calculation used the trimmed road center-lines, which don't
match up with the elevation at each original intersection point.
Also handle infinity in the output and reduce the resolution of the
query from every 1m to every 5m.
Regenerate all maps due to the map format change. Try bringing in
elevation data for all of Seattle using the LIDAR source, since
the data quality assessed in eldang/elevation_lookups#12 seems to be
similar, and LIDAR is way faster than contours.
2021-03-23 22:47:52 -07:00
Dustin Carlino
e57cacaab4
Rename pathfind/driving -> pathfind/vehicles to reflect bikes using it too, and likewise for driving_cost
2021-03-22 16:34:46 -07:00
Dustin Carlino
7d2e8409e8
Implement no-through-traffic zones instead by adding a huge cost to crossing into the zones. #555 , #574
...
Regenerate all maps. Gridlock-wise, Rainier and Poundbury broke, but
Wallingford started working again. Acceptable cost for a change this
useful; I'll work on fixing those maps later.
2021-03-22 16:34:46 -07:00
Michael Kirk
b6c5ee38c2
clarify "time difference" chart
...
- bar height represents accumulated time, not trip count
- buckets are from duration *before* edits
2021-03-22 15:59:20 -07:00
Dustin Carlino
75b39c7b35
Add a debug tool to show the pathfinding costs to each node. Trying to figure out why a new impl of pathing through zones isn't working as expected.
2021-03-22 12:03:50 -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
Dustin Carlino
cb4cd1b13a
Don't recalculate failed paths in the freeform trip spawner. Makes
...
debugging #574 easier.
2021-03-19 17:48:37 -07:00
Michael Kirk
af079c24e6
rename txt.add -> txt.add_line
2021-03-19 17:48:30 -07:00
Dustin Carlino
58ee3175ac
Add a new Seattle map focused on the Arboretum, for #574 , along with
...
prebaked data for the baseline (because it doesn't gridlock, without any
interventions needed!) and a proposal for opening up Broadmoor.
2021-03-19 17:24:11 -07:00
Dustin Carlino
dcf2bf0422
Apply the Text::from(str) pattern in a few more places.
...
Found using: vi `./rgrep.sh 'Text::from(Line'|grep -v fg|grep -v
big_h|grep -v displa|grep -v big_m|grep -v small|grep -v second | grep
-v underl|grep2files ` (Some of those are local bash aliases)
2021-03-19 16:56:18 -07:00
Michael Kirk
affd582093
more concise Text
/ tooltip()
2021-03-19 16:48:54 -07:00
Dustin Carlino
2bebd8a2c9
Allow specifying go active scenario when launching actdev. cyipt/actdev#150
2021-03-19 16:25:37 -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
cbad223a90
clarify scenario buttons & style link as link
2021-03-19 12:43:32 -07:00
Michael Kirk
9da9c9b092
extract "percent" function, put header text first
2021-03-19 11:56:22 -07:00
Michael Kirk
cf14515110
CR: use already-defined transition
2021-03-19 11:56:22 -07:00
Michael Kirk
9a2276c66d
Code review: prefer unreachable
to todo
for checkins
2021-03-19 11:56:22 -07:00
Michael Kirk
3d5876a4fd
fixup! convert trip tables to new tabs
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
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
1c2231aced
fix missized icon
2021-03-19 11:03:40 -07:00
Dustin Carlino
a0461e990d
Workaround an issue with how the length of roads is measured and related
...
to the elevation measured at the original intersection point. #82
Upload montlake, downtown, and phinney with elevation data, as an
initial demo.
2021-03-18 19:04:15 -07:00
Dustin Carlino
ca4e04b6e9
Add tooltips to the elevation layer
2021-03-18 18:25:11 -07:00
Dustin Carlino
b61291d905
Revive the elevation layer in the UI. Add some sanity checking around the inclines we're assigning to roads, but also, I realized a problem with how the elevation lookup not matching the trimmed roads. #82
2021-03-18 18:19:41 -07:00
Dustin Carlino
e841024025
Use the outline style for the before/after trip comparison button.
2021-03-18 10:20:50 -07:00
Dustin Carlino
a390f72a1c
Change how the original map is loaded in the UI for checking the original route. Fixes this on the web.
...
This also solves the static case of #361 .
2021-03-18 09:54:43 -07:00
Michael Kirk
119b0e8b7e
fix mismatched icon sizes in challenge screen
2021-03-17 19:06:43 -07:00
Michael Kirk
546599e4f9
Replace ButtonImage with Image
2021-03-17 19:06:43 -07:00
Michael Kirk
463c48411a
jump to time: slider width corresponds to traffic chart
2021-03-17 19:06:43 -07:00
Michael Kirk
c1dfdc4550
jump to time: theme traffic curve
2021-03-17 19:06:43 -07:00
Michael Kirk
b60a6d3d96
theme disclosure icon
2021-03-17 19:06:43 -07:00
Dustin Carlino
4b2eedd2f2
Only show the info panel or the layer panel, never both at the same time.
2021-03-17 14:15:13 -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
Dustin Carlino
a0c82088b9
Use our native download function instead of external curl command from the importer. #523
...
This forces the main importer to include tokio and propagate async a
bit. That seems worth it.
Also removed the quiet param from the download helpers; we always want
progress.
2021-03-17 10:29:28 -07:00
Dustin Carlino
e071b39553
Add a button to save scenarios to a file if they're generated. This is useful for avoiding the performance hit of regenerating them again.
2021-03-17 10:02:52 -07:00
Dustin Carlino
9f2737b2b5
Don't offer the census-based scenario outside of the US or on oneshot test maps, since it won't work.
2021-03-16 19:03:03 -07:00
Michael Kirk
e0aa2ad279
fix jitter as agent meters update
2021-03-16 18:28:50 -07:00
Michael Kirk
264f1f939f
minimap controls: agent toggles and meters into one row
...
Some ancillary changes:
Made the GeomBatchStack public and extracted the ImageSource
functionality from ButtonBuilder to Image.
2021-03-16 18:28:50 -07:00
Michael Kirk
810c89eeb1
meter shows "finished trips vs baseline" instead of time ( #565 )
2021-03-15 17:10:08 -07:00
Dustin Carlino
0d8cc27961
Move per-gameplay panels from top-center to top-right. Left align time. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
b6536122e0
Fold the score panel used by the 2 challenge modes into the gameplay mode-specific top-center panel. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
229f2d5dca
Fix merge
2021-03-12 17:48:35 -08:00
Dustin Carlino
d7d994066a
A few adjustments to the consolidated panels: #551
...
- invert the histogram icon colors
- stretch out the time bar
- put the time bar above the finished trips counter
2021-03-12 17:48:35 -08:00
Dustin Carlino
880a293093
Make the time panel height override stickier. Otherwise it jumps height quite noticeably when pausing/resuming. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
59e9735318
Force actdev top panels to have the same height. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
da1c133a67
Adjust actdev panel layout to work on narrow screens. #551
2021-03-12 17:48:35 -08:00
Dustin Carlino
69b248cd66
Move agent counters to the minimap, removing the top-right agent panel entirely. #551
...
Adjust the tutorial for these changes.
2021-03-12 17:48:35 -08:00
Dustin Carlino
5b386af6ba
Move most things out of the top-right agent meter panel to reclaim more horizontal space. #551
...
1) Move finished trips to the top-left time panel.
2) Move "tentative results" and "recording trips" controls (only
occasionally used) to the top-left time panel.
3) Move the "more data" button to the minimap.
2021-03-12 17:48:35 -08:00
Dustin Carlino
8ac62fed47
Trying out some UI changes suggested by Martin:
...
- Increase day mode panel opacity to 95% to help text legibility
- Combine the time/speed panels, and remove the sunrise/sunset icons
- 4 mode colors matching actdev, also changing night mode residential
buildings
2021-03-12 17:48:35 -08:00
Dustin Carlino
95b1d884cf
Rename Map::new to be more clear that it should only be used in non-UI
...
tools. There's one place in the UI that doesn't work on the web!
2021-03-12 06:38:17 -08:00
Dustin Carlino
522b902453
Improve the traffic signal timing UI. There's a choice between fixed and
...
variable timing, but currently you have to remember to toggle it; the
two extra spinners get ignored otherwise. The new version is still
confusing, but I think it's an improvement.
2021-03-11 11:39:58 -08:00
Dustin Carlino
8be24bf007
Use AsRef<str> in more widgetry methods, getting rid of &format at many
...
call-sites. #253
To make some of these work, changed Label to store a String. Ultimately
it gets transformed into Text, so we need to allocate eventually.
2021-03-11 11:29:18 -08:00
Dustin Carlino
f0de4e4583
Don't use Bezier curves for right/left turns at tiny intersections. They
...
wind up looping back on themselves in a nonsensical way, causing
vehicles to visually glitch when moving through.
This was started in 081819d86b
, but it
used to gridlock 2 maps. All the recent roundabout fixes seems to have
resolved those! And adjusting offstreet parking for two maps.
But wallingford does regress; plunging forward for now.
2021-03-10 15:58:16 -08:00
Dustin Carlino
bf8f51ae05
Consistently count hours for a time. There was some disagreement between
...
recorded analytics and code that later summed things up, making the
relative throughput layer more confusing than it is already. #85
2021-03-10 13:59:38 -08:00
Dustin Carlino
957d08e8b9
Add tooltips to the relative throughput layer, to get exact before/after counts of the data being displayed. #85
...
(The before counts are still bucketed on the hour mark)
2021-03-10 13:24:56 -08:00
Dustin Carlino
f0b522f89a
Figure out which files are in the us/huge_seattle DataPack more consistently. This'll now work from the proposals screen.
2021-03-10 12:40:55 -08:00
Dustin Carlino
fdc6601520
Prompt the user to download missing cities from the Proposals screen, too.
2021-03-10 12:10:16 -08:00
Dustin Carlino
db96b0a7c4
Add an included proposal for making Poundbury<->Dorchester use a pair of one-way roads. cyipt/actdev#114
...
And handle community proposals when the weekday scenario doesn't exist.
2021-03-09 13:23:40 -08:00
Dustin Carlino
d13478f355
Make Poundbury run more smoothly, and prebake sim data for all
...
scenarios, so we can run A/B tests with map edits. cyipt/actdev#114
To fix it up, I hand-timed
https://www.openstreetmap.org/node/2124133019 , which could have smarter
heuristics as a button-operated half-signal in the future. And allowed
blocking-the-box on some small intersections near that area.
2021-03-09 10:45:44 -08:00
Dustin Carlino
65d7bc5c8e
Rename {Text,TextSpan}::draw to into_widget, for consistency. #253
2021-03-09 09:59:30 -08:00
Dustin Carlino
a4a20ce1e5
draw_text renamed to text_widget, for consistency. #253
2021-03-09 09:56:41 -08:00
Dustin Carlino
b0bcdb2115
Replace Widget::draw_batch with batch.into_widget, for consistency. #253 ( #554 )
2021-03-09 08:55:12 -08:00
Dustin Carlino
e61e0c885b
Backpeddle on bcde40d35c
. If advancing time at startup takes too long, switch over to the jump-to-time dialog, so things don't seem frozen and the user can stop early if impatient.
2021-03-09 07:38:51 -08:00
Dustin Carlino
06e2f22ba9
Add a --time flag to jump the sim forward immediately. Faster gridlock debugging.
2021-03-08 15:10:18 -08:00
Dustin Carlino
bcde40d35c
Add a deadline to actdev starting at 8am. If it takes too long to advance time, just start earlier. If it's taking a long time, then there must be active traffic to look at anyway.
2021-03-08 14:49:56 -08:00
Dustin Carlino
f260fc3b40
Fix warping to bikes by ID
2021-03-08 14:42:51 -08:00
Dustin Carlino
8082640da9
Add warp buttons to the blocked-by tool to jump to the worst problems, instead of squinting for the circles
2021-03-08 14:34:00 -08:00
Dustin Carlino
7ccdc217c7
Don't display a path from a building to the nearest parking when infinite parking is enabled. [rebuild] [release]
2021-03-07 11:09:09 -08:00
Dustin Carlino
3f32c7abf3
Move the minimap code from common to sandbox, reflecting where it's used. (Never in debug or edit mode)
2021-03-06 16:20:32 -08:00
Dustin Carlino
9118ae6216
Hook up the actdev UI to the new scenarios with background traffic mixed in. #556
2021-03-05 16:37:06 -08:00
Dustin Carlino
42bd63e79b
Lift URL and viewport code from game to map_gui. Also use it for OSM viewer and the 15min tool.
2021-03-04 13:22:09 -08:00
Dustin Carlino
0c81b31d7e
Also, just move the uber-turn viewer to debug mode.
2021-03-04 09:36:48 -08:00
Dustin Carlino
81678822bc
Clean up the old MergeIntersections experiment in the uber-turn viewer. The map_editor can now live-debug intersection geometry and merge short roads; faster to iterate there. #114
2021-03-04 09:34:00 -08:00
Dustin Carlino
3875f6b542
Pick random people with the actdev 'follow someone' button, instead of focusing on the same arbitrary first match.
2021-03-04 08:56:45 -08:00
Dustin Carlino
9e92435859
Get 2 more Seattle maps to complete without gridlock! Just had to
...
increase offstreet parking to better match the demand.
2021-03-03 14:53:04 -08:00
Dustin Carlino
9dc181a7c5
Start to detect cases when one vehicle may want to over-take a slower-moving leader. #81
2021-03-03 14:07:32 -08:00
Dustin Carlino
0c12948c86
Also grey out unhighlighted people when zoomed in. #539
2021-03-02 12:03:26 -08:00
Dustin Carlino
17e2f485b4
Add support for highlighting certain people in the simulation. For now,
...
mark random people as highlighted when background traffic is active for
actdev. #539
This changes the unzoomed rendering to "fade out" unhighlighted people.
Next up, similar change for zoomed, info panels, and trip tables.
2021-03-02 10:46:21 -08:00
Dustin Carlino
0ee22ad58e
Add a checkbox for mixing in background traffic to the actdev scenarios. No effect on the scenario yet... #539
2021-03-02 09:55:08 -08:00
Dustin Carlino
6cacaf1c8a
Actdev tweaks: flip walking/biking button order, start with 3x speed
2021-03-02 09:30:44 -08:00
Dustin Carlino
c5cfe76b05
Fix turn type classification for four-way intersections that meet at
...
weird angles. This leads to really bad traffic signal heuristics, even
causing gridlock in Rainier Valley.
2021-03-01 10:57:27 -08:00
Michael Kirk
86799e2832
Remove StyledButtons - instead implement everything on the individual
...
ButtonStyle
2021-02-27 21:08:26 -08:00
Michael Kirk
11a904a4da
WIP: separate style for plain
2021-02-27 21:08:26 -08:00
Michael Kirk
c3985ffdd1
btn_solid -> btn_tab and replace inappropriate uses
2021-02-27 21:08:26 -08:00
Michael Kirk
7fe0e521ee
Use btn_destructive.* methods instead of btn_destructive_*
2021-02-27 21:08:26 -08:00
Michael Kirk
cee0e5dbbd
Use btn_primary.* methods instead of btn_primary_*
2021-02-27 21:08:26 -08:00
Michael Kirk
87a1a3f027
fix outline for spinner (without crashing!) and cache drawable
2021-02-27 15:29:03 -08:00
Dustin Carlino
fd41d0c573
Fix missing study areas in some actdev maps. It was just me accidentally passing in the site name with underscores.
...
I verified all sites have a study area showing up.
2021-02-27 14:50:55 -08:00
Michael Kirk
1e75352ce0
Theme section bg
...
`Widget::outline` takes OutlineStyle
2021-02-27 13:13:41 -08:00
Michael Kirk
73280bc114
consolidate OutlineStyle
...
We had a lot of constants sprinkled around. This consolidates the
constants and packages the outline thickness and color into a tuple,
making for a (usually) cleaner callsite.
2021-02-27 13:13:41 -08:00
Michael Kirk
c0fe742810
section styling for lane panel
2021-02-27 10:30:41 -08:00
Michael Kirk
2378da9731
theme signal editor bg
2021-02-27 10:30:41 -08:00
Michael Kirk
7f3c07f601
better tab legibility
2021-02-26 16:30:14 -08:00
Michael Kirk
cf69dd0370
slightly better approach to get the cut-scene looking better
2021-02-26 16:30:14 -08:00
Michael Kirk
d99c0e0634
HACK to make cutscene look decent
2021-02-26 16:30:14 -08:00
Michael Kirk
bcba72cddf
enable new day theme, but retain legacy theme for pregame
2021-02-26 16:30:14 -08:00
Michael Kirk
4b2f3888ed
replace btn_solid w/ primary/outline as appropriate
2021-02-26 14:05:19 -08:00
Michael Kirk
b2a0ba1572
logo should always be black
2021-02-26 14:05:19 -08:00
Michael Kirk
143fdc3fd5
label_underlined_text for "link" buttons
2021-02-26 14:05:19 -08:00
Dustin Carlino
611b0e8045
Enable separate cycleways experiment for Seattle. #330
...
Cleaned up a few unused (and out-of-date) traffic signals. No impact on
gridlock. See issue for detailed rationale and plan.
2021-02-26 13:53:24 -08:00
Dustin Carlino
8e04cada2e
actdev scenarios for the remainder of the sites.
...
Now the code can be simplified, because the scenario always exists.
2021-02-25 20:15:03 -08:00
Michael Kirk
3019a6fff1
Introduce Image
component to handle themed icons ( #537 )
2021-02-25 18:06:19 -08:00
Michael Kirk
46593b01ed
theme text field (and fixup layout)
2021-02-25 17:42:04 -08:00
Michael Kirk
22223d4338
per design, remove separator after title
2021-02-25 17:42:04 -08:00
Dustin Carlino
0feeb3cee4
When nothing's selected, don't display anything in the status bar. Previously, it was '...', which looked clickable.
2021-02-25 10:56:02 -08:00
Dustin Carlino
0320b2be89
Little actdev fixes:
...
- when leaving edit mode, still return to actdev mode
- rename "bike network" layer to "cycling activity", to emphasize it
shows where cyclists have been going so far in the simulation and not
everything on the ground
- add tooltip with exact counts to the cycling activity layer, just like
throughput does
- add a "walking activity" button (throughput layer with filters
pre-applied)
2021-02-25 10:54:03 -08:00
Dustin Carlino
6bfa569923
Support changing fonts in the middle of a line. Use this to draw numeric ( #533 )
...
IDs in the status bar as bold, not red.
2021-02-25 08:57:42 -08:00
Michael Kirk
494be704da
style parking lot info like other info panels
2021-02-24 20:21:14 -08:00
Dustin Carlino
7e4d529872
Import all the actdev scenarios again, which have a fix for more diverse destinations.
...
Automated:
1) rm -fv `find data/system/gb/ | grep base.bin | xargs`
2) rm -fv `find data/system/gb/ | grep dutch.bin | xargs`
3) for city in allerton_bywater ashton_park aylesbury aylesham bailrigg bath_riverside bicester castlemead chapelford clackers_brook culm dickens_heath didcot dunton_hills ebbsfleet great_kneighton hampton handforth kidbrooke_village lcid long_marston micklefield newcastle_great_park poundbury priors_hall taunton_firepool taunton_garden tresham trumpington_meadows tyersal_lane upton wichelstowe wixams wynyard; do ./importer/actdev_scenarios.sh $city; done
2021-02-24 18:18:12 -08:00
Michael Kirk
ac30774b06
theme dropdowns and menus
2021-02-24 18:10:06 -08:00
Michael Kirk
c6d361c4b0
remove take_menu
2021-02-24 18:10:06 -08:00
Dustin Carlino
5577021ee5
When merging intersections and preserving simple turn restrictions, pay
...
attention to which intersection is being destroyed. Fixes #527 --
montlake and phinney both look correct now.
Regenerating everything. Actually, Phinney now runs, so adding a 4th
prebaked map!!! But Rainier regressed -- there's an issue with the
signal heuristics that's now a problem; I'll fix later.
2021-02-24 15:16:12 -08:00
Michael Kirk
d774aeae44
rename toggle/checkbox
2021-02-24 14:59:47 -08:00
Dustin Carlino
23b19fa7ce
Add a quick debug tool to find roads with no turns between them, for #527
2021-02-24 11:00:59 -08:00
Michael Kirk
3ab7fc4361
Fix tooltips and hotkey for day-theme ( #528 )
2021-02-24 10:52:57 -08:00
Dustin Carlino
b36ebec0b9
Penalize unprotected left turns at the routing layer. #494
...
I experimented on the Rainier Valley map, which recently started
gridlocking due to too many cars doing this, to tune the value. Got it
running again! The two other maps keep running, with some trips on
average getting a little slower.
2021-02-23 19:32:00 -08:00
Dustin Carlino
0344e51170
Merge pull request #525 from a-b-street/prefetch
...
Make a web loader that can 'prefetch' abst in the background. cyipt/a…
2021-02-23 13:34:55 -08:00
Dustin Carlino
4c97687a5b
Make a web loader that can 'prefetch' abst in the background. cyipt/actdev-ui#15
2021-02-23 11:45:39 -08:00
Michael Kirk
62a433ed8d
btn_solid_panel is the same as btn_solid
2021-02-23 10:17:49 -08:00
Michael Kirk
e6ed2e67de
Collapse button styles to be theme specified (no visible changes).
...
Button colors are now determined by the color scheme, but for now all
schemes are hardcoded to use the same "night" button colors. Read on for
rationale...
Previously, which button colors to use (dark/light) was specified inline
while building the UI.
Eventually we want to live in a world where color scheme determines:
- panel colors
- button colors
- text colors
The theme could already choose panel colors easily enough, but because
the buttons and text were not determined by theme, choosing anything
other than a black or dark grey panel color makes the buttons and text
unreadable.
This PR tackled the themeable "button colors" portion, but all themes
continue to use the "night" colors for now, because using the actual
"day" colors would still make the text unreadable.
next up: themeable text!
The one intentional regression is within the pregame tutorial,
which has always been styled differently from the rest of the app. An
expeditious hack has caused the prev/next/continue buttons to lose their
visible hover state. I'll restore this upon completing the day theme
work.
2021-02-23 09:52:33 -08:00
Dustin Carlino
ecf7c0c836
On HiDPI screens with low resolution, allow widgetry applications to ( #521 )
...
* On HiDPI screens with low resolution, allow widgetry applications to
override the default scale factor in order to achieve a minimum width.
2021-02-22 15:59:57 -08:00
Dustin Carlino
a7de2eef14
Disable parking simulation for actdev. I noticed people in Poundbury walking very far just to fetch their car, because the data about available parking is nonexistent.
2021-02-20 13:19:38 -08:00
Dustin Carlino
c7ae44d02a
Start actdev simulations at 8, not 6. And refactor the ffw-after-starting pattern. cyipt/actdev#66
2021-02-20 13:12:41 -08:00
Dustin Carlino
0804f877dd
Toggle between the baseline/go active scenario in actdev mode. Don't allow opening up any scenario. If we settle on a good background traffic generator, that can probably be exposed as an orthogonal checkbox. cyipt/actdev#66
2021-02-20 13:03:42 -08:00
Dustin Carlino
7592d192e3
Rename the blog gameplay mode to actdev, since it's specific to that integration. In the future if we have a simplified simulation running in a blog, we can figure out common requirements and refactor.
2021-02-20 12:44:27 -08:00
Dustin Carlino
b11cd48fb3
On the web, constantly update the --cam param in the URL with the current viewport.
2021-02-20 11:10:14 -08:00
Dustin Carlino
05622760fc
Fix crash when opening the tutorial when the wrong map is previously opened.
2021-02-19 10:15:48 -08:00
Dustin Carlino
2d182a4582
Fix crash in commuter viz layer. The block-finding algorithm was written before pedestrian-only roads.
2021-02-17 12:00:13 -08:00
Dustin Carlino
4de7cb68c0
Start actdev mode with the baseline scenario, if it exists. Improve the follow shortcut. cyipt/actdev#66
2021-02-16 17:58:20 -08:00
Dustin Carlino
12d73e10bc
Add a few shortcut buttons to the actdev UI. cyipt/actdev#66
2021-02-16 17:34:56 -08:00
Dustin Carlino
3f23a3c57c
Remove hotkey buttons entirely, to get closer to Yuwen's button spec.
2021-02-15 13:02:29 -08:00
Dustin Carlino
bc2767b89e
Refactor lots of places that construct paths to the data/input dir, which is always organized by city. This would've made the previous change way easier. #326
2021-02-13 18:30:01 -08:00
Dustin Carlino
52ca5f5ede
Fix lakeslice gridlock with a manual signal policy at 23rd/Rainier.
2021-02-13 17:44:34 -08:00
Dustin Carlino
0f1c30a889
Exclude collisions.bin from KML viewer; it's not KML anymore.
...
And fix a crash on the challenges screen by not considering the actions
of inactive buttons to count as duplicates.
2021-02-13 17:06:06 -08:00
Dustin Carlino
39f5d50fcd
The grand country split. #326
...
City names are now disambiguated by a two-letter country code. This
commit handles almost everything needed to make this transition. Main
next steps are fixing up map edits automatically and making the city
picker UI understand the extra level of hierarchy.
A little bit of fallout: lakeslice gridlocks again; this regression is
actually from the recent traffic signal changes, but I'm just now
regenerating everything. Will fix soon.
2021-02-13 15:45:59 -08:00
Dustin Carlino
a938b9c1e2
Move building procgen to a standalone tool.
2021-02-12 16:28:15 -08:00
Dustin Carlino
c43af59004
Change the building procgen algorithm to just use the Map, now DrawMap. Preparing to move it into the import phase, where we won't be able to generate the DrawMap.
2021-02-12 16:06:49 -08:00
Dustin Carlino
8d0718d37d
On the web, modify the current URL as we change maps and scenarios. ( #509 )
2021-02-12 15:14:09 -08:00
Dustin Carlino
03538faf3f
A few traffic signal cleanups: ( #512 )
...
- Stop alerting when slow pedestrians can't make it through the minimum
crosswalk time
- Simpler iteration style in lagging_green.rs
- Totally delete the old brute force signal config code; it never worked
well, and the improved heuristics eliminate the need for it anyway
- Make a Duration::max function and use it in one case
2021-02-12 15:10:32 -08:00
Dustin Carlino
aacc0fa4d5
Fix a crash that happens when you load edits that transformed a stop
...
sign into a traffic signal.
And fix a few cargo fmt issues
2021-02-12 13:47:10 -08:00
Dustin Carlino
46caf98779
When selecting pedestrians or bicycles, pick the one closer to the cursor.
2021-02-11 15:09:58 -08:00
Dustin Carlino
4c1d610e4f
Restore screenshots for Great Kneighton
2021-02-11 15:09:06 -08:00
Dustin Carlino
fd73166292
Prep to import actdev again, and fix build break in game/src/lib
2021-02-11 14:35:32 -08:00
Dustin Carlino
21573e09f1
Delete all of the actdev maps. I'm going to do this over again and just
...
use the site name as the city, instead of picking the "closest" major
city. This is introducing too much friction in automation.
cyipt/actdev#65
There will be a few awkward results -- cambridge gets renamed, and lcid
gets disassociated from leeds. Worth it for now.
2021-02-11 14:27:28 -08:00
Dustin Carlino
e333838560
If you start with --dev and wind up on an empty map, time starts at 6am. When you load another empty map, do the same and jump to daytime.
...
There is a little inconsistency still: say you're simulating a scenario
(starting at midnight). If you change the scenario to none, it'll stay
night, but if you then change maps, it'll jump to day.
2021-02-10 14:10:42 -08:00
Dustin Carlino
a5091a4f18
Clean up unused ctx param from SandboxMode::async_new and simple_new
2021-02-10 14:03:06 -08:00
Dustin Carlino
789b300963
Add an about button to the blog gameplay mode. cyipt/actdev#66
2021-02-10 10:48:52 -08:00
Dustin Carlino
b38b7da8bb
Add a 'blog' gameplay mode, which disables going back to the title screen, switching maps, etc. cyipt/actdev#66
2021-02-10 09:52:26 -08:00
Dustin Carlino
7c0bac236a
Bring in study areas for all actdev sites. Automatically show them when launching in actdev mode. cyipt/actdev#65
2021-02-10 08:35:08 -08:00
Dustin Carlino
3b893302ed
Support fractional zoom levels in --cam, like 16.35/51.607943/-1.261117
2021-02-09 19:41:35 -08:00
Dustin Carlino
a6fc030db4
Add a CLI flag 'router' to map actdev site name to the map name. For https://github.com/cyipt/actdev/issues/28
2021-02-09 16:14:34 -08:00
Dustin Carlino
1b1a4e99c7
Adjust procedurally generated building setback. Generate for most of the suburban actdev maps. https://github.com/cyipt/actdev/issues/65
2021-02-09 16:04:40 -08:00
Dustin Carlino
da76c306ea
Apply an initial camera zoom when passing the --cam param. For ( #503 )
...
https://github.com/cyipt/actdev/issues/44
2021-02-08 18:12:58 -08:00
Michael Kirk
4b665c871d
update geo related deps. ( #508 )
...
geo-types to 0.7
geo to 0.17 which removes redundant old geo used by polylabel
geojson to 0.22
2021-02-08 16:34:56 -08:00
Dustin Carlino
4235d9f994
When importing maps, optionally add in extra buildings from a GeoJSON
...
source to augment the ones in OSM. For
https://github.com/cyipt/actdev/issues/53 -- sometimes the buildings
just haven't been mapped in OSM yet, other times the buildings are part
of a future development site. In either case, we can procedurally
generate some houses, so this is a way to include them in the map.
Start doing this for Chapelford. But first, adjust the generated house
sizes -- they were WAY too tiny.
Also prep for [rebuild] [release]
2021-02-07 13:56:26 -08:00
Dustin Carlino
06ab55da00
Prune auto-placed buildings that overlap each other. https://github.com/cyipt/actdev/issues/53
...
And write the result as geojson. This process could become a map
importer phase, but I like checking the intermediate results, and it's
not clear yet how often we'd be using this.
2021-02-07 11:50:30 -08:00
Dustin Carlino
c847207bb8
Prune auto-placed buildings that wind up on top of existing parts of the
...
map. https://github.com/cyipt/actdev/issues/53
2021-02-07 11:29:02 -08:00
Dustin Carlino
29fb271afc
Automatically generate houses along empty residential roads, for https://github.com/cyipt/actdev/issues/53 . Still need to prune out houses that hit existing map features, and save the output.
2021-02-07 10:55:16 -08:00
Michael Kirk
3449d49b6d
WebGL 1.0 support, with automatic fallback for Safari/iOS ( #504 )
...
#506
2021-02-06 19:04:43 -08:00
Michael Kirk
3a5e63aaff
More helpful loading screen ( #496 )
2021-02-04 10:35:31 -08:00
Dustin Carlino
73e405e382
Upgrade most dependencies
2021-02-03 18:13:06 -08:00
Dustin Carlino
7855d26a6a
Different color scale for showing less/more path counts. #237
2021-02-03 11:59:41 -08:00
Dustin Carlino
ba2500c131
Create the path cost tuner. #237 , #494
...
This lets you live-tune routing parameters, then see how it affects the
total number of routes that cross every road, relative to the baseline
of the original parameters. We can also use it in the future to do the
same thing, comparing before/after some map edits.
2021-02-03 11:34:15 -08:00
Dustin Carlino
1ac62caa96
Use the new button API in the lane editor to more cleanly handle disabled buttons.
2021-02-03 10:03:26 -08:00
Dustin Carlino
32bcfbe738
Plumb in the tuned routing params. When they're not the defaults, automatically fallback from CH to Dijkstra's. #494
2021-02-02 15:20:06 -08:00
Dustin Carlino
eebe7a098a
Start a UI with some sliders for tuning existing params of route cost functions. No effect yet. #494
2021-02-02 14:39:39 -08:00
Dustin Carlino
35f2beaa76
Start a new debug tool to explore how different routing cost functions work. #494
...
It's just a stripped down version of AgentSpawner right now.
2021-02-02 13:53:46 -08:00
Dustin Carlino
02b90741d6
Draw 'STOP' on stop signs. Fixes #450 ( #492 )
2021-02-01 16:47:53 -08:00
Michael Kirk
38dc60fbea
Add method to GeomBatch to prefer cached flavor of loading svg. ( #493 )
...
It was my intention when introducing the cached vs uncached flavors that
we'd prefer the cached flavor for anything referencing bytes from a
file, like icons and UI glyphs, and that we'd only use the uncached
flavor for dynamic things like "face" generation.
2021-02-01 16:24:56 -08:00
Dustin Carlino
8a856d6608
Include transit riders in /data/get-agent-positions. #392
2021-02-01 12:27:55 -08:00
Dustin Carlino
71bd7a37fc
Start in the daytime when starting on an empty map. ( #486 )
2021-02-01 11:10:30 -08:00
Dustin Carlino
ba5ea18101
Filter throughput layer by mode. #456
2021-02-01 11:02:10 -08:00
Dustin Carlino
3e40686a6b
Fix a bunch of links after the repository renaming.
2021-01-31 15:50:48 -08:00
Dustin Carlino
8f0c027bb0
Fix critical bug causing a crash only in the .zip releases, where widgetry icons aren't present relative to the data/ directory.
2021-01-30 14:20:28 -08:00
Dustin Carlino
d2a1b27ba2
Add a new CLI flag / query param to initially center the map somewhere, using OSM's <zoom level>/<latitude>/<longitude> format. cyipt/actdev#44
...
Not handling zoom yet, but centering on a point works so far.
Example for montlake map: --cam=18/47.63234/-122.30656
2021-01-27 14:29:23 -08:00
Dustin Carlino
44e1f6a578
Slightly less awful building people info panel: Two-column table of person ID and departure time
2021-01-27 13:45:09 -08:00
Dustin Carlino
4cb306a184
Count the number of people with a car or bike per building. cyipt/actdev#44
2021-01-27 13:41:53 -08:00
Dustin Carlino
341ce834e3
Based on startup params, display an extra 'study area' on the map. cyipt/actdev#44
2021-01-27 13:00:48 -08:00
Dustin Carlino
172f258ce3
When navigating stages in the signal editor by keyboard, include the header when autoscrolling.
2021-01-27 09:10:16 -08:00
Dustin Carlino
e306a48994
Fix prev/next buttons on the trip table; the keybindings got inverted during the refactor.
2021-01-27 08:57:47 -08:00
Dustin Carlino
9d751afc24
Increase the amount of offstreet parking in Rainier Valley. #446
...
At long last, we have the 3rd Seattle map that finishes without
gridlock! Hoping to use it for this case study on signal timing
maximums...
2021-01-26 18:15:34 -08:00
Dustin Carlino
b11ebad635
Improve icon scaling in person info panels.
2021-01-26 13:48:56 -08:00
Dustin Carlino
f80cf201a8
Document that starting the web client with a scenario works. I'm almost
...
kind of disappointed that I didn't get to implement this.
2021-01-26 13:05:39 -08:00
Dustin Carlino
f69335edf0
Let individual maps override the street parking length. #457
...
Now regenerate all map data, because the schema changed. Also had to
revert part of the last commit to unbreak transit route snapping in
Berlin.
2021-01-25 12:36:49 -08:00
Michael Kirk
07738d2cef
popup and persistent split to spec ( #480 )
...
* introduce "pill" to be explicit about fully rounded, vs a "None" radius
* no-op transition to CornerRadii
* popup button to spec
* restore "fully rounded" layout behavior
* use plain light to better show highlight
* persistent split to spec (for day theme anyway)
* remove night-theme colors for speed panel
* fixup docs for pill
* CR: remove unnecessary `row`
* CR: remove outdated doc
* import order
2021-01-24 15:32:28 -08:00
Dustin Carlino
9aa18a35e6
rename color scheme to be more clear with day/night mode [rebuild] [release]
2021-01-24 14:19:30 -08:00
Dustin Carlino
ab801b8ae1
Vertically line up the header for layer panels.
2021-01-24 13:23:30 -08:00
Dustin Carlino
7d8c818eea
Remove the last traces of the old orange hovering color.
2021-01-24 13:09:37 -08:00
Michael Kirk
7d6edbb58c
use "disabled" rather than draw_svg_transform
2021-01-24 10:34:29 -08:00
Dustin Carlino
bd9c44d18d
Enable the day/night color switch by default! Ensure we're in day mode
...
for devtools and taking screenshots.
2021-01-23 17:09:57 -08:00
Dustin Carlino
f93a30ea04
Recreate panels whenever the color scheme changes, whether that happens from fiddling with settings or the day/night toggle happening.
2021-01-23 16:35:09 -08:00
Michael Kirk
1a3d1b4cdb
reconcile new button styles w/ dark theme ( #475 )
2021-01-22 21:21:38 -08:00
Dustin Carlino
4446d99fad
Merge branch 'mkirk/btn-fix' of https://github.com/michaelkirk/abstreet into michaelkirk-mkirk/btn-fix
2021-01-22 21:13:13 -08:00
Michael Kirk
3855f284b8
Fix hotkey conflict
...
Even though we *usually* want these hotkeys for next/prev, sometimes we
don't, and the damage of forgetting to add them to a new pager is less
than the damage done if we forget to remove them and clobber something
important like the speedup/slowdown controls.
2021-01-22 15:31:33 -06:00
Michael Kirk
87fe16b6ad
use proper button in pager
...
broken in the recent button overhaul
2021-01-22 15:30:42 -06:00
Michael Kirk
1990642dee
More conventional button names
...
This was all done by search/replace, and should not affect
functionality.
Goals:
- be consistent with the figma terminology.
- consistently order:
"btn_{solid|outline|plain}_{dark|light}_{text|image|dropdown|back|etc}"
2021-01-22 13:11:42 -06:00
Michael Kirk
1325c115a1
cache SVG's when reasonable. Clarify when they aren't cached.
2021-01-22 09:54:50 -06:00
Michael Kirk
4e48de6185
compile in asset bytes for widgetry assets
2021-01-22 09:54:50 -06:00
Michael Kirk
7bc9145ce9
bake-in widgetry assets: image_path -> image_source::{Path, Bytes}
2021-01-22 09:54:50 -06:00
Dustin Carlino
2505d64e8b
Always use ctx.style() to construct buttons. Remove the indirection through app's colorscheme.
2021-01-22 07:45:05 -08:00
Michael Kirk
ca93d438db
fixup tabs
2021-01-22 07:44:46 -08:00
Dustin Carlino
c9c6f240ae
Remove timer.{note, warn, error} in favor of the log crate. #262
...
Originally, the intention of the deleted calls was to not interrupt
Timer progress bars with warnings. But the output of things like the
importer is impossible to read anyway. Strongly considering explicitly
sending logs and timing info to separate places and using something like
multitail for live progress.
Unplumb timer from LOADS of places that just needed it for logging.
2021-01-21 19:22:02 -08:00
Dustin Carlino
dc19d11f64
Make the file management menu in edit mode occupy the center of the screen.
2021-01-21 15:36:21 -08:00
Michael Kirk
02e3235de2
adapt tabs to new button designs
2021-01-21 15:25:46 -08:00
Michael Kirk
2b8511251a
fix scaling: replace remaining buttons with baked-in-text
2021-01-21 15:25:46 -08:00
Michael Kirk
90b6da7265
apply new delete icon, fix button spacing in signal editor
2021-01-21 15:25:46 -08:00
Michael Kirk
600d91896e
remove redundant edit.svg, use pencil.svg
2021-01-21 15:25:46 -08:00
Michael Kirk
116edc5423
Fix missized lane editing tools
2021-01-21 15:25:46 -08:00
Michael Kirk
6920d324f7
v-align alert
2021-01-21 15:25:46 -08:00
Michael Kirk
4454b4a50f
capture "disabled" pattern
2021-01-21 15:25:46 -08:00
Michael Kirk
4989887117
remove final references to Btn
2021-01-21 15:25:46 -08:00
Michael Kirk
542600da2f
Replace Btn::fg_text.inactive
2021-01-21 15:25:46 -08:00
Michael Kirk
2b8e77de9f
manual replace of remaining hotkey Btn::text_fg
2021-01-21 15:25:46 -08:00
Michael Kirk
0cf49d2fc6
proper color for "Trash" (delete) buttons
2021-01-21 15:25:46 -08:00
Michael Kirk
1f75145a8a
introduce btn_next/btn_prev, parameterize disabled
to simplify common usage
2021-01-21 15:25:46 -08:00
Michael Kirk
b924d40daa
regex update Btn::text_fg simple hotkeys, inline &str
2021-01-21 15:25:46 -08:00
Michael Kirk
a2c5ce0fb3
regex upgrade Btn::text_fg: No hotkeys, inline &str
...
Btn\:\:text_fg\("([^"]*)"\).build_def\(ctx, None\)
ctx.style().btn_secondary_light_text("$1").build_def(ctx)
2021-01-21 15:25:46 -08:00
Michael Kirk
bfb190a730
manually update remaining Btn::text_bg2
2021-01-21 15:25:46 -08:00
Michael Kirk
a5b6dca62a
replace Btn::text_bg2 w/ regex
...
In case I have to revisit, here's the regex I used:
Btn::text_bg2\(([^)]*)\)*.build_def\(ctx, ([^()]*)\)
ctx.style().btn_primary_dark_text($1).hotkey($2).build_def(ctx)
And something like this for the "no hotkey" case
Btn::text_bg2\(([^)]*)\)*.build_def\(ctx, None\)
ctx.style().btn_primary_dark_text($1).build_def(ctx)
2021-01-21 15:25:46 -08:00
Michael Kirk
7270ff31af
use icon button for "jump to time"
2021-01-21 15:25:46 -08:00
Michael Kirk
652c35b220
replace Btn::text_bg
2021-01-21 15:25:46 -08:00
Michael Kirk
54e937408a
remove remaining Btn::plaintext
2021-01-21 15:25:46 -08:00
Michael Kirk
f382c08d55
replace text arrows with svg arrows for traffic signal editor
2021-01-21 15:25:46 -08:00
Michael Kirk
3febbf2f81
destructive primary for destructive action
2021-01-21 15:25:46 -08:00
Michael Kirk
0f476b6a36
pagination uses icon button
2021-01-21 15:25:46 -08:00
Michael Kirk
fc6c18e608
replace Btn::SVG
2021-01-21 15:25:46 -08:00
Michael Kirk
69e31029ac
replace Btn::svg_def
2021-01-21 15:25:46 -08:00
Michael Kirk
ea39fecf03
replace Btn::pop_up
2021-01-21 15:25:46 -08:00
Michael Kirk
0a612601ca
icon buttons should be same height as text buttons
2021-01-21 09:08:41 -08:00
Michael Kirk
c013c8d342
replace remaining Btn::custom
2021-01-21 09:08:41 -08:00
Michael Kirk
5b6c88d3b4
more button progress and fixups ( #465 )
...
* replace Btn::txt with new ButtonBuilder styles
* fixup! replace Btn::text_bg1 with ButtonBuilder (btn_primary_light)
2021-01-20 14:11:28 -08:00
Michael Kirk
11ffef5716
replace Btn::text_bg1 with ButtonBuilder (btn_primary_light)
2021-01-19 17:40:35 -08:00
Michael Kirk
e1ec69f9f7
Replace Btn::plaintext_custom with new ButtonBuilder
2021-01-19 17:40:35 -08:00
Michael Kirk
743b74510d
replace Btn::close with new style ( #463 )
2021-01-19 16:17:11 -08:00
Michael Kirk
d7445d889e
button revamp groundwork ( #459 )
2021-01-19 10:10:18 -08:00
Dustin Carlino
a6c61e4fae
Use Great Kneighton study area for Cambridge, not Trumpington. And bring
...
in Chapelford too. #449
2021-01-17 17:35:11 -08:00
Dustin Carlino
8928256909
Enable the scenario modifiers UI for all scenarios in sandbox mode, not just the Soundcast-based ones. No reason not to do this earlier; I originally was working on this tool for a specific purpose.
2021-01-14 09:28:28 -08:00
Dustin Carlino
e233012ee8
Use a full modal to select a scenario. During the button UI audit, we
...
realized a dropdown doesn't make sense. A larger panel gives room to
explain what the choices mean.
2021-01-14 09:05:44 -08:00
Robin Lovelace
4696134871
Change dropdown menu title, close #453
2021-01-14 08:23:57 -08:00
Dustin Carlino
38fa22d4b2
Include the importer in the release again -- I accidentally stopped
...
about a month ago and noticed in #452
2021-01-13 10:52:07 -08:00
Dustin Carlino
ff598f21a3
Add a new layer to star buildings. Autosave it. While trying out changes
...
for #446 in the UI, I kept losing track of the two buildings I'm
focusing on. A player-defined list of shortcuts seems generally helpful.
2021-01-12 19:22:50 -08:00
Dustin Carlino
f680de73aa
Remove London from screenshot testing, and use Cambridge instead. #449
...
This will make it easier to visually track the progress improving the
import. Originally London was added to have one left-hand driving map
under the test, but Cambridge works for that too, and it also includes
separate cycleways.
Also fix a crash when trying to draw very very tiny arrows.
2021-01-12 12:30:21 -08:00
Dustin Carlino
ddc49e14b4
Add a signal editor tool to adjust the timing to some approximation of https://nacto.org/publication/urban-street-design-guide/intersection-design-elements/traffic-signals/signal-cycle-lengths/ for #446
2021-01-11 17:16:01 -08:00
Dustin Carlino
9f72de9434
Fix initial camera loading for game, broken in b4e72debcf
. Booleans are hard.
2021-01-11 10:32:51 -08:00
Dustin Carlino
0542edc61e
Don't crash when a trip succeeds now, but not in the prebaked results. [rebuild] [release]
2021-01-10 12:13:02 -08:00
Dustin Carlino
b4e72debcf
Make the game crate also start by asynchronously loading any map, in the common case of starting with a map as an argument. #344
...
Now we can remove montlake.bin from the wasm also, bringing game down to
just 18MB!!!
2021-01-09 15:51:03 -08:00
Dustin Carlino
26f3726abd
gzip two large SVG character files to trims down wasm size more for #377 . game from 31MB to 24MB!
...
I didn't have to do anything to gunzip, because usvg is such a magical
crate that it already has flate2 support baked in.
2021-01-09 09:26:41 -08:00
Dustin Carlino
fea3ebbe5b
Change the city picker UI to show cities on the left. After clicking one, open up the overview for that city.
2021-01-08 15:51:22 -08:00
Dustin Carlino
b487678ee0
Delete all out-of-date manual overrides for traffic signals, and make it
...
a hard error when they become out-of-date going forward.
Better heuristics make some of these unnecessary. And now the the JSON
files are in this repo, updating files manually when pulling down new
OSM data becomes less tedious.
2021-01-07 12:24:07 -08:00
Dustin Carlino
65b2b581fa
Attempt to take many screenshots of one map at different zoom levels for Leaflet. Various bugs, but progress. #440
2021-01-06 16:33:53 -08:00
Dustin Carlino
92be9c57ed
Optionally tile screenshots at smaller dimensions than the window. #440
2021-01-06 10:52:22 -08:00
Dustin Carlino
4cf133cc32
Make the new screencaps preserve alpha properly by switching to
...
premultiplied alpha. See option 1 of
https://stackoverflow.com/a/24380226
Upload the "new" screenshots (and lakeslice map)!
2021-01-05 18:28:30 -08:00
Dustin Carlino
7f0cdace5a
Use OpenGL to take screenshots instead of scrot. Benefits:
...
- Simple -- one OpenGL call and feeding to the awesome image crate
- Faster -- seemingly don't need the sleep() for whatever vsync problems
- Portable -- doesn't use the Linux scrot tool
- I can switch windows and wiggle the cursor with impunity while this runs
One disadvantage: screencaps in S3 are now slightly larger PNGs, because
for some reason, the image/gif feature is super slow, even in release
mode.
For now, this makes the process of screenshot diffing map changes
easier. But it also might help with producing raster tiles for Leaflet. #440
Also, had to regenerate lakeslice because of the previous change --
it had an old adaptive signal baked in.
2021-01-05 14:58:31 -08:00
Dustin Carlino
6346302338
Remove the adaptive traffic signal experiment, now that Bruce's variable signals work. The adaptive case was added as a proof-of-concept, and its behavior is subsumed by the variable ones. Fixes #124
2021-01-05 13:06:44 -08:00
Dustin Carlino
802e020520
Import a SUMO network, transform it into an ABST map. So far, this gets
...
lanes and intersections displaying, but with lots of problems.
2021-01-05 12:44:38 -08:00
Dustin Carlino
e99def9124
Switch all error handling to anyhow. Nothing consumes our code as a
...
library yet, so this is a step forward from string errors. Manually
tested how errors show up (including the nice with_context bit).
2021-01-05 11:35:03 -08:00
Dustin Carlino
cd7dca87d7
Fix web build after rand upgrade. Unfortunately I think this has to happen in all of the binary crates individually: https://docs.rs/getrandom/0.2.1/getrandom/#indirect-dependencies
2021-01-05 11:12:03 -08:00
Dustin Carlino
bc3c3dfd6c
Rename phase -> stage in the JSON traffic signal format. Meant to do this a long time ago. #295
...
Make this schema change backwards compatible for player edits.
2021-01-04 11:18:17 -08:00
Dustin Carlino
dedb041bdb
Move CameraState to map_gui. Now widgetry has no dependency on abstio! #253
2021-01-04 10:39:15 -08:00
Dustin Carlino
bfa208ce6a
Parameterize widgetry on a way to read SVG files. This is one of the last steps to remove the dependency on abstio. #253
2021-01-04 09:53:24 -08:00
Dustin Carlino
d529ae2e5c
Upgrade usvg and rand
2021-01-04 09:19:54 -08:00
Dustin Carlino
965d999199
Upgrade misc other dependencies
2021-01-03 20:01:27 -08:00
Dustin Carlino
2945913fb3
Upgrade rand
2021-01-03 19:48:03 -08:00
Dustin Carlino
5c04923dff
Split abstio crate out from abstutil. #253
...
widgetry, geom, and abstutil may wind up on crates.io in some form to
let other projects use widgetry. abstio has A/B Street-specific tricks
for reading data on native/web. Note widgetry still depends on abstio,
will figure out how to clean that up next.
2021-01-02 10:28:00 -08:00
Dustin Carlino
795c6bebb1
When producing GeoJSON, represent Polygons that arent Rings (like from SVGs) as a MultiPolygon of every pre-calculated triangle. #440
2021-01-01 15:33:11 -08:00
Dustin Carlino
302ec94e3d
Try exporting the zoomed-in rendering of a map to geojson. #440
...
This approach has some manual effort and it's not capturing everything
yet, but it's a start.
2021-01-01 12:46:25 -08:00
Michael Kirk
acadad8bdf
fetch US census data from a hosted FlatGeoBuf ( #432 )
2020-12-31 16:20:32 -08:00
Dustin Carlino
9c63d9a181
Make a quick way of marking roads in the UI, dumping to a list, then
...
later overriding a .osm file with tags for these roads. This is a way to
test the effects of making simple OSM changes locally before
upstreaming.
Also handle repeated merging collapsing one of the roads. Not 100% what
happens here, but skipping the collapsed road works fine. The scary
Montlake intersections now look great with all the merging done, so
upstreaming the change! #114
2020-12-30 18:31:39 -08:00
Dustin Carlino
de4b026920
More turn restriction preservation... #114
2020-12-30 10:01:23 -08:00
Dustin Carlino
172dbf359c
Try merging intersections with concave hull instead. #114
2020-12-28 16:05:41 -08:00
Dustin Carlino
17665a3d18
Prototype a simple idea for calculating merged intersection geometry using the original attempted shapes. #114
2020-12-28 15:43:48 -08:00
Dustin Carlino
32a3159d19
Express AmenityType as a proper enum.
2020-12-28 12:18:29 -08:00
Dustin Carlino
001aa836d2
Organize assets that're baked into widgetry. They don't belong in the
...
data/ directory, because they're statically bundled; they're not
actually read from the filesystem. #253
Two SVGs get duplicated between widgetry and abst assets -- dont_walk
and arrow_drop_down.
2020-12-28 10:40:55 -08:00
Dustin Carlino
af5811c33c
Lift Cached to widgetry
2020-12-26 14:38:43 -08:00
Bruce
3be45b8221
Add a Variable phase ( #433 )
...
* Add a Variable phase
Variable provides a min duration, a delay duration, and an additional duration. The maximum cycle time is min + additional. Once min has been exhausted, if there is demand, the cycle is extended by delay until there isn't any demand or the additional duration has been consumed.
#295
2020-12-24 12:33:47 -08:00
Dustin Carlino
0a25d92e53
Include the intersection geometry in the shared-row export for 3D Street integration
2020-12-22 14:31:12 -08:00
Dustin Carlino
be589f7ef4
Switch A/B Street over to the new web loader with a progress bar. Initializing the .wasm may take a little longer, but it's not noticeable, and the progress bar for the large upfront download is really helpful. #377
2020-12-20 11:07:03 -08:00
Dustin Carlino
0bcf130b80
Lift the generic table to widgetry
2020-12-19 16:06:30 -08:00
Dustin Carlino
2baa0fa094
Update links to all the deployed web stuff
2020-12-18 13:02:36 -08:00
Dustin Carlino
d917008f2e
Lift SimpleState to widgetry, since it doesn't depend on any details of
...
the App at all. Use it in the experiment a bit.
2020-12-17 12:23:57 -08:00
Dustin Carlino
0831d112ed
Simplify the trace API even more -- everyone but the simulation deals with unmodified paths and wants the original start
2020-12-16 16:14:33 -08:00
Dustin Carlino
d00e7f7bca
Simplify path trace API -- nobody needs dist_ahead. I think that was originally meant to be a performance trick to only draw the next little bit of a route
2020-12-16 16:09:11 -08:00
Dustin Carlino
b39aa2a45f
Expose continuous distance crossed for pedestrians. #392
2020-12-16 15:09:06 -08:00
Dustin Carlino
f36854cc5b
Simplify TripPhase now that PathRequest is embedded in the Path
2020-12-16 13:02:59 -08:00
Dustin Carlino
7efd2de939
Remove unused census generation UI from hackathon. We'll recreate this later, onc it's more clear what params there are to tune, and where the params will live. #424
2020-12-16 12:57:19 -08:00
Dustin Carlino
fccc98205c
Refactor: Store the input PathRequest inside the resulting Path. This
...
saves lots of callers from cloning the request and separately plumbing
around the requested start/end distance. Also a step towards exposing
more granular distance crossed in a path for #392 .
Still a few more places to simplify, but will do in a separate, smaller
change.
2020-12-16 12:55:57 -08:00
Dustin Carlino
2b4b92664e
Much needed refactor: map.pathfind() returns a Result, stating the failed request. Many call sites were cloning the request and doing this anyway.
2020-12-16 10:06:12 -08:00
Dustin Carlino
16392a461f
Refactor: GeomBatch::load_svg directly takes EventCtx or GfxCtx. The prerender struct should ultimately not be exposed outside of widgetry.
2020-12-15 11:44:58 -08:00