Dustin Carlino
e7fb9b1a4a
Handle the info panel rewind-sim case for #367 . I'm increasingly happier
...
with how the async reactions to loading SandboxMode are.
2020-10-14 17:24:39 -05:00
Dustin Carlino
81dae1e39c
Slightly simplify some plumbing of variables through nested closures, by
...
remembering that FnOnce exists
2020-10-14 15:36:08 -05:00
Dustin Carlino
5ef48a5d1c
Express the SandboxMode constructor as a full state machine, with the
...
ability to defer things like pushing the time warp state onto the stack
of states. This fixes the edit mode case of #367 , but other callers of
SandboxMode::new still need updating.
2020-10-14 15:13:10 -05:00
Dustin Carlino
84a65c293b
Make it easier to test scenario modifiers by specifying them on the CLI
2020-10-14 12:16:38 -05:00
Dustin Carlino
bc856a4c2b
Fix the signal demand dash, broken by 1906fb0913
. And enable warp to ID for non-dev mode too.
2020-10-13 10:22:19 -05:00
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
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
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
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
d1d1d1532c
Silence warnings when compiling wasm
2020-10-08 12:26:54 -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
Michael Kirk
2ed916e89f
show parking intent ( #362 )
2020-10-07 14:16:58 -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
24c20e1599
Add a layer to visualize congestion caps. #325
2020-10-06 13:47:53 -07:00
Dustin Carlino
f258c50595
Organize import blocks using https://github.com/dabreegster/organize_rust_imports
2020-10-05 20:29:22 -07:00
Dustin Carlino
27d94945c6
Manually move mod block after the use block, to match what CLion does.
2020-10-05 20:29:22 -07:00
Dustin Carlino
b9eda7305a
Fix the web canvas size. I was mixing examples improperly; our code appends a canvas to the DOM dynamically, so we don't need to hardcode one.
2020-10-05 19:50:52 -07:00
Dustin Carlino
982b0bc194
Support opening new browser tabs on web. The webbrowser crate claims it's experimental, but works fine for me, and the impl is pretty much what I'd try anyway.
2020-10-05 19:50:52 -07:00
Dustin Carlino
bb6dbb0731
Switch from stdweb to websys for #21 .
...
When I added web support in February, it was easier to get started with
stdweb, since it has the nice cargo web tool. However, stdweb is
unmaintained, winit is deprecating support for it, and the next steps
for web (downloading maps dynamically) have better support for web-sys.
With Alvin's guidance, I got
https://github.com/dabreegster/minimal_websys_winit_glow_demo working
first. This PR cuts A/B Street over too.
I tested abst and the widgetry demo in both native and web. The only
major regression from stdweb is the canvas placement and size. I
attempted some fixes, but at this point, I'll leave it as a smaller
followup instead.
2020-10-05 19:50:52 -07:00
Dustin Carlino
e5365254e9
Make load_all_objects IO-backend (native/web) agnostic
2020-10-05 14:48:34 -07:00
Dustin Carlino
a5cf5877e6
Experiment with focusing on negative space
2020-10-05 10:13:28 -07:00
Dustin Carlino
8e49aac42f
Make traffic seitan close roads that agents are about to use, causing a
...
crash. And start to figure out the debugging story.
2020-10-05 08:49:16 -07:00
Dustin Carlino
50e8a94946
Use an absolute color scale for throughput, instead of the weird ranked thing. If a few roads have a ridiculously high throughput compared to others, we actually care about those outliers. And don't show counts in the legend after all; it just climbs over the whole day, and confusingly mixes roads/intersections, which're actually colored independently.
2020-10-03 16:44:36 -07:00
Dustin Carlino
98d26d8979
Refactor calls to calculate_current_selection
2020-10-03 16:37:56 -07:00
Dustin Carlino
acaf7eb587
Split compare throughput into separate State
2020-10-03 16:13:58 -07:00
Dustin Carlino
5354d1ba2b
Show counts in throughput layer tooltips
2020-10-03 16:04:58 -07:00
Dustin Carlino
b7818a52be
Capture the reason for cancelled trips, for #312
2020-10-03 15:35:29 -07:00
Dustin Carlino
9ccbf40dba
Merge the concept of cancelled and aborted trips, in preparation for storing the reason for cancellation, for #312
2020-10-03 10:41:53 -07:00
Dustin Carlino
5aee85f19d
Allow colorschemes to optionally color zoomed-in lanes based on OSM road rank. Most schemes don't do this, but one needs to, and maintaining a separate git branch has become annoying.
...
Should have no behavioral change to existing color schemes.
2020-10-02 08:06:35 -07:00
Dustin Carlino
f73d9da080
Conjure Traffic Seitan, a tool to make byzantine live map edits, to cause chaos and flush out bugs...
2020-10-01 18:24:35 -07:00
Dustin Carlino
afa27e0903
Just adjusting dark colorscheme
2020-10-01 16:36:00 -07:00
Dustin Carlino
c2ef091fb4
Try some greyscale color schemes, from Mapbox
2020-10-01 13:49:03 -07:00
Dustin Carlino
fd460a2f43
Fix blackholed buildings with --infinite_parking. Before, they were just
...
skipped outright. Now they redirect to a reasonably close building that
isn't blackholed. #329
(For context, https://dabreegster.github.io/abstreet/map/index.html#connectivity
explains "blackhole")
I'm increasingly convinced I made the wrong decision to split the
normal/infinite parking implementation. It's low-priority, but I'll try
consolidating them later.
2020-10-01 11:57:30 -07:00
Dustin Carlino
778b33bd55
Confirm export of roads to shared-row with a popup
2020-09-30 12:40:36 -07:00
Dustin Carlino
2b87736dd4
Pull in fresh OSM, with fixed turn lanes near the notorious Madison / Lake Wash Blvd. NOW it runs without gridlock again!
2020-09-30 10:30:01 -07:00
Dustin Carlino
c36f8026f0
Remove the old per-lane delay layer in favor of the new per-agent one
2020-09-30 09:19:24 -07:00
Dustin Carlino
2c63a485cc
Undo some uses of impl trait. Originally added for performance in a big
...
refactor, they complicate the function signatures significantly and have
no observable perf impact, since all of the methods just happen in map
importing.
2020-09-29 15:53:08 -07:00
Dustin Carlino
a64fe01c3a
Actually, absolute scale for the debug destinations tool makes more sense than ranked
2020-09-29 15:30:24 -07:00
Dustin Carlino
49f4d3e3dc
Add a tool to see where people blocked on a traffic signal are trying to go ( #354 )
2020-09-29 15:22:05 -07:00
Dustin Carlino
9ca7ea6cc2
Improve the experiment to draw area names by fixing z-ordering. But
...
leave disabled; sizing is still way off.
2020-09-29 14:51:07 -07:00
Dustin Carlino
de4f5c7768
Add a layer to color unzoomed agents based on their current delay, to help debug gridlock. Something like this used to exist as a first-class way to change unzoomed color schemes, but until we have more ideas about showing agent intent on the minimap, just implementing this as a separate layer. ( #353 )
2020-09-29 11:51:37 -07:00
Dustin Carlino
e7e3a30a25
Fix crash on Windows when minimizing window
2020-09-28 19:23:54 -07:00
Dustin Carlino
823297b71e
See unzoomed routes for trips better. #331
2020-09-28 18:26:41 -07:00
Dustin Carlino
371d26f707
Bring in alleyways from OSM! [rebuild] ( #351 )
2020-09-27 12:20:27 -07:00
Dustin Carlino
84891f8b96
Some map fixes to prepare for alleyways:
...
- Temporarily workaround snap_cycleways crash in Xi'an
- Fix interpretation of blank turn restrictions. https://www.openstreetmap.org/way/739621435 was missing a right turn, which was causing vehicles to do this crazy loop to go from Madison EB to Lake Wash SB.
- Ignore turn restrictions when they don't match the number of lanes. https://www.openstreetmap.org/way/428090702 and similar need some updating.
Regenerate all data, but give up on lakeslice running fully. Going to
sacrifice that one for a bit to get new roads imported.
2020-09-27 11:21:35 -07:00
Dustin Carlino
4916b10190
Small style cleanups after #346 (Import grouping, simplify Spinner logic)
2020-09-27 10:26:38 -07:00
NoSuchThingAsRandom
0921a4aae5
Pedestrian crossing time ( #346 )
...
* Fixed ui being able to select traffic light times that are shorter than the time it takes to walk across the crosswalk
* Fixing operands and renaming
* Fixed spinner out of bounds issue
Traffic light generation now, ensures that there is enough time to cross the crosswalk
And enforces the minimum time duration
* Cargo +nightly fmt
* Request fixes: https://github.com/dabreegster/abstreet/pull/346
Still need some things to clarify:
Spinner checks on increment/decrement
Calling enforce_minimum_crosswalk_time inside get_possible_policies, requires the removal or modification of the validation function
* Moved enforce_minimum_crosswalk_time inside get_possible_policies
Now runs stage_time_validation at the end of get_possible_policies and removes invalid policies
Could do the same with the validation function as well?
* Fixing import order
* Fixed ui being able to select traffic light times that are shorter than the time it takes to walk across the crosswalk
* Fixing operands and renaming
* Fixed spinner out of bounds issue
Traffic light generation now, ensures that there is enough time to cross the crosswalk
And enforces the minimum time duration
* Cargo +nightly fmt
* Request fixes: https://github.com/dabreegster/abstreet/pull/346
Still need some things to clarify:
Spinner checks on increment/decrement
Calling enforce_minimum_crosswalk_time inside get_possible_policies, requires the removal or modification of the validation function
* Moved enforce_minimum_crosswalk_time inside get_possible_policies
Now runs stage_time_validation at the end of get_possible_policies and removes invalid policies
Could do the same with the validation function as well?
* Fixing import order
* Moving stage validation inside validation function
Co-authored-by: Sam <a>
2020-09-27 10:21:30 -07:00
Dustin Carlino
2ddd9a62ff
Cleanups for #346 :
...
- Add Distance::min()/max()
- Bring in log crate everywhere
- Consolidate traffic signal validation
2020-09-26 10:11:08 -07:00
Dustin Carlino
5a3bee0264
A first attempt to snap separately mapped cycleways to main roads. Emit ( #348 )
...
an extra KML file during importing to debug; don't bring into the main
map yet. #330
Not regenerating yet
2020-09-25 15:22:47 -07:00
Michael Kirk
f0be8dc0f0
Coalesce render flavors ( #349 )
2020-09-25 15:09:18 -07:00
Michael Kirk
e19bb42492
Clean up "trips" (info/person.rs) ( #347 )
...
* center pill
* padding insets
* use disclosure glyph instead of unicode arrows
2020-09-25 13:05:32 -07:00
Dustin Carlino
0f78920aeb
Start overhauling th trip summary page. #331
2020-09-25 11:55:07 -07:00
Michael Kirk
241d2faad3
Apply a few more pop_up buttons
...
...rather than formatting text w/ unicode arrows
Addendum to 452fb06ae
2020-09-25 09:47:08 -07:00
Michael Kirk
00fb0ef8cd
Cleanup dropdown - stop using unicode "down arrow"
...
We were drawing "pop-up" style buttons in several places, using
copy/pasted logic - which was simple enough when using a unicode glyph.
But we want to use a different glyph which isn't in our font. Further,
using an svg like this gives us finer grained control around the layout
around the button "handle" than we could get with just space characters.
2020-09-24 19:12:39 -07:00
Dustin Carlino
119e887425
New dashboard picker. #331
2020-09-24 10:40:18 -07:00
Dustin Carlino
597ef473f2
Upgrade most dependencies
2020-09-24 09:36:26 -07:00
Dustin Carlino
de86258402
Inch towards new trip table design: hover color, move pagination controls. #331
2020-09-23 14:03:08 -07:00
Dustin Carlino
d77271f9d8
Export trip times to CSV [rebuild]
2020-09-23 13:06:22 -07:00
Dustin Carlino
fa0c5ee02c
Multiple lane type transformations in bulk edit. #331
2020-09-23 11:55:19 -07:00
Dustin Carlino
6f110d9e7f
Add unfinished trips table. #331
2020-09-22 16:18:03 -07:00
Dustin Carlino
530a9ee4e4
Add a dashboard showing cancelled trips. Further refactor trip table
...
states along the way. #331
2020-09-22 14:16:51 -07:00
Dustin Carlino
f57bd57ac3
Avoid crashing for underground isometric buildings
2020-09-22 12:35:57 -07:00
Dustin Carlino
023bee5954
Simplify the parking table using the new API. Closes #53
2020-09-22 12:13:06 -07:00
Dustin Carlino
6a13ec0841
Refactor the trip table and parking overhead table into a generic table
...
API, with sorting, filtering, and pagination. This will be invaluable
when implementing more tables and the new table style (see Figma for
both). #53
2020-09-22 12:13:06 -07:00
Michael Kirk
848251fca4
use osm data for actual building height ( #340 )
2020-09-22 11:59:50 -07:00
Michael Kirk
59fec852a8
fix "don't draw" option for jump-to-delay ( #339 )
2020-09-21 13:42:01 -07:00
Dustin Carlino
31d888024b
Display the 3 categories of trips in the table differently. Not
...
clickable yet. #331
2020-09-21 12:57:10 -07:00
Michael Kirk
8042ad414f
fix building overlap for isometric view (mostly) ( #338 )
2020-09-21 11:54:39 -07:00
Dustin Carlino
8e32314979
Style the loading screen and add tips/news. Closes #180 [rebuild]
2020-09-20 13:02:27 -07:00
Dustin Carlino
990aa74d03
More ways to find signal demand dash. #331
2020-09-20 10:18:18 -07:00
Dustin Carlino
4a07164394
Add the concept of trip purpose. Seed it from Soundcast data, or assign
...
it for the prolet robot model. Expose it in the trip info panel.
Total scenario size from 385MB to 412MB, but that's not so bad, and this
seems worth it.
2020-09-19 13:02:36 -07:00
Dustin Carlino
bb3342de27
Individual hitboxes for multiple signals in the sidebar. #331
2020-09-19 11:52:15 -07:00
Dustin Carlino
3c11dca9ba
Remove the selection outline on the side panel when hovering on the map. About to flip the direction of this. #331
2020-09-19 11:17:25 -07:00
Dustin Carlino
3cc6a8ce12
And finally, a UI to tune offset between two signals! [rebuild]
2020-09-19 11:10:45 -07:00
Dustin Carlino
8170faa03c
Start a UI to display absolute signal offsets and offsets relative to one chosen intersection
2020-09-19 11:10:45 -07:00
Dustin Carlino
08805f6a32
Rip out the old signal offset UI first.
2020-09-19 11:10:45 -07:00
Dustin Carlino
57e5183c2c
Make signal demand explorer much nicer, with selectable movements. #331
2020-09-19 10:51:27 -07:00
Dustin Carlino
83ff6db16c
Improve the signal demand dash with keys to change hour. And slightly
...
refactor styled keys in text.
2020-09-19 10:18:23 -07:00
Dustin Carlino
94eaa7010d
Slightly improve current demand panel by adding outlines to all unselected arrows
2020-09-18 23:06:48 -07:00
Dustin Carlino
15af3846b1
Round driving costs for pathfinding more carefully. When we create
...
uber-turns (sequences of turns through a few intersections) due to OSM
turn restrictions, we have to be a little careful how we sum up the cost
for the entire sequence, only rounding at the end.
2020-09-18 15:39:35 -07:00
Dustin Carlino
66ee865ad1
Debug uber-turns by showing their cost in the viewer
2020-09-18 14:13:11 -07:00
Dustin Carlino
d9e50a7e38
Use .into() for specifying keys to widgetry more ergonomically. #253
2020-09-18 09:26:14 -07:00
Dustin Carlino
2f66a714d8
Adjust file naming dialog. Don't allow overwriting files at all. #331
2020-09-18 08:50:52 -07:00
Dustin Carlino
987f76ebdb
Adjust signal editor arrow colors. #331
2020-09-18 08:30:25 -07:00
Michael Kirk
2b36b9f03a
add textured theme ( #335 )
2020-09-18 07:43:05 -07:00
Michael Kirk
cb84b729f6
FancyColor -> Fill ( #334 )
2020-09-17 23:34:25 -07:00
Dustin Carlino
16ed4ca457
Use crosswalk icons in the editor. #331
2020-09-17 18:42:20 -07:00
Dustin Carlino
69622bb86d
Overhaul traffic signal editor. Movements can be directly clicked now;
...
the turn icons (now circles) are just for currently banned turns. #331
[rebuild]
Still a little work left (tuning arrow styles and using special icons
for crosswalks), but this mostly seems to match Yuwen's design.
2020-09-17 17:21:36 -07:00
Dustin Carlino
60cb96bc91
Just detangling code in draw_signal_stage...
2020-09-17 15:31:28 -07:00
Dustin Carlino
f59b738692
Simplify traffic signal rendering before big turn icon overhaul by
...
removing some older styles.
2020-09-17 15:06:35 -07:00
Dustin Carlino
ddb933d682
Fix active traffic crash, due to the polygon being too detailed [rebuild]
2020-09-17 10:58:01 -07:00
Michael Kirk
08f330cfad
track worker capacity of commercial buildings
2020-09-16 16:43:11 -07:00
Dustin Carlino
2e6e338b98
New bulk lane edit UI. #331
2020-09-16 16:07:48 -07:00
Dustin Carlino
6e10f40801
Overhaul lane editor UI. #331
2020-09-16 12:32:11 -07:00
Dustin Carlino
da287ae68f
Discard changes from traffic signal editor. #331
2020-09-16 11:50:57 -07:00
Dustin Carlino
3dcdb9ec02
Update OSM data (and fix the stage icon)
2020-09-16 10:29:51 -07:00
Dustin Carlino
1331b629aa
Track how long cars have been parked in one spot
2020-09-16 09:42:02 -07:00
Dustin Carlino
4beff2b7bf
Fix some zero-length paths in the parking efficiency layer. #329
2020-09-16 08:47:40 -07:00
Dustin Carlino
5ca884eedd
Filling out the UI
2020-09-15 13:27:56 -07:00
Dustin Carlino
fcc05afda7
Add a flag to use the infinite parking sim. Start to test for real...
2020-09-15 13:27:56 -07:00
Dustin Carlino
7bd1d937f9
Some of Yuwen's cosmetic traffic signal editor changes
2020-09-15 09:32:46 -07:00
Dustin Carlino
4d6fc18c26
Woops, fix edit mode crash from previous commit
2020-09-14 18:06:25 -07:00
Dustin Carlino
ac3bc51af2
Restore the traffic signal stage indicator
2020-09-14 18:02:53 -07:00
Dustin Carlino
fff75fa5ba
Yuwen's new changelist UI (except for describing some of the changes in detail)
2020-09-14 17:40:04 -07:00
Dustin Carlino
d68273086b
Autosave even the untitled edits!
...
Possibly when the player explicitly says "discard proposal", we should
actually delete the file.
2020-09-14 14:25:09 -07:00
Dustin Carlino
0a3479a3d0
Implement the new file management part of Yuwen's edit mode sidebar UI.
...
Some bugs introduced when working with the default untitled proposal.
About to change the behavior of that in the next commit.
2020-09-14 13:58:12 -07:00
Dustin Carlino
ce4e429648
Rename edits -> proposals, at least in the UI layer.
2020-09-14 12:52:06 -07:00
Dustin Carlino
ec28132286
Implement Yuwen's split jump to time/delay UI [rebuild]
2020-09-14 10:28:25 -07:00
Dustin Carlino
8b7cb7a601
Split code for speed / time warp controls
2020-09-14 09:40:43 -07:00
Dustin Carlino
faf1379062
Add a new experimental layer to show the distance between every parked car and its owner
2020-09-14 09:18:24 -07:00
Dustin Carlino
f3a04b4d96
Add 4 configurable isometric camera views for buildings, disabled by default.
2020-09-13 21:36:45 -07:00
Dustin Carlino
e5bb98511a
Few adjustments to KML viewer to make it easier to deal with huge .kml files
2020-09-12 10:06:04 -07:00
Dustin Carlino
037e22e69e
Cleanup last few things for left-hand maps. Fixes #311 !
2020-09-11 14:17:31 -07:00
Dustin Carlino
033b20f004
Fix parking rendering for left-hand maps. Tested by temporarily forcing
...
some onstreet parking in London. #311
2020-09-11 14:09:45 -07:00
Dustin Carlino
d88ccf98b7
Make pedestrians walk on the left side of the sidewalk in the UK. #311
2020-09-11 13:55:26 -07:00
Dustin Carlino
d56d1fd0e3
Show trips affected by congestion capping in the trip table and info
...
panels
2020-09-11 11:21:39 -07:00
Dustin Carlino
2895d50a1e
Add tooltips to the agent meters, and stop showing both buses and passengers. Fixes #239 ( #323 )
2020-09-11 11:08:26 -07:00
Dustin Carlino
edbc674970
Fix stop sign placement for left-handed maps. #311
2020-09-11 11:03:59 -07:00
Dustin Carlino
bee5890212
Remove the purple parking agents from the unzoomed view. Instead, add them to the parking layer, so supply and demand can be seen in the same place. ( #322 )
2020-09-11 10:04:10 -07:00
Dustin Carlino
e1270a1338
Make trip timeline phases hoverable with a tooltip, but not be a clickable button
2020-09-10 16:54:30 -07:00
Dustin Carlino
0cc1c654d1
Allow selecting multiple traffic signals when unzoomed, and show the
...
number of signals selected.
2020-09-10 16:15:42 -07:00
Dustin Carlino
1388694eec
Flag off the live map edits, since it's going to take lots more work to stabilize this, but git branches are scary to maintain for more than a few days. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
220f33e2ec
Abort cars bound to park on edited lanes. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
39290f899c
Handle some of the live changes to parking by deleting parked cars on
...
edited lanes. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
61acf25b8e
Initialize intersections converted live to traffic signals. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
d8011a90f4
Handle live edits by just aborting any current trips that cross an
...
edited road or closed intersection. #312
Along the way, refactor more context plumbing in DrivingSimState.
2020-09-09 15:03:14 -07:00
Dustin Carlino
39ab06df7d
Prepare for editing the map live in all cases by making the UI changes. #312
2020-09-09 15:03:14 -07:00
Dustin Carlino
5c6e781016
Collapse a few more of the Transitions
2020-09-07 10:49:20 -07:00
Dustin Carlino
0b9b7e1a65
Fix a crash opening challenge modes. If somebody hits this in the latest
...
release, will put out a new build
2020-09-07 10:26:57 -07:00
Dustin Carlino
5be4c2ca84
Add an API to add a new trip in the middle of the simulation. Fixes #313
...
[rebuild]
2020-09-06 13:53:31 -07:00
Dustin Carlino
65e07d9cc7
Read/write scenarios in JSON, so people can manipulate them in any language. #313
2020-09-04 10:57:52 -07:00
Dustin Carlino
38ba8d55f3
Produce proper lanes for left-hand driving by intervening at the LaneSpec layer for #311 . Since London looks reasonable, opt it into the screenshot tests
2020-09-04 10:01:06 -07:00
Dustin Carlino
f610c66572
Remove the weird shifting/angle inversions from DrivingSide. First step
...
of #311 . Tested to not break righthand maps.
2020-09-04 10:01:06 -07:00
Dustin Carlino
787b6046b6
Remove the RAM measurement utility. Only work on Linux, I'm not convinced it's correct, and the information isn't useful to see
2020-09-03 17:19:40 -07:00
Dustin Carlino
574bf99e17
WIP
2020-09-03 16:36:47 -07:00
Dustin Carlino
fbd3a603dc
Dodge a traffic signal rendering crash encountered near Trafalgar Square
2020-09-03 16:12:52 -07:00
Dustin Carlino
4576e9c1d0
Start importing a tiny slice of London, to start working on left-hand driving again
2020-09-03 16:09:17 -07:00
Dustin Carlino
74aca40c0c
Mechanicallyish rename TurnGroup -> Movement for #197 , as decided in ( #306 )
...
https://github.com/dabreegster/abstreet/pull/302#discussion_r479571931
2020-08-29 15:18:54 -07:00
Michael Kirk
f58b60d7f1
timewarp restores last picked halt_limit ( #305 )
2020-08-28 17:20:50 -07:00
Dustin Carlino
a36ef99c06
Rename Phase -> Stage, to be more in line with standard traffic signal ( #302 )
...
controller terminology. Part of #197 .
Holding off on touching PhaseType and all of the serialized
seattle_traffic_signals format, since this will all change in Kyle's PR
anyway.
2020-08-28 17:19:23 -07:00
Michael Kirk
b861bec515
avoid jiggle in warp screen ( #303 )
2020-08-28 16:45:45 -07:00
Dustin Carlino
00840f1bbc
Now that @michaelkirk figured out how to preserve space, use it in a few more places in the UI. There are a few remaining places in the tutorial that use "- ", but I think the bullet point style is reasonable there. Maybe a Unicode dot would look better.
2020-08-28 16:35:10 -07:00
Michael Kirk
db5b1622ad
preserve whitespace ( #304 )
...
* maintain whitespace in text (except trailing)
Note, until https://github.com/RazrFalcon/resvg/issues/317 is addressed,
trailing space does not affect the size of the text bounding box.
* remove space-holders now that spacing is preserved
2020-08-28 16:26:00 -07:00
Michael Kirk
b67701c414
show sim time and speed ( #301 )
2020-08-28 14:37:40 -07:00
Michael Kirk
e5620aeb10
configurable "jump to delay"
2020-08-28 13:20:05 -07:00
Dustin Carlino
696c6c6d9e
Fix crash in edit mode
2020-08-27 19:38:54 -07:00
Dustin Carlino
de6a12e472
After much deliberation, rename Composite -> Panel ( #253 )
2020-08-27 12:12:44 -07:00
Dustin Carlino
2935d2379b
Mechanical rename of ezgui -> widgetry, a much better name to enchant the Rust community. #253 [rebuild]
2020-08-27 10:37:04 -07:00
Dustin Carlino
57b5791f1f
Refactor a helper to produce EditCmd::ChangeRoad. Looked at doing the
...
same for ChangeIntersection, but not sure it's worth it.
2020-08-27 10:25:18 -07:00
Dustin Carlino
e283b8944a
Restore the ability to see individually changed lanes. Give up on the
...
"revert" button for lanes; it was always kind of confusing.
2020-08-27 09:36:00 -07:00
Dustin Carlino
1c98dd55b7
Simplify original_roads by recomputing from OSM data
2020-08-27 09:36:00 -07:00
Dustin Carlino
b6ab06d51a
Remove the old EditCmds. Realizing the new ChangeRoad does have some
...
gaps with detecting changes to individual lanes in the UI, though...
2020-08-27 09:36:00 -07:00
Dustin Carlino
30bfe93b5c
Produce the new EditCmd::ChangeRoad in the UI. Tested the scenario that
...
caused #113 (change lane types, reverse some lane, save edits, load from
scratch) -- now it works!
2020-08-27 09:36:00 -07:00
Dustin Carlino
aacb17297d
Introduce a consolidated EditCmd::ChangeRoad. Unused so far, and not
...
handling backwards compatibility yet. One step towards fixing #113 and
2020-08-27 09:36:00 -07:00
Dustin Carlino
59b14426bb
Improve shared left turn lane markings and reorg some docs
2020-08-26 12:35:29 -07:00
Dustin Carlino
8b7ad86647
Regularly import Tel Aviv!
2020-08-26 10:25:45 -07:00
Dustin Carlino
8c1686c25f
Add a tool to screenshot all of the maps currently under diff testing. This tiny bit of automation saves me some manual labor.
2020-08-26 09:41:03 -07:00
Dustin Carlino
95c43f8e1c
Finally replace the underlying storage in Road
2020-08-25 12:08:54 -07:00
Dustin Carlino
376cf1292a
And more. Now all the deprecated stuff is locked down to map_model, and
...
it's pretty much related to map construction and edits
2020-08-25 12:08:54 -07:00
Dustin Carlino
b6a4657dbb
Whittle down more deprecated Road stuff
2020-08-25 12:08:54 -07:00
Dustin Carlino
aa3bd5073b
Make some new methods on Road to handle child lanes from left-to-right,
...
not split by direction. Update many callers, and lock down the
visibility of the old methods.
Tested a few maps manually to make sure there's no behavioral diff. Only
problem right now is the z-order of adjacent lanes covering up half of
the white stripe sometimes. Have some ideas to fix that later, and not
_super_ important in the meantime.
2020-08-25 12:08:54 -07:00
Dustin Carlino
4005adecf8
Refactor: create a Direction enum, in preparation for two-way cycletracks on one side of a road.
2020-08-24 13:30:13 -07:00
Dustin Carlino
b41b52d7bd
fix crash in debug mode when opening info panels
2020-08-24 09:01:27 -07:00
Dustin Carlino
6b7747c37a
Overhaul lane markings:
...
- Cut off the one-way markings before the end of the road, to stop stomping over turn markings
- Draw turn arrows to every road, not each lane
- Only draw turn arrows when a lane is restricted from going to some
outbound lane. At most intersections, all turns are legal, so don't draw
anything.
[rebuild]
2020-08-23 12:00:25 -07:00
Dustin Carlino
0fd40bd04e
Explicitly mark buildings with private off-street parking from OSM. 2ebf463635
added parking icons to all buildings with > 10 spots, but this makes the downtown map look ridiculous. The intention was to show the tagged buildings, so just go do that.
2020-08-23 11:09:00 -07:00
Dustin Carlino
6250cb8393
Be more specific about access restrictions in info panel. For capped roads, print the value and current counter.
2020-08-23 09:41:12 -07:00
Dustin Carlino
ca8af784c7
Add an explicit version number to the edits schema
2020-08-23 09:22:41 -07:00
Dustin Carlino
83c0a31e62
show roads with changed access restrictions in edits layer
2020-08-22 20:27:04 -07:00
Dustin Carlino
66151e8aa4
Dump route goldenfiles during the smoke-test, so that it's run when all
...
data is regenerated. (Ideally screenshots would also be automated, but
that's a little trickier.)
_NOW_ regenerate all data! The only diff anywhere is the binary map
format, so there's confidence the last few commits haven't changed
anything.
2020-08-22 10:53:05 -07:00
Dustin Carlino
11832aa606
Record throughput through a traffic signal by direction, expose through
...
the API (#245 ), and beef up the Python example.
Impact to prebaked file size is tiny -- for lakeslice, the original
intersection_thruput is 2MB and the new traffic_signal_thruput is 435KB.
[rebuild]
2020-08-22 09:13:16 -07:00
Dustin Carlino
5b2a548c93
When regenerating all map data, make sure proposals still work. Lo and
...
behold, I've broken two of them by updating OSM!
2020-08-21 15:49:28 -07:00
Dustin Carlino
ad423b22e9
Remove the glium backend, now that @michaelkirk has gotten the glow native/wasm backends ship-shape. Got rid of the glutin fallback behavior for now; need to ideally upstream something there for #103
2020-08-20 16:59:54 -07:00
Dustin Carlino
fa83554eb4
Consolidate code for loading edits from JSON
2020-08-20 16:33:08 -07:00