Commit Graph

1853 Commits

Author SHA1 Message Date
Dustin Carlino
e5365254e9 Make load_all_objects IO-backend (native/web) agnostic 2020-10-05 14:48:34 -07:00
Dustin Carlino
a5cf5877e6 Experiment with focusing on negative space 2020-10-05 10:13:28 -07:00
Dustin Carlino
8e49aac42f Make traffic seitan close roads that agents are about to use, causing a
crash. And start to figure out the debugging story.
2020-10-05 08:49:16 -07:00
Dustin Carlino
50e8a94946 Use an absolute color scale for throughput, instead of the weird ranked thing. If a few roads have a ridiculously high throughput compared to others, we actually care about those outliers. And don't show counts in the legend after all; it just climbs over the whole day, and confusingly mixes roads/intersections, which're actually colored independently. 2020-10-03 16:44:36 -07:00
Dustin Carlino
98d26d8979 Refactor calls to calculate_current_selection 2020-10-03 16:37:56 -07:00
Dustin Carlino
acaf7eb587 Split compare throughput into separate State 2020-10-03 16:13:58 -07:00
Dustin Carlino
5354d1ba2b Show counts in throughput layer tooltips 2020-10-03 16:04:58 -07:00
Dustin Carlino
b7818a52be Capture the reason for cancelled trips, for #312 2020-10-03 15:35:29 -07:00
Dustin Carlino
9ccbf40dba Merge the concept of cancelled and aborted trips, in preparation for storing the reason for cancellation, for #312 2020-10-03 10:41:53 -07:00
Dustin Carlino
5aee85f19d Allow colorschemes to optionally color zoomed-in lanes based on OSM road rank. Most schemes don't do this, but one needs to, and maintaining a separate git branch has become annoying.
Should have no behavioral change to existing color schemes.
2020-10-02 08:06:35 -07:00
Dustin Carlino
f73d9da080 Conjure Traffic Seitan, a tool to make byzantine live map edits, to cause chaos and flush out bugs... 2020-10-01 18:24:35 -07:00
Dustin Carlino
afa27e0903 Just adjusting dark colorscheme 2020-10-01 16:36:00 -07:00
Dustin Carlino
c2ef091fb4 Try some greyscale color schemes, from Mapbox 2020-10-01 13:49:03 -07:00
Dustin Carlino
fd460a2f43 Fix blackholed buildings with --infinite_parking. Before, they were just
skipped outright. Now they redirect to a reasonably close building that
isn't blackholed. #329

(For context, https://dabreegster.github.io/abstreet/map/index.html#connectivity
explains "blackhole")

