Commit Graph

6871 Commits

Author SHA1 Message Date
Dustin Carlino
d10d8ceb33 Clean up code and regenerate everything with new the consolidation algorithm... #654
Phinney gridlocks again; 68daa6884a was
too ambitious. Otherwise all fine!
2021-07-19 15:07:10 -07:00
Dustin Carlino
c7b6c11e37 Fix the wacky endpoint order for Montlake/520 with a more careful definition of center. 2021-07-19 15:07:10 -07:00
Dustin Carlino
c28fef1752 By the power of my Mammal Hands, I will figure this out. #654 2021-07-19 15:07:10 -07:00
Dustin Carlino
68daa6884a Phinney and Wallingfjord don't gridlock right now, so opt them back into prebaked results 2021-07-18 22:58:22 -07:00
Dustin Carlino
e6f72449f4 Some fixes to get the Arboretum trails connected.
- Grab fresh Seattle OSM, picking up https://www.openstreetmap.org/changeset/108071529
- Treat highway=footway, bicycle=dismount as a cyclepath, for now
- Treat service=driveway, bicycle=designated as a cyclepath

Since this requires regenerating all maps anyway, also include some
stuff to improve Aurora near Green Lake:

- stop making highway lanes super wide by default; they just make
  divided highways overlap themselves
- filter out service roads with access=customers

But note the bridge from the Arboretum to Lynn is still disconnected,
because of detailed footway mapping that isn't tagged as
bike-accessible.
2021-07-18 20:52:41 -07:00
Dustin Carlino
3db706e7db new release 2021-07-18 16:13:00 -07:00
Dustin Carlino
9b40186c9c Avoid crashing when editing a stop sign near a tiny road. #707 [rebuild] [release] 2021-07-18 14:20:24 -07:00
Dustin Carlino
98978fa600 Remember which dashboard was open, and return to it when pressing 'more
data.' This makes it slightly less jarring to click on a specific trip
in a table or matrix, then return to the dashboard. Future work will
also remember filters/pagination of individual tables, maybe! (Since the
dashboards change over time, this might be weird.)

This also required adding a proper way to pick the dashboard from two of
the full-screen map dashboards. Otherwise, somebody would pick them and
get stuck!
2021-07-18 14:14:19 -07:00
Dustin Carlino
f6a94e8a58 Allow DrawWithTooltip to return custom data instead of string labels.
CloneableAny revived from e35c69f6f3
2021-07-18 14:14:19 -07:00
Dustin Carlino
ceff520ff4 Use the unedited map for elevation when viewing before edits. Fixes a crash when turns don't exist. 2021-07-18 14:14:19 -07:00
Dustin Carlino
2354ffa59d Don't make cells with 0 entries clickable 2021-07-18 14:14:19 -07:00
Dustin Carlino
3d355f720c Clean up CityPicker code using DrawWithTooltips 2021-07-18 14:14:19 -07:00
Dustin Carlino
942f2292fc Steps towards clicking cells in the problem matrix to explore trips with differences. #600
- Add optional clickable labels to DrawWithTooltips
- Wire up problem_matrix to remember the list of trips associated with
  each cell
- When clicking a cell, just open one arbitrary example trip
2021-07-18 14:14:19 -07:00
Dustin Carlino
db435cd56d Use the quick fix to https://github.com/easbar/fast_paths/issues/34 to
dramatically improve time to import and edit maps.

The fix helps all maps that use extremely high edge weights to prevent
people from cutting through private roads. There may be a more robust
fast_paths fix later, but I want to reap the benefits for tomorrow's
release.

The dramatic numbers:

- importing huge_seattle: 893s down to 108s
- editing huge_seattle: 102s down to 19s

Query speeds didn't appear to substantially change.
2021-07-17 22:33:01 -07:00
Michael Kirk
f85f42a614 rebuild wasm when rust sources change 2021-07-17 11:24:46 -07:00
Dustin Carlino
d142b4fbd0 Refactor lots of the places walking along a PolyLine with a step size
Verified no behavioral change using the screenshot test. (Which only had
the driveway diff from b3ce53aa5f)
2021-07-16 14:17:08 -07:00
Dustin Carlino
e1679998c1 Remove RawFileLoader and use a simple trick to avoid deserialization
instead. #377

See https://www.reddit.com/r/rust/comments/olodm1/how_to_grab_raw_vec8_bytes_from_serde/? for me explaining the problem and then immediately realizing the fix.
2021-07-16 13:33:31 -07:00
Dustin Carlino
9828006bcc Avoid a crash when editing very short roads. #703 2021-07-16 12:53:37 -07:00
Dustin Carlino
816ae46943 Copy the file size progress bar to RawFileLoader too. #377 2021-07-16 11:25:27 -07:00
Dustin Carlino
76ecccf54b When loading files on the web, print the received and total file size,
as a slightly better progress bar. #377
2021-07-16 11:25:27 -07:00
Dustin Carlino
16f7796c68 Comparing paths before/after edits requires the unedited map.
Previously, this was done through an incredibly complicated dance of
loading the map file again when needed. This was slow (especially on
web!), made the InfoPanel API have a bizarre edge case, and even had
some way of crashing if you open a trip panel in some situation.

