Commit Graph

457 Commits

Author SHA1 Message Date
Dustin Carlino
27a712bcc3 Remove buttons from map_editor map loader -- very slow and not useful 2021-09-07 15:39:55 -07:00
Dustin Carlino
a8645bd9ed Refactor places setting camera from URL 2021-09-07 11:21:56 -07:00
Dustin Carlino
4068986c58 Refactor URLManager -- on errors, always warn 2021-09-07 11:14:31 -07:00
Dustin Carlino
570cd2de84 Make map_editor more web-friendly:
- adjust the panel
- hide some controls on the web
- keep the URL up-to-date with the map and camera
2021-09-07 11:00:27 -07:00
Dustin Carlino
d1e60c888a Handle broken RawMaps, which're more likely to happen in the web
deployment, since I'm not planning to version input data.

As part of this, prepare to lift the PopupMsg helper from map_gui to
widgetry, removing dependencies on AppLike.
2021-09-07 09:41:17 -07:00
Dustin Carlino
b7d010058c Store Movements per Intersection, instead of constantly calculating them! #746
Regenerating everything...
2021-09-06 14:53:37 -07:00
Dustin Carlino
28f7d217bb new release 2021-09-05 21:26:56 -07:00
Dustin Carlino
9300470c6b Lane offset comes for free now 2021-09-05 19:53:10 -07:00
Dustin Carlino
442523ae6c Simplify some lane lookups that just needed to find the parent 2021-09-05 19:53:10 -07:00
Dustin Carlino
112bc38e0c Get rid of the now redundant lanes_ltr 2021-09-05 19:53:10 -07:00
Dustin Carlino
4c46510342 Cleaning up a few APIs, now that lanes belong to roads... 2021-09-05 19:53:10 -07:00
Dustin Carlino
0f4a31e915 Moving lanes from a BTreeMap to be stored inlined in their parent Roads. #746
Somewhat invasive API change internal to map_model, but not much impact
elsewhere.

Not regenerating anything yet.
2021-09-05 19:53:10 -07:00
Dustin Carlino
b6e5c4e256 Followup to #742: Adjust name boundary0->center, fill out nice_map_name, upload map data for Lyon. 2021-08-29 08:21:02 -07:00
Dustin Carlino
cdaaff35b1 new release 2021-08-26 13:06:45 -07:00
Dustin Carlino
0a03887eab Refactor common event handlers for the 3 modes 2021-08-26 09:56:41 -07:00
Dustin Carlino
78222ffadb Preserve the same Layers object through all the states of the ungap tool. Do this by a "new" Transition that's allowed to consume the current state.
Alternatives considered:
- put Layers in the App struct, since it's shared -- but only for the
  ungap tool. It'd be nice to split it into its own standalone crate now,
  but it'll be some work to refactor edit mode out of game.