I'm increasingly convinced I made the wrong decision to split the
normal/infinite parking implementation. It's low-priority, but I'll try
consolidating them later.
2020-10-01 11:57:30 -07:00
Dustin Carlino
778b33bd55 Confirm export of roads to shared-row with a popup 2020-09-30 12:40:36 -07:00
Dustin Carlino
2b87736dd4 Pull in fresh OSM, with fixed turn lanes near the notorious Madison / Lake Wash Blvd. NOW it runs without gridlock again! 2020-09-30 10:30:01 -07:00
Dustin Carlino
c36f8026f0 Remove the old per-lane delay layer in favor of the new per-agent one 2020-09-30 09:19:24 -07:00
Dustin Carlino
2c63a485cc Undo some uses of impl trait. Originally added for performance in a big
refactor, they complicate the function signatures significantly and have
no observable perf impact, since all of the methods just happen in map
importing.
2020-09-29 15:53:08 -07:00
Dustin Carlino
a64fe01c3a Actually, absolute scale for the debug destinations tool makes more sense than ranked 2020-09-29 15:30:24 -07:00
Dustin Carlino
49f4d3e3dc
Add a tool to see where people blocked on a traffic signal are trying to go (#354) 2020-09-29 15:22:05 -07:00
Dustin Carlino
9ca7ea6cc2 Improve the experiment to draw area names by fixing z-ordering. But
leave disabled; sizing is still way off.
2020-09-29 14:51:07 -07:00
Dustin Carlino
de4f5c7768
Add a layer to color unzoomed agents based on their current delay, to help debug gridlock. Something like this used to exist as a first-class way to change unzoomed color schemes, but until we have more ideas about showing agent intent on the minimap, just implementing this as a separate layer. (#353) 2020-09-29 11:51:37 -07:00
Dustin Carlino
e7e3a30a25 Fix crash on Windows when minimizing window 2020-09-28 19:23:54 -07:00
Dustin Carlino
823297b71e See unzoomed routes for trips better. #331 2020-09-28 18:26:41 -07:00
Dustin Carlino
371d26f707
Bring in alleyways from OSM! [rebuild] (#351) 2020-09-27 12:20:27 -07:00
Dustin Carlino
84891f8b96 Some map fixes to prepare for alleyways:
- Temporarily workaround snap_cycleways crash in Xi'an
- Fix interpretation of blank turn restrictions. https://www.openstreetmap.org/way/739621435 was missing a right turn, which was causing vehicles to do this crazy loop to go from Madison EB to Lake Wash SB.
- Ignore turn restrictions when they don't match the number of lanes. https://www.openstreetmap.org/way/428090702 and similar need some updating.

Regenerate all data, but give up on lakeslice running fully. Going to
sacrifice that one for a bit to get new roads imported.
2020-09-27 11:21:35 -07:00
Dustin Carlino
4916b10190 Small style cleanups after #346 (Import grouping, simplify Spinner logic) 2020-09-27 10:26:38 -07:00
NoSuchThingAsRandom
0921a4aae5
Pedestrian crossing time (#346)
* Fixed ui being able to select traffic light times that are shorter than the time it takes to walk across the crosswalk

* Fixing operands and renaming

* Fixed spinner out of bounds issue
Traffic light generation now, ensures that there is enough time to cross the crosswalk
And enforces the minimum time duration

* Cargo +nightly fmt

* Request fixes: https://github.com/dabreegster/abstreet/pull/346
Still need some things to clarify:
    Spinner checks on increment/decrement
    Calling enforce_minimum_crosswalk_time inside get_possible_policies, requires the removal or modification of the validation function

* Moved enforce_minimum_crosswalk_time inside get_possible_policies
Now runs stage_time_validation at the end of get_possible_policies and removes invalid policies
Could do the same with the validation function as well?

* Fixing import order

* Fixed ui being able to select traffic light times that are shorter than the time it takes to walk across the crosswalk

* Fixing operands and renaming

* Fixed spinner out of bounds issue
Traffic light generation now, ensures that there is enough time to cross the crosswalk
And enforces the minimum time duration

* Cargo +nightly fmt

* Request fixes: https://github.com/dabreegster/abstreet/pull/346
Still need some things to clarify:
    Spinner checks on increment/decrement
    Calling enforce_minimum_crosswalk_time inside get_possible_policies, requires the removal or modification of the validation function

* Moved enforce_minimum_crosswalk_time inside get_possible_policies
Now runs stage_time_validation at the end of get_possible_policies and removes invalid policies
Could do the same with the validation function as well?

* Fixing import order

* Moving stage validation inside validation function

Co-authored-by: Sam <a>
2020-09-27 10:21:30 -07:00
Dustin Carlino
2ddd9a62ff Cleanups for #346:
- Add Distance::min()/max()
- Bring in log crate everywhere
- Consolidate traffic signal validation
2020-09-26 10:11:08 -07:00
Dustin Carlino
5a3bee0264
A first attempt to snap separately mapped cycleways to main roads. Emit (#348)
an extra KML file during importing to debug; don't bring into the main
map yet. #330

Not regenerating yet
2020-09-25 15:22:47 -07:00
Michael Kirk
f0be8dc0f0
Coalesce render flavors (#349) 2020-09-25 15:09:18 -07:00
Michael Kirk
e19bb42492
Clean up "trips" (info/person.rs) (#347)
* center pill

* padding insets

* use disclosure glyph instead of unicode arrows
2020-09-25 13:05:32 -07:00
Dustin Carlino
0f78920aeb Start overhauling th trip summary page. #331 2020-09-25 11:55:07 -07:00
Michael Kirk
241d2faad3 Apply a few more pop_up buttons
...rather than formatting text w/ unicode arrows

Addendum to 452fb06ae
2020-09-25 09:47:08 -07:00
Michael Kirk
00fb0ef8cd Cleanup dropdown - stop using unicode "down arrow"
We were drawing "pop-up" style buttons in several places, using
copy/pasted logic - which was simple enough when using a unicode glyph.

But we want to use a different glyph which isn't in our font. Further,
using an svg like this gives us finer grained control around the layout
around the button "handle" than we could get with just space characters.
2020-09-24 19:12:39 -07:00
Dustin Carlino
119e887425 New dashboard picker. #331 2020-09-24 10:40:18 -07:00
Dustin Carlino
597ef473f2 Upgrade most dependencies 2020-09-24 09:36:26 -07:00
Dustin Carlino
de86258402 Inch towards new trip table design: hover color, move pagination controls. #331 2020-09-23 14:03:08 -07:00
Dustin Carlino
d77271f9d8 Export trip times to CSV [rebuild] 2020-09-23 13:06:22 -07:00
Dustin Carlino
fa0c5ee02c Multiple lane type transformations in bulk edit. #331 2020-09-23 11:55:19 -07:00
Dustin Carlino
6f110d9e7f Add unfinished trips table. #331 2020-09-22 16:18:03 -07:00
Dustin Carlino
530a9ee4e4 Add a dashboard showing cancelled trips. Further refactor trip table
states along the way. #331
2020-09-22 14:16:51 -07:00
Dustin Carlino
f57bd57ac3 Avoid crashing for underground isometric buildings 2020-09-22 12:35:57 -07:00
Dustin Carlino
023bee5954 Simplify the parking table using the new API. Closes #53 2020-09-22 12:13:06 -07:00
Dustin Carlino
6a13ec0841 Refactor the trip table and parking overhead table into a generic table
API, with sorting, filtering, and pagination. This will be invaluable
when implementing more tables and the new table style (see Figma for
both). #53
2020-09-22 12:13:06 -07:00
Michael Kirk
848251fca4
use osm data for actual building height (#340) 2020-09-22 11:59:50 -07:00
Michael Kirk
59fec852a8
fix "don't draw" option for jump-to-delay (#339) 2020-09-21 13:42:01 -07:00
Dustin Carlino
31d888024b Display the 3 categories of trips in the table differently. Not
clickable yet. #331
2020-09-21 12:57:10 -07:00
Michael Kirk
8042ad414f
fix building overlap for isometric view (mostly) (#338) 2020-09-21 11:54:39 -07:00
Dustin Carlino
8e32314979 Style the loading screen and add tips/news. Closes #180 [rebuild] 2020-09-20 13:02:27 -07:00
Dustin Carlino
990aa74d03 More ways to find signal demand dash. #331 2020-09-20 10:18:18 -07:00
Dustin Carlino
4a07164394 Add the concept of trip purpose. Seed it from Soundcast data, or assign
it for the prolet robot model. Expose it in the trip info panel.

Total scenario size from 385MB to 412MB, but that's not so bad, and this
seems worth it.
2020-09-19 13:02:36 -07:00
Dustin Carlino
bb3342de27 Individual hitboxes for multiple signals in the sidebar. #331 2020-09-19 11:52:15 -07:00
Dustin Carlino
3c11dca9ba Remove the selection outline on the side panel when hovering on the map. About to flip the direction of this. #331 2020-09-19 11:17:25 -07:00
Dustin Carlino
3cc6a8ce12 And finally, a UI to tune offset between two signals! [rebuild] 2020-09-19 11:10:45 -07:00
Dustin Carlino
8170faa03c Start a UI to display absolute signal offsets and offsets relative to one chosen intersection 2020-09-19 11:10:45 -07:00
Dustin Carlino
08805f6a32 Rip out the old signal offset UI first. 2020-09-19 11:10:45 -07:00
Dustin Carlino
57e5183c2c Make signal demand explorer much nicer, with selectable movements. #331 2020-09-19 10:51:27 -07:00
Dustin Carlino
83ff6db16c Improve the signal demand dash with keys to change hour. And slightly
refactor styled keys in text.
2020-09-19 10:18:23 -07:00
Dustin Carlino
94eaa7010d Slightly improve current demand panel by adding outlines to all unselected arrows 2020-09-18 23:06:48 -07:00
Dustin Carlino
15af3846b1 Round driving costs for pathfinding more carefully. When we create
uber-turns (sequences of turns through a few intersections) due to OSM
turn restrictions, we have to be a little careful how we sum up the cost
for the entire sequence, only rounding at the end.
2020-09-18 15:39:35 -07:00
Dustin Carlino
66ee865ad1 Debug uber-turns by showing their cost in the viewer 2020-09-18 14:13:11 -07:00
Dustin Carlino
d9e50a7e38 Use .into() for specifying keys to widgetry more ergonomically. #253 2020-09-18 09:26:14 -07:00
Dustin Carlino
2f66a714d8 Adjust file naming dialog. Don't allow overwriting files at all. #331 2020-09-18 08:50:52 -07:00
Dustin Carlino
987f76ebdb Adjust signal editor arrow colors. #331 2020-09-18 08:30:25 -07:00
Michael Kirk
2b36b9f03a
add textured theme (#335) 2020-09-18 07:43:05 -07:00
Michael Kirk
cb84b729f6
FancyColor -> Fill (#334) 2020-09-17 23:34:25 -07:00
Dustin Carlino
16ed4ca457 Use crosswalk icons in the editor. #331 2020-09-17 18:42:20 -07:00
Dustin Carlino
69622bb86d Overhaul traffic signal editor. Movements can be directly clicked now;
the turn icons (now circles) are just for currently banned turns. #331
[rebuild]

Still a little work left (tuning arrow styles and using special icons
for crosswalks), but this mostly seems to match Yuwen's design.
2020-09-17 17:21:36 -07:00
Dustin Carlino
60cb96bc91 Just detangling code in draw_signal_stage... 2020-09-17 15:31:28 -07:00
Dustin Carlino
f59b738692 Simplify traffic signal rendering before big turn icon overhaul by
removing some older styles.
2020-09-17 15:06:35 -07:00
Dustin Carlino
ddb933d682 Fix active traffic crash, due to the polygon being too detailed [rebuild] 2020-09-17 10:58:01 -07:00
Michael Kirk
08f330cfad track worker capacity of commercial buildings 2020-09-16 16:43:11 -07:00
Dustin Carlino
2e6e338b98 New bulk lane edit UI. #331 2020-09-16 16:07:48 -07:00
Dustin Carlino
6e10f40801 Overhaul lane editor UI. #331 2020-09-16 12:32:11 -07:00
Dustin Carlino
da287ae68f Discard changes from traffic signal editor. #331 2020-09-16 11:50:57 -07:00
Dustin Carlino
3dcdb9ec02 Update OSM data (and fix the stage icon) 2020-09-16 10:29:51 -07:00
Dustin Carlino
1331b629aa Track how long cars have been parked in one spot 2020-09-16 09:42:02 -07:00
Dustin Carlino
4beff2b7bf Fix some zero-length paths in the parking efficiency layer. #329 2020-09-16 08:47:40 -07:00
Dustin Carlino
5ca884eedd Filling out the UI 2020-09-15 13:27:56 -07:00
Dustin Carlino
fcc05afda7 Add a flag to use the infinite parking sim. Start to test for real... 2020-09-15 13:27:56 -07:00
Dustin Carlino
7bd1d937f9 Some of Yuwen's cosmetic traffic signal editor changes 2020-09-15 09:32:46 -07:00
Dustin Carlino
4d6fc18c26 Woops, fix edit mode crash from previous commit 2020-09-14 18:06:25 -07:00
Dustin Carlino
ac3bc51af2 Restore the traffic signal stage indicator 2020-09-14 18:02:53 -07:00
Dustin Carlino
fff75fa5ba Yuwen's new changelist UI (except for describing some of the changes in detail) 2020-09-14 17:40:04 -07:00
Dustin Carlino
d68273086b Autosave even the untitled edits!
Possibly when the player explicitly says "discard proposal", we should
actually delete the file.
2020-09-14 14:25:09 -07:00
Dustin Carlino
0a3479a3d0 Implement the new file management part of Yuwen's edit mode sidebar UI.
Some bugs introduced when working with the default untitled proposal.
About to change the behavior of that in the next commit.
2020-09-14 13:58:12 -07:00
Dustin Carlino
ce4e429648 Rename edits -> proposals, at least in the UI layer. 2020-09-14 12:52:06 -07:00
Dustin Carlino
ec28132286 Implement Yuwen's split jump to time/delay UI [rebuild] 2020-09-14 10:28:25 -07:00
Dustin Carlino
8b7cb7a601 Split code for speed / time warp controls 2020-09-14 09:40:43 -07:00
Dustin Carlino
faf1379062 Add a new experimental layer to show the distance between every parked car and its owner 2020-09-14 09:18:24 -07:00
Dustin Carlino
f3a04b4d96 Add 4 configurable isometric camera views for buildings, disabled by default. 2020-09-13 21:36:45 -07:00
Dustin Carlino
e5bb98511a Few adjustments to KML viewer to make it easier to deal with huge .kml files 2020-09-12 10:06:04 -07:00
Dustin Carlino
037e22e69e Cleanup last few things for left-hand maps. Fixes #311! 2020-09-11 14:17:31 -07:00
Dustin Carlino
033b20f004 Fix parking rendering for left-hand maps. Tested by temporarily forcing
some onstreet parking in London. #311
2020-09-11 14:09:45 -07:00
Dustin Carlino
d88ccf98b7 Make pedestrians walk on the left side of the sidewalk in the UK. #311 2020-09-11 13:55:26 -07:00
Dustin Carlino
d56d1fd0e3 Show trips affected by congestion capping in the trip table and info
panels
2020-09-11 11:21:39 -07:00
Dustin Carlino
2895d50a1e
Add tooltips to the agent meters, and stop showing both buses and passengers. Fixes #239 (#323) 2020-09-11 11:08:26 -07:00
Dustin Carlino
edbc674970 Fix stop sign placement for left-handed maps. #311 2020-09-11 11:03:59 -07:00
Dustin Carlino
bee5890212
Remove the purple parking agents from the unzoomed view. Instead, add them to the parking layer, so supply and demand can be seen in the same place. (#322) 2020-09-11 10:04:10 -07:00