Commit Graph

7281 Commits

Author SHA1 Message Date
Dustin Carlino
244e965427 When we can't detect which roads a crosswalk covers, assume there's no
marked crossing most of the time. #795
2021-11-18 13:31:30 -08:00
Dustin Carlino
fa5e1e4e95 Match OSM crosswalk nodes more carefully. #795
Some redundant internal points along a road are removed, but sometimes
these are crossings.
2021-11-18 13:16:44 -08:00
Dustin Carlino
c13ca2d20b
Rip out all old broken code for importing OSM bus stops and routes. #372 (#808)
This code stopped working around July 2020 when I attempted to tackle #190. It's sat dormant since then, with most bus and light rail routes not imported correctly at all. I'm going to (eventually) start another attempt at public transit in A/B Street by treating GTFS as the main source of truth, not trying to understand route relations mapped in OSM. It's simplest to just rip out all this old code first. Some of it may be useful later, but version control preserves it.

Regenerating everything; this is a binary format change.
2021-11-17 18:51:59 -08:00
Dustin Carlino
68d9616875
Use simple Rust code to specify map importing config, instead of conf… (#807) 2021-11-17 15:52:09 -08:00
Dustin Carlino
27894c02cb Road labels don't need to be shown zoomed-in for LTN 2021-11-17 08:00:58 -08:00
Marcel Dejean
641c908051
No right on red (#806)
* add turn_on_red config option which is false for nyc

* when making stages, don't add movements that don't share a stage with a protected movement

* Fix a renamed DirectedRoadID field from
cb3693bd7a and the new turn_on_red field
in the test crate

* Update all map config files with the new option

for x in importer/config/*/*/cfg.json; do
	cat $x | jq '.map_config += {turn_on_red: true}' > tmp
	mv -f tmp $x
done

(And then undoing NYC)

* turn on red banned on all non-us maps

* regenerate all maps

Co-authored-by: Marcel Dejean <marcel@dejean.nyc>
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2021-11-16 23:06:11 -08:00
Dustin Carlino
7d6b720099 Add a search button to the LTN tool, because I really don't know my London street names yet 2021-11-16 15:13:12 -08:00
Dustin Carlino
2c328c0f11 Create JSON test cases for https://github.com/a-b-street/osm2lanes from existing maps 2021-11-16 14:17:57 -08:00
Dustin Carlino
81af262511 Fix the query params, update to the 0.3 link after all 2021-11-14 17:47:37 -08:00
Dustin Carlino
2887663a64 actually, revert web link to 0.2.65. game crate is ignoring query params. will fix later tonight 2021-11-14 17:10:50 -08:00
Dustin Carlino
d585b71c6e major release 2021-11-14 16:44:49 -08:00
Dustin Carlino
f3a00ab673 Start GH sponsors 2021-11-14 16:31:07 -08:00
Dustin Carlino
603758ccd1 Update main README 2021-11-14 15:39:40 -08:00
Dustin Carlino
0c9ac9d74d adjust software versions [rebuild] [release] 2021-11-14 15:06:53 -08:00
Dustin Carlino
3a1e5a66cb Start modeling unmarked pedestrian crossings. #795
- Use the new filter_crosswalks option to downgrade zebra crossings into
  unmarked
- Add a routing penalty
- Render differently than zebras
- They otherwise act the same as marked crosswalks

Simulation behavior (like pedestrians not having priority over vehicles)
not yet implemented. No change to any existing maps, since
filter_crosswalks isn't enabled anywhere.
2021-11-12 13:38:33 -08:00
Dustin Carlino
4b17e4a676 Refactor some code in the lagging green traffic signal module 2021-11-12 11:46:01 -08:00
Dustin Carlino
29fbf74c2d Show two LTN routes, to show effects of the new filters 2021-11-11 14:42:31 -08:00
Dustin Carlino
08223efed5 Whoops, forgot to not leak all the RAMs 2021-11-11 14:10:42 -08:00
Dustin Carlino
006839aec2 Make the LTN router actually avoid modal filters.
Accomplishing this through RoutingParams, rather than actually editing
the map. I don't want to commit to a map model representation of modal
filters and actually edit the map until we think through diagonal
filters. This effectively revives pathfind_avoiding_roads from the old
congestion capping experiment, but organized better.
2021-11-11 14:03:11 -08:00
Dustin Carlino
69ca5d60a4 Draw the neighborhood and modal filters in the 2 sub-states (rat runs, route tool). Not going to expose all the controls from the main view yet, until we understand the UX workflow a bit more. 2021-11-11 13:47:34 -08:00
Dustin Carlino
cf81200991 Refactoring the game crate's initial setup, to make special modes more explicit. #745 2021-11-11 13:23:42 -08:00
Dustin Carlino
e6f60168e1 Totally remove CmdArgs! No more uses. #745 2021-11-11 13:02:12 -08:00
Dustin Carlino
0f76109ebf Convert game from CmdArgs to structopt in a brute-force way. #745 2021-11-11 12:58:57 -08:00
Dustin Carlino
609320d6fa Convert map_gui from CmdArgs to structopt. #745 2021-11-11 12:27:23 -08:00
Dustin Carlino
13f24e5cb2 Adding context with filenames/URLs to some methods in abstio. #801
It's extremely unergonomic to do this. Issues:

1) Hard to keep track of which Results include good context and which
   don't. Make a new type?
2) Lack of try blocks forcing use of closures
3) async try blocks aren't stabilized
2021-11-11 10:16:40 -08:00
Dustin Carlino
164439c4d9 Allow filtering crosswalks from GUI map import. #795 2021-11-11 09:26:27 -08:00
Dustin Carlino
2f18e4badc Remove broken code for Leaflet-named screenshots. #440
Gave up on Leaflet in favor of Mapbox GL, and the math was always wrong
here anyway.
2021-11-11 09:02:29 -08:00
Dustin Carlino
5888536aef Start a tool to route through or around an LTN. Just the skeleton reused
from Ungap the Map...
2021-11-10 12:00:59 -08:00
Dustin Carlino
684f9cc4cc A road with a modal filter belongs partially to two cells 2021-11-10 11:14:47 -08:00
Dustin Carlino
e999cd70af More explicitly store the position of a modal filter. This is a
precursor to fine-tuning that position and also to making roads with
filters belong to two cells, not become their own.
2021-11-09 11:47:29 -08:00
Dustin Carlino
c9d3c29a66 Working on rat runs:
- use movements, not turns
- adjust cost for entry/exit (but the costs still seem incorrect)
- fix the infinite loop in the floodfill
2021-11-09 11:26:58 -08:00
Dustin Carlino
cb3693bd7a Refactor: DirectedRoadID.road, not .id 2021-11-09 10:48:39 -08:00
Dustin Carlino
3903f3b564 Refactor vehicle_cost to include zone_cost, like the docs say it does 2021-11-09 10:34:50 -08:00
Dustin Carlino
57b40701a8 Working on rat-run detection:
- split the algorithm / UI module
- start and end the path just outside the neighborhood
2021-11-09 10:29:00 -08:00
Dustin Carlino
fd10ea74dc Add configuration to filter the auto-generaed crosswalks to only exist
near OSM highway=crossing nodes. #795

