Dustin Carlino
e0871d9db2
Undo/redo in the new road editor
2021-04-22 07:57:23 -07:00
Dustin Carlino
8dbb1a47e5
Refactor how edits are applied inside the new road editor
2021-04-22 07:57:23 -07:00
Dustin Carlino
f781d3e74f
Delete the temporary old road editor. I didn't expect the new editor to become usable so quickly.
...
And enable the new editor for everyone, with the experimental warning
2021-04-22 07:57:23 -07:00
Dustin Carlino
9aa5d97271
Select the newly created lane
2021-04-22 07:57:23 -07:00
Dustin Carlino
1fb1253e97
Refactor speed_limit_choices
2021-04-22 07:57:23 -07:00
Dustin Carlino
6cd869e494
Temporary way to move lanes left/right
2021-04-22 07:57:23 -07:00
Dustin Carlino
acfe095a3f
Handle editing just the width of one lane
2021-04-22 07:57:23 -07:00
Dustin Carlino
c73ceebd35
MVP of Yuwen's new road editor!
2021-04-22 07:57:23 -07:00
Dustin Carlino
38f5da4f80
Make the native download progress screen show how many files are left.
2021-04-21 17:01:51 -07:00
Dustin Carlino
3b9a7cfa1f
Add a basic per-file progress bar for native downloads!
2021-04-21 17:01:51 -07:00
Dustin Carlino
d644bf3b5f
Debug tool to change color schemes without recompiling
2021-04-20 17:03:55 -07:00
Dustin Carlino
ee78644089
Download files before starting a challenge mode or Santa level, if needed
2021-04-20 16:10:17 -07:00
Dustin Carlino
7176994a87
Refactor CarID to be a struct, not a tuple
...
And regenerate prebaked data from a few commits ago
2021-04-19 15:16:48 -07:00
Dustin Carlino
bc2a21ca89
Refactor some methods in Traversable
2021-04-19 14:50:51 -07:00
Dustin Carlino
c62cf1c90c
Refine the detection for when a car wants to over-take a bike, and expose it in the UI as a problem. #81 , #600
2021-04-19 14:44:42 -07:00
Dustin Carlino
478a146350
Display a caution icon for large intersection crossings, and add tooltips for all drawn problems. #600
2021-04-19 11:40:39 -07:00
Dustin Carlino
6380bd74ec
Refactor a concept of per-trip Problem. #600 , #170
...
The simulation analytics tracks problems per trip. The previous
measurements for delay at intersections is one case, and the new
cyclist-crossing-large-interection event is another. I removed the lane
speed measurement, since it's kind of redundant with the delay.
Consolidated the reporting in the trip info panel / drawn on the route.
2021-04-19 11:40:39 -07:00
Dustin Carlino
6f5a7b980a
Track when a pedestrian or bike crosses a large intersection. Start to
...
show it in individual trip info panels. #600
2021-04-19 11:40:39 -07:00
Dustin Carlino
31070ccadf
Tutorial fixes after a UX study:
...
- Fix a typo
- Draw a star on the car that the player is supposed to follow
- Move the message panel to the left when pointing to the minimap and
layers
- Add button icons to the message box to really emphasize what we're
pointing to
2021-04-18 11:14:01 -07:00
Dustin Carlino
3a6b8f2919
Make the 'no sidewalks' layer understand how shared cycle+foot paths look right now.
2021-04-16 16:22:48 -07:00
Michael Kirk
bc3a121cd6
introduce --minimal_controls option for screen recordings
2021-04-15 19:22:37 -07:00
Dustin Carlino
d41482febd
Fix running external tools on Windows [rebuild] [release]
2021-04-15 11:29:29 -07:00
Dustin Carlino
5bcd2a5526
Fix the grid2demand import, when repeatedly importing different files.
2021-04-15 08:58:21 -07:00
Dustin Carlino
179daa5d25
Clean up commented out code from #170 . Going to re-evaluate how problems along a trip are shown in the UI anyway.
2021-04-14 17:25:58 -07:00
Dustin Carlino
79fdf01690
Remove the fade overlay from the tutorial. It makes some of the arrows pointing at stuff hard to see. If we just use it on message screens without an arrow, it looks odd to appear/disappear.
...
Also prep a mid-week [rebuild] [release]...
2021-04-14 13:05:54 -07:00
Dustin Carlino
4a06a7285b
Change the grid2demand file picker to be async. #605
2021-04-14 09:54:04 -07:00
Dustin Carlino
1e94ba9b06
Update some tutorial wording from Yuwen's designs.
...
Internally, overhaul some of the crazy tutorial code to just use Text,
not Vec<String>.
2021-04-13 16:56:39 -07:00
Dustin Carlino
ae6414abd5
Rename building path->driveway, since path is such an overloaded term.
2021-04-13 15:13:36 -07:00
Dustin Carlino
9923c1270a
Repair parking lot connections after road widening. #597
2021-04-13 15:13:36 -07:00
Dustin Carlino
b9a9e8e5c5
Redraw building paths when needed
2021-04-13 15:13:36 -07:00
Dustin Carlino
7852e1d2b8
Import scenarios from grid2demand's input_agents.csv directly from the UI! #603 [rebuild]
...
For reference, the input_agents.csv -> abst input is ported from
https://github.com/asu-trans-ai-lab/grid2demand/blob/main/src/demand_to_abst_scenario.py
2021-04-13 13:39:50 -07:00
Dustin Carlino
6b30bffc43
Recreate the road in the quadtree when modifying width. #597
2021-04-10 11:56:05 -07:00
Dustin Carlino
10255c2835
Recalculate intersection geometry when road width changes. #579
...
No effect on the road geometry yet, though...
2021-04-10 11:56:05 -07:00
Dustin Carlino
e8b7019ef7
Use LaneSpec in map edits, letting width of each lane be modified too. #597
2021-04-09 14:35:49 -07:00
Dustin Carlino
14609ab157
Fix lane geometry after changing the number of lanes. #597
2021-04-09 14:35:49 -07:00
Dustin Carlino
584c1be9e0
A humble start to deleting lanes. #597
2021-04-09 14:35:49 -07:00
Dustin Carlino
c6906f6153
Change Vec<Lane> to BTreeMap<LaneID, Lane> to prepare for
...
adding/deleting lanes. #597
Not regenerating all maps yet. Haven't evaluated performance impact yet.
2021-04-09 14:35:49 -07:00
Dustin Carlino
2a89b68121
Create a temporary dev-only UI for modifying the number of lanes in a road. #597
...
It crashes when actually trying to change the number of lanes, as
expected.
2021-04-09 14:35:49 -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
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
ce9e98782e
Poundbury once again completes without 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
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
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
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
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
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
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
92d3a890ea
Express all pathfinding costs in units of seconds. #82 , #494 ( #587 )
...
This is simpler to reason about, allows the penalty for entering a zone
or taking an unprotected turn to be expressed in terms of a time
penalty, and is a step towards adjusting bike/foot routing for elevation
data.
When we later add things like "safety/quietness" for cycling, maybe we
can switch to using a (time, quietness) tuple, and transform into a
single number with a linear combination parameterized by that agent's
preference for time/safety. This change is compatible with that future
idea.
There are behavior changes here, particularly for zones and unprotected
turns. No new maps start gridlocking, and in fact, Rainier starts
working again.
2021-03-25 12:59:36 -07:00
Dustin Carlino
4ef04f5bd1
Change road incline calculations to be stored in RawMap. Previously, the
...
"rise / run" calculation used the trimmed road center-lines, which don't
match up with the elevation at each original intersection point.
Also handle infinity in the output and reduce the resolution of the
query from every 1m to every 5m.
Regenerate all maps due to the map format change. Try bringing in
elevation data for all of Seattle using the LIDAR source, since
the data quality assessed in eldang/elevation_lookups#12 seems to be
similar, and LIDAR is way faster than contours.
2021-03-23 22:47:52 -07:00
Dustin Carlino
e57cacaab4
Rename pathfind/driving -> pathfind/vehicles to reflect bikes using it too, and likewise for driving_cost
2021-03-22 16:34:46 -07:00
Dustin Carlino
7d2e8409e8
Implement no-through-traffic zones instead by adding a huge cost to crossing into the zones. #555 , #574
...
Regenerate all maps. Gridlock-wise, Rainier and Poundbury broke, but
Wallingford started working again. Acceptable cost for a change this
useful; I'll work on fixing those maps later.
2021-03-22 16:34:46 -07:00
Michael Kirk
b6c5ee38c2
clarify "time difference" chart
...
- bar height represents accumulated time, not trip count
- buckets are from duration *before* edits
2021-03-22 15:59:20 -07:00
Dustin Carlino
75b39c7b35
Add a debug tool to show the pathfinding costs to each node. Trying to figure out why a new impl of pathing through zones isn't working as expected.
2021-03-22 12:03:50 -07:00
Michael Kirk
b07ac626d4
fixup proposal "tabs"
2021-03-22 12:00:43 -07:00
Michael Kirk
761e2e6412
new tab styles for info panels
2021-03-20 14:33:54 -07:00
Dustin Carlino
cb4cd1b13a
Don't recalculate failed paths in the freeform trip spawner. Makes
...
debugging #574 easier.
2021-03-19 17:48:37 -07:00
Michael Kirk
af079c24e6
rename txt.add -> txt.add_line
2021-03-19 17:48:30 -07:00
Dustin Carlino
58ee3175ac
Add a new Seattle map focused on the Arboretum, for #574 , along with
...
prebaked data for the baseline (because it doesn't gridlock, without any
interventions needed!) and a proposal for opening up Broadmoor.
2021-03-19 17:24:11 -07:00
Dustin Carlino
dcf2bf0422
Apply the Text::from(str) pattern in a few more places.
...
Found using: vi `./rgrep.sh 'Text::from(Line'|grep -v fg|grep -v
big_h|grep -v displa|grep -v big_m|grep -v small|grep -v second | grep
-v underl|grep2files ` (Some of those are local bash aliases)
2021-03-19 16:56:18 -07:00
Michael Kirk
affd582093
more concise Text
/ tooltip()
2021-03-19 16:48:54 -07:00
Dustin Carlino
2bebd8a2c9
Allow specifying go active scenario when launching actdev. cyipt/actdev#150
2021-03-19 16:25:37 -07:00
Dustin Carlino
edfb745bb2
Change the default color scheme to day mode. Behaviorally, this rolls out the change for the OSM viewer, 15m app, parking mapper, and map_editor.
2021-03-19 15:26:35 -07:00
Michael Kirk
cbad223a90
clarify scenario buttons & style link as link
2021-03-19 12:43:32 -07:00
Michael Kirk
9da9c9b092
extract "percent" function, put header text first
2021-03-19 11:56:22 -07:00
Michael Kirk
cf14515110
CR: use already-defined transition
2021-03-19 11:56:22 -07:00
Michael Kirk
9a2276c66d
Code review: prefer unreachable
to todo
for checkins
2021-03-19 11:56:22 -07:00
Michael Kirk
3d5876a4fd
fixup! convert trip tables to new tabs
2021-03-19 11:56:22 -07:00
Michael Kirk
e493c02d83
convert trip tables to new tabs
...
The GenericTable machinery lost a lot of it's utility now that we have
proper tabs. I've left a couple of free functions to be shared, and
inlined the remaining simple functionality.
2021-03-19 11:56:22 -07:00
Michael Kirk
e39059644c
fixup! wip apply tabs to TimeWarp
2021-03-19 11:56:22 -07:00
Michael Kirk
1d57bb5f25
wip apply tabs to TimeWarp
2021-03-19 11:56:22 -07:00
Michael Kirk
7f00154ae6
style tabs
2021-03-19 11:56:22 -07:00
Michael Kirk
1c2231aced
fix missized icon
2021-03-19 11:03:40 -07:00
Dustin Carlino
a0461e990d
Workaround an issue with how the length of roads is measured and related
...
to the elevation measured at the original intersection point. #82
Upload montlake, downtown, and phinney with elevation data, as an
initial demo.
2021-03-18 19:04:15 -07:00
Dustin Carlino
ca4e04b6e9
Add tooltips to the elevation layer
2021-03-18 18:25:11 -07:00
Dustin Carlino
b61291d905
Revive the elevation layer in the UI. Add some sanity checking around the inclines we're assigning to roads, but also, I realized a problem with how the elevation lookup not matching the trimmed roads. #82
2021-03-18 18:19:41 -07:00
Dustin Carlino
e841024025
Use the outline style for the before/after trip comparison button.
2021-03-18 10:20:50 -07:00
Dustin Carlino
a390f72a1c
Change how the original map is loaded in the UI for checking the original route. Fixes this on the web.
...
This also solves the static case of #361 .
2021-03-18 09:54:43 -07:00
Michael Kirk
119b0e8b7e
fix mismatched icon sizes in challenge screen
2021-03-17 19:06:43 -07:00
Michael Kirk
546599e4f9
Replace ButtonImage with Image
2021-03-17 19:06:43 -07:00
Michael Kirk
463c48411a
jump to time: slider width corresponds to traffic chart
2021-03-17 19:06:43 -07:00
Michael Kirk
c1dfdc4550
jump to time: theme traffic curve
2021-03-17 19:06:43 -07:00
Michael Kirk
b60a6d3d96
theme disclosure icon
2021-03-17 19:06:43 -07:00
Dustin Carlino
4b2eedd2f2
Only show the info panel or the layer panel, never both at the same time.
2021-03-17 14:15:13 -07:00
Dustin Carlino
1773782975
Place layer panels and info panels in the same place, on the left side of the screen. Simplify layer code, now that we don't need to align relative to the minimap.
2021-03-17 14:15:13 -07:00