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
Dustin Carlino
401d5fe297
Make it even easier to debug block order
2021-11-02 16:31:29 -07:00
Dustin Carlino
f4e0b4b1e3
Log warnings to explain why merging blocks fails
2021-11-02 13:42:25 -07:00
Dustin Carlino
478e6f28c4
Fix a silly bug with assigned block coloring getting lost
2021-11-02 12:21:32 -07:00
Dustin Carlino
2917361417
More aggressive block merging
2021-11-01 17:09:50 -07:00
Dustin Carlino
cfec9a2049
Avoid block merge crashes! But some neighborhoods don't get fully
...
merged.
Also make all the blockfinding algorithms deterministic, for easier
debugging.
2021-11-01 16:56:42 -07:00
Dustin Carlino
108f6a6fc2
Refactor blockfinding APIs to prep for actually merging everything in a
...
single neighborhood.
2021-11-01 15:49:56 -07:00
Dustin Carlino
a996b891ab
Improve the algorithm for merging adjacent blocks. It now handles
...
internal dead-ends and blocks that share a sequence of common roads.
Still not robust enough, but huge step forwards.
2021-11-01 14:37:49 -07:00
Dustin Carlino
bb15d3a368
Convert updater to structopt. #745
2021-11-01 12:46:57 -07:00
Dustin Carlino
1e573013db
Fix broken roadmap link. #796
2021-11-01 11:34:05 -07:00
Dustin Carlino
324ef84b3c
new release
2021-10-31 14:39:48 -07:00
Dustin Carlino
00df96f173
Render A/B Street's lanes and traffic simulation on top of Mapbox GL ( #788 )
...
[rebuild] [release]
2021-10-31 13:52:58 -07:00
Dustin Carlino
04b54b08cd
Import Camden. #794
2021-10-31 13:28:45 -07:00
Dustin Carlino
a4763284f1
Fix some of the worst zig-zaggy bugs with drawing intersection curbs.
...
Net improvement, but still not perfect. #74
2021-10-30 12:07:13 -07:00
Dustin Carlino
1eb7ec7ddf
Detect perimeters hitting map boundaries upfront. This lets us more
...
easily work with perimeters and only transform to blocks when we need to
last minute. As a happy side effect, it vastly speeds up blockfinding --
the slowdown was attempting to mangle geometry for the huge broken
perimeters near boundaries!
Also improve the incremental merge debug UI
2021-10-29 16:43:35 -07:00