Commit Graph

2003 Commits

Author SHA1 Message Date
Dustin Carlino
d6c179385e Start in night mode, and adjust minimap coloring there 2020-11-28 10:19:21 -08:00
Dustin Carlino
58b6c66c2b Consolidate console_log setup into abstutil, now that there are multiple binaries that should all have the behavior. 2020-11-26 14:40:05 -08:00
Dustin Carlino
ebcae62652 Slightly simplify how some states specify what map objects can be
selected and clicked on.
2020-11-26 13:42:31 -08:00
Dustin Carlino
65a4b578be Experiment with separating concerns in some simple States.
This is closer to a callback style, which might be more familiar to
people coming from other frameworks.

It's a pretty mechanical refactor now, but the hope is that looking at a
bunch of on_mouseover() functions will reveal further refactors more
easily than a bunch of monolithic event() functions.

I don't think every State fits this pattern; things like SandboxMode
need to carefully orchestrate the order of things. Make simple things
easy and hard things possible.
2020-11-26 13:11:12 -08:00
Dustin Carlino
70b40a7148 Stop doing custom stuff to spawn scenarios in the tutorial. Integrate
with SandboxLoader, which handles loading prebaked results on the web
correctly. #407
2020-11-25 12:15:22 -08:00
Dustin Carlino
4b6df883fb Organize challenges into a subdirectory, splitting out prebaking code
and bringing in cutscene, just to organize things a little better.
2020-11-25 11:31:37 -08:00
Dustin Carlino
b6ebee0dd8 Tiny refactor: Drawable::empty(ctx) 2020-11-25 11:19:26 -08:00
Dustin Carlino
903eab1bc4 Remove some old savestating optimizations from the simulation. The
optimizations avoided serializing Analytics and paths of to-be-created
agents, to reduce the file size. The logic to manage all of this isn't
worth the complexity anymore, because:

1) We don't queue up a bunch of spawn commands anymore; we defer
pathfinding until the last minute anyway.

2) We're not using savestates except for occasional manual debugging.
Previously, there was an idea to quickly preview prebaked traffic
mid-day. That idea was never fleshed out.
2020-11-24 15:38:20 -08:00
Dustin Carlino
314f01496e Save/restore camera state per map in all map_gui apps too. 2020-11-24 11:53:50 -08:00
Dustin Carlino
16b561a408 Move game/helpers into game/common. And fix github rustdoc workflow 2020-11-23 23:39:55 -08:00
Dustin Carlino
db736ceab5 Collapse some of the module indirections in the game crate. 2020-11-23 17:58:32 -08:00
Dustin Carlino
f3ff910c37 Cleanup from the great app split:
- move show_zorder into DrawMap
- reorganize modules in map_gui

Next is to reorganize/collapse modules in game.
2020-11-23 17:58:32 -08:00
Dustin Carlino
c450922211 Split out the 15min tool to its own crate. 2020-11-23 17:58:32 -08:00
Dustin Carlino
9f422033e9 Make a SimpleMinimap for map_gui. Will refactor later. 2020-11-23 17:58:32 -08:00
Dustin Carlino
c3db4de087 Lift the Navigator tools to map_gui. 2020-11-23 17:58:32 -08:00
Dustin Carlino
139d435bd3 Split out the OSM viewer to its own crate, porting over a simple form of current_selection. Temporarily omit the minimap and navigator from it. 2020-11-23 17:58:32 -08:00
Dustin Carlino
ad0d1ae7a4 Split out the OSM parking mapper into a separate app, temporarily
WITHOUT mouseover.
2020-11-23 17:58:32 -08:00
Dustin Carlino
e6d21d81e7 Add the city picker to the experiment, as a way to lift it to map_gui. 2020-11-23 17:58:32 -08:00
Dustin Carlino
859d78f2cf Refactor the CLI flag parsing that all apps will share. 2020-11-23 17:58:32 -08:00
Dustin Carlino
ab2f6fefec Split the controls experiment into a separate binary, get it to draw a
map way more simply than the game
2020-11-23 17:58:32 -08:00
Dustin Carlino
558eb6f716 Extract DrawMap into a separate crate, along with everything else it
depends on.