Rip all that nonsense out. The unedited map can just be cloned before
applying the first edit.
2021-07-15 23:01:35 -07:00
Dustin Carlino
4cfb06da97 Make the Map cloneable, by being careful with the thread-local pathfinder state.
I think this will help simplify calculate_unedited_map. But even if not,
this is bound to come in handy.
2021-07-15 18:34:42 -07:00
Dustin Carlino
ff310af3d1 Consistently follow rules for whether a lane can be edited. #597
Allow sidewalks, shoulders, and center turn lanes to be edited now.
Still don't touch service roads or light rail.
2021-07-15 18:21:49 -07:00
Dustin Carlino
062f38aca3 Speed up the previous by caching road_to_buildings in Map. 2021-07-15 18:12:15 -07:00
Dustin Carlino
b3ce53aa5f Draw building driveways per zoomed-in road, rather than as one map-wide batch. Otherwise, every single edit to road width needs to redraw all driveways. This doesn't scale with larger maps!
When zoomed in on just a building but not its road, this means the driveway won't show up until the road is in view. Acceptable trade-off.
2021-07-15 18:05:04 -07:00
Dustin Carlino
628f75f9fb Update actdev scenarios with fixed departure times 2021-07-14 15:04:56 -07:00
Dustin Carlino
10fdaa8e92 estimate_duration already knows the mode, from the PathRequest 2021-07-14 12:38:19 -07:00
Dustin Carlino
9c3fe9e229 Add filters to the mode shift table. #448 2021-07-14 12:31:54 -07:00
Dustin Carlino
03d21c4fe9 A first mode-shift experiment: create a table of trips showing expected
time to drive/bike, the elevation profile, and the distance. #448
2021-07-14 12:17:03 -07:00
Dustin Carlino
65c5b17002 new release, mid-week 2021-07-14 09:37:31 -07:00
Dustin Carlino
149df630d4 Fix web build -- have to WASM-guard the debug tool that calls the importer 2021-07-13 23:00:45 -07:00
Dustin Carlino
38be4c0f68 Fixing small style/clippy problems and kicking off a [rebuild] [release] 2021-07-13 22:52:56 -07:00
Michael Kirk
5ab8109f3b add tests, fix remainder rounding in parts 2021-07-13 22:51:18 -07:00
Michael Kirk
7bf3f03251 add y-axis to aggregate duration table 2021-07-13 22:51:18 -07:00
Michael Kirk
43a3f2cdc2 round duration strings to largest unit 2021-07-13 22:51:18 -07:00
Michael Kirk
78a840edfa return Duration not mins 2021-07-13 22:51:18 -07:00
Dustin Carlino
a1a97877a5 Better snapping heuristic: if only a small section of a cyclepath is close to a parallel road, don't snap it at all. #330 2021-07-13 17:55:58 -07:00
Dustin Carlino
9237afb439 Revive cyclepath snapping. #330
Several ways to output the results:

1) just write OSM tags to debug stuff, but keep the ways
2) write a KML file to visualize the perpendicular line checks
3) delete the cycleway and make it an attribute of roads instead

Many problems with the snapping heuristics, but enough progress to
commit disabled!
2021-07-13 15:33:07 -07:00
Dustin Carlino
14a0e005c8 Make sliders trigger Outcome::Changed, except for scrollbars. Manually
verified this doesn't break or slow down existing uses of sliders.
2021-07-13 12:36:54 -07:00
Dustin Carlino
e20ce2d041 While modifying a scenario, show how many trips match the filter.
(Except not updating the filter when changing sliders yet...)
2021-07-13 10:44:20 -07:00
Dustin Carlino
3d5955c2b6 Hardcode infinite parking option for a few maps. #688
This is an interim option until we decide whether this setting belongs
on the map, the scenario, or something else.
2021-07-13 09:03:07 -07:00
Dustin Carlino
f35538b460 Grab everything from Overpass, so importing from it looks more complete. #523
Because it's so much faster, make it the default!
2021-07-12 14:21:33 -07:00
Dustin Carlino
66be29d752 Import a new city using Overpass, instead of Geofabrik + clipping. #523
The returned XML seems to be missing lots of stuff, but it's much faster
and wasn't hard to wire up. I'll look into fixing the query...
2021-07-12 14:06:54 -07:00
Dustin Carlino
aa5baa57de Get less confused when switching back&forth between two debugged maps 2021-07-11 15:21:59 -07:00
Dustin Carlino
e750048141 Improve intersection merging workflow by hiding popup msg for successful imports #654 2021-07-11 13:41:29 -07:00
Dustin Carlino
2224dccda9 Add a tool in the main UI to try to merge junctions. #654
It maintains a JSON file of ways to merge that the importer also uses.
For maps fast to import, this is the nicest workflow. Unlike map_editor,
turns and trimmed roads can also be checked.
2021-07-11 13:19:00 -07:00
Dustin Carlino
b925f0c015 Add a button to reload RawMap in editor, effectively making a way to undo a tested merge operation. #654 2021-07-11 12:29:45 -07:00
Dustin Carlino
b184ecd409 new release 2021-07-11 10:44:32 -07:00
Dustin Carlino
843dd38f7e Support multi starts/ends in the Dijkstra pathfinding engine. [rebuild] [release] 2021-07-11 10:11:50 -07:00
Dustin Carlino
7b98dd72e2 Backfill the implementation of all_costs_from. 2021-07-10 17:32:06 -07:00