Commit Graph

5250 Commits

Author SHA1 Message Date
Dustin Carlino
04b9eef24a When using OSM footpaths, don't stick sidewalks on the road when sidewalks=separate and also bring in cycleways and paths allowing foot traffic. #161 2020-10-30 15:16:19 -07:00
Dustin Carlino
ca2ff08d71 Don't render intersections between footways with a special color. Also
cut Kraków over to using the new experimental footpath support. #161
2020-10-30 14:11:00 -07:00
Dustin Carlino
bf0dce2c18 Optionally import sidewalks and separate footpaths exactly as they're in OSM, instead of attempting any inference. This is a way to move forward on #161 without having to cutover to it all at once. 2020-10-30 13:27:45 -07:00
Michael Kirk
b1f4ca0b1b
loading screen (#373)
fancy loading screen
2020-10-29 18:39:51 -07:00
Dustin Carlino
57bb97ced0 On web, don't actually quit when the last state is popped. The app just awkwardly hangs if you do that. 2020-10-29 16:25:05 -07:00
Dustin Carlino
771dcd1c34 Plumb through failures (like 404) through the web file loader 2020-10-29 15:54:01 -07:00
Dustin Carlino
f05d041c02 Handle duplicate files on web when they're both bundled in and uploaded to S3. In particular, don't crash on the all city picker on web. 2020-10-29 15:26:36 -07:00
Dustin Carlino
bb081bbd28 Don't assume an autocomplete widget will be consumed after a value is chosen. In particular, if the user types nonsense into the city picker and presses enter, don't crash. 2020-10-29 15:18:15 -07:00
Dustin Carlino
1707b6fe37 Consolidate some PolyLine geometry code, and refactor some geom->geojson
mappings
2020-10-29 12:23:39 -07:00
Dustin Carlino
f187cf4bd8 Add an API call to export intersection geometry to geojson, for experimental streetmix3d integration.
To get an example:
> cargo run --bin headless -- --port=1234
> curl http://localhost:1234/map/get-intersection-geometry?id=291
2020-10-29 12:00:34 -07:00
Dustin Carlino
3ed7e73aa8 Use a u64 RNG seed, not a u8 2020-10-29 09:25:07 -07:00
Dustin Carlino
c8b565e57b Make the city picker handle 100's of maps slightly better, by splitting out into a separate list with autocomplete 2020-10-28 16:08:09 -07:00
Dustin Carlino
304e723d77 Fix scrollbar dragging, which was broken because the Slider gets
recreated while we drag.

But there's still something wrong, because in the OSM viewer with a huge
list of buttons, scrolling is incredibly laggy while dragging, but not
when using the scroll wheel.
2020-10-28 13:56:08 -07:00
Dustin Carlino
37896c9d37 Don't draw building paths in the OSM viewer. They're messy and don't reveal anything semantically interesting, whereas in A/B Street it's kind of important to see which road a trip will begin/end at for buildings on corners 2020-10-28 12:17:05 -07:00
Dustin Carlino
0167b4be31 A tiny start to the great UI button refactor: make the "X" button
consistent. #331
2020-10-28 12:04:36 -07:00
Dustin Carlino
3b838c1225 Finish formatting distance/duration/speed units nicely. And remove the
number of lanes from trip info; it's misleading and not useful. #331
2020-10-28 11:33:48 -07:00
Dustin Carlino
41712b5beb I somehow managed to break pedestrian rendering in 004ca95842 2020-10-27 15:41:33 -07:00
Dustin Carlino
3b26d25fe4 Build a wasm binary that jumps straight into the OSM viewer 2020-10-27 15:34:58 -07:00
Dustin Carlino
57b3d0719d Make a way to jump straight into the OSM viewer from the command line. Also slightly collapses some of the app startup creation flow 2020-10-27 15:17:21 -07:00
Dustin Carlino
0ddfb201d9 Get some parts of Tokyo to import, by adjusting the filter for city-like
boundaries and by preferring English filenames. #326
2020-10-27 14:10:42 -07:00
Dustin Carlino
fd1afbad02 Speed up the OSM viewer's business search panel. It was constantly recalculating the entire thng 2020-10-27 12:52:26 -07:00
Dustin Carlino
ae62bf082e Consolidate Slider and AreaSlider. They share most logic, just look different. 2020-10-27 12:13:20 -07:00
Dustin Carlino
6a8e01d4cd Remove an unnecessary slider from the polygon debugger, and lock down set_percent, which is causing some scrollabr dragging bugs. 2020-10-27 11:31:37 -07:00
Dustin Carlino
b4c39a0850 An initial script to mass import cities. #326 2020-10-26 17:46:53 -07:00
Dustin Carlino
004ca95842 Optionally just create a circle of some radius around the 'center' of a city. #326 2020-10-26 16:57:50 -07:00
Dustin Carlino
0c0104d1e2 Parallelize parking lot spot generation. Austin goes from 81s total import down to 44s. #270 2020-10-26 16:28:11 -07:00
Dustin Carlino
806d5d59db Just regenerate Cargo.lock; the format changed in rust 1.47, and I don't want a later diff updating deps to create a huge diff 2020-10-26 15:07:51 -07:00
Dustin Carlino
fda4c4da7b Refactor a few utilities, and use convex hull of the city boundaries to simplify them considerably. #326 2020-10-26 14:15:25 -07:00
Dustin Carlino
30ad6709a8 Create a tool to turn huge .osm extracts into just the cities. The
result isn't quite useful yet; the clipping polygons are massively
complicated. #326
2020-10-26 13:40:22 -07:00
Dustin Carlino
1cc7982ff7 fix web build and redeploy 2020-10-26 10:23:24 -07:00
Dustin Carlino
c018de86b1 new release 2020-10-25 17:29:42 -07:00
Dustin Carlino
47fa997f72 Refactor a proper Amenity struct. Leave room for optional raw OSM tags.
Don't expose the tags in the UI yet. [rebuild]
2020-10-25 11:49:46 -07:00
Dustin Carlino
1a630c6361 Highlight categories of businesses in the osm viewer 2020-10-24 15:19:51 -07:00
Dustin Carlino
34b41a909e Optionally keep building OSM tags. Display in info panels and the new viewer, when present.
Don't keep the tags by default. File size increase from the empty map is
negligible.
2020-10-24 14:19:22 -07:00
Dustin Carlino
ad23da1f6c Workaround widgetry panel bug in the osm viewer, where scrollbars aren't
recomputed when panel contents change size.
2020-10-24 13:41:06 -07:00
Dustin Carlino
614c744dc9 Add a POI search to the new viewer 2020-10-24 13:13:04 -07:00
Dustin Carlino
a538b5cd64 Add the minimap to the OSM viewer, making a variation that hides some features 2020-10-24 12:27:27 -07:00
Dustin Carlino
6fef09fb8d Flesh out the OSM viewer:
- outline around fixed objects
- open OSM keys in the wiki
- info panels for buildings, intersections, and parking lots
- show turns from lanes
2020-10-24 11:38:19 -07:00
Dustin Carlino
8339c893eb Show some OSM key/values for roads in the new viewer 2020-10-23 21:15:09 -07:00
Dustin Carlino
ecabf2436f Experiment with a dedicated OSM viewer, to debut at Connect 2020. For
now, this is still embedded in A/B Street, to take advantage of
everything that already exists. But later, the idea is to split it into
a separate crate, sharing lots of code.
2020-10-23 16:28:47 -07:00
Dustin Carlino
9dbb156058 Skip wakeup_waiting while we're handling live map edits. Based on the
order of vehicle deletion, we try to ask about stop sign and traffic
signal movements that may be deleted and would be irrelevant anyway if a
different deletion order happened. #312

We should really defer wakeup_waiting until after all cleanup is done,
but for now, willing to risk some stuckness at a stop sign...
2020-10-23 12:15:51 -07:00
Dustin Carlino
3db8fe6669 Also need to clean up vehicles that're laggy heads on live-edited parts
of the map. #312
2020-10-23 11:58:43 -07:00
Dustin Carlino
781604907c While deleting cars for live edits, don't opportunistically lane-change for woen-up followers. They're likely about to be deleted, too. #312 2020-10-23 11:38:21 -07:00
Dustin Carlino
536971b641 Cleanup formatting after #371 2020-10-23 10:42:12 -07:00
Javed Nissar
c74dcf025f
Update georust (#371) 2020-10-23 10:41:00 -07:00
Dustin Carlino
5973da0717 Handle bike trips that wind up with no actual biking portion due to live
edits. #312

... And with this, traffic seitan makes it through an entire day at
montlake! Next up, lakeslice I guess.
2020-10-22 21:39:54 -07:00
Dustin Carlino
8b0d6c6e92 Fix thought bubble svg; for some reason, it had cyan in one of the bubbles instead of white 2020-10-22 21:06:55 -07:00
Dustin Carlino
773176f321 Handle live edits affecting multiple cars at one stop sign, and cars
turning to/from an edited lane. #312
2020-10-22 21:04:12 -07:00
Dustin Carlino
50c9c3236d Deal with a race condition. #312
1) A car tries to spawn, but fails because there's something in the way
2) The player makes live edits
3) The retry occurs, but the path has become invalid due to edits

Need to make the detection of this more efficient later.
2020-10-22 19:53:49 -07:00
Dustin Carlino
e55dfd68dd Document the state/transition system. #253 2020-10-22 18:27:25 -07:00