Commit Graph

2700 Commits

Author SHA1 Message Date
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