- put Layers in App session
2021-08-24 14:37:16 -07:00
Dustin Carlino
06b74dbe55 Refactor the steep streets layer, add it as an option to the ungap tool.
Code and usability issues accumulating as more things cram into this
view... tackling that next.
2021-08-24 11:52:16 -07:00
Michael Kirk
4e93b34ded restore proper shape/size/color/highlights of lane cards 2021-08-24 10:27:43 -07:00
Dustin Carlino
b397f97a12 Splitting Aurora study area into 3 maps, actually 2021-08-23 19:38:36 -07:00
Dustin Carlino
71b54b3ed7 Create two study areas for the Aurora project. Can fine-tune or split
boundaries later, but this roughly captures the interesting bits.
2021-08-20 16:31:08 -07:00
Dustin Carlino
70c6d47c13 Track locally which proposals have been uploaded, to avoid uploading copies of stuff uselessly. Not quite working, but big step forwards. 2021-08-18 10:23:20 -07:00
Dustin Carlino
3d710afba2 Update the URL for the new bike network tool, including with edits. 2021-08-16 16:30:47 -07:00
Dustin Carlino
90a1d2ff83 Initially launch with edits loaded remotely 2021-08-16 16:00:01 -07:00
Dustin Carlino
925deb7496 new release 2021-08-15 15:05:32 -07:00
Dustin Carlino
51367088df Adding a 'nearby houses and shops' feature to the bike network tool
Results have major issues, probably going to leave this out of v1.
2021-08-06 20:05:04 -07:00
Dustin Carlino
14927feeae Import part of SF 2021-08-06 10:54:46 -07:00
Dustin Carlino
a12c894eb5 The skeleton is implored to peek at its innards... (but skeleton bones
aren't polished)
2021-08-03 19:23:28 -07:00
Dustin Carlino
c019304ee3 A skeleton emerges, from whatever sort of place skeletons lurk 2021-08-03 19:23:28 -07:00
Dustin Carlino
9ccc328361 new release 2021-08-01 15:45:01 -07:00
Dustin Carlino
15da28e4a7
The final touches on the new color scheme: color cycleway intersections green. #74 (#715)
Regenerate screenshot diff. It's done! [rebuild] [release]
2021-08-01 13:28:02 -07:00
Dustin Carlino
dad9eeb9a6 Make the 'faded zoom' color scheme the new default day mode! Rename the old day mode to classic. #715 2021-08-01 12:57:46 -07:00
Dustin Carlino
b72b4a2843 Make the signal editor match the simulation view better -- need protected arrow outlines. #715 2021-08-01 12:42:09 -07:00
Dustin Carlino
314bed3d83 Adjust traffic signal editor icons, since they blended into the new grey scheme. #715 2021-08-01 12:36:37 -07:00
Dustin Carlino
49adf8a5ac Adjust traffic signal rendering for #715.
- outlines around protected arrows too
- draw protected arrows on top of permitted
2021-08-01 12:12:01 -07:00
Dustin Carlino
506e4f3f73 Simplifying traffic signal rendering code 2021-08-01 12:06:05 -07:00
Dustin Carlino
c2f8f177ea Steps towards the new color-scheme. #715
- Stop using different colors in the city picker. Just using a uniform
  color, different between day/night, that looks fine in all themes.
- Simplify the methods for road markings; not going to change them based
  on rank
2021-08-01 09:53:48 -07:00
Dustin Carlino
c71c1b91dc Trying to fix corner curbs and failing, but made some maybe useful geom
API additions.

And not drawing curbs for footways. #715
2021-07-31 19:46:37 -07:00
Dustin Carlino
a4906a2953 More flag-guarded color scheme progress towards #715:
- choosing some building colors
- proper unzoomed road/intersection outlines
- adjusting curb color based on road rank (for arterials, it was the
  same grey!)
2021-07-28 12:12:01 -07:00
Dustin Carlino
07cce162c1 Experiment with 3 different asphalt colors. #715 2021-07-26 11:42:46 -07:00
Dustin Carlino
27135cabb4 Don't draw buildings on the minimap in the new color scheme. #715 It's too much detail for a small view, and the colors bleed into roads. 2021-07-26 11:37:58 -07:00
Dustin Carlino
743c7ae4f0 Start to turn the 'faded zoom' color-scheme into the emerging Streetcomplete scheme in #715. 2021-07-26 11:31:22 -07:00
Dustin Carlino
8b397c8f15 new release 2021-07-25 14:14:54 -07:00
Dustin Carlino
d015014bbc Better curb rendering near shoulders. Towards the #715 vision. [rebuild] [release] 2021-07-25 13:29:54 -07:00
Dustin Carlino
835e4bf7a7 Iterate on the curb rendering for #715. A simple start to it already happens to exist for an old color scheme experiment.
Still some issues with shoulders, but improved in many cases.
2021-07-25 13:08:14 -07:00
Dustin Carlino
1a8eecb2ac Remove old color scheme experiments. They're no longer interesting and just clutter the codebase, making big changes like #715 harder to manage 2021-07-23 19:20:36 -07:00
Dustin Carlino
b45f9e0134
Create new lane types to express different types of buffers for prote… (#704)
* Create new lane types to express different types of buffers for protected bike lanes. They're only created manually right now, to explore rendering.

* Update planter rendering

* Update planter - simplify

* fmt after merge

* Fixing up existing rendering

* Add curb buffer

* Adjust stripes

Co-authored-by: Robin Lovelace <rob00x@gmail.com>
2021-07-23 11:31:36 -07:00
Dustin Carlino
3db706e7db new release 2021-07-18 16:13:00 -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
3d355f720c Clean up CityPicker code using DrawWithTooltips 2021-07-18 14:14:19 -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
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
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