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
8546eb4b5f
Make the timer hierarchy for --regen_all or any city with many maps more easy to understand
2021-06-25 15:29:28 -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
5161474955
Stop building huge_seattle twice in the importer workflow
...
I have some fuzzy vision of declaring all importer pieces as a dependency graph, with optional caching of some input, that would express this kind of thing better. But... in the meantime.
Now regenerating everything...
2021-06-25 12:18:04 -07:00
Dustin Carlino
f57278e9cd
Enable the new walking turn algorithm for consolidated intersections
...
only. It has much simpler logic and produces correct results for these
intersections, but it has degradations in some cases -- so limit where
we use it.
But in the meantime, this makes realistic crosswalks over Aurora,
fixing crazy walking detours there.
Not regenerating yet.
2021-06-24 12:41:38 -07:00
Dustin Carlino
c0ce76a92a
Two slight adjustments to speed up the map importer development
...
workflow.
2021-06-24 12:13:47 -07:00
Dustin Carlino
44171500b7
Get the Green Lake map to complete without gridlock!!!
...
- Allow blocking the box around two complex intersections in Green Lake.
This makes the vehicle behavior much more realistic there, by visual
inspection.
- Amp up offstreet parking to 10 per building. I noticed the simulation
completes easily with --infinite_parking. This is an approximation of
that. We make really bad guesses about carpooling and the amount of
parking available around here, so effectively just remove it from
consideration for now.
2021-06-23 13:56:42 -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
8c2b84c37c
Keep the trip info panel open when the user clicks before/after and has to initially load the unedited map. #684
2021-06-23 12:52:18 -07:00
Dustin Carlino
9f22d4893a
Fix a crash with time-warping to the past when the map is edited. See #684 for an explanation.
...
Verified working on native. It should also be fine on web -- loading the
unedited map has to be a whole separate state because of web IO in the
first place.
2021-06-23 10:29:10 -07:00
Michael Kirk
321c9d9c40
Label contingency matrix axes
2021-06-23 10:13:51 -07:00
Dustin Carlino
799fdfbbc0
Don't start lane-changing while still being a laggy head. Fixes the crash. #392
...
Now prebake data again, and upload everything
2021-06-22 18:36:35 -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
48076a4c5b
Better stop sign placement -- degenerate roads shouldn't get them. Not
...
sure why this wasn't done before.
Regenerated all maps... but this happens to expose some lane-changing crashes.
2021-06-22 17:05:18 -07:00
Dustin Carlino
e08ddba241
Bring in fresh Seattle OSM data with the new cycletrack mapped around
...
Green Lake, and fix some missing support for bidi cycletracks.
2021-06-22 08:31:16 -07:00
Dustin Carlino
678ed84e4c
Fix a broken Dropbox link in the importer pipeline. The PSRC raw data is now just in S3.
2021-06-21 21:41:05 -07:00
Dustin Carlino
69152f00ad
Fix critical dynamic blockage math bug. Stops some crashes in some cases, including the tests -- which run again. Manually verified the turn goldenfile diff in the UI and regenerated prebaked data. #392
2021-06-21 20:37:11 -07:00
Dustin Carlino
8db88d0890
new release
2021-06-20 20:08:06 -07:00
Dustin Carlino
0f0639d67c
Tweak front page docs a bit, [rebuild] [release]
2021-06-20 18:34:02 -07:00
Dustin Carlino
03db0675cc
Add a Seattle map covering Green Lake
2021-06-20 10:51:30 -07:00
Dustin Carlino
786bb1159d
Fix the lane widths appearing the same in the dropdown due to rounding. #597
2021-06-20 10:30:07 -07:00
Dustin Carlino
ae3d4e2363
Fix loading edits that change the number of lanes in a road. We need to compare the old version of the road in the edits with the basemap, NOT the edited version of the road. #597
2021-06-20 10:06:38 -07:00
Dustin Carlino
d8cdfaba05
Make the multi-road editor only check and edit lanes_ltr, not speed limit. The Aurora cycletrack edit stopped matching because the speed limit happens to change along Aurora. We can think through a better UX to handle both, but I suspect most use cases will focus on lane configuration. #597
2021-06-20 10:00:05 -07:00
Dustin Carlino
e6e6fb267d
Reset current selection after editing multiple roads. This sometimes crashes if the selected lane gets deleted or assigned a new ID. Fixes a crash trying to make the West Green Lake cycletrack. #597
2021-06-20 09:50:33 -07:00
Dustin Carlino
3b748ee9fa
Implement dynamic blockages and use them for lane-changing. #392
...
This is conceptually simple and improves the behavior of vehicles
that're following a LCing leader.
Regenerate prebaked results -- no new gridlock!
2021-06-19 12:35:19 -07:00
Dustin Carlino
1e43d929e5
Implement dynamic lane-changing in a simple way:
...
- only triggered when a vehicle becomes Queued
- Only one adjacent lane, no contraflow (crossing the road's center
line)
- Don't return to the original lane after passing
- Using a static blockage in the old lane (so other vehicles will wait
too much)
- Only using the new lane to determine position (so visually a car will
clip a bike as they pass)
Haven't regenerated prebaked data. #382
2021-06-19 12:35:19 -07:00
Dustin Carlino
0bcf01fd05
Avoid crashing in recalculate_intersection_polygon due to polylines not
...
containing some points. Happens at i524 in Arboretum and in the West
Seattle proposal.
I don't understand yet why this is possible in the first place, but
crashing is pretty bad in the meantime.
2021-06-19 11:29:01 -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
0f7299f091
Found the bug with the previous commit. Keeping this separate to point out the issue. Reasoning using get_active_cars is super dangerous; likely going to remove it. #555
...
But finally, regenerate prebaked data successfully and commit all of
this. It's done. Blocking driveways on exit works now
2021-06-17 13:39:26 -07:00
Dustin Carlino
841336ad15
A grand finale: refactor logic to update follower vehicles, and call that new logic when clearing static blockages. #555
...
And previous commit was wrong about Unparking needing distances; it
needs distances OF ANOTHER QUEUE.
2021-06-17 13:01:00 -07:00
Dustin Carlino
1528b954c6
Carefully change the Unparking and IdlingAtStop states to require
...
distances... #555
Prebaked actually broke with the previous commit in Arboretum, because a
car waits behind a blockage, then suddenly warps ahead. But now we can
fix this...
2021-06-17 12:18:25 -07:00
Dustin Carlino
1dc973c7fa
And finally: enforce static blockages while a vehicle exits a driveway onto a far lane! #555
...
Vehicles now wait behind blockages, but one more little bug... after the
driveway is clear, the waiting vehicle jumps forward. Need to reset
their crossing state, same as waiting behind a bus.
2021-06-17 09:27:48 -07:00
Dustin Carlino
f5dc28900b
The big rip: change Queue to store more than just actively moving vehicles. Expose these in the API and update a few callers. #555
...
Still no behavioral change -- not inserting blockages into the queue
yet, just representing them. Verifying no prebaked changes still.
2021-06-17 08:51:07 -07:00
Dustin Carlino
ab539f1efd
Creeping towards #555 : make the queue of cars in Queue private, and start some proper APIs for managing it. We need to change this to model blockages, and this is a small step towards that.
...
No behavioral change; verified by regenerating prebaked data
2021-06-16 21:35:57 -07:00
Rémi Lauzier
1a4b997818
Fix some clippy warnings
2021-06-16 16:21:35 -07:00
Dustin Carlino
cbce654800
Prepare to have vehicles exiting driveways block any intermediate lanes. #555
...
This is just wiring together all of the state transitions. Haven't
decided how to internally implement this in Queue yet.
2021-06-16 16:02:17 -07:00
Rémi Lauzier
dd050ea425
Update some dependency
2021-06-16 15:51:03 -07:00
Dustin Carlino
321e7cd0ee
Allow exiting a driveway onto any lane (in the same road direction). #555
...
- Support this at the pathfinding level, when transforming v2->v1
- Adjust how the vehicle's body is rendered as it exits a driveway onto
a farther lane
No support yet for blocking any intermediate lanes; vehicles may clip
through each other without any conflict. Planning to add that
separately.
Regenerating all scenarios and prebaked data...
2021-06-16 15:46:09 -07:00
Dustin Carlino
d42c1310b0
CLI flag to start in the KML viewer for convenience
2021-06-16 11:14:17 -07:00
Dustin Carlino
01a2dfe215
Create a new panel to show how trips are distributed through the day.
...
Refactor some of the sliding window code along the way.
2021-06-14 17:32:18 -07:00
Dustin Carlino
484720d648
Add code to include pass-through trips (border->border) from Soundcast data. #665
...
... But leave it disabled, until we can handle such larger file sizes
and levels of traffic.
And although this should be a behavioral no-op, there's a diff in the
scenario files, so recalculate them.
2021-06-14 16:23:14 -07:00
Dustin Carlino
d272b745f2
Add a simple Python script to run grid2demand. I need to produce a scenario for Tempe, and it's also useful for #608
2021-06-14 11:00:02 -07:00
Dustin Carlino
6cafe017c6
new release
2021-06-13 18:33:11 -07:00
Dustin Carlino
3fd8615745
Slim down the github homepage, linking to some of the new site. [rebuild] [release]
2021-06-13 17:34:54 -07:00
Dustin Carlino
04a5327c3a
Remove West Seattle proposal link; taking that page down from docs
2021-06-13 12:13:29 -07:00
Dustin Carlino
96aa09edd0
Small steps towards matching more GMNS signals: #626
...
- toss a loading screen around it
- allow jump to ID in edit mode
- break down failure types more
2021-06-13 11:59:37 -07:00
Dustin Carlino
59597708ec
Draw polylines as arrows in the KML viewer; it's pretty much always useful to see the direction of the raw data
2021-06-13 11:32:02 -07:00
Dustin Carlino
500f14869f
Le Fournil special: don't redraw KML text constantly; it was sluggish for signal timing.
2021-06-13 11:26:08 -07:00
Dustin Carlino
76aba75082
Update links to docs after some reorg in the other repo
2021-06-12 13:38:38 -07:00