Commit Graph

6395 Commits

Author SHA1 Message Date
Dustin Carlino
880a293093 Make the time panel height override stickier. Otherwise it jumps height quite noticeably when pausing/resuming. #551 2021-03-12 17:48:35 -08:00
Dustin Carlino
59e9735318 Force actdev top panels to have the same height. #551 2021-03-12 17:48:35 -08:00
Dustin Carlino
da1c133a67 Adjust actdev panel layout to work on narrow screens. #551 2021-03-12 17:48:35 -08:00
Dustin Carlino
69b248cd66 Move agent counters to the minimap, removing the top-right agent panel entirely. #551
Adjust the tutorial for these changes.
2021-03-12 17:48:35 -08:00
Dustin Carlino
5b386af6ba Move most things out of the top-right agent meter panel to reclaim more horizontal space. #551
1) Move finished trips to the top-left time panel.
2) Move "tentative results" and "recording trips" controls (only
   occasionally used) to the top-left time panel.
3) Move the "more data" button to the minimap.
2021-03-12 17:48:35 -08:00
Dustin Carlino
8ac62fed47 Trying out some UI changes suggested by Martin:
- Increase day mode panel opacity to 95% to help text legibility
- Combine the time/speed panels, and remove the sunrise/sunset icons
- 4 mode colors matching actdev, also changing night mode residential
  buildings
2021-03-12 17:48:35 -08:00
Dustin Carlino
95b1d884cf Rename Map::new to be more clear that it should only be used in non-UI
tools. There's one place in the UI that doesn't work on the web!
2021-03-12 06:38:17 -08:00
Dustin Carlino
c6044fa54c Fix the debugging of map serialization sizes; Map::new isn't called
anymore, because of async map loading.
2021-03-11 19:46:09 -08:00
Dustin Carlino
72418ee6b6 Change the loading screen sidebar to list things the player ought to go try. Previously it was meant to be recent changes, but it's way too much work to also update that every few weeks. 2021-03-11 12:33:17 -08:00
Dustin Carlino
522b902453 Improve the traffic signal timing UI. There's a choice between fixed and
variable timing, but currently you have to remember to toggle it; the
two extra spinners get ignored otherwise. The new version is still
confusing, but I think it's an improvement.
2021-03-11 11:39:58 -08:00
Dustin Carlino
8be24bf007 Use AsRef<str> in more widgetry methods, getting rid of &format at many
call-sites. #253

To make some of these work, changed Label to store a String. Ultimately
it gets transformed into Text, so we need to allocate eventually.
2021-03-11 11:29:18 -08:00
Dustin Carlino
9c2c8bbd8f Change some uses of Into<String> to AsRef<str>, to avoid allocations. #253
I manually audited all uses. I kept Into<String> when we really do wind
up storing a String.
2021-03-11 11:29:18 -08:00
Dustin Carlino
f5eca6ff02
Seemingly fix squished loading screens at startup by always using inner_size. (#561) 2021-03-11 09:48:39 -08:00
Dustin Carlino
f254bb53cc Measure intersection delay more intuitively. #549
Before: time starts when the vehicle reaches the front of the queue and
first requests their turn

After: time starts when the vehicle first becomes blocked on the queue
leading to the intersection.

Regenerate prebaked data.
2021-03-10 16:38:35 -08:00
Dustin Carlino
f0de4e4583 Don't use Bezier curves for right/left turns at tiny intersections. They
wind up looping back on themselves in a nonsensical way, causing
vehicles to visually glitch when moving through.

This was started in 081819d86b, but it
used to gridlock 2 maps. All the recent roundabout fixes seems to have
resolved those! And adjusting offstreet parking for two maps.

But wallingford does regress; plunging forward for now.
2021-03-10 15:58:16 -08:00
Dustin Carlino
bf8f51ae05 Consistently count hours for a time. There was some disagreement between
recorded analytics and code that later summed things up, making the
relative throughput layer more confusing than it is already. #85
2021-03-10 13:59:38 -08:00
Dustin Carlino
957d08e8b9 Add tooltips to the relative throughput layer, to get exact before/after counts of the data being displayed. #85
(The before counts are still bucketed on the hour mark)
2021-03-10 13:24:56 -08:00
Dustin Carlino
f0b522f89a Figure out which files are in the us/huge_seattle DataPack more consistently. This'll now work from the proposals screen. 2021-03-10 12:40:55 -08:00
Dustin Carlino
fdc6601520 Prompt the user to download missing cities from the Proposals screen, too. 2021-03-10 12:10:16 -08:00
Dustin Carlino
db96b0a7c4 Add an included proposal for making Poundbury<->Dorchester use a pair of one-way roads. cyipt/actdev#114
And handle community proposals when the weekday scenario doesn't exist.
2021-03-09 13:23:40 -08:00
Dustin Carlino
d13478f355 Make Poundbury run more smoothly, and prebake sim data for all
scenarios, so we can run A/B tests with map edits. cyipt/actdev#114

To fix it up, I hand-timed
https://www.openstreetmap.org/node/2124133019, which could have smarter
heuristics as a button-operated half-signal in the future. And allowed
blocking-the-box on some small intersections near that area.
2021-03-09 10:45:44 -08:00
Dustin Carlino
65d7bc5c8e Rename {Text,TextSpan}::draw to into_widget, for consistency. #253 2021-03-09 09:59:30 -08:00
Dustin Carlino
a4a20ce1e5 draw_text renamed to text_widget, for consistency. #253 2021-03-09 09:56:41 -08:00
Dustin Carlino
b0bcdb2115
Replace Widget::draw_batch with batch.into_widget, for consistency. #253 (#554) 2021-03-09 08:55:12 -08:00
Dustin Carlino
e61e0c885b Backpeddle on bcde40d35c. If advancing time at startup takes too long, switch over to the jump-to-time dialog, so things don't seem frozen and the user can stop early if impatient. 2021-03-09 07:38:51 -08:00
Dustin Carlino
7e0f29fa9f Place stop signs at the entrances of roundabouts, so people already in there get precedence over new people entering. #75
This makes Poundbury run with baseline traffic, when previously it was
super gridlocked!
2021-03-08 20:43:48 -08:00
Dustin Carlino
7170efbdba Improve some gridlock cases near roundabouts particularly. #114, #75
1) If a car is blocked by a conflicting turn and is part of a cycle,
   wake up the car blocking it. In some cases, this wakes it up faster
   and unsticks things. Otherwise, it just wastes a little bit of time.
