Dustin Carlino
e542011614
More fluid UI for comparing traffic counts -- hotkeys
...
Had to change the API of on_click...
2022-01-27 15:13:24 +00:00
Dustin Carlino
5dfb8f26f0
Refactor ColorNetwork to use ToggleZoomed
2022-01-26 11:31:33 +00:00
Dustin Carlino
ec0fd1b94d
Stop running out of video memory in the LTN impact prediction tool.
...
- One batch for all neighborhoods
- One batch for all roads/intersections
- No pre-built tooltips
This all comes at more repetitive code. Need to make World generate some
stuff dynamically (#763 )
2022-01-26 11:26:03 +00:00
Dustin Carlino
a14d6b3810
Better errors when core Line stuff breaks.
...
... and plumbing it everywhere
2022-01-18 10:26:33 +00:00
Dustin Carlino
bd340a1970
Switch from std::fs to fs_err. When files aren't found, the error message actually includes the path!
2022-01-17 17:30:51 +00:00
Dustin Carlino
7d6f133f1c
Make the LTN tool handle roads that already ban cars.
...
- Don't allow filtering them
- Don't cross them when calculating cell connectivity
- Create special green cells for them, and don't count towards the
disconnected warning
2021-12-31 16:28:51 +00:00
Dustin Carlino
bffa469396
Print LTN pathfinding info in the panel, not a tooltip. The tooltips
...
clash with clicking on roads to filter them, and probably weren't
terribly discoverable anyway.
2021-12-29 18:23:33 +00:00
Dustin Carlino
f7f23465c1
Edit modal filters from within the pathfinding view too.
...
Slow implementation, but at least it works
2021-12-29 13:14:44 +00:00
Dustin Carlino
fbc847f48c
Share modal filter management between connectivity and rat run states
2021-12-29 12:38:11 +00:00
Dustin Carlino
1e414d0f31
Share the panel style too for pathfinding. (It was a bigger change, easier to separate)
2021-12-29 11:54:12 +00:00
Dustin Carlino
83bf6953d1
Rank each street inside a neighborhood as quiet/busy, based on the number of rat-runs through it.
...
Show this through a heatmap and tooltips
2021-12-19 12:06:42 +00:00
Dustin Carlino
eb4060b071
Improve LTN tool rendering when zoomed in. Outlines around selected
...
objects are less thick and opaque, to cover up less of the road.
2021-12-17 11:37:54 +00:00
Dustin Carlino
e77ce12537
Draw custom LTN boundaries, by painting blocks. #794
...
Still need to think through the UX of how to manage custom boundaries
and incorporate them in the "browse neighborhoods" screen.
2021-12-14 10:33:42 -08:00
Dustin Carlino
331a3674b1
Restore spinner values in replacement panels.
...
First use case is in the LTN route tool. I audited other UIs using
spinners and panel restore -- there are none.
2021-11-21 11:58:37 -08:00
Dustin Carlino
2f18e4badc
Remove broken code for Leaflet-named screenshots. #440
...
Gave up on Leaflet in favor of Mapbox GL, and the math was always wrong
here anyway.
2021-11-11 09:02:29 -08:00
Dustin Carlino
f751b7d54b
Removing the pregame color scheme
2021-11-06 10:33:11 -07:00
Dustin Carlino
401d5fe297
Make it even easier to debug block order
2021-11-02 16:31:29 -07:00
Dustin Carlino
00df96f173
Render A/B Street's lanes and traffic simulation on top of Mapbox GL ( #788 )
...
[rebuild] [release]
2021-10-31 13:52:58 -07:00
Dustin Carlino
5e5e411de8
Detect neighborhoods with the new block abstraction ( #793 )
2021-10-28 10:11:57 -07:00
Dustin Carlino
9f86365cf6
Upgrade to rust 1.56 and cutover to rust edition 2021
2021-10-21 09:38:06 -07:00
Dustin Carlino
48ed3683e5
Fix the thickness math
2021-10-18 17:54:58 -07:00
Dustin Carlino
002b41816d
Actually, generalize UnzoomedLines to handle circles too. Make the route sketcher nicer to use at all zoom levels!
2021-10-18 17:54:58 -07:00
Dustin Carlino
749a7384c1
Make the route sketcher tool use UnzoomedLines, making it much easier to see the route on large maps.
...
Note the draggable waypoint circles are still a fixed size; you can't
easily manipulate the route when unzoomed far.
2021-10-18 17:54:58 -07:00
Dustin Carlino
b5cca3f18c
Refactor a helper to draw unzoomed thick lines at a constant width.
...
To start, just make the bike network use this.
2021-10-18 17:54:58 -07:00
Dustin Carlino
a643c35014
Long overdue round of clippy
2021-10-18 13:52:10 -07:00
Dustin Carlino
7d57deb8ae
Move the focus state from Panel up to widgetry in general, so two different panels don't clash
2021-10-14 17:57:03 -07:00
Dustin Carlino
698e26a831
Use Outcome::Focused to match existing semantics better
2021-10-14 17:57:03 -07:00
Dustin Carlino
b024fa958a
It's hard to focus...
...
While dragging a card or using a dropdown or persistent split menu,
prevent other widgets in the same panel from handling events.
2021-10-14 17:57:03 -07:00
Michael Kirk
56323116e1
Don't show details widget until 2+ waypoints
...
Otherwise there's no route, also this helps focus on the "add waypoint"
instructions.
2021-10-11 19:42:03 -07:00
Michael Kirk
738c4ab865
clean up set_hovering
tooltip style
2021-10-11 16:03:05 -07:00
Michael Kirk
476f19142f
Consistent panel width ( #772 )
...
* reorder tabs: plan trip before adding lanes
This order of tasks should be more logical for most people.
* Copy tweaks
"trip" is better than "route" since you don't pick the route, only the
start/end points. The route is inferred based on the available roads.
* Smaller elevation plot
it was much wider than any other UI element, meaning the column
dramatically jumps sizes when switching to this tab.
* better align line-plot x-axis
* Avoid jittering UI while switching through tabs.
* fixup! Avoid jittering UI while switching through tabs.
* fixup! Copy tweaks
* fixup! reorder tabs: plan trip before adding lanes
* fixup! Copy tweaks
2021-10-11 15:02:41 -07:00
Dustin Carlino
a8e9a1fd08
Variable rename for more clear code; feedback from #764
2021-10-07 14:51:28 -07:00
Dustin Carlino
ddbadd2da3
Make waypoints and routes coexist in the same World. #763 [rebuild] [release]
...
The pattern is somewhat similar to how different components share a
Panel. The "outer-most" piece owns the World, calls into InputWaypoints
to fill out the World, and plumbs un-handled events to it.
Also handle a tricky low-level bug with ctx.normal_left_click() and
detecting drags vs clicks.
Now finally there's no buggy conflicts between dragging waypoints and
hovering on the alternate routes!
2021-10-03 14:28:44 -07:00
Dustin Carlino
41465c341b
Convert the new bike routing tool to use World. #763
...
This one is the most complicated, and it's still not done, but it's not
any buggier than the ad-hoc implementation. I still need to figure out
how to merge the two worlds of waypoints and routes.
This one also required a large, but mechanical, refactor to lift
ToggleZoomed and the concept of unzoomed/zoomed from map_gui to
widgetry.
2021-10-03 14:28:44 -07:00
Dustin Carlino
43f8a6d1e7
Convert the signal demand dashboard to World. #763
2021-10-03 14:28:44 -07:00
Dustin Carlino
5a37e223c0
Cut over the story map tool to the brave new World. #763
...
Figure out how to make objects both clickable and draggable!
2021-10-03 14:28:44 -07:00
Dustin Carlino
8524cfce12
Create a new map-space World abstraction, and change the polygon editor to use it. #763
2021-10-03 14:28:44 -07:00
Dustin Carlino
4ddfe66afd
Finally clean up txt.with_bg. The last few uses were actually illegible from the default color!
2021-09-29 13:34:46 -07:00
Dustin Carlino
c4d38ca591
A humble start to showing an alternate, low-stress route. #743
2021-09-27 13:13:11 -07:00
Dustin Carlino
d365213948
Small refactor: {road, lane}.length()
2021-09-26 11:08:44 -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
f14b7eb9e7
Calculating and showing network gaps, wiring up filters. #448
2021-09-20 14:42:02 -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
Dustin Carlino
dd49caec4a
When dragging the canvas is interrupted, clean up the state properly, cancelling the drag. #754
2021-09-17 14:05:14 -07:00
Dustin Carlino
cca701fb3e
Show traffic signals along route. #743
2021-09-17 12:27:00 -07:00
Michael Kirk
83ebc96bb1
drag/drop uses system grabbable/grabbing cursor
2021-09-10 15:17:15 -07:00
Michael Kirk
577192bb89
style row header
2021-09-10 15:17:15 -07:00
Michael Kirk
09fcca8533
left-align vertical drag/drops
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