Dustin Carlino
27a712bcc3
Remove buttons from map_editor map loader -- very slow and not useful
2021-09-07 15:39:55 -07:00
Dustin Carlino
a8645bd9ed
Refactor places setting camera from URL
2021-09-07 11:21:56 -07:00
Dustin Carlino
4068986c58
Refactor URLManager -- on errors, always warn
2021-09-07 11:14:31 -07:00
Dustin Carlino
570cd2de84
Make map_editor more web-friendly:
...
- adjust the panel
- hide some controls on the web
- keep the URL up-to-date with the map and camera
2021-09-07 11:00:27 -07:00
Dustin Carlino
d1e60c888a
Handle broken RawMaps, which're more likely to happen in the web
...
deployment, since I'm not planning to version input data.
As part of this, prepare to lift the PopupMsg helper from map_gui to
widgetry, removing dependencies on AppLike.
2021-09-07 09:41:17 -07:00
Dustin Carlino
b7d010058c
Store Movements per Intersection, instead of constantly calculating them! #746
...
Regenerating everything...
2021-09-06 14:53:37 -07:00
Dustin Carlino
6dcf417cd0
Fix some clippy warnings, and now regenerate everything...
...
Green Lake sim crashes, not investigating.
[rebuild] [release]
2021-09-05 19:53:10 -07:00
Dustin Carlino
9300470c6b
Lane offset comes for free now
2021-09-05 19:53:10 -07:00
Dustin Carlino
442523ae6c
Simplify some lane lookups that just needed to find the parent
2021-09-05 19:53:10 -07:00
Dustin Carlino
112bc38e0c
Get rid of the now redundant lanes_ltr
2021-09-05 19:53:10 -07:00
Dustin Carlino
4c46510342
Cleaning up a few APIs, now that lanes belong to roads...
2021-09-05 19:53:10 -07:00
Dustin Carlino
0f4a31e915
Moving lanes from a BTreeMap to be stored inlined in their parent Roads. #746
...
Somewhat invasive API change internal to map_model, but not much impact
elsewhere.
Not regenerating anything yet.
2021-09-05 19:53:10 -07:00
Dustin Carlino
cea0ad2541
Change LaneID to encode (RoadID, offset), still in one u32. #746
...
Not regenerating yet.
2021-09-05 19:53:10 -07:00
Dustin Carlino
8c2c0e2e65
Start some new RoutingParams for bikes to avoid steep hills and
...
stressful roads. Initially experiment in the route debugger UI. #743
This is a binary map format change, but temporarily working around
that...
2021-09-05 17:04:54 -07:00
Dustin Carlino
b231ba602f
Drag-n-drop for waypoints! #743
...
Also some drag-n-drop API tweaks:
- Don't require the caller to set `named()`
- Vertical card layout!
Some UX issues:
- deletion button alignment
- horizontal card alignment off
- sync up highlighting between map and cards
- selection state for a waypoint is meaningless
2021-09-03 13:23:17 -07:00
Dustin Carlino
2234c52cc6
Allow routes to be saved in the bike network tool. #743
...
Some UX clunkiness:
- not allowing custom names yet
- no autosave
- the left/right arrows can silently eat the current route
2021-09-03 12:23:58 -07:00
Dustin Carlino
1c756befa8
Hover on route, to show elevation on line plot. #743
...
Some messiness, but step forward.
2021-09-01 18:20:48 -07:00
Dustin Carlino
30a114a483
Improve the bike network tool's colors. Always draw the fog-of-war, and
...
highlight road types better. #743
2021-09-01 17:07:57 -07:00
Dustin Carlino
e419ad4788
At least a start to the inverse: when hovering on the route, show the position along the elevation line plot. #743
2021-09-01 13:33:37 -07:00
Dustin Carlino
ba6f9f4a14
When hovering on the elevation line plot, show the equivalent position
...
on the route. #743
2021-09-01 13:18:30 -07:00
Dustin Carlino
d123322d0e
Splitting out RouteResults too. #743
2021-09-01 12:10:11 -07:00
Dustin Carlino
470ac4f0a9
Split waypoint input management into its own component. Better
...
organization, insulates from the upcoming complexity increase for
viewing the route result, and paves the way for using this component in
something like a better tool for spawning a simulation agent to visit
waypoints. #743
2021-09-01 11:50:37 -07:00
Dustin Carlino
0587fa44d7
Fix delete waypoint buttons, broken by previous commit. #743
2021-09-01 11:11:16 -07:00
Dustin Carlino
c5671557de
Improve route UI from feedback: click to add waypoints, instead of a button. #743
2021-08-31 12:47:57 -07:00
Dustin Carlino
e2fc59a31a
Let the bike network tool's massive bottom right panel be minimized. Specialized an implementation just for this one case, not for Panels in general.
2021-08-30 10:58:16 -07:00
Dustin Carlino
69d965ea3e
Use the new drag-drop widget for traffic signal editor stages!
2021-08-30 09:02:00 -07:00
Dustin Carlino
e924e9d7df
Simplify the buttons for picking a stage in the traffic signal editor,
...
in preparation for dragon-drop.
These were using MultiButtons, a widgetry concept kind of redundant with
DrawWithTooltips. I think at some point we had more visual mapping
between the stage icon and the intersection on the map, to help when
synchronizing many intersections. But the functionality remaining today
just looks like clicking one intersection inside the icon, which is
barely noticeable and not helpful, so sacrifice this to proceed.
2021-08-30 08:41:29 -07:00
Dustin Carlino
1c9aaac17f
Show drop position on the map while dragging lane cards
2021-08-29 16:40:54 -07:00
Dustin Carlino
7aae626fca
Avoid crash in bike network layer when unzooming completely in huge_seattle
2021-08-26 17:13:51 -07:00
Dustin Carlino
8f93ff26b0
נשימת החיים: That skeleton is ready for the world. [rebuild] [release] [mic-drop]
2021-08-26 12:08:47 -07:00
Dustin Carlino
fb35c55cb9
Make quick sketch heuristic less wrong near bus lanes
2021-08-26 12:01:08 -07:00
Dustin Carlino
a5b905992e
Ungap tweaks:
...
- use nonconflicting keybindings for the 3 tabs
- fix the vanishing steep street legend
2021-08-26 11:40:43 -07:00
Dustin Carlino
3a9246e3d0
Use cross-hatch pattern for the 'edit similar roads' tool; the previous color is basically invisible in the new color scheme
2021-08-26 11:28:31 -07:00
Dustin Carlino
deb4a202d9
Retain tab when changing maps
2021-08-26 10:17:08 -07:00
Dustin Carlino
5b7523b2c4
Split ExploreMap to a module
2021-08-26 10:05:43 -07:00
Dustin Carlino
0a03887eab
Refactor common event handlers for the 3 modes
2021-08-26 09:56:41 -07:00
Dustin Carlino
57d1cba40c
Share the logo / map changer in the 3 modes too
2021-08-26 09:18:13 -07:00
Dustin Carlino
d2afeb05ef
Organize the 3 modes a bit more explicitly.
...
Still need to share the logo / map switcher
2021-08-26 09:07:45 -07:00
Michael Kirk
f7703c0a43
label perf: other cleanup
2021-08-26 08:25:16 -07:00
Michael Kirk
9b527f1904
label perf: cheaper sloppier collision check
2021-08-26 08:25:16 -07:00
Dustin Carlino
0ad93819f7
Strip out some not-yet-ready stuff from the ungap tool:
...
- share proposal
- magnifying glass
- the "miles of new bike lanes" emphasis
and add:
- contents in the "about" popup
- address/business search
2021-08-26 08:20:41 -07:00
Dustin Carlino
b14d2d2bbf
Rebrand the tool, create new launch scripts for the binary release,
...
clippy.
[rebuild] [release]
(I'm not done just yet, but want to check the launch scripts)
2021-08-25 16:52:43 -07:00
Dustin Carlino
93fb9a274f
Organize bike lane buffer types into a dropdown ( #724 )
...
Organize lane types in the editor. All buffer types expressed as a dropdown, and lanes for moving/not moving are grouped.
2021-08-25 14:12:17 -07:00
Dustin Carlino
59f9c443d5
We need to recalculate the road editor fog of war upon edits, since the road width may change
2021-08-25 13:36:05 -07:00
Dustin Carlino
0b8e4d07dd
Road lane width card ( #736 )
...
* Show lane width in each lane card
* Stretch lane cards based on lane width, too
* lane sizing: adjust padding only - keep icon size (#738 )
* road editor design tweaks (#737 )
- regroup sections to avoid undesirable inner rounding
- move panel away from edge
- make tabs more obvious with "shadow" on bottom of unselected tabs
* Recalculate pathfinding before starting the route tool, since we lazily avoid doing that in the other ungap edit modes. This may become unnecessary when the route tool always does Dijkstra's with custom routing params, but we're not there yet, so it crashes currently
* Show lane width in each lane card
* Stretch lane cards based on lane width, too
* lane sizing: adjust padding only - keep icon size
previously when scaling the icons to fit, the size of the cards was
a little less obvious - plus the icons could become illegible.
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
Co-authored-by: Michael Kirk <michael.code@endoftheworl.de>
2021-08-25 13:35:07 -07:00
Dustin Carlino
25b5ac2037
Recalculate pathfinding before starting the route tool, since we lazily avoid doing that in the other ungap edit modes. This may become unnecessary when the route tool always does Dijkstra's with custom routing params, but we're not there yet, so it crashes currently
2021-08-25 12:31:47 -07:00
Michael Kirk
ae80eb2509
road editor design tweaks ( #737 )
...
- regroup sections to avoid undesirable inner rounding
- move panel away from edge
- make tabs more obvious with "shadow" on bottom of unselected tabs
2021-08-25 12:21:05 -07:00
Dustin Carlino
9761373c4b
Don't recalculate map hover state in the middle of dragging
2021-08-25 11:47:10 -07:00
Dustin Carlino
718725c671
Fix #731 , weird lane swap
2021-08-25 11:26:48 -07:00
Dustin Carlino
c298124dcc
Ditch the outline showing the current road being edited. Instead, focus a cone of light on the road and add fog-of-war to the rest of the map. ( #735 )
2021-08-25 11:19:49 -07:00
Dustin Carlino
dd27098ca8
Recalculate the hovered lane in the road editor very carefully. Any time ( #734 )
...
* Recalculate the hovered lane in the road editor very carefully. Any time
the map is edited, lane IDs change. There were many possible crashes
before.
* Don't deselect lane when clicking in screen-space
2021-08-25 11:16:16 -07:00
Dustin Carlino
f64cd89f26
When no lane is selected, the hotkeys add a new lane. When a lane is selected, those hotkeys modify the current lane. (It's very disorienting to click a lane, hit 'b', and see a new bike lane instead of the modified one.
2021-08-25 10:51:57 -07:00
Dustin Carlino
2443479ad2
Flatten the lane width controls into a single row, now that there's more room
2021-08-25 10:15:51 -07:00
Michael Kirk
f211713235
road editor style changes
...
1. "drill down" - so attributes applying to the entire road are up top,
while attributes applying to only a single lane are below.
2. use "tab" metaphor to treat each lane as a tab, showing the lane
attributes beneath the "active" lane-tab.
2021-08-25 09:58:06 -07:00
Michael Kirk
fc901c3d2f
sections should have padding
2021-08-25 09:36:16 -07:00
Michael Kirk
f15a40efd9
Uniform heights for legend items
2021-08-25 09:33:51 -07:00
Dustin Carlino
6c3ce23e5f
Use a cross-hatch pattern to show edited roads, instead of that bizarre
...
cyan.
For the moment, just to simplify things, bake the edited color into the
bike network layer. Probably will split it out later, maybe moving the
proposal management to the legend row.
2021-08-24 15:50:19 -07:00
Dustin Carlino
78222ffadb
Preserve the same Layers object through all the states of the ungap tool. Do this by a "new" Transition that's allowed to consume the current state.
...
Alternatives considered:
- put Layers in the App struct, since it's shared -- but only for the
ungap tool. It'd be nice to split it into its own standalone crate now,
but it'll be some work to refactor edit mode out of game.
- put Layers in App session
2021-08-24 14:37:16 -07:00
Dustin Carlino
f5c47d6c8f
Make the layers panel only show bike network legend when enabled.
...
(Steep streets legend still gets lost sometimes)
2021-08-24 13:45:49 -07:00
Dustin Carlino
640489459a
Splitting out code for managing the bottom-right panel with all of the layers.
...
Then we can include it in the quick sketch and route planner tools.
2021-08-24 13:22:58 -07:00
Dustin Carlino
06b74dbe55
Refactor the steep streets layer, add it as an option to the ungap tool.
...
Code and usability issues accumulating as more things cram into this
view... tackling that next.
2021-08-24 11:52:16 -07:00
Dustin Carlino
bddbe8af99
Followup to #728 : highlight lanes on map when hovering on the cards
2021-08-24 10:58:04 -07:00
Dustin Carlino
b5015143cb
Small drag-and-drop typo fixes
2021-08-24 10:27:43 -07:00
Michael Kirk
4e93b34ded
restore proper shape/size/color/highlights of lane cards
2021-08-24 10:27:43 -07:00
Dustin Carlino
b9b0ac5bb7
Very roughly express the road editor lane cards with DragDrop
2021-08-24 10:27:43 -07:00
Dustin Carlino
d4e19a990e
Better default placement of new routing waypoints
2021-08-23 19:21:41 -07:00
Dustin Carlino
b2f30fa192
Add some more metrics for a route, related to safety
2021-08-23 19:02:44 -07:00
Dustin Carlino
7e3802a519
Add elevation details to routing results
2021-08-23 18:02:29 -07:00
Dustin Carlino
a05a4f534c
Plug in the routing, with a basic results info panel
2021-08-23 16:44:49 -07:00
Dustin Carlino
8f485667fd
Start a new UI for routing. Just managing waypoints
2021-08-23 13:44:21 -07:00
Dustin Carlino
fbd173408e
Import new Seattle OSM data with a bunch of fixes around Aurora, and actually disable parking in the Aurora maps
...
Remove Queen Anne from prebaking -- it trips some crash with waking up
following vehicles that I'm not going to dig into right now.
2021-08-22 19:50:47 -07:00
Dustin Carlino
996a3f30b3
Enable hotkeys for adding a new lane to a road. I don't remember why we weren't doing this before; it's really useful.
2021-08-21 19:23:19 -07:00
Dustin Carlino
790bdc2ef9
Show change to total road width, with disclaimers
2021-08-21 16:57:56 -07:00
Dustin Carlino
047ced16be
Improve heuristics for adding buffers to a bike lane
2021-08-21 16:24:26 -07:00
Dustin Carlino
b276178b4b
Refactor add_new_lane heuristics, hopefully without changing behavior...
2021-08-21 15:38:54 -07:00
Dustin Carlino
f8a209724c
Add some tests for adding a new lane to a road, in preparation to refactor / improve the heuristics. Closes #635
2021-08-21 15:32:14 -07:00
Dustin Carlino
7f9205598a
Just split out road editing heuristics, to keep the main module focused on the UI
2021-08-21 15:22:32 -07:00
Dustin Carlino
816e125cbe
Refactor some stuff related to unit tests for a road's lanes. #635
2021-08-21 15:17:57 -07:00
Dustin Carlino
657185c035
Fix a road editor crash:
...
1) click a lane
2) press left/right arrow key to move it
3) don't move the mouse! click
The current selection was never refreshed, but the lane IDs change
2021-08-21 10:44:23 -07:00
Dustin Carlino
ed7cf8515f
Make it more obvious the route can be dragged
2021-08-20 15:39:43 -07:00
Dustin Carlino
c08645011d
The street name rewriting case I was afraid of has ALREADY turned up,
...
because of course it has
(and fix rebase)
2021-08-20 15:18:54 -07:00
Dustin Carlino
4ad652fce5
Use SVG to create a text outline for labels
2021-08-20 15:14:41 -07:00
Dustin Carlino
e302100a9a
Space out labels more aggressively: no overlapping
2021-08-20 15:14:41 -07:00
Dustin Carlino
28b9702032
Scale text at low zoom
2021-08-20 15:14:41 -07:00
Dustin Carlino
f584603065
Fix label backgrounds when rotated.
...
And make the labels an optional layer -- at least for temporary
development.
2021-08-20 15:14:41 -07:00
Dustin Carlino
d5a28a745f
Shorten road names
2021-08-20 15:13:31 -07:00
Dustin Carlino
b575a0d346
Quick heuristic for spacing labels out a bit
2021-08-20 15:13:31 -07:00
Dustin Carlino
0931b0f245
The absolute mvp of unzoomed road labels
2021-08-20 15:13:31 -07:00
Dustin Carlino
cb2617ce1e
UX feedback on the quick-sketch tool:
...
- name it more clearly
- don't show the "finalize" button until it's possible to use it
2021-08-20 15:12:26 -07:00
Dustin Carlino
c3e35a9a3f
Stop accidentally overwriting Seattle collision data in the KML viewer
2021-08-20 12:49:25 -07:00
Michael Kirk
e124f21317
map explorer: add zoom buttons near legend ( #726 )
2021-08-20 12:47:19 -07:00
Dustin Carlino
cbc5820d4f
UX feedback: for the contour layer, less opacity and less bold contour lines
2021-08-20 09:39:05 -07:00
Dustin Carlino
f3a216e935
Toggle bike network layer too in the new tool; we're probably using this
...
for a workshop presentation mode, and it's not always necessary
And also, remove the 'nearby stuff' layer -- the isochrone is super
broken, and it's unclear how this is supposed to help contextualize.
2021-08-20 09:31:50 -07:00
Dustin Carlino
135e85d06d
Force some distance spinners to render in feet
2021-08-19 10:49:10 -07:00
Dustin Carlino
a297937ffa
Add a free-form lane width spinner, alongside the dropdown with presets.
...
Achieves immediate goal of more control, but:
1) it reveals how painfully slow lane editing is!
2) the units are always meters in the spinner, which don't look great
2021-08-19 10:38:19 -07:00
Dustin Carlino
5bd9d1d711
Only enter road editor from zoomed view. It's too easy to accidentally click while unzoomed.
2021-08-18 13:44:17 -07:00
Dustin Carlino
70c6d47c13
Track locally which proposals have been uploaded, to avoid uploading copies of stuff uselessly. Not quite working, but big step forwards.
2021-08-18 10:23:20 -07:00
Dustin Carlino
1285b44668
Highlight road types when hovering on the legend
2021-08-17 10:55:36 -07:00
Dustin Carlino
b5a42ea448
Improve the bike network legend's layout, to show hierarchy
2021-08-17 10:37:19 -07:00
Dustin Carlino
c716dc3b2c
Cutover proposal host to the prod appengine one!
2021-08-16 20:49:14 -07:00
Dustin Carlino
3d710afba2
Update the URL for the new bike network tool, including with edits.
2021-08-16 16:30:47 -07:00
Dustin Carlino
90a1d2ff83
Initially launch with edits loaded remotely
2021-08-16 16:00:01 -07:00
Dustin Carlino
090256668e
Get the HTTP POST working on wasm too
2021-08-16 14:22:57 -07:00
Dustin Carlino
01fbfd37ae
Hook up ungap tool to YIMBYhoodlum, saving proposals.
...
(Native only, might need some work to get this working on wasm...)
2021-08-16 13:26:49 -07:00
Dustin Carlino
07e738905c
Color intersections in the ungap tool, so the coloring looks less
...
choppy.
Remove the "click to zoom" -- it's too easy to accidentally do this.
2021-08-15 11:05:17 -07:00
Dustin Carlino
5287308f6f
Fix broken web build.
...
- I accidentally enabled something to debug map serialization, which
broke in wasm -- fast_paths not meant to be serialized there, only
deserialized.
- makefile for interactive development copied directories slightly wrong
Also picking up a slight UI panel change to the bike network tool from
days ago.
Also probably time to [rebuild] [release]
2021-08-15 09:05:41 -07:00
Dustin Carlino
8101324fa5
Improve heuristics slightly for quick sketching a bike network on roads without parking, but with many lanes.
2021-08-12 10:31:59 -07:00
Dustin Carlino
d392c67c00
Start unit tests for the quick bike sketch tool, to understand how lane transformations work
...
(And fix bucketize tests, which just haven't been run in a bit)
2021-08-12 09:47:40 -07:00
Dustin Carlino
19134163dc
Fix ungap crash -- no need to explain what changed/edited roads are.
2021-08-10 09:20:54 -07:00
Dustin Carlino
207f91a018
Thicken lines in unzoomed view; stop trying to show which side of the road has lanes.
2021-08-08 11:37:23 -07:00
Dustin Carlino
1787611f56
More ergonomic route sketcher:
...
- still zoom when hovering on points
- more clearly show nodes being dragged
2021-08-08 10:00:44 -07:00
Dustin Carlino
9b4107f061
Track when a map is edited and update things better, in both the game's edit mode and the new tool.
2021-08-08 09:22:32 -07:00
Dustin Carlino
a393f4f66c
Merge view/edit mode
2021-08-07 21:33:51 -07:00
Dustin Carlino
b59419ea84
Just rearrange code, in preparation for merging edit mode and the main explore map mode
2021-08-07 10:35:54 -07:00
Dustin Carlino
22dfb616a3
Split the route sketching out to a dedicated state, instead of squishing into edit mode. The dropdown value changing and being able to suddenly open a proposal in the middle doesn't make any sense.
2021-08-07 10:21:18 -07:00
Dustin Carlino
fdea0c8a91
Sort edits better -- untitled's to the back of the line, please
2021-08-07 10:02:49 -07:00
Dustin Carlino
51367088df
Adding a 'nearby houses and shops' feature to the bike network tool
...
Results have major issues, probably going to leave this out of v1.
2021-08-06 20:05:04 -07:00
Dustin Carlino
e9aaeb8675
Load/save edits from new tool
2021-08-06 15:42:35 -07:00
Dustin Carlino
fe4adb9691
A thin veil of mist...
2021-08-06 15:19:20 -07:00
Dustin Carlino
20b8e7f94a
Show edits. Regenerate layers on changes.
2021-08-06 14:47:05 -07:00
Dustin Carlino
96c55a067b
Magnify while editing. Not feeling skeletal commit messages...
2021-08-06 14:20:03 -07:00
Dustin Carlino
190eaef251
Swap a femur with a tibia. A questionable trade, but I'm calling it
...
progress.
2021-08-05 18:51:19 -07:00
Dustin Carlino
116198e863
Revive the ability to render in greyscale with the fragment shader, for quicker color scheme tuning...
2021-08-05 15:37:49 -07:00
Dustin Carlino
b080c70d83
Sinew is meant to stretch.
2021-08-05 14:06:11 -07:00
Dustin Carlino
85b46e2dfa
Set the default width of a newly added lane better. #597
2021-08-04 16:46:05 -07:00
Dustin Carlino
4bc8421066
There's more than devils in these details
2021-08-04 16:32:26 -07:00
Dustin Carlino
3bddceb275
Skeleton hands can't grasp the tip of tools, but they can refract the
...
gaze of the living...
2021-08-04 15:56:44 -07:00
Dustin Carlino
78f37e68e9
Broad strokes for fleshless folks
2021-08-04 13:46:34 -07:00
Dustin Carlino
1585eed66f
Don't keep jamming the same button for the skeletonvator, that doesn't help
2021-08-04 10:51:31 -07:00
Dustin Carlino
4935ea4fd6
Come take a ride on my skele-skeletonvator
...
(I am so sorry)
2021-08-03 22:33:06 -07:00
Dustin Carlino
82865b4e08
The skeleton is already feeling conscious about its appearance, so early
2021-08-03 22:08:10 -07:00
Dustin Carlino
46eb26fd5c
The skeleton begins to cover some of its bones
2021-08-03 19:23:28 -07:00
Dustin Carlino
a12c894eb5
The skeleton is implored to peek at its innards... (but skeleton bones
...
aren't polished)
2021-08-03 19:23:28 -07:00
Dustin Carlino
c019304ee3
A skeleton emerges, from whatever sort of place skeletons lurk
2021-08-03 19:23:28 -07:00
Dustin Carlino
e687dd0391
Automatically collapse more degenerate intersections. Manually tested
...
around the university bridge. Still far to go, but progress.
Not regenerating yet.
2021-08-02 12:06:47 -07:00
Dustin Carlino
314bed3d83
Adjust traffic signal editor icons, since they blended into the new grey scheme. #715
2021-08-01 12:36:37 -07:00
Dustin Carlino
2ae6dea692
Upgrade to rust 1.54, fix new clippy warnings
2021-07-30 09:48:31 -07:00
Dustin Carlino
c98b4f293e
Regenerate all maps after last few changes. Split out the actdev scripts to more easily regenerate actdev scenarios. This is necessary if map intersection IDs change, for instance.
...
Rainier Valley starts crashing in the simulation! Not sure why the
regression happened, disabling for now, will look into it later.
2021-07-29 14:19:46 -07:00
Dustin Carlino
4547395067
Move the cycleway snapping step to happen just before RawMap->Map, so we can play with it in the map_editor. #330
2021-07-27 11:20:57 -07:00
Dustin Carlino
163244ace9
Trim dead-end cycleway and service road stubs. Not regenerating yet, but
...
spot checked in Tempe and the UDistrict.
2021-07-27 11:13:47 -07:00
Dustin Carlino
de5b7e7d43
Adjust colors and tooltips for multi road editor. #718
2021-07-26 12:59:45 -07:00
Dustin Carlino
9366116c9b
Add a location button to the road / multi road editor. #718
2021-07-26 12:50:20 -07:00
Dustin Carlino
c5e769d276
Start a very basic binary classifier for high-stress cycling road, with a layer to check it. Use this to filter the mode shift dashboard -- effectively revealing PCT-esque gaps in the infrastructure. #448 , #494
2021-07-26 10:48:00 -07:00
Dustin Carlino
06429d0d5f
In the mode shift dashboard, show roads that might be highly used by converted trips... but that're missing bike infrastructure. #448
2021-07-26 10:41:51 -07:00
Dustin Carlino
d03d1b1305
When you change a lane type, also adjust to the default width for the new type. #597 ( #714 )
2021-07-25 16:05:51 -07:00
Dustin Carlino
0bce76e172
Parallelize commuter pattern calculation, to speed up the new concave hull algorithm on native
2021-07-25 10:20:27 -07:00
Michael Kirk
760d75e12a
Use concave hull for neighborhoods ( #716 )
...
Also, for sidewalks, interpolate points every n-meters to get a better
concave hull.
2021-07-25 10:11:12 -07:00
Dustin Carlino
b45f9e0134
Create new lane types to express different types of buffers for prote… ( #704 )
...
* Create new lane types to express different types of buffers for protected bike lanes. They're only created manually right now, to explore rendering.
* Update planter rendering
* Update planter - simplify
* fmt after merge
* Fixing up existing rendering
* Add curb buffer
* Adjust stripes
Co-authored-by: Robin Lovelace <rob00x@gmail.com>
2021-07-23 11:31:36 -07:00
Dustin Carlino
c5210e9887
Actually, keep the broken list of ways, to manually run with backtraces
2021-07-20 11:36:53 -07:00
Dustin Carlino
8dff4c5da5
If we fail to merge a road from debug mode, rollback the change to the JSON list of ways to merge. #654
2021-07-20 11:21:38 -07:00
Dustin Carlino
d10d8ceb33
Clean up code and regenerate everything with new the consolidation algorithm... #654
...
Phinney gridlocks again; 68daa6884a
was
too ambitious. Otherwise all fine!
2021-07-19 15:07:10 -07:00
Dustin Carlino
68daa6884a
Phinney and Wallingfjord don't gridlock right now, so opt them back into prebaked results
2021-07-18 22:58:22 -07:00
Dustin Carlino
9b40186c9c
Avoid crashing when editing a stop sign near a tiny road. #707 [rebuild] [release]
2021-07-18 14:20:24 -07:00
Dustin Carlino
98978fa600
Remember which dashboard was open, and return to it when pressing 'more
...
data.' This makes it slightly less jarring to click on a specific trip
in a table or matrix, then return to the dashboard. Future work will
also remember filters/pagination of individual tables, maybe! (Since the
dashboards change over time, this might be weird.)
This also required adding a proper way to pick the dashboard from two of
the full-screen map dashboards. Otherwise, somebody would pick them and
get stuck!
2021-07-18 14:14:19 -07:00
Dustin Carlino
f6a94e8a58
Allow DrawWithTooltip to return custom data instead of string labels.
...
CloneableAny revived from e35c69f6f3
2021-07-18 14:14:19 -07:00
Dustin Carlino
ceff520ff4
Use the unedited map for elevation when viewing before edits. Fixes a crash when turns don't exist.
2021-07-18 14:14:19 -07:00
Dustin Carlino
2354ffa59d
Don't make cells with 0 entries clickable
2021-07-18 14:14:19 -07:00
Dustin Carlino
942f2292fc
Steps towards clicking cells in the problem matrix to explore trips with differences. #600
...
- Add optional clickable labels to DrawWithTooltips
- Wire up problem_matrix to remember the list of trips associated with
each cell
- When clicking a cell, just open one arbitrary example trip
2021-07-18 14:14:19 -07:00
Dustin Carlino
d142b4fbd0
Refactor lots of the places walking along a PolyLine with a step size
...
Verified no behavioral change using the screenshot test. (Which only had
the driveway diff from b3ce53aa5f
)
2021-07-16 14:17:08 -07:00
Dustin Carlino
9828006bcc
Avoid a crash when editing very short roads. #703
2021-07-16 12:53:37 -07:00
Dustin Carlino
16f7796c68
Comparing paths before/after edits requires the unedited map.
...
Previously, this was done through an incredibly complicated dance of
loading the map file again when needed. This was slow (especially on
web!), made the InfoPanel API have a bizarre edge case, and even had
some way of crashing if you open a trip panel in some situation.
Rip all that nonsense out. The unedited map can just be cloned before
applying the first edit.
2021-07-15 23:01:35 -07:00
Dustin Carlino
ff310af3d1
Consistently follow rules for whether a lane can be edited. #597
...
Allow sidewalks, shoulders, and center turn lanes to be edited now.
Still don't touch service roads or light rail.
2021-07-15 18:21:49 -07:00
Dustin Carlino
b3ce53aa5f
Draw building driveways per zoomed-in road, rather than as one map-wide batch. Otherwise, every single edit to road width needs to redraw all driveways. This doesn't scale with larger maps!
...
When zoomed in on just a building but not its road, this means the driveway won't show up until the road is in view. Acceptable trade-off.
2021-07-15 18:05:04 -07:00
Dustin Carlino
10fdaa8e92
estimate_duration already knows the mode, from the PathRequest
2021-07-14 12:38:19 -07:00
Dustin Carlino
9c3fe9e229
Add filters to the mode shift table. #448
2021-07-14 12:31:54 -07:00
Dustin Carlino
03d21c4fe9
A first mode-shift experiment: create a table of trips showing expected
...
time to drive/bike, the elevation profile, and the distance. #448
2021-07-14 12:17:03 -07:00
Dustin Carlino
149df630d4
Fix web build -- have to WASM-guard the debug tool that calls the importer
2021-07-13 23:00:45 -07:00
Dustin Carlino
38be4c0f68
Fixing small style/clippy problems and kicking off a [rebuild] [release]
2021-07-13 22:52:56 -07:00
Michael Kirk
7bf3f03251
add y-axis to aggregate duration table
2021-07-13 22:51:18 -07:00
Michael Kirk
43a3f2cdc2
round duration strings to largest unit
2021-07-13 22:51:18 -07:00
Dustin Carlino
14a0e005c8
Make sliders trigger Outcome::Changed, except for scrollbars. Manually
...
verified this doesn't break or slow down existing uses of sliders.
2021-07-13 12:36:54 -07:00
Dustin Carlino
e20ce2d041
While modifying a scenario, show how many trips match the filter.
...
(Except not updating the filter when changing sliders yet...)
2021-07-13 10:44:20 -07:00
Dustin Carlino
3d5955c2b6
Hardcode infinite parking option for a few maps. #688
...
This is an interim option until we decide whether this setting belongs
on the map, the scenario, or something else.
2021-07-13 09:03:07 -07:00
Dustin Carlino
aa5baa57de
Get less confused when switching back&forth between two debugged maps
2021-07-11 15:21:59 -07:00
Dustin Carlino
e750048141
Improve intersection merging workflow by hiding popup msg for successful imports #654
2021-07-11 13:41:29 -07:00
Dustin Carlino
2224dccda9
Add a tool in the main UI to try to merge junctions. #654
...
It maintains a JSON file of ways to merge that the importer also uses.
For maps fast to import, this is the nicest workflow. Unlike map_editor,
turns and trimmed roads can also be checked.
2021-07-11 13:19:00 -07:00
Dustin Carlino
2d16f5d878
Get the crazy pathfinding revamp to work
...
- initialization order
- reusing node ordering and applying edits
Importing, editing the map, and the basic scenario seem OK! --skip_ch
breaks, because of the lack of serialization
2021-07-10 17:14:10 -07:00
Dustin Carlino
da704b4546
Extend the parking thought bubbles to handle people climbing steep hills.
...
(And some clippy fixes)
2021-07-10 17:14:10 -07:00
Dustin Carlino
184593094e
Also round up the X axis for the elevation plot, and lower the number of
...
line plot labels by default
2021-07-09 09:23:56 -07:00
Dustin Carlino
2fad01d729
Use a fixed maximum for the Y scale of the elevation profile, based on a
...
map's max height. This helps compare elevation profiles before/after map
edits.
2021-07-09 09:23:56 -07:00
Dustin Carlino
c5113b868c
Let one vehicle attempt to lane-change around another vehicle on every
...
lane that they're stuck behind them. Only record a risk exposure event
the first time, but let passing happen anywhere. #382
Also add scenario name to PrebakeSummary, to disambiguate the Poundbury
results.
2021-07-07 21:20:06 -07:00
Dustin Carlino
fffd323cb4
Refactor the monstrosity that is App setup
2021-07-07 11:26:55 -07:00
Dustin Carlino
2d1368fe13
Revive some form of the ancient A/B test mode, where two maps can be swapped quickly. Using this for more rapidly testing intersection consolidation algorithms. #654
2021-07-07 10:14:48 -07:00
Dustin Carlino
ed59a8a386
Reimport all actdev scenarios, and restore Poundbury prebaked data. This was temporarily broken by a JSON format change ( a-b-street/abstr#29 )
2021-07-06 15:29:51 -07:00
Dustin Carlino
964cc23df8
Improve 3-way signal timing by explicitly specifying crosswalks. This
...
fixes a very dramatic problem in the Green Lake map.
Regenerating everything...
Also added total trip time to the prebaked summary, to get a quick sense
if a change net helps or hurts and have a record in version control.
2021-07-06 14:37:50 -07:00
Dustin Carlino
fe49a093e6
Add a revert button to the road editor. #597
2021-07-06 13:00:11 -07:00
Dustin Carlino
3a53380c46
Don't block after launching JSON viewer. Often I want to find an ID in
...
the JSON somewhere, then warp to it.
2021-07-06 11:49:44 -07:00
Dustin Carlino
3db4c827b8
Draw building outlines in unzoomed view also. It's a subtle effect, but important in dense areas like Sao Paulo.
2021-07-06 09:53:13 -07:00
Dustin Carlino
f37e71236f
Some fixups to the regenerated data from the past two commits:
...
- handle when the equiv_pos of a driveway gets too close to the edge of
another lane
- make the updater workflow handle files from S3 that're a bit older
- remove pathfinding_avoiding_roads
- strip out old vehicle capping from map edit JSON, then fix up
proposals
- delete old capping API example
- temporarily give up on phinney; it starts gridlocking
- add broadmoor proposal link in-game
2021-07-05 17:51:40 -07:00
Dustin Carlino
a0dcc255c3
Rip out all congestion capping code. #325
...
This collaboration is abandoned, the code slows down refactoring, and
if we started this idea again today, it'd be better to do it from
scratch anyway.
Regenerating everything.
2021-07-05 11:15:31 -07:00
Dustin Carlino
bae86bf885
Add a debug tool to visualize equiv_pos, before trying to improve this for curvy roads.
2021-07-05 10:16:39 -07:00
Dustin Carlino
6039063d28
Add a debug tool to dump JSON for different objects and open up with an external viewer. [rebuild] [release]
...
And fix some clippy problems
2021-07-04 15:32:49 -07:00
Dustin Carlino
95ffa62218
Fix the unparking position. When we exit a driveway in EITHER direction,
...
we need to adjust the start position to account for the vehicle's
length.
Also add a very convenient debug tool to understand positions along
lanes.
This probably breaks static blockages; I'll check into that next.
2021-07-04 14:34:20 -07:00
Dustin Carlino
bf316fa99c
Fix a crash in the trip info panel. If you happen to open a trip of a
...
car waiting to spawn, its total path distance is briefly 0.
Also silence the lane-changing info for the moment, until work resumes
there.
2021-07-03 08:28:16 -07:00
Dustin Carlino
160d65ca28
Try loading a built-in proposal with --edits, if player data is missing.
2021-07-02 13:14:08 -07:00
Dustin Carlino
6c1c6a3235
Fix crash when changing speed limit. At some point, we started changing lane IDs for every road edit and never updated this. Closes #685
2021-07-02 11:54:59 -07:00
Dustin Carlino
4fd86c8a41
Entering edit mode is slow on large maps, because clearing the simulation recreates parking state for every building. Parallelize it to speed it up at least a bit.
2021-07-02 11:47:05 -07:00
Dustin Carlino
866ecd5f88
Fix a bug in efaf6085e4
that was using walking paths for vehicles. Now prebaked data doesn't budge.
...
And add some more timing to demonstrate why editing a single lane in a
huge map is so slow...
2021-07-02 11:25:02 -07:00
Dustin Carlino
f4c8a508da
Keep a JSON file with a summary of prebaked simulations, to more easily detect regressions with broken trips.
2021-07-02 10:07:37 -07:00
Dustin Carlino
4f00c8d2bb
Phinney runs without gridlock again, so re-enable it. Pretty sure
...
f57278e9cd
fixed it.
2021-06-30 16:51:03 -07:00
Dustin Carlino
efaf6085e4
Prepare for exiting driveways on the off-side by switching to
...
specialized PathRequest constructors
2021-06-30 12:35:22 -07:00
Dustin Carlino
137e9a0c2c
Fix up some places affected by the f64 serialization:
...
- offstreet_parking_length in importer config
- backwards compatibility for map edits
- fixing up the baked-in proposals
- working around a few PolyLine bugs that happen with the new rounding
- Don't regenerate actdev scenarios yet -- the upstream JSON format is
out of date, will have to fix separately.
2021-06-30 06:35:42 -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
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
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
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
Rémi Lauzier
1a4b997818
Fix some clippy warnings
2021-06-16 16:21:35 -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
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
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
Dustin Carlino
972f5b0187
Lower the priority of service roads when placing stop signs
...
Regenerate all data. Wallingford started gridlocking due to this change;
plowing ahead and will follow up and fix it.
2021-06-11 09:40:44 -07:00
Dustin Carlino
18ff0eefc0
Store Turns per Intersection, instead of a massive BTreeMap. #368
...
Minimal file size savings, but substantial runtime improvement!
2021-06-11 09:40:44 -07:00
Dustin Carlino
cabee219db
Fix some crashing spinners; the rust compiler inferred the wrong numeric type. #674
2021-06-10 18:21:24 -07:00
Dustin Carlino
fc4f0a8c8e
Some Tempe fixes:
...
- Stop importing rail in Tempe. Not simulating anything on it yet, and it complicates gridlock. #672
- Update the GMNS timing.csv import based on slight format change. #626
2021-06-09 16:35:46 -07:00
Dustin Carlino
d827673ace
Periodically free memory in the middle of screenshot test, to avoid
...
running out on my current machine. Fixes #671 .
Finally regenerate screenshots for the first time in ages... just
blindly accepting everything, because the slightly different screen size
means everything was slightly shifted down.
2021-06-09 14:31:40 -07:00
Dustin Carlino
889c500eb1
Force geojson to use geo-types feature everywhere. This lets different
...
binaries properly share workspace dependencies.
See
https://www.reddit.com/r/rust/comments/nvd6y7/common_crates_in_cargo_workspace_recompiled_due/
for the full story behind this mess.
I'm going to keep repeating this process until I get game and importer
to share dependencies again.
2021-06-09 09:48:53 -07:00
Dustin Carlino
a38125ad2c
Adjust multi road editor more -- custom cursor icons for select/unselect
2021-06-03 15:23:55 -07:00
Dustin Carlino
8721c4f6d9
When the desktop version is old, have a button to go directly to the releases page to grab a new one
2021-06-03 09:14:17 -07:00
Dustin Carlino
bf2e4be2a2
Adjust road editor based on real live coffeeshop feedback:
...
- "x/y similar segments" to relate to explanatory text about lane
configurations below
- "edit multiple" -> "apply to multiple", since you have to change the
road first
- start with all candidates selected
2021-06-03 09:02:12 -07:00
Dustin Carlino
b1150c9524
Export raw CSV data about problems per trip, for a data analyst to explore possible dataviz in their more familiar tools
2021-06-02 19:23:48 -07:00
Dustin Carlino
c9e4f754e1
Fix a crash in the problem map layer, caused by checkboxes getting out of sync
2021-06-02 16:26:04 -07:00
Dustin Carlino
ef4ea01c71
Add a button to import all traffic signals map-wide from a timing.csv file, reporting the total number of successes and failures. #626
2021-06-02 12:18:24 -07:00
Dustin Carlino
d2ecab44a7
Be sure to validate signals before committing the results, since GMNS imports aren't validated upfront. #626
2021-06-02 11:40:54 -07:00
Dustin Carlino
cd66d7209e
Automatically fill out crosswalks to the GMNS signal import. #626
2021-06-02 11:13:30 -07:00
Dustin Carlino
dc1ce15c30
Heavily penalize GMNS snapping if the bearing doesn't match the movement. #626
...
University/Mill looks great now.
2021-05-28 15:56:04 -07:00
Dustin Carlino
30a317cf94
Make the KML viewer be able to inspect multiple overlapping objects. Useful for GMNS timing.csv files. #626
2021-05-28 15:21:07 -07:00
Dustin Carlino
4227371bbe
Rewrite the GMNS signal movement snapping algorithm. Instead of
...
independently picking the best match for "from" and "to", it considers
all vehicle movements, and minimizes "turn_type_cost * (from_cost +
to_cost)", using a hint about turn type to correct for geometry
mismatches at consolidated intersections. #626
Gets better results in Tempe at University and Mill, at least.
2021-05-28 14:55:53 -07:00
Dustin Carlino
5aa00955f9
Clean up the timer.parallelize API, getting rid of the weird enum to
...
toggle how many CPUs to thrash. We always use all of them, except for
one case, where a separately named method is more clear. Also make that
variation use all but 1 CPU, instead of just half.
2021-05-27 17:47:22 -07:00
Dustin Carlino
53430319b1
Filter out trips between the same place. Regenerate all Britain background scenarios. Fixes #664
2021-05-27 07:57:25 -07:00
Dustin Carlino
455399b90e
Collapse degenerate intersections between cycle+footpaths. At various
...
times in the past, I've also tried doing this for other roads, but wound
up reverting for reasons only git remembers. But it seems like an
obvious win for bike paths; especially around Seattle, the ways are
split because of all of this raised curb data we're ignoring anyway.
Tested manually around Montlake.
Finally regenerating all data... Only Phinney breaks. One for tomorrow.
2021-05-26 22:27:29 -07:00
Dustin Carlino
3a68e5677f
Allow all vehicles to use bus-only lanes that also happen to be turn lanes. #555
...
There are some caveats with the implementation commented inside.
Verified manually in Montlake -- down to just 122 cancelled turns!
Still not regenerating...
2021-05-26 19:13:14 -07:00
Dustin Carlino
e4a95b604e
Fix Rainier Valley gridlock, fallout from #664 .
...
https://www.openstreetmap.org/changeset/105381427 mapping a turn lane is
the fix, preventing crazy U-turns using the service road. Not sure how I
missed that lane when looking here before. I made the edit to .osm
locally instead of grabbing fresh data for all of Seattle.
2021-05-26 15:02:20 -07:00
Dustin Carlino
9fc79b1089
Use explicit start/endpoints for trips in scenarios. This is necessary
...
for people that leave one border, then re-enter a different one. #664
Alternative considered: insert a dummy remote trip between the two
borders. We used to do something like this at non-trivial code
complexity expense and having to explain the trip in the UI.
Regenerated all scenarios and prebaked data.
- Modest file size increase, as expected. Montlake scenario goes from
1.3MB to 1.5, downtown from 37MB to 43MB, all Seattle scenarios from
280MB to 327MB
- Eyeballed a few of the previously broken trips; they work now!
- Montlake goes from 3127 cancelled trips to just 302!
- No new gridlock, except in Rainier Valley -- disabling that for now
- I discovered missing validation in Poundbury for no-op trips between
the same building. I'll filter those out and restore prebaked results
there in a followup.
2021-05-26 14:30:01 -07:00
Dustin Carlino
3b375078b1
Prebake data until the simulation is done, not just until midnight. That
...
way, we have trip stats for people starting near the end of the day, and
we stop incorrectly showing failed trips when comparing.
Prebaked data: no change in size (245MB)
Montlake: 3135 "cancelled" trips -> 3127
Lakeslice: 6766 "cancelled" trips -> 6647
2021-05-26 10:22:09 -07:00
Dustin Carlino
c95a0b0f64
Handle another case for creating multiple left/right turns at an intersection. Use the new validation for connectivity at an intersection and give up on using OSM turn restrictions in some cases.
...
39 problems in Montlake down to 33, but regressions on some of the LCing unit tests...
2021-05-25 20:24:11 -07:00
Michael Kirk
93c56f4ded
make clippy happy
2021-05-25 16:06:39 -07:00
Michael Kirk
cba8ba761b
update drawn problems when switching before/after
2021-05-25 16:02:26 -07:00
Michael Kirk
11a49e7c55
Add "arterial crossing" risk for pedestrians.
...
Also:clarify "Complex" vs "Large" intersection, which is now ambiguous.
2021-05-25 16:02:26 -07:00
Dustin Carlino
2f71751929
Add support for tooltips on disabled buttons. Use this to explain a f… ( #661 )
...
* Add support for tooltips on disabled buttons. Use this to explain a few pecularities of the road editor UI.
* Consistent tooltip storage
2021-05-24 15:05:32 -07:00
Dustin Carlino
cc344af231
Add a file-picker UI to import JSON scenarios easily
2021-05-24 14:55:11 -07:00
Dustin Carlino
13bb434249
Highlight the lane card when hovering on the lane in the map. #597
...
[rebuild] [release]
2021-05-23 10:06:45 -07:00
Dustin Carlino
a6e707eb8a
Upgrade more dependencies.
...
(Can't upgrade winit yet, because glutin doesn't have a crates.io
release that's caught up)
2021-05-22 16:36:57 -07:00
Vinzent Steinberg
a1899e29f8
Update dependencies ( #656 )
...
* Update dependencies
* Use github for polylabel, to make all dependencies use geo 0.18, not a mix of 0.18 and 0.17
* Downgrade lyon to avoid a crash
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2021-05-22 16:23:06 -07:00
Dustin Carlino
d85cd7f797
Per feedback in #659 , change the road editor to automatically compress
...
edits to a road before entering the zone editor. Users can use edit
mode's undo if they made a mistake. It's more fluid than prompting.
Use the same auto-compress flow to allow switching to different roads,
without leaving the road editor
2021-05-22 16:02:03 -07:00
Dustin Carlino
541c82a601
Add missing icon for shared left turns, preventing a crash
2021-05-21 14:34:04 -07:00
Dustin Carlino
d7d45b9052
Enforce parking lanes requiring a driving lane; the simulation crashes otherwise. #597
...
The enforcement is a bit more invasive, because there's a few ways of
getting into a bad state.
2021-05-21 14:34:04 -07:00
Dustin Carlino
644935114d
Enforce max 2 sidewalks and max 2 parking lanes per road. It was working
...
for adding new lanes, but not changing existing lanes. #597
2021-05-21 14:34:04 -07:00
Dustin Carlino
256d280f50
Delete the old lane editor. Jump straight into the new road editor, focused on a particular lane. #597
2021-05-21 14:34:04 -07:00
Dustin Carlino
548acc1024
Add access restrictions button to new road editor. #597
...
The design in Figma treats it like a dropdown, but I think we still need
the dedicated UI to draw the bounds of the access-restricted zone.
2021-05-21 14:34:04 -07:00
Dustin Carlino
a5ae881be5
Start to dismantle the old lane editor by moving the old bulk road
...
selector into debug mode. #597
Previously, it was used both to search/replace lane types and to
select roads, then dump them in various formats. Just preserve the
latter behavior.
2021-05-21 14:34:04 -07:00
Dustin Carlino
ef90721741
Fix missing study area polygons on the web. The refactor to Polygon::from_geojson_file introduced filesystem IO to the geom crate. Instead, we need to be explicit about how we do file IO.
...
Also fix some clippy errors
2021-05-20 14:33:04 -07:00
Dustin Carlino
922ec40a61
UX fixes for the multi-road editor:
...
- Disable the 'edit multiple' button if the current road hasn't been
changed yet
- Start with no other roads selected
- Add a "select all" and "select none" button
- Show the count of segments in the panel
2021-05-19 10:26:54 -07:00
Dustin Carlino
289475d894
Simplify multiple road editor:
...
- only handle roads with the same name
- use different colors for the 3 states
2021-05-19 10:26:54 -07:00
Dustin Carlino
a528409233
Create a UI to apply edits from one road to others with matching configurations. #597
2021-05-19 10:26:54 -07:00
Dustin Carlino
28afbe1224
Add hotkeys for lane types in the new road editor, but only for modifying an existing lane.
2021-05-19 10:26:54 -07:00
Dustin Carlino
11df7f79c7
In the travel times dash, retain the scroll state when toggling filters
2021-05-17 18:19:06 -07:00
Michael Kirk
94501e4699
size horizontal-divider WRT its parent size, not absolute window size
2021-05-17 18:19:06 -07:00
Michael Kirk
4e8136d4ff
delay chart on "travel times"
2021-05-17 18:19:06 -07:00
Dustin Carlino
1e3ed254a9
Reorganize canvas settings, so that they can actually be saved. #216
2021-05-17 13:12:45 -07:00
Dustin Carlino
1fe60eb8bb
Automatically save/restore user settings. #216
...
On a best-effort basis, of course. If the format changes, just start
fresh.
2021-05-17 10:34:13 -07:00
Dustin Carlino
d33a88281f
Handle fixed column names in timing.csv. #626 [rebuild] [release]
2021-05-16 11:12:39 -07:00
Dustin Carlino
ca400ae61b
Add a file picker for GMNS timing.csv. #626
2021-05-16 11:03:05 -07:00
Dustin Carlino
d6539f7449
Refactor file picker
2021-05-16 10:51:03 -07:00
Dustin Carlino
72d0e53fdc
Make ChooseSomething take a FnOnce callback, so we can avoid cloning at a few call-sites
2021-05-16 08:41:37 -07:00
Dustin Carlino
7a262fb25f
Set the gameplay mode correctly when loading from a savestate, so that prebaked results actually are loaded correctly
2021-05-15 17:11:31 -07:00
Dustin Carlino
27da792df6
cargo fmt
2021-05-15 16:28:50 -07:00
Vinzent Steinberg
ac62dde925
Prefer turbofish over temporary binding when collecting
2021-05-15 14:24:08 -07:00
Vinzent Steinberg
9d17faa878
Prefer slices over reference to owned type
2021-05-15 14:24:08 -07:00
Dustin Carlino
7767da39b9
Add fire icon to tutorial
2021-05-15 14:00:55 -07:00
Dustin Carlino
913f7b770f
Load prebaked results when restoring a savestate from the command line
2021-05-15 09:19:41 -07:00
Dustin Carlino
1edbca6509
Refactor most of the places extracting polygons from geojson files ( #644 )
2021-05-15 09:05:28 -07:00
Vinzent Steinberg
446a21696d
Fix most clippy warnings ( #646 )
...
* More conventional spelling of acronym identifiers
* `new` -> `new_state`
* Remove redundant field name
* Remove needless `collect`
* `to_controls` -> `make_controls`
* Simplify long if statement
* Fix module inception
* Simplify chained if let
* Return directly instead of creating a binding
* Disable clippy warning about `borrow` method
Implementing the `Borrow` trait instead would result in excessive type
annotations.
* Fix most remaining clippy warnings
* Allow clippy::type_complexity
* Fix bad merge from web editor
* Run cargo fmt
* Suppress large_enum_variant warnings
* Rename FYI state to ShowMessage
* Fix upper_case_acronyms warnings
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2021-05-14 17:31:32 -07:00
Michael Kirk
9fc2505df8
touch up "travel times" screen (formerly "trip summaries") ( #645 )
...
* touch-up scatter plot
* Bespoke bucket durations for faster/slower, rename duration summaries
* codify secondary text color per theme
* clarify axis labels apply to bar boundaries
* address clippy
2021-05-14 16:19:00 -07:00
Dustin Carlino
29c881ffc3
Switch from cargo +nighty fmt to the stable cargo fmt. Whatever edge-case formatting was happening with stable has been fixed
2021-05-14 08:39:51 -07:00
Dustin Carlino
efd10ac9b0
Fix build errors not caught by merge conflicts from #642
2021-05-14 08:37:46 -07:00
Vinzent Steinberg
fd3b0e2a14
Fix compilation failures and most clippy warnings ( #642 )
...
* abstutil: Fix compilation failure
* map_gui: Fix compilation
* traffic_signal_data: Fix compilation failure
* map_model: Fix compilation failure
* abstutil: Fix doctests
* abstio: Fix most clippy warnings
* abstutil: Fix most clippy warnings
* collisions: Fix clippy warning
* convert_osm: Fix clippy warnings
* sim: Fix most clippy warnings
* geom: Fix clippy warnings
* kml: Fix clippy warnings
* map_model: Fix most clippy warnings
* fifteen_min: Fix clippy warnings
* game: Fix many clippy warnings
* Disable some noisy clippy warnings
* headless: Fix clippy warnings
* importer: Fix clippy warnings
* map_editor: Fix clippy warnings
* map_gui: Fix clippy warnings
* osm_viewer: Fix clippy warnings
* parking_mapper: Fix most clippy warnings
* popdat: Fix clippy warnings
* santa: Fix clippy warnings
* sumo: Fix clippy warnings
* traffic_seitan: Fix clippy warning
* updater: Fix clippy warnings
* widgetry: Fix clippy warnings
* tests: Fix some clippy warnings
* Fix compilation on stable Rust
* Simplify unwrapping
* Make use of `Entry` more readable
* Fix formatting
* Fix code that was broken in the refactoring
* Apply cargo +stable fmt
* Fix code that was broken in the refactoring, second try
* Remove `Default` impls that are equivalent to `new`
* Remove obsolete clippy wrapper
* Avoid turbofish
* Prefer `unwrap_or_else` over allowing `clippy::or_fun_call`
* Remove redundant `into_iter`
* Fix typo
* Prefer `&& false` over commenting code out
* Fix some clippy warnings
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2021-05-14 08:32:56 -07:00
Michael Kirk
0d758c74f1
Polish contingency matrix / risk screen
...
- better color contrast
- don't color neutral/no-change buckets
- show "-" rather than "0" for cells which have been filtered out
- bespoke, non-linear, bucket durations for x-axis
- less buckets for y-axis
- better copy for tooltips
- label axes
- show empty chart rather than no chart
- remove "delays" which aren't really risks
- clarify that risk visualizations are just for bikes for now
- remove filter UI and only include bikes
2021-05-13 13:35:04 -07:00
Dustin Carlino
0ed933aa9c
Create a contingency matrix showing how number of problems change per
...
trip duration. #600
2021-05-13 12:36:20 -07:00
Michael Kirk
cfbd58cdce
shrink down jump-to menu w/ exact sizing
2021-05-12 17:39:19 -07:00
Michael Kirk
d185195bba
toggle "draw" while warping rather than before
...
This is helpful if you forget to check the box, or if you want to take a
quick peak of what's going on in the map while warping without stopping
the warp.
2021-05-12 17:39:19 -07:00
Michael Kirk
ec82b728dc
hotkeys for proposal navigation
2021-05-12 17:39:19 -07:00
Dustin Carlino
2c5e0dae03
Fix static trait object method warning that we're now hitting in Rust 1.52
...
The <dyn ...> syntax is gross, but I don't think there's a way to avoid
this without defining a differently named empty struct and putting the
static method on that
2021-05-11 12:31:58 -07:00
Dustin Carlino
1e5771897f
Fix lakeslice gridlock; S Charles and Rainier has a tiny driveway causing low throughput due to cars not wanting to block the box
2021-05-11 10:55:01 -07:00
Dustin Carlino
5bac09bf2a
Restore popdat.bin and Seattle scenarios and prebaked data. For whatever reason, the GDAL transformation is returning coordinates in a flipped order on my new machine.
...
Lakeslice prebaked disabled, because it starts gridlocking around 5pm.
I'll fix separately.
2021-05-11 09:34:40 -07:00
Dustin Carlino
1bcbe057f0
Use more realistic lane widths during importing. #597
2021-05-10 20:10:23 -07:00
Dustin Carlino
775b1fcfc4
GMNS through movements are always protected. #626
2021-05-08 11:05:49 -07:00
Dustin Carlino
cc007d0c6e
Adjust the signal editor panel layout based on Figma mocks. Many issues
...
left, but this seems good enough to push forward for now. Can go
through a proper review next week.
2021-05-08 10:57:25 -07:00
Dustin Carlino
6e3040f5a2
Rewrite the snapping algorithm for the GMNS signal importer, based on the new example data. #626
2021-05-07 13:45:42 -07:00
Trevor Nederlof
4080d0d130
Add craft and office to import and add/reorg AmenityType ( #638 )
...
* Add craft and office to import and add/reorg AmenityType
* Remove bike rental/parking and rename BikeShop to Bike
* add in leisure and tourism tags, add more categories to AmenityType and remove lesser used tags
* add dependency on strum and strum_macros and removed some manual code for text display of Enum and Enum into string
* include lock file, fix color of buildings for amenity layer, fix formatting and use orders
2021-05-06 08:43:52 -07:00
Dustin Carlino
8826af31cb
Make the CSV extra shapes parser handle WKT linestrings, so we can
...
visualize the GMNS signal timing data easily. #626
And fiddle with the KML viewer UI a bit to make it easier to inspect the
movement polylines.
2021-05-05 13:40:53 -07:00
Dustin Carlino
81f9ee5a1b
Change the KML/external shapefile debug tool to use a real file picker
2021-05-05 11:09:56 -07:00
Dustin Carlino
8fa0f97d37
Highlight just the lane or the whole road, not both. #597
2021-05-05 08:26:41 -07:00
Dustin Carlino
488c9ffe68
Start to import GMNS timing.csv just based on line-strings. #626
2021-05-04 10:34:34 -07:00