2) If a car is part of a cycle, allow blocking-the-box.
3) Continue sorting people at a stop sign by the time they've been
   waiting. But for cars "overflowing" their current lane, move them to
   the front of this ordering. It unsticks one particular situation.
4) Fix wakeup_waiting entirely. Before, it was waking up protected turns
   before permitted, but otherwise the ordering was arbitrary. Now actually
   respect stop sign ordering. I expect this to improve many other
   situations than the one I was checking.

This was all motivated by one particular roundabout in Poundbury. It
doesn't solve gridlock there, but it gets past a major blockage.
2021-03-08 17:47:01 -08:00
Dustin Carlino
06e2f22ba9 Add a --time flag to jump the sim forward immediately. Faster gridlock debugging. 2021-03-08 15:10:18 -08:00
Dustin Carlino
bcde40d35c Add a deadline to actdev starting at 8am. If it takes too long to advance time, just start earlier. If it's taking a long time, then there must be active traffic to look at anyway. 2021-03-08 14:49:56 -08:00
Dustin Carlino
f260fc3b40 Fix warping to bikes by ID 2021-03-08 14:42:51 -08:00
Dustin Carlino
8082640da9 Add warp buttons to the blocked-by tool to jump to the worst problems, instead of squinting for the circles 2021-03-08 14:34:00 -08:00
Dustin Carlino
6594597c3f Rebuild actdev scenarios again, remembering to include return and lunch trips. cyipt/actdev#132 2021-03-08 13:17:52 -08:00
Dustin Carlino
5970883cff Regenerating all scenario data for actdev, since cyipt/actdev#132 is
fixed
2021-03-08 08:59:30 -08:00
Dustin Carlino
57086cf073 Pin to Ubuntu 18.04, because the new 20.04 results in this error on my
18.04 system:

/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found

I'm probably not the only one on an older Ubuntu, and from the last time
I went through this dance, I remember newer systems being able to handle
binaries built on older, but not vice versa.

actionsvirtual-environments#1816
2021-03-08 08:30:14 -08:00
Dustin Carlino
ead636549c new release 2021-03-07 17:07:25 -08:00
Dustin Carlino
7ccdc217c7 Don't display a path from a building to the nearest parking when infinite parking is enabled. [rebuild] [release] 2021-03-07 11:09:09 -08:00
Dustin Carlino
350b75a8e5 Don't crash when tracing a path where the first step and request don't match. This happened for the LCID site when clicking on a building and finding nearest parking, because the buildings are in an access-restricted zone. 2021-03-07 11:06:32 -08:00
Dustin Carlino
3f32c7abf3 Move the minimap code from common to sandbox, reflecting where it's used. (Never in debug or edit mode) 2021-03-06 16:20:32 -08:00
Dustin Carlino
d5d186dd37 Fix border arrows for left-handed maps. 2021-03-06 10:43:58 -08:00
Dustin Carlino
0e5f2c3098 Fix problem where two Hangry Pandas crashed the 15m tool, because button labels wound up the same. 2021-03-06 10:24:02 -08:00
Dustin Carlino
0357ae0a23 Tidy up the new UK census gen code. #556 2021-03-05 16:51:02 -08:00
Dustin Carlino
9118ae6216 Hook up the actdev UI to the new scenarios with background traffic mixed in. #556 2021-03-05 16:37:06 -08:00
Dustin Carlino
8ffd249558 Get the new UK scenario generation working everywhere. #556
If a study area exists for the map, make a copy of the base/active
scenarios with the background traffic mixed in. Also remove people
living in the site, since they're redundant.

Ran it like this: for city in `ls data/system/gb/`; do ./import.sh
--scenario --city=gb/$city || break; done
2021-03-05 16:26:29 -08:00
Dustin Carlino
14ccddf15e Create people that live or work (or both) off-map. #556 2021-03-05 15:50:56 -08:00
Dustin Carlino
04be956b5e Remove no-op trips from the UK scenarios. They now work (but gridlock, of course). #556 2021-03-05 15:01:26 -08:00
Dustin Carlino
9610b69de4 Remove zones without homes or shops. Found one in London. This can
happen when the overlap with the map is tiny. #556
2021-03-05 14:53:29 -08:00
Dustin Carlino
a7b7638405 Fix data sources for UK ODs. Thanks Robin! #556 2021-03-05 14:48:18 -08:00
Dustin Carlino
d2b25f9340 Use choose_weighted to sample homes/workplaces proportionally, instead of worrying about how many employees per store there might be. #556 2021-03-05 12:33:04 -08:00
Dustin Carlino
89f317c79d Add in normal distributions for trip departure times. #556 2021-03-05 12:24:17 -08:00
Dustin Carlino
c7042eda06 Create simple people for UK scenarios. #556
Can't quite debug yet, because for Poundbury, the matching zones (like
E02004277) have no entries in the census data...
2021-03-05 11:59:20 -08:00