Not enabled anywhere, because it doesn't seem to produce good results.
Possibly footway=crossing ways need to be used for this as well.

Had to regenerate all maps, since the binary format changes.
2021-11-08 20:08:49 -08:00
Dustin Carlino
808afb608b Position rotated labels more carefully in the physical center of the
road. This especially fixes vertical roads. #799

Verified manually by screenshot diffs
2021-11-08 10:45:21 -08:00
Dustin Carlino
4717c3c8f7 new release 2021-11-07 12:23:59 -08:00
Dustin Carlino
c76d0b9070 Round of clippy (and reverting a temporary bit that broke challenge modes) [rebuild] [release] 2021-11-07 12:04:55 -08:00
Dustin Carlino
98d1f2cd9f Prototype rat-run detection again. Not working yet, so leaving disabled. #794 2021-11-07 12:02:16 -08:00
Dustin Carlino
c0200bd3d7 Draw traffic cells as areas, using a simple grid diffusion. #794 2021-11-07 10:21:26 -08:00
Dustin Carlino
6b766ea750 Don't erase modal filters when switching neighborhoods 2021-11-06 15:58:28 -07:00
Dustin Carlino
7e07bac35a Make all of the secondary menu screens follow the style of the new title screen. Simplify things like the strange challenge picker UI by using the section styling. 2021-11-06 10:33:11 -07:00
Dustin Carlino
f751b7d54b Removing the pregame color scheme 2021-11-06 10:33:11 -07:00
Dustin Carlino
2fbc950da5 Switch to a consolidated title screen that switches between all the
apps. #780
2021-11-06 10:33:11 -07:00
Marcel Dejean
826acac086
structopt changed underscore options to hyphen (#798) 2021-11-05 07:27:34 -07:00
Dustin Carlino
a329915ef6 Start over with the LTN tool. #794
- Use the new blockfinder to initially classify neighborhoods
- Calculate cells within a neighborhood, and update them based on road
  filters
- For the moment, remove the tool that shows example rat runs
2021-11-04 17:28:51 -07:00
Dustin Carlino
2c08d62318 Track interior roads as we merge perimeters. It's much easier to retain this as we build it up, instead of later figuring out which side of a perimeter is the inside or outside. 2021-11-03 13:38:38 -07:00
Dustin Carlino
1c748cf304 Clump neighborhoods just by road rank. Bike-only pieces are usually an existing modal filter. So they're expected to be somewhere in the interior of a neighborhood. 2021-11-02 19:48:18 -07:00
Dustin Carlino
f615acc1f0 Increase the distance threshold for collapsing roundabouts. The tiny traffic circle ones prevent merging adjacent blocks and are causing headaches. #75
Regenerating everything...
2021-11-02 19:06:09 -07:00
Dustin Carlino
eeedf098d3 Handle the case of block merging when the entirety of one block overlaps
with the other
2021-11-02 16:54:46 -07:00