Commit Graph

6699 Commits

Author SHA1 Message Date
Dustin Carlino
e471000395 Remove the old zone_cost method. #555 2021-04-07 11:04:42 -07:00
Dustin Carlino
da3272e2ee Convert the alternative path debugger to use directed roads, not lanes. #555
This lets us clean up some of the old pathfinding v1 code, removing some
duplicate code!

Also improve that debugger to show a different cost for each side of the
road. The cost to turn around and reach a building on the other side of
the road may be high, so this really makes the debugger more
understandable.
2021-04-07 10:58:48 -07:00
Dustin Carlino
b381856bd5 Convert the 15m biking isochrone to internally use directed roads, not lanes. #555 2021-04-07 10:18:26 -07:00
Dustin Carlino
ad5c573a27 Change congestion capping to pathfind avoiding roads, not lanes. #555
Capping only happens when you edit a road and introduce a per-hour
vehicle cap.
2021-04-07 10:04:00 -07:00
Dustin Carlino
9263e95e83 Only show elevation line plot in the trip info panel for walking and biking trips. It's just noise to see it for somebody walking to their car. #82 2021-04-07 09:42:25 -07:00
Dustin Carlino
918e74ceba Change the Dijkstra's and CH walking pathfinders to use roads, not lanes. #555
No behavioral change here; this is a trivial transformation. If a
directed road has any walkable lane, then there's exactly 1 of them.  I
verified by manually checking paths and also seeing prebaked results
having zero diff.
2021-04-06 20:16:45 -07:00
Dustin Carlino
ce9e98782e Poundbury once again completes without gridlock! 2021-04-06 17:03:24 -07:00
Dustin Carlino
7ea251a059 Revert some block-the-box protection from #439 to unbreak lakeslice.
The lakeslice regressions were actually introduced over the last few
weeks as I scrambled to get elevation data working; it's not really
related to pathfinding v2. It's hard to blame individual changes for
making things here worse; the lakeslice map in particular has always
been super brittle. Emergent behavior means when things in one part of
the map slighly change, the ripple effects elsewhere can be harsh.

Originally #439 was motivated by a crash (in Ballard, I think), but
getting lakeslice to work so much better is worth reintroducing this.
When we find the bug again, we can solve it another way and do a better
job of watching for regressions in gridlock.
2021-04-06 17:03:24 -07:00
Dustin Carlino
196af2a1f4 Refactor: store Direction for a Lane, simplifying Lane->DirectedRoadID. #555 2021-04-06 17:03:24 -07:00
Dustin Carlino
d0c82392e3 Restore the lane-changing penalties for the pathfinding v2->v1 transition. #555 2021-04-06 17:03:24 -07:00
Dustin Carlino
b9b5f63eb0 Convert the contraction hierarchy vehicle pathfinding to use roads, not lanes. #555
Not regenerating yet.
2021-04-06 17:03:24 -07:00
Dustin Carlino
8cfb377dfa Unbreak the cancelled/unfinished trip tables. The start/end filters were
only added to finished trips, but the other tables also tried to grab
the filter.
2021-04-06 10:39:27 -07:00
Dustin Carlino
680fd07a83 Restore huge_seattle map, which was deleted without me noticing in da60de0a09, likely due to the elevation bug fixed in de20a74f3a28b3370319436d5655b5be6f13367d... 2021-04-06 10:32:07 -07:00
Dustin Carlino
3badd7dd09 Fix typo 2021-04-06 10:04:16 -07:00
Dustin Carlino
281aabc63a
Convert the Dijkstra's vehicle pathfinding implementation to use road… (#594) 2021-04-06 10:02:07 -07:00
Dustin Carlino
de20a74f3a Fix elevation imports, broken in b8318917a8. #82 2021-04-05 17:29:28 -07:00
Dustin Carlino
b6d46db2ea Create map_model abstractions for representing uber-turns at the granularity of roads, not lanes, in preparation for pathfinding v2. #555
I was about to recreate a higher-level turn abstraction, but realized we
previously made Movements for traffic signal editing.
2021-04-05 10:29:59 -07:00
Dustin Carlino
1e3708f9b4 Remove UberTurnGroup and the prototype of editing a cluster of traffic
signals using uber turn groups. #555

This was an old half-baked experiment for handling a cluster of traffic
signals.  Since then, merging intersections (by manually tagging them in
OSM for now, maybe automatically in the future) has proven better.

