Commit Graph

5135 Commits

Author SHA1 Message Date
Dustin Carlino
1906fb0913 Remove the GetDrawAgents indirection. Originally the UI could pull the
set of agents to draw either from the simulation or from this
"time-traveler" plugin, which would let you rewind sim time. That plugin
is long gone, and it never worked well, because much of the UI would use
the GetDrawAgents to select something, then query the live sim for lots
of details anyway. The plugin never served all of those calls, so the
results would be kind of out-of-sync anyway.

There are some parts of the UI that need to temporarily not draw agents.
Use the same suspended_sim trick that edit mode does.
2020-10-12 11:52:05 -05:00
Dustin Carlino
4d549f80df A fresh attempt at overviewing the map model docs 2020-10-11 12:54:17 -07:00
Dustin Carlino
b9efdaef20 Refactor the trip timeline code, fixing the icon spacing. Temporarily
take out the delays from the timeline -- they complicate the code. Will
add back in later, once the code's a little more clear.
2020-10-11 11:35:00 -07:00
Dustin Carlino
a1c53d5e1c Humble start to adjusting how distances and durations are printed in the UI. #331
Also trimmed out a few old UI settings; they kind of started as
experiments, but now the alternative feels useless to maintain.
2020-10-11 10:45:13 -07:00
Dustin Carlino
df873a5cf9 Add an option to totally disable turn conflicts in the simulation. Can we make progress on large scenarios only with vehicle queueing rules? (Didn't evaluate this yet, don't want to burn through laptop battery currently)
Also fix zooming in on traffic signals crashing with freeform policy
2020-10-11 10:14:48 -07:00
Dustin Carlino
212ad761fd Switch to Box<dyn Error> in abstutil. This makes it easier to have
higher-level APIs return some kind of string error. Pretty much nowhere
do we care about error types.
2020-10-11 08:36:02 -07:00
Dustin Carlino
b9c8e2231e new release 2020-10-10 14:02:34 -07:00
Dustin Carlino
a2d36274a2 Prep for release [rebuild] 2020-10-10 13:11:11 -07:00
Dustin Carlino
1791ef70a5 More cleanup of https://github.com/dabreegster/abstreet/pull/363: fix the build break in info/trip 2020-10-10 12:31:52 -07:00
Dustin Carlino
e38858129b Cleanups after https://github.com/dabreegster/abstreet/pull/363:
- cargo +nightly fmt
- upload new prebaked data
2020-10-10 12:24:42 -07:00
Sam
4c5a858238
Delay highlighting (#363)
* Initial storing of intersection delays

* Initial highlighting of delays on route

* Added label of delay

* Info overlay works

* Added supoprt for pedestrian delays (only intersection delay currently)
Bike also works, but is treated as a car, so the avg speed is flagged as very slow (Needs fix)

* Capitalised describe trip phase
Now uses min of (speed limit and vehicle max speed) for the maximum speed check
Added trip blocked time query
Lots of work on tool tips
Icons are broke

* Nearly complete, just fmting and a crash to fix
Color assertion?

* Fixed text font colour crash
Added new custom TextSpan size function

* Cargo +nightly fmt

* Cargo +nightly fmt

* Clion auto import formatting
Doesn't quite match the existing "changes"

* Fixing merge issues

* Fixing icon placement issues

* Requested changes (Part 1)

* Requested changes (Part 2)

Co-authored-by: Sam <a>
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2020-10-10 12:23:02 -07:00
Dustin Carlino
94449e49e0 Launch the web version! #21 2020-10-09 22:55:13 -07:00
Dustin Carlino
34e95dd861 WIP load scenarios 2020-10-09 22:31:31 -07:00
Dustin Carlino
d4358586d6 Refactor the MapLoader into a more generic file loader... 2020-10-09 17:26:11 -07:00
Dustin Carlino
fbf651f1c2 Give up on generic_prebake_all, an unused method that would very generically crawl all challenges, calculate their scenario, and prebake results for them. It forces GameplayMode -> Scenario to have a certain form, which seemingly blocks transitioning to an asyncish loading screen. 2020-10-09 16:36:31 -07:00
Dustin Carlino
be3b2e8abb Finally, cut over the last app.switch_map caller 2020-10-09 16:27:28 -07:00
Dustin Carlino
2cd59ead37 Remove the special handling for synthetic maps, which were JSON RawMaps
that could directly be loaded. The few examples have been long broken
and unused. They complicate map loading, because they have a weird path.
2020-10-09 16:08:11 -07:00
Dustin Carlino
3feb9d6dbe Make the proposals picker use the new map loading mechanism 2020-10-09 15:57:20 -07:00
Dustin Carlino
03eac377d6 Convert ScreenshotTest away from app.switch_map 2020-10-09 15:07:35 -07:00
Dustin Carlino
2ad832d01a Whittle down callers of app.switch_map: changing color scheme. (As a
bonus, now this doesn't reset the sim and everything!)
2020-10-09 14:51:35 -07:00
Dustin Carlino
a8b41370bc Refactor the CityPicker HTTP trick into a native/web loading screen
state for switching maps. Use it just from the CityPicker for the
moment...
2020-10-09 14:35:02 -07:00
Dustin Carlino
e4707ca223 Ehem, fix build break in web from last commit. Hard to test a single commit against both native/web, because switching targets clears the entire build cache... 2020-10-09 14:04:56 -07:00
Dustin Carlino
1ae4c6e41f Make the web CityPicker do all of the same stuff that app.switch_map does 2020-10-09 14:02:08 -07:00
Dustin Carlino
1de7065562 Move a few things from App down to PerMap: layer, suspended_sim,
prebaked
2020-10-09 13:50:30 -07:00
Dustin Carlino
906dc0a8e5 Rearrange responsibilities of App::new and PerMap::new, to prepare for
cleaning up switch_map
2020-10-09 13:35:51 -07:00
Dustin Carlino
dd0df29571 Suppress the trip summaries tab if we have no prebaked data to compare to 2020-10-09 13:04:36 -07:00
Dustin Carlino
b9d3052c87 Show the elapsed time in the web loading screen, to kind of reassure people things aren't frozen 2020-10-09 09:14:24 -07:00
Dustin Carlino
f1ec2fa4c4 Convert more doc comments for abstutil, convert_osm, geom, sim 2020-10-08 21:13:08 -07:00
Dustin Carlino
93c295b9ae Convert comments on public things to doc comments for map_model. 2020-10-08 20:45:41 -07:00
Dustin Carlino
7236fa558f Fix clicking on regions in citypicker. #21 2020-10-08 17:02:08 -07:00
Dustin Carlino
17416d9fd6 Start deploying the web build to s3... #21 2020-10-08 16:29:06 -07:00
Dustin Carlino
31854344ec Proper loading screen for web. #21 2020-10-08 15:07:23 -07:00
Dustin Carlino
62b3af324b Bundle data/MANIFEST.json in wasm. Now loading all maps from HTTP works! #21 2020-10-08 14:41:02 -07:00
Dustin Carlino
4d66e4e91d Make the city picker list maps from the manifest, not local files. #21 2020-10-08 14:26:35 -07:00
Dustin Carlino
fd004a59bf Fix a few broken dropbox links caused by doing the cutover in the previous commit 2020-10-08 13:57:49 -07:00
Dustin Carlino
d09ead3672 Use serde for data/MANIFEST 2020-10-08 13:14:40 -07:00
Dustin Carlino
989d5243b1 Move the data/manifest utils to abstutil, so the game crate can know
about all files that exist, even if they're not downloaded locally
(native) or to load other maps (web)
2020-10-08 12:50:18 -07:00
Dustin Carlino
d1d1d1532c Silence warnings when compiling wasm 2020-10-08 12:26:54 -07:00
Dustin Carlino
fa4981787d Bake less huge data files into the .wasm. #21
This has the effect of breaking the city loader, because it lists
bundled files to discover other cities. Going to rethink that next.
2020-10-08 11:33:10 -07:00
Dustin Carlino
64bc4ee318
On the web, load different maps by making asynchronous HTTP calls. #21 (#364)
* On the web, load different maps by making asynchronous HTTP calls. #21

This is a very strange, specializd approach; it's unclear how it'll
generalize to reading scenarios and prebaked results. Ideally we could
call abstutil::read_binary as we currently do and somehow hide this async
trickery underneath, but I'm not sure how yet. In the meantime, this
moves us forward with the hack well-contained.

Next steps for web: stop bundling in all of data/system in the .wasm,
now that we can load from HTTP.
2020-10-08 10:51:13 -07:00
Dustin Carlino
69c8ce4cbe Before the .wasm loads, display "Loading" 2020-10-07 23:02:10 -07:00
Dustin Carlino
79e313da24 When crashing, dump edits to a file instead of STDOUT. They take too much space and sometimes overflow the terminal's buffer. 2020-10-07 15:53:27 -07:00
Dustin Carlino
2c3fd09378 Add an example Python tool that works with the JSON map export. Support
specifying trip endpoints by building or intersection when importing
traffic demand data.
2020-10-07 15:37:59 -07:00
Dustin Carlino
536429f37f Fix lakeslice again. Some manually fixed traffic signals weren't
imported, because they referenced way IDs from before the service road
import. That happened after a bad Cargo.lock merge undid the effects of
pinning to the latest seattle_traffic_signals.
2020-10-07 15:06:03 -07:00
Michael Kirk
2ed916e89f
show parking intent (#362) 2020-10-07 14:16:58 -07:00
Dustin Carlino
0f806b2055 Document the sim crate 2020-10-06 18:25:39 -07:00
Dustin Carlino
a3b7ed18cd Cache the unedited map, for #361 2020-10-06 16:58:48 -07:00
Dustin Carlino
84e50d561d Workaround one case of #361 in an expensive way: temporarily revert
map edits when viewing the "before" version of a trip.
2020-10-06 15:35:11 -07:00
Dustin Carlino
d844646cb9 Implement per-road caps for #325, necessitating a tiny map edits version
bump.
2020-10-06 14:17:55 -07:00
Dustin Carlino
24c20e1599 Add a layer to visualize congestion caps. #325 2020-10-06 13:47:53 -07:00