Commit Graph

354 Commits

Author SHA1 Message Date
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
65c5b17002 new release, mid-week 2021-07-14 09:37:31 -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
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
b184ecd409 new release 2021-07-11 10:44:32 -07:00
Dustin Carlino
da704b4546 Extend the parking thought bubbles to handle people climbing steep hills.
(And some clippy fixes)
2021-07-10 17:14:10 -07:00
Dustin Carlino
1539091453 Import Loop 101, adding an option to skip local roads to cut down map
size.
2021-07-08 10:25:36 -07:00
Dustin Carlino
d1a7ae4418 Start importing a piece of Sao Paulo for a collaboration.
No elevation data until the next big round of regeneration; having
trouble getting Docker set up on my resurrected machine.
2021-07-06 10:57:53 -07:00
Dustin Carlino
3db4c827b8 Draw building outlines in unzoomed view also. It's a subtle effect, but important in dense areas like Sao Paulo. 2021-07-06 09:53:13 -07:00
Dustin Carlino
b4c776c0fa new release 2021-07-04 16:33:14 -07:00
Trevor Nederlof
3faf9893a9 Add downtown brooklyn as a nyc map 2021-07-01 12:27:58 -07:00
Dustin Carlino
9f4fac58a7 Workaround a crash trying to render building 4582 in Green Lake, which
has a short driveway that's crashing make_polygons.

This is more fallout from the f64 serialization change. I don't
understand the root cause yet...
2021-07-01 10:43:42 -07:00
Dustin Carlino
70a9508415 Change the CityPicker to merge the list of maps and cities from the local filesystem and the manifest.
This fixes various problems when importing local maps (in new or
existing cities) and getting out of sync with the manifest.
2021-06-25 19:37:42 -07:00
Dustin Carlino
126c62d6ba Simplify CityPicker logic: just use the optional city.bin to draw districts. Always use the filesystem to create the buttons. 2021-06-25 19:11:37 -07:00
Dustin Carlino
3cda1342ab Fix nondeterminism in z-ordering for lanes, hopefully removing noise from the screenshot diff test.
(Ideally there'd be no overlapping lanes in the first place, but that's
quite hard)
2021-06-25 12:29:55 -07:00
Dustin Carlino
1bfcba6165 Avoid crash:
1) Change the language in a map with lot of options
2) Switch to a map with less language options
3) Open settings panel, trying to create dropdown
2021-06-23 13:13:43 -07:00
Dustin Carlino
190ee4b08f Fix the path v2->v1 and opportunistic lane-changing costs to heavily penalize cars from using bus lanes.
This doesn't avoid the aforementioned lane-changing crash, but by manual
inspection, it's keeping cars out of bus lanes.
2021-06-22 17:47:05 -07:00
Dustin Carlino
8db88d0890 new release 2021-06-20 20:08:06 -07:00
Dustin Carlino
03db0675cc Add a Seattle map covering Green Lake 2021-06-20 10:51:30 -07:00
Dustin Carlino
8f199177f5 Upgrade to Rust 1.53
- arrays are now iterable directly
- switch to using BTree{Set,Map}::retain!
- a round of clippy
- regenerate scenarios and prebaked data; not sure why, but there's a
  diff
2021-06-17 23:04:35 -07:00
Dustin Carlino
6cafe017c6 new release 2021-06-13 18:33:11 -07:00
Dustin Carlino
76aba75082 Update links to docs after some reorg in the other repo 2021-06-12 13:38:38 -07:00
Dustin Carlino
d827673ace Periodically free memory in the middle of screenshot test, to avoid
running out on my current machine. Fixes #671.

Finally regenerate screenshots for the first time in ages... just
blindly accepting everything, because the slightly different screen size
means everything was slightly shifted down.
2021-06-09 14:31:40 -07:00
Dustin Carlino
60352747bf Get importer and game crates to share dependencies again, by enabling
some features for transitive deps in each crate.
2021-06-09 10:21:25 -07:00
Dustin Carlino
889c500eb1 Force geojson to use geo-types feature everywhere. This lets different
binaries properly share workspace dependencies.

See
https://www.reddit.com/r/rust/comments/nvd6y7/common_crates_in_cargo_workspace_recompiled_due/
for the full story behind this mess.

I'm going to keep repeating this process until I get game and importer
to share dependencies again.
2021-06-09 09:48:53 -07:00
Dustin Carlino
f39a50a7e5 new release 2021-06-06 15:45:40 -07:00
Dustin Carlino
5127a82b54 Import Tehran 2021-06-01 10:19:06 -07:00
Dustin Carlino
d014098f59 Fix an extremely naive implementation of calculating average angle,
which was causing bizarre turn lane arrows in Tempe.
2021-06-01 09:52:40 -07:00
Dustin Carlino
00c3614301 new release 2021-05-31 12:12:13 -07:00
Dustin Carlino
f1aacb04e7 Import Chorlton for a demo 2021-05-24 10:13:09 -07:00
Dustin Carlino
0022837cd0 new release 2021-05-23 12:02:37 -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
bbc9adc3b7 Initially import Gilbert, AZ 2021-05-21 12:36:20 -07:00
Dustin Carlino
e876998958 Add new actdev site, Cricklewood in London 2021-05-19 13:35:49 -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
0f06d4d52f Make canvas scroll speed configurable, just like GUI panel scroll speed. 2021-05-17 10:16:44 -07:00
Dustin Carlino
d4e2b25689 Avoid crashing when trying to draw really short turns. Fixes #649 2021-05-17 09:19:00 -07:00
Dustin Carlino
457a50d5ba fix web build 2021-05-16 17:16:55 -07:00
Dustin Carlino
03afb22429 new release -- except for web, fixing that separately... 2021-05-16 17:10:29 -07:00
Dustin Carlino
d6539f7449 Refactor file picker 2021-05-16 10:51:03 -07:00
Dustin Carlino
4f05d818b9 Same FnOnce fix for PromptInput. No effects, but future-proofing I guess 2021-05-16 08:45:22 -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
Vinzent Steinberg
9d17faa878 Prefer slices over reference to owned type 2021-05-15 14:24:08 -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
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