Dustin Carlino
e571ce3703
Don't crash when elevation enabled, but layers panel hidden
2021-09-21 10:29:22 -07:00
Dustin Carlino
4782dac84b
Hide layers panel by default, but also make it more easily toggleable. #743
2021-09-21 10:26:58 -07:00
Dustin Carlino
0d01906b08
Start rearranging the left panel, per Mara's design. #743
2021-09-21 10:14:16 -07:00
Dustin Carlino
632a527dbc
Consolidate the route results panel on the left side, as a first step towards Mara's design. #743
2021-09-21 09:09:34 -07:00
Dustin Carlino
774c068d9e
Track total mileage of mode shifted trips. Plug into a simple carbon formula! #448
2021-09-20 17:43:07 -07:00
Dustin Carlino
f06685ff20
Counting the number of mode shift trips that would make use of proposed edits. #448
...
Not updating when making edits yet, though!
2021-09-20 16:16:14 -07:00
Dustin Carlino
f14b7eb9e7
Calculating and showing network gaps, wiring up filters. #448
2021-09-20 14:42:02 -07:00
Dustin Carlino
3945528cf5
Start a 4th mode for the bike network tool: predicting impact, aka, mode-shift. #448
...
Just load the scenario and scrape data from it, to start.
2021-09-20 10:07:58 -07:00
Gedalia Kott
d833f82c73
Fix Issue #692:settings for metric VS imperial distance units are repsected for distance
2021-09-18 14:06:32 -07:00
Gedalia Kott
19d74b46ac
simplify waypoints since much of its state can be computed lazily
2021-09-18 13:11:24 -07:00
Gedalia Kott
a851b1e52d
removes position enum, abstracts the way we assign text to waypoint icons, and cleans up syntax noise
2021-09-18 13:11:24 -07:00
Gedalia Kott
dc5398fa14
update the route panel waypoint icons with the same color as the map waypoints
2021-09-18 13:11:24 -07:00
Gedalia Kott
6030c1091e
refactor to remove idx and order from waypoint and instead interpret through containing vector
2021-09-18 13:11:24 -07:00
Gedalia Kott
21464f6034
complete implementation to change color of waypoints depending on the position in the list of waypoints
2021-09-18 13:11:24 -07:00
Gedalia Kott
7074fd2eb7
WIP: updates route waypoints with unique colors and static start and end colors
2021-09-18 13:11:24 -07:00
Dustin Carlino
2fc9010b1e
Fix some clippy warnings
2021-09-17 18:31:30 -07:00
Dustin Carlino
642c87a845
Fix up references to the CLI tools in shell scripts and code. #745
...
[rebuild]
2021-09-17 18:29:23 -07:00
Dustin Carlino
6b76c1b195
Bring the controls to avoid hills/stressful roads from the route debugger into the new route tool. It's actually easier to parameter tune here, since drawing and saving routes is polished here. #743
2021-09-17 13:28:32 -07:00
Dustin Carlino
b0fe0f2a65
Fix prev/next route when we're starting on an unsaved route. #743
2021-09-17 12:36:14 -07:00
Dustin Carlino
765335b0da
Show unprotected turns along route. #743
2021-09-17 12:32:17 -07:00
Dustin Carlino
cca701fb3e
Show traffic signals along route. #743
2021-09-17 12:27:00 -07:00
Dustin Carlino
14ce21c80d
Show high-stress roads in route. #743
2021-09-16 13:44:03 -07:00
Dustin Carlino
797bb82c41
Rename routes. #743
2021-09-16 12:46:39 -07:00
Dustin Carlino
824e9df5e9
Fix bike quick sketch tool in left-handed maps. #743
2021-09-13 13:14:26 -07:00
Dustin Carlino
11bd4ea209
Show elevation on the map directly while hovering. #743 [rebuild]
...
[release]
2021-09-12 10:28:54 -07:00
Dustin Carlino
503a3e8a9e
Slightly reorganize route panel to stop eating all of the screen width.
...
Make the drawn route a bit transparent when zoomed in.
2021-09-12 08:38:49 -07:00
Michael Kirk
577192bb89
style row header
2021-09-10 15:17:15 -07:00
Michael Kirk
3b1ed1f82f
fix button v alignment,
...
Also: use standard interaction color when dragging, not the primary
orange color.
2021-09-10 15:17:15 -07:00
Michael Kirk
84b3d87c37
refactor uninted to be builder method, not constructor. it composes better this way
2021-09-10 15:17:15 -07:00
Michael Kirk
a0ea2ba14e
use btn_close instead of "X"s
2021-09-10 15:17:15 -07:00
Dustin Carlino
2387975fac
Fix crash in road editor when changing speed limit while not selecting any lane.
2021-09-10 14:24:11 -07:00
Dustin Carlino
2598f2a15d
Workaround spinners with f64s that wind up with 0.0000001 drift
2021-09-08 08:00:49 -07:00
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