Removing this old code in preparation for pathfinding v2.
2021-04-05 10:05:27 -07:00
Dustin Carlino
4b1a206a43 Start versioning the web apps weekly too 2021-04-04 17:15:38 -07:00
Dustin Carlino
ae66457a5e new release 2021-04-04 16:59:01 -07:00
Dustin Carlino
b8318917a8 Write to the proper data/input/shared directory for elevation. #82
It was always using the current directory, which breaks when running the
UI map importer from game/. [rebuild] [release]
2021-04-04 09:58:40 -07:00
Dustin Carlino
437d3eb064 Throttle rendering when running the one_step_importer from the UI. We spend more time drawing the progress than downloading, otherwise. #523 2021-04-04 09:39:03 -07:00
Dustin Carlino
df7d1080d9 Update trip start/end icons 2021-04-03 11:26:01 -07:00
Dustin Carlino
cc4bcae1cb Color the 'more finished trips' tooltip green, to be consistent with other good/bad colors 2021-04-03 10:37:24 -07:00
Dustin Carlino
da60de0a09 Adjust walking speed for inclines, using Tobler's hiking function. #82
Now regenerating everything...
2021-04-02 19:54:33 -07:00
Dustin Carlino
acdbe0e753 Start adjusting cyclist speed for inclines, both in simulation and pathfinding, using calcultions from Valhalla. #82
Not regenerating data yet.
2021-04-02 19:54:33 -07:00
Dustin Carlino
ee3f139765 Allow the docker command for elevation to fail. This unbreaks the tests, which import synthetic maps with strange coordinates. #82 2021-04-02 08:25:04 -07:00
Dustin Carlino
98506dc47b Update the link to the web version after #592 2021-04-01 19:32:36 -07:00
Michael Kirk
4f81f186af
embed mode and reworked web build system (#592)
* root element id from Settings, respect element size

* Plumb assets root via settings

* adapt crates to new wasm api

* more FileLoader cleanup

* use tsc bin from node_modules

* avoid spurious unlink errors

GNU Make considers the src/*/wasm_pkg targets as intermediate build
files and attempted to `rm` them. We can stop that my marking them as
`.PRECIOUS`

https://www.gnu.org/software/make/manual/html_node/Special-Targets.html

* `open` doesn't work on Linux

We could do something with xdg-open, but meh, not worth having platform
dependent logic for this.

* fix typo, clarify instructions

* make server compatible with older python install on linux

* revert change - we dont want to include music on web

the leading "-" means exclude a subdir of an included dir.

* better wrap of comments

* fix misfire in copy/pasted comment

* update docs
2021-04-01 19:31:02 -07:00
Dustin Carlino
20de91bae7 Also refactor walking speeds. #82 2021-04-01 15:03:20 -07:00
Dustin Carlino
892afddcd5 Refactor uses of biking speed between the sim and pathfinding, in preparation for incorporating incline. #82
(This was a bigger mess than I expected, so worth doing separately.)
2021-04-01 11:52:25 -07:00
Dustin Carlino
3c601b50c1 Clean up the trip table rectangular selection UI: #574
- explicit clear/apply buttons
- show start/end filters on the trip table preview
2021-03-31 16:35:56 -07:00
Dustin Carlino
0e86b94408 Make the start/end rectangular filter actually apply to the trip tables. #574 2021-03-31 16:35:56 -07:00
Dustin Carlino
c89e918fec Create a dummy widget to stash generic state in a Panel, and use it to plumb around the rectangular regions to the trip table filters. #574
The filter still doesn't make use of the regions yet.
2021-03-31 16:35:56 -07:00
Dustin Carlino
dff923b3e6 Make a tool to select a rectangular region. No way to pass back the
results yet. #574
2021-03-31 16:35:56 -07:00
Dustin Carlino
7f4f83d4e0 Refactor all of the places drawing start/goal markers on the map, and actually line up the tip of the icon with the position. 2021-03-31 14:23:16 -07:00
Dustin Carlino
afb962f73b Use the start/end markers in the interactive trip spawner. 2021-03-31 13:44:19 -07:00
Dustin Carlino
dc31e42c18 Add elevation data to all maps, now that the SRTM issues in elevation_lookups are fixed! #82
The results likely have some issues, but easier to iterate with them
baked in.
2021-03-28 21:52:54 -07:00
Dustin Carlino
371d459c8b new release 2021-03-27 16:09:36 -07:00
Dustin Carlino
7db3c6f951 Just triggering a [rebuild] [release] a bit early 2021-03-27 13:37:59 -07:00
Dustin Carlino
e3adb4702f Handle some changes to the elevation_lookups importing. #82 2021-03-27 11:45:55 -07:00
Dustin Carlino
3f1abda5e2 Use chevrons, not arrows, to point uphill, per discussion with Yuwen. #82 2021-03-27 09:25:06 -07:00
Dustin Carlino
ef7cbdcf48 Generalize LinePlot to handle any kind of X-axis, not just time. #82
Also split out some common code to a plots module. Fan charts and
scatter plots are still hardcoded to use Time as the X-axis and
duplicate lots of code, but this is a step towards refactoring
everything.
2021-03-26 12:07:21 -07:00
Dustin Carlino
73a31d1633 Add a line plot showing the elevation of the route taken by pedestrians
and cyclists. Add support for Distance as the Y axis of a LinePlot. #82
2021-03-26 12:07:21 -07:00
Dustin Carlino
00323925f3
Add a layer showing elevation using contours. #82 (#589) 2021-03-26 11:53:41 -07:00
Dustin Carlino
7a565f114f Adjust the steep streets panel: #82
- Move the steepest grade under the legend
- Use an arrow icon in the text
2021-03-26 11:40:01 -07:00
Dustin Carlino
05c9134e92 Stop using contraction hierarchies for trains / light rail. The graph is
always tiny; Dijkstra's is fine. It costs a bit of file size to store
it. The huge leeds map goes from 160MB to 157MB -- not crazy savings,
but something.

Also fix a slight bug with 92d3a890ea that
caused some pedestrians to uselessly visit a bus stop node while
routing. (southbank crashes a few hours in otherwise)
2021-03-25 20:45:57 -07:00
Dustin Carlino
fac9f8159d
Change the color scheme of the steep streets layer. #82 (#588) 2021-03-25 16:44:32 -07:00
Dustin Carlino
f0dba4b65c In the path cost debugger, show all roads with a cost less than the chosen route 2021-03-25 15:30:54 -07:00
Dustin Carlino
2c1c18d34a Upgrade glow 2021-03-25 15:23:13 -07:00