The goal is to be able to split things like the OSM viewer, parking
mapper, and 15 min tool into separate crates from the game, while still
sharing lots of code.
2020-11-23 17:58:32 -08:00
Dustin Carlino
67446d32b9 Refactor and rearrange misc App/PerMap things to prepare for extracting some shared functionality to other crates. 2020-11-22 19:48:09 -08:00
Dustin Carlino
f7504bf4d1 Tease AgentCache out of DrawMap 2020-11-22 19:35:35 -08:00
Dustin Carlino
0574af0b64 Move UnzoomedAgents management out of App and into AgentCache 2020-11-22 19:24:07 -08:00
Dustin Carlino
26a7277f50 Reorganize zorder_range out of PerMap and into DrawMap. 2020-11-22 19:05:09 -08:00
Dustin Carlino
abf3dbc859 Don't specify a widgetry backend by default; force every user to set the feature explicitly. 2020-11-22 18:35:03 -08:00
Dustin Carlino
0dd246c83f Remove the old --num_agents flag, used for debugging spawning agents 2020-11-22 18:27:25 -08:00
Dustin Carlino
ed8fe187cc new release 2020-11-22 13:41:58 -08:00
Dustin Carlino
f656468580 widgetry refactor: store all keys currently held down, let anyone query 2020-11-22 13:24:08 -08:00
Dustin Carlino
fba2391bc5 Experiment with winit key handling. And attempt [rebuild] [release] again 2020-11-22 12:56:22 -08:00
Dustin Carlino
47d09d61f0 Plumb the intended TripMode for cancelled trips; instead make the trip duration optional. Breaking change for anyone using the API. Makes way more sense. [rebuild] [release] 2020-11-22 11:21:44 -08:00
Dustin Carlino
d83133fa09 Fix the biking mode for #393 2020-11-22 10:48:41 -08:00
Dustin Carlino
594b376734 Figure out travel time for bikes. #393
Something's wrong with the results, but it's a start.
2020-11-21 15:10:49 -08:00
Michael Kirk
32a9915d2e
dont switch buildings while panning (#401)
for #393
2020-11-21 14:58:22 -08:00
Michael Kirk
d2cead2a82
15m neighborhood: switch neighborhoods (#400)
for #393
2020-11-21 14:51:40 -08:00
Dustin Carlino
78eedff7c7 UI glue for switching between walking/biking. #393 2020-11-21 14:02:24 -08:00
Gedalia Kott
657a24d328
add about button to hovering panel for 15 min neighborhood sub-app (#398)
for #393
2020-11-21 13:43:23 -08:00
Dustin Carlino
20523119cb Show a tooltip of the travel time to a building while hovering. #393 2020-11-21 13:22:56 -08:00
Dustin Carlino
d8b1df5975 Click amenity categories to get more details. #393 2020-11-21 12:47:42 -08:00
Michael Kirk
b076165e0b
Mkirk/switch buildings (#397)
for #393
2020-11-21 12:23:37 -08:00
Dustin Carlino
29da713903 Display a simple count of amenities reachable from a building. #393 2020-11-21 11:11:57 -08:00
Dustin Carlino
bf9d34d1a3 Drop results farther than 15 minutes away. #393
It'd be more efficient to terminate the Dijkstra's search directly, but
petgraph doesn't have an option for that, so we'll have to implement
Dijkstra's manually (shouldn't be hard).
2020-11-21 10:12:29 -08:00
Dustin Carlino
5c6eacf781 Add a --15min flag to jump right into the tool for #393 2020-11-21 09:34:52 -08:00
Dustin Carlino
e43f551af6 New query and debug viewer to get the full graph of agents waiting on others. #392 2020-11-20 14:19:19 -08:00
Dustin Carlino
d731d57814 Silence simulation alerts on the title screen; they're very obnoxiously spammy 2020-11-20 11:15:05 -08:00
Dustin Carlino
308eb90956 Bring in Seattle parcel data to experiment with filling the negative
space on maps with "private area around houses".

And a few tweaks to the KML viewer to make it more useful:

- optionally save the clipped file
- click an object to view all attributes in a scrollable popup
2020-11-20 10:30:13 -08:00
Dustin Carlino
d33d051d47 Make the isochrone use time, not distance, as a cost function. And
floodfill using Dijkstra's, instead of computing loads of paths.  #393
2020-11-19 14:11:59 -08:00
Dustin Carlino
5a5aaae6f7 Reorganize the half-broken isochrone tool into a dedicated mode, accessible from the main menu, in preparation for the Saturday hackathon. #393 2020-11-19 13:22:59 -08:00
Dustin Carlino
f6565988c9 Let parking aisles span multiple parking lots. 2020-11-19 12:34:31 -08:00
Dustin Carlino
3905131fe4 Track and expose total trip distance in the API. #392 2020-11-19 10:40:00 -08:00