Commit Graph

7257 Commits

Author SHA1 Message Date
Dustin Carlino
a85ec6cccd Nest DrawLanes within DrawRoads. This is a followup to #747, motivated
by squeezing some start-up performance of huge maps. #746

Shaving at least 1 second off quadtree initialization in huge_seattle
from this, no noticeable effects otherwise.
2021-10-08 08:34:02 -07:00
Dustin Carlino
a8e9a1fd08 Variable rename for more clear code; feedback from #764 2021-10-07 14:51:28 -07:00
Dustin Carlino
99876d245f Add the new proposal sharing feature to A/B Street's edit mode too! #765 2021-10-07 11:08:09 -07:00
Dustin Carlino
031cc0fe9d Make the quick sketch handle divided one-ways more reasonably. #743
Previously, the undirected graph search would switch sides sporadically.
Now it sticks to one side.

Now we probably just need an option to also include the other direction,
to avoid having to sketch over Aurora twice.
2021-10-06 14:14:59 -07:00
Dustin Carlino
4c2165f5cb Whoops, didn't actually include the reset button promised by previous commit. #743 2021-10-06 12:47:09 -07:00
Dustin Carlino
2936804f8f Make the quick sketch UI less clunky. #743
Let the map be panned even when we're snapped to an intersection.
Previously it's super obnoxious to start drawing a route in a huge map.
Also I'd love to switch to the new World API and stop with this ad-hoc
logic, but slightly confused about how to do that here...

Also add a reset button, otherwise I just switch tabs to force a reset,
which is silly.
2021-10-06 12:37:06 -07:00
Dustin Carlino
ca96be7c08 Fix spinners in mode shift tool. Always use feet, so the step size doesn't render in a silly way. #448 2021-10-06 12:04:28 -07:00
Dustin Carlino
d791f0dd48 Simplify routing preferences -- just checkboxes for avoiding hills or stress.#743 2021-10-06 10:26:21 -07:00
Dustin Carlino
2550f60c8b Simplify mode shift tool. Max biking time and elevation are the interesting knobs to turn. Biking distance is pretty related to biking time. And driving time is irrelevant for people considering a switch. #448
Also adjust initial elevation gain max from 30 to 100 feet
2021-10-06 09:47:24 -07:00
Dustin Carlino
28a4fb6fd2 Cutover to the prod proposal API, now that it's working! 2021-10-05 15:07:41 -07:00
Dustin Carlino
9803558885 Dramatically speed up editing roads by re-snapping buildings and parking
lots in one big batch, instead of after every single command.

A batch of 300 edited road segments in huge_seattle went from over 70
seconds to apply down to... 0.6 seconds. Embarrassing.
2021-10-05 12:17:39 -07:00
Dustin Carlino
309db511c2 Record timing while applying map edits. Even in release mode, this is a long inexplicable pause for large-scale bike network changes. A loading screen is better. 2021-10-05 11:35:37 -07:00
Dustin Carlino
0fc1af0dd9 Import Geneva for Sven's project 2021-10-05 09:33:33 -07:00
Dustin Carlino
76b0ef2159 Change the share feature to live on a dedicated panel, with more disclaimers and ways to copy the URL. #765 2021-10-05 09:09:33 -07:00
Dustin Carlino
ea0440b6b2 Import fresh Seattle OSM, with the new Northgate station and bridge!
lakeslice gridlocks, because a traffic signal marked on a footway near
23rd and Judkins gets assigned to an alleyway. Worth fixing later.

And wallingford crashes the sim; I think more lane-changing bugs
exposed. It's kind of freeing to not worry about maintaining the
simulation right now...
2021-10-04 18:35:42 -07:00
Dustin Carlino
9f708354d8 Revive the feature to share proposals in the bike network tool. #765
Explicitly mark the edits as remote in the URL, and refresh the URL +
panel after sharing.
2021-10-04 15:16:28 -07:00
Dustin Carlino
eb9c4df3f2 Add a button to export throughput data to CSV 2021-10-04 08:09:00 -07:00
Dustin Carlino
066bdf0b8a Convert the collisions viewer to World. #763 2021-10-03 20:59:33 -07:00
Dustin Carlino
bed0fc6255 new release 2021-10-03 15:04:50 -07:00
Dustin Carlino
ddbadd2da3 Make waypoints and routes coexist in the same World. #763 [rebuild] [release]
The pattern is somewhat similar to how different components share a
Panel. The "outer-most" piece owns the World, calls into InputWaypoints
to fill out the World, and plumbs un-handled events to it.

Also handle a tricky low-level bug with ctx.normal_left_click() and
detecting drags vs clicks.

Now finally there's no buggy conflicts between dragging waypoints and
hovering on the alternate routes!
2021-10-03 14:28:44 -07:00
Dustin Carlino
41465c341b Convert the new bike routing tool to use World. #763
This one is the most complicated, and it's still not done, but it's not
any buggier than the ad-hoc implementation. I still need to figure out
how to merge the two worlds of waypoints and routes.

This one also required a large, but mechanical, refactor to lift
ToggleZoomed and the concept of unzoomed/zoomed from map_gui to
widgetry.
2021-10-03 14:28:44 -07:00
Dustin Carlino
43f8a6d1e7 Convert the signal demand dashboard to World. #763 2021-10-03 14:28:44 -07:00
Dustin Carlino
5a37e223c0 Cut over the story map tool to the brave new World. #763
Figure out how to make objects both clickable and draggable!
2021-10-03 14:28:44 -07:00
Dustin Carlino
8524cfce12 Create a new map-space World abstraction, and change the polygon editor to use it. #763 2021-10-03 14:28:44 -07:00
Dustin Carlino
ab312a2528 Import St Albans for use with the LTN tool 2021-10-02 10:39:27 -07:00
Dustin Carlino
e17e48a764 Adjust LTN modal filter placement near the perimeter roads 2021-10-02 10:24:24 -07:00
Dustin Carlino
2288b0d42a Add a smaller study area in Tehran.
- Procedurally generate houses there, so the automatic travel demand
  model doesn't produce totally silly patterns.
- Disable parking
- Allow vehicles to enter the intersection even when it looks like they
  might get stuck; this lets the default scenario complete without
  gridlock.
- Prebake the scenario, so a researcher can make edits and use all of
  the A/B testing data viz.

The home-to-work scenario produces laughably bogus patterns... everyone
working at Bank Sepah.
2021-09-30 14:51:56 -07:00
Dustin Carlino
5d93671ae3 Allow editing service roads that're bus-only. User reported an example in Tehran 2021-09-30 13:55:55 -07:00
Dustin Carlino
4ddfe66afd Finally clean up txt.with_bg. The last few uses were actually illegible from the default color! 2021-09-29 13:34:46 -07:00
Dustin Carlino
2905ca605d Cache the Dijkstra pathfinder for custom RoutingParams. This dramatically speeds up the bike network routing tool, since it's now restricted to just a few params. #743 2021-09-29 11:38:18 -07:00
Dustin Carlino
7672cc3ced 3-value dropdowns for routing preferences, not a crazy continuous slider. And now multiple alt routes! #743
But deduping routes isn't great; many alts mostly cover up the main route
2021-09-29 09:29:55 -07:00
Dustin Carlino
9a7b9e2b60 Click to switch routes! #743
Some quirks, but finally got this working.
2021-09-29 08:16:31 -07:00
Dustin Carlino
3cf75063c3 Prepare for switching to alt routes. #743
- workaround dragging / clicking conflicts
- make AltRouteResults wrap RouteResults
- plumb names/params around
2021-09-29 07:57:08 -07:00
Dustin Carlino
62be41f2c1 Skip alt routes if they're no different than the main. #743 2021-09-28 11:15:16 -07:00
Dustin Carlino
4ae3a1076f Show comparison stats in the alternate route's tooltip. #743 2021-09-28 09:40:45 -07:00
Dustin Carlino
9f5b51d784 Just split route code up a bit. #743 2021-09-27 14:33:33 -07:00
Dustin Carlino
40b018e1bc The last of ToggleZoomed conversion! 2021-09-27 14:21:59 -07:00
Dustin Carlino
59a6b4e546 Move over more places to ToggleZoomed 2021-09-27 14:06:03 -07:00
Dustin Carlino
83fdf1b6e6 Refactor: drawing two things, based on zoom level.
Just a small start to switching stuff to this; this pattern profilerated
EVERYWHERE.
2021-09-27 13:41:19 -07:00
Dustin Carlino
c4d38ca591 A humble start to showing an alternate, low-stress route. #743 2021-09-27 13:13:11 -07:00
Dustin Carlino
70a09659ea Recalculate mode shift when map is edited #448 2021-09-27 12:35:22 -07:00
Dustin Carlino
e8018c93e6 Disable the predict impact tab on maps without scenarios. #448 2021-09-27 12:22:58 -07:00
Dustin Carlino
2c6f218b22 Refactor a button to change maps 2021-09-27 12:16:01 -07:00
Dustin Carlino
46dd2d69fe new release 2021-09-26 14:33:24 -07:00
Dustin Carlino
bddf6e8c12 Link to the LTN tool on the web index 2021-09-26 14:02:08 -07:00
Dustin Carlino
ceed02b7d4 Browse all neighborhoods for the LTN tool [rebuild] [release] 2021-09-26 13:53:13 -07:00
Dustin Carlino
7fccf09f45 Fill in gaps in LTN rendering 2021-09-26 13:16:51 -07:00
Dustin Carlino
fbc10f2c71 Small UI adjustments to the route tool, to make info hierarchy slightly more clear.
And make the "explore" mode point to layers more clearly
2021-09-26 12:27:04 -07:00
Dustin Carlino
d365213948 Small refactor: {road, lane}.length() 2021-09-26 11:08:44 -07:00
Dustin Carlino
baa41ae5cc Prevent some crashes in the LTN tool. The way things are defined now,
can't start a neighborhood on a non-local road.
2021-09-24 15:28:43 -07:00