diff --git a/rustdoc/fifteen_min/fn.run.html b/rustdoc/fifteen_min/fn.run.html index 87426a8048..8bcca68689 100644 --- a/rustdoc/fifteen_min/fn.run.html +++ b/rustdoc/fifteen_min/fn.run.html @@ -1 +1 @@ -run in fifteen_min - Rust
pub(crate) fn run(settings: Settings)
\ No newline at end of file +run in fifteen_min - Rust
pub(crate) fn run(settings: Settings)
\ No newline at end of file diff --git a/rustdoc/fifteen_min/index.html b/rustdoc/fifteen_min/index.html index ff6a77b346..17d1e3fe48 100644 --- a/rustdoc/fifteen_min/index.html +++ b/rustdoc/fifteen_min/index.html @@ -1,3 +1,3 @@ -fifteen_min - Rust

Modules

bus 🔒
find_home 🔒
isochrone 🔒
viewer 🔒
This is a tool to experiment with the concept of 15-minute neighborhoods. Can you access your +fifteen_min - Rust

Modules

bus 🔒
find_home 🔒
isochrone 🔒
viewer 🔒
This is a tool to experiment with the concept of 15-minute neighborhoods. Can you access your daily needs (like groceries, a cafe, a library) within a 15-minute walk, bike ride, or public transit ride of your home?

Functions

run 🔒

Type Definitions

App 🔒
\ No newline at end of file diff --git a/rustdoc/fifteen_min/viewer/fn.build_panel.html b/rustdoc/fifteen_min/viewer/fn.build_panel.html index 2e8d8fde98..a38bb30d83 100644 --- a/rustdoc/fifteen_min/viewer/fn.build_panel.html +++ b/rustdoc/fifteen_min/viewer/fn.build_panel.html @@ -1 +1 @@ -build_panel in fifteen_min::viewer - Rust
fn build_panel(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<()>,
    start: &Building,
    isochrone: &Isochrone
) -> Panel
\ No newline at end of file +build_panel in fifteen_min::viewer - Rust
fn build_panel(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<()>,
    start: &Building,
    isochrone: &Isochrone
) -> Panel
\ No newline at end of file diff --git a/rustdoc/fifteen_min/viewer/fn.draw_star.html b/rustdoc/fifteen_min/viewer/fn.draw_star.html index 918b7f78e2..f1d849f9e8 100644 --- a/rustdoc/fifteen_min/viewer/fn.draw_star.html +++ b/rustdoc/fifteen_min/viewer/fn.draw_star.html @@ -1 +1 @@ -draw_star in fifteen_min::viewer - Rust
pub fn draw_star(ctx: &mut EventCtx<'_>, b: &Building) -> GeomBatch
\ No newline at end of file +draw_star in fifteen_min::viewer - Rust
pub fn draw_star(ctx: &mut EventCtx<'_>, b: &Building) -> GeomBatch
\ No newline at end of file diff --git a/rustdoc/fifteen_min/viewer/fn.draw_unwalkable_roads.html b/rustdoc/fifteen_min/viewer/fn.draw_unwalkable_roads.html index c48b9ffbb6..0f8c295cc2 100644 --- a/rustdoc/fifteen_min/viewer/fn.draw_unwalkable_roads.html +++ b/rustdoc/fifteen_min/viewer/fn.draw_unwalkable_roads.html @@ -1 +1 @@ -draw_unwalkable_roads in fifteen_min::viewer - Rust
pub fn draw_unwalkable_roads(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<()>,
    opts: &Options
) -> Drawable
\ No newline at end of file +draw_unwalkable_roads in fifteen_min::viewer - Rust
pub fn draw_unwalkable_roads(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<()>,
    opts: &Options
) -> Drawable
\ No newline at end of file diff --git a/rustdoc/fifteen_min/viewer/fn.options_from_controls.html b/rustdoc/fifteen_min/viewer/fn.options_from_controls.html index 5fd79a4cef..3dc5a5535d 100644 --- a/rustdoc/fifteen_min/viewer/fn.options_from_controls.html +++ b/rustdoc/fifteen_min/viewer/fn.options_from_controls.html @@ -1 +1 @@ -options_from_controls in fifteen_min::viewer - Rust
fn options_from_controls(panel: &Panel) -> MovementOptions
\ No newline at end of file +options_from_controls in fifteen_min::viewer - Rust
fn options_from_controls(panel: &Panel) -> MovementOptions
\ No newline at end of file diff --git a/rustdoc/fifteen_min/viewer/fn.options_to_controls.html b/rustdoc/fifteen_min/viewer/fn.options_to_controls.html index be775af7e3..0fd9891b89 100644 --- a/rustdoc/fifteen_min/viewer/fn.options_to_controls.html +++ b/rustdoc/fifteen_min/viewer/fn.options_to_controls.html @@ -1 +1 @@ -options_to_controls in fifteen_min::viewer - Rust
fn options_to_controls(ctx: &mut EventCtx<'_>, opts: &Options) -> Widget
\ No newline at end of file +options_to_controls in fifteen_min::viewer - Rust
fn options_to_controls(ctx: &mut EventCtx<'_>, opts: &Options) -> Widget
\ No newline at end of file diff --git a/rustdoc/fifteen_min/viewer/index.html b/rustdoc/fifteen_min/viewer/index.html index e8b6e7fa99..a886825ee6 100644 --- a/rustdoc/fifteen_min/viewer/index.html +++ b/rustdoc/fifteen_min/viewer/index.html @@ -1,4 +1,4 @@ -fifteen_min::viewer - Rust
Expand description

This is a tool to experiment with the concept of 15-minute neighborhoods. Can you access your +fifteen_min::viewer - Rust

Expand description

This is a tool to experiment with the concept of 15-minute neighborhoods. Can you access your daily needs (like groceries, a cafe, a library) within a 15-minute walk, bike ride, or public transit ride of your home?

See https://github.com/a-b-street/abstreet/issues/393 for more context.

diff --git a/rustdoc/fifteen_min/viewer/struct.Entry.html b/rustdoc/fifteen_min/viewer/struct.Entry.html index 625fe405e9..e4d8a03ffe 100644 --- a/rustdoc/fifteen_min/viewer/struct.Entry.html +++ b/rustdoc/fifteen_min/viewer/struct.Entry.html @@ -1,4 +1,4 @@ -Entry in fifteen_min::viewer - Rust
struct Entry {
+Entry in fifteen_min::viewer - Rust
struct Entry {
     bldg: BuildingID,
     amenity_idx: usize,
     name: String,
diff --git a/rustdoc/fifteen_min/viewer/struct.ExploreAmenities.html b/rustdoc/fifteen_min/viewer/struct.ExploreAmenities.html
index d2c3d22586..065b1b220d 100644
--- a/rustdoc/fifteen_min/viewer/struct.ExploreAmenities.html
+++ b/rustdoc/fifteen_min/viewer/struct.ExploreAmenities.html
@@ -1,8 +1,8 @@
-ExploreAmenities in fifteen_min::viewer - Rust
struct ExploreAmenities {
+ExploreAmenities in fifteen_min::viewer - Rust
struct ExploreAmenities {
     table: Table<SimpleApp<()>, Entry, ()>,
     panel: Panel,
     draw: Drawable,
-}

Fields

table: Table<SimpleApp<()>, Entry, ()>panel: Paneldraw: Drawable

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.
Draw
Specifies what to draw before draw()
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving +}

Fields

table: Table<SimpleApp<()>, Entry, ()>panel: Paneldraw: Drawable

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.
Draw
Specifies what to draw before draw()
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving the State-specific state appropriately. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/fifteen_min/viewer/struct.HoverOnBuilding.html b/rustdoc/fifteen_min/viewer/struct.HoverOnBuilding.html index bc7a7394b5..fabfb26549 100644 --- a/rustdoc/fifteen_min/viewer/struct.HoverOnBuilding.html +++ b/rustdoc/fifteen_min/viewer/struct.HoverOnBuilding.html @@ -1,7 +1,7 @@ -HoverOnBuilding in fifteen_min::viewer - Rust
pub struct HoverOnBuilding {
+HoverOnBuilding in fifteen_min::viewer - Rust
pub struct HoverOnBuilding {
     pub tooltip: Text,
     pub drawn_route: Drawable,
-}

Fields

tooltip: Textdrawn_route: Drawable

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can +}

Fields

tooltip: Textdrawn_route: Drawable

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/fifteen_min/viewer/struct.Viewer.html b/rustdoc/fifteen_min/viewer/struct.Viewer.html index 6d6051221e..0f822cb391 100644 --- a/rustdoc/fifteen_min/viewer/struct.Viewer.html +++ b/rustdoc/fifteen_min/viewer/struct.Viewer.html @@ -7,7 +7,7 @@ draw_unwalkable_roads: Drawable, }
Expand description

This is the UI state for exploring the isochrone/walkshed from a single building.

Fields

panel: Panelhighlight_start: Drawableisochrone: Isochronehovering_on_bldg: Cached<(BuildingID, f64), HoverOnBuilding>hovering_on_category: Option<(AmenityType, Drawable)>draw_unwalkable_roads: Drawable

Implementations

Start with a random building

-

Trait Implementations

Respond to a UI event, such as input or time passing.
Draw
Specifies what to draw before draw()
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving +

Trait Implementations

Respond to a UI event, such as input or time passing.
Draw
Specifies what to draw before draw()
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving the State-specific state appropriately. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/fifteen_min/viewer/type.HoverKey.html b/rustdoc/fifteen_min/viewer/type.HoverKey.html index 5a57594120..02ee43fa18 100644 --- a/rustdoc/fifteen_min/viewer/type.HoverKey.html +++ b/rustdoc/fifteen_min/viewer/type.HoverKey.html @@ -1,2 +1,2 @@ -HoverKey in fifteen_min::viewer - Rust

Type Definition fifteen_min::viewer::HoverKey

source · []
pub type HoverKey = (BuildingID, f64);
Expand description

(building, scale factor)

+HoverKey in fifteen_min::viewer - Rust

Type Definition fifteen_min::viewer::HoverKey

source · []
pub type HoverKey = (BuildingID, f64);
Expand description

(building, scale factor)

\ No newline at end of file diff --git a/rustdoc/ltn/fn.is_driveable.html b/rustdoc/ltn/fn.is_driveable.html index da1fd07b36..3505a6febb 100644 --- a/rustdoc/ltn/fn.is_driveable.html +++ b/rustdoc/ltn/fn.is_driveable.html @@ -1 +1 @@ -is_driveable in ltn - Rust
pub(crate) fn is_driveable(road: &Road, map: &Map) -> bool
\ No newline at end of file +is_driveable in ltn - Rust
pub(crate) fn is_driveable(road: &Road, map: &Map) -> bool
\ No newline at end of file diff --git a/rustdoc/ltn/fn.is_private.html b/rustdoc/ltn/fn.is_private.html index b870d488df..e90edbe4f0 100644 --- a/rustdoc/ltn/fn.is_private.html +++ b/rustdoc/ltn/fn.is_private.html @@ -1 +1 @@ -is_private in ltn - Rust
pub(crate) fn is_private(road: &Road) -> bool
\ No newline at end of file +is_private in ltn - Rust
pub(crate) fn is_private(road: &Road) -> bool
\ No newline at end of file diff --git a/rustdoc/ltn/fn.load_remote.html b/rustdoc/ltn/fn.load_remote.html index b7bf0963db..4993fb2842 100644 --- a/rustdoc/ltn/fn.load_remote.html +++ b/rustdoc/ltn/fn.load_remote.html @@ -1 +1 @@ -load_remote in ltn - Rust
pub(crate) fn load_remote(
    ctx: &mut EventCtx<'_>,
    id: String,
    consultation: Option<String>
) -> Box<dyn State<App>>
\ No newline at end of file +load_remote in ltn - Rust
pub(crate) fn load_remote(
    ctx: &mut EventCtx<'_>,
    id: String,
    consultation: Option<String>
) -> Box<dyn State<App>>
\ No newline at end of file diff --git a/rustdoc/ltn/fn.redraw_all_filters.html b/rustdoc/ltn/fn.redraw_all_filters.html index 0e89f4e9c1..29a03610ae 100644 --- a/rustdoc/ltn/fn.redraw_all_filters.html +++ b/rustdoc/ltn/fn.redraw_all_filters.html @@ -1 +1 @@ -redraw_all_filters in ltn - Rust
pub fn redraw_all_filters(ctx: &EventCtx<'_>, app: &mut App)
\ No newline at end of file +redraw_all_filters in ltn - Rust
pub fn redraw_all_filters(ctx: &EventCtx<'_>, app: &mut App)
\ No newline at end of file diff --git a/rustdoc/ltn/fn.setup_initial_states.html b/rustdoc/ltn/fn.setup_initial_states.html index 3a3d07d3a6..8b4d4e9848 100644 --- a/rustdoc/ltn/fn.setup_initial_states.html +++ b/rustdoc/ltn/fn.setup_initial_states.html @@ -1 +1 @@ -setup_initial_states in ltn - Rust
pub(crate) fn setup_initial_states(
    ctx: &mut EventCtx<'_>,
    app: &mut App,
    consultation: Option<&String>,
    popup_state: Option<Box<dyn State<App>>>
) -> Vec<Box<dyn State<App>>>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
    A: Allocator,
\ No newline at end of file +setup_initial_states in ltn - Rust
pub(crate) fn setup_initial_states(
    ctx: &mut EventCtx<'_>,
    app: &mut App,
    consultation: Option<&String>,
    popup_state: Option<Box<dyn State<App>>>
) -> Vec<Box<dyn State<App>>>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
    A: Allocator,
\ No newline at end of file diff --git a/rustdoc/ltn/index.html b/rustdoc/ltn/index.html index f00719790a..5d1345b0b9 100644 --- a/rustdoc/ltn/index.html +++ b/rustdoc/ltn/index.html @@ -1,4 +1,4 @@ -ltn - Rust

Crate ltn

source · []

Modules

app 🔒
colors 🔒
components 🔒
crossings 🔒
design_ltn 🔒
draw_cells 🔒
edit 🔒
export 🔒
filters 🔒
impact 🔒
partition 🔒
pick_area 🔒
save 🔒
shortcuts 🔒

Macros

Structs

Args 🔒
A partitioning of the interior of a neighbourhood based on driving design_ltn
A diagonal filter exists in an intersection. It’s defined by two roads (the order is +ltn - Rust

Crate ltn

source · []

Modules

app 🔒
colors 🔒
components 🔒
crossings 🔒
design_ltn 🔒
draw_cells 🔒
edit 🔒
export 🔒
filters 🔒
impact 🔒
partition 🔒
pick_area 🔒
save 🔒
shortcuts 🔒

Macros

Structs

Args 🔒
A partitioning of the interior of a neighbourhood based on driving design_ltn
A diagonal filter exists in an intersection. It’s defined by two roads (the order is arbitrary). When all of the intersection’s roads are sorted in clockwise order, this pair of roads splits the ordering into two groups. Turns in each group are still possible, but not across groups.
An interval along a road’s length, with start < end.
Stored in App per-map state. Before making any changes, call before_edit.
An opaque ID, won’t be contiguous as we adjust boundaries
A filter placed somewhere along a road

Enums

Just determines the icon, has no semantics yet

Constants

Functions

Type Definitions

\ No newline at end of file diff --git a/rustdoc/ltn/macro.mut_edits.html b/rustdoc/ltn/macro.mut_edits.html index 943725c86e..066e3b344c 100644 --- a/rustdoc/ltn/macro.mut_edits.html +++ b/rustdoc/ltn/macro.mut_edits.html @@ -1,4 +1,4 @@ -mut_edits in ltn - Rust
macro_rules! mut_edits {
+mut_edits in ltn - Rust
macro_rules! mut_edits {
     ($app:ident) => { ... };
 }
\ No newline at end of file diff --git a/rustdoc/ltn/macro.mut_partitioning.html b/rustdoc/ltn/macro.mut_partitioning.html index f781b5efa3..9dcc14cf9f 100644 --- a/rustdoc/ltn/macro.mut_partitioning.html +++ b/rustdoc/ltn/macro.mut_partitioning.html @@ -1,4 +1,4 @@ -mut_partitioning in ltn - Rust
macro_rules! mut_partitioning {
+mut_partitioning in ltn - Rust
macro_rules! mut_partitioning {
     ($app:ident) => { ... };
 }
\ No newline at end of file diff --git a/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html b/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html index ed65c26c3f..8da1f046bb 100644 --- a/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html +++ b/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html @@ -1,2 +1,2 @@ -BUILT_TIME_UTC in map_gui::tools::title_screen::built_info - Rust
pub const BUILT_TIME_UTC: &'static str = r"Mon, 12 Dec 2022 10:47:10 +0000";
Expand description

The build time in RFC2822, UTC.

+BUILT_TIME_UTC in map_gui::tools::title_screen::built_info - Rust
pub const BUILT_TIME_UTC: &'static str = r"Mon, 12 Dec 2022 11:46:39 +0000";
Expand description

The build time in RFC2822, UTC.

\ No newline at end of file diff --git a/rustdoc/osm_viewer/fn.run.html b/rustdoc/osm_viewer/fn.run.html index faa0fb025e..ac5bb4ce55 100644 --- a/rustdoc/osm_viewer/fn.run.html +++ b/rustdoc/osm_viewer/fn.run.html @@ -1 +1 @@ -run in osm_viewer - Rust
pub fn run(settings: Settings)
\ No newline at end of file +run in osm_viewer - Rust
pub fn run(settings: Settings)
\ No newline at end of file diff --git a/rustdoc/osm_viewer/index.html b/rustdoc/osm_viewer/index.html index 5b113c872f..2ddcfa2202 100644 --- a/rustdoc/osm_viewer/index.html +++ b/rustdoc/osm_viewer/index.html @@ -1 +1 @@ -osm_viewer - Rust
\ No newline at end of file +osm_viewer - Rust
\ No newline at end of file diff --git a/rustdoc/osm_viewer/viewer/index.html b/rustdoc/osm_viewer/viewer/index.html index e97bb901be..377ded2744 100644 --- a/rustdoc/osm_viewer/viewer/index.html +++ b/rustdoc/osm_viewer/viewer/index.html @@ -1 +1 @@ -osm_viewer::viewer - Rust
\ No newline at end of file +osm_viewer::viewer - Rust
\ No newline at end of file diff --git a/rustdoc/osm_viewer/viewer/struct.BusinessSearch.html b/rustdoc/osm_viewer/viewer/struct.BusinessSearch.html index f3fc36df86..49cb95b782 100644 --- a/rustdoc/osm_viewer/viewer/struct.BusinessSearch.html +++ b/rustdoc/osm_viewer/viewer/struct.BusinessSearch.html @@ -1,9 +1,9 @@ -BusinessSearch in osm_viewer::viewer - Rust
struct BusinessSearch {
+BusinessSearch in osm_viewer::viewer - Rust
struct BusinessSearch {
     counts: Counter<String>,
     show: BTreeSet<String>,
     highlight: Drawable,
     hovering_on_amenity: Option<(String, Drawable)>,
-}

Fields

counts: Counter<String>show: BTreeSet<String>highlight: Drawablehovering_on_amenity: Option<(String, Drawable)>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can +}

Fields

counts: Counter<String>show: BTreeSet<String>highlight: Drawablehovering_on_amenity: Option<(String, Drawable)>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/osm_viewer/viewer/struct.MinimapController.html b/rustdoc/osm_viewer/viewer/struct.MinimapController.html index c9a971420b..2e8e5ad607 100644 --- a/rustdoc/osm_viewer/viewer/struct.MinimapController.html +++ b/rustdoc/osm_viewer/viewer/struct.MinimapController.html @@ -1,5 +1,5 @@ -MinimapController in osm_viewer::viewer - Rust
struct MinimapController;

Trait Implementations

Should the user be able to control the z-order visible? The control is only present when -zoomed in, placed beneath the zoom column. Read more
A row beneath the minimap in the zoomed view, usually used as a legend for things on the +MinimapController in osm_viewer::viewer - Rust
struct MinimapController;

Trait Implementations

Should the user be able to control the z-order visible? The control is only present when +zoomed in, placed beneath the zoom column. Read more
A row beneath the minimap in the zoomed view, usually used as a legend for things on the minimap. Read more
Is there some additional layer displayed on the minimap? If this changes, the panel gets recalculated. Read more
Draw extra stuff on the minimap, just pulling from the app.
When unzoomed, display this panel. By default, no controls when unzoomed.
Controls to be placed to the left to the zoomed-in panel
If a button is clicked that was produced by some method in this trait, respond to it here.
Called for Outcome::Changed on the panel.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be diff --git a/rustdoc/osm_viewer/viewer/struct.Viewer.html b/rustdoc/osm_viewer/viewer/struct.Viewer.html index 899092f83e..dcacf97352 100644 --- a/rustdoc/osm_viewer/viewer/struct.Viewer.html +++ b/rustdoc/osm_viewer/viewer/struct.Viewer.html @@ -3,7 +3,7 @@ fixed_object_outline: Option<Drawable>, minimap: Minimap<SimpleApp<()>, MinimapController>, businesses: Option<BusinessSearch>, -}

Fields

top_panel: Panelfixed_object_outline: Option<Drawable>minimap: Minimap<SimpleApp<()>, MinimapController>businesses: Option<BusinessSearch>

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.
Specifies what to draw before draw()
Draw
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving +}

Fields

top_panel: Panelfixed_object_outline: Option<Drawable>minimap: Minimap<SimpleApp<()>, MinimapController>businesses: Option<BusinessSearch>

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.
Specifies what to draw before draw()
Draw
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving the State-specific state appropriately. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/parking_mapper/fn.main.html b/rustdoc/parking_mapper/fn.main.html index 98df881e89..f41db37d70 100644 --- a/rustdoc/parking_mapper/fn.main.html +++ b/rustdoc/parking_mapper/fn.main.html @@ -1 +1 @@ -main in parking_mapper - Rust
pub(crate) fn main()
\ No newline at end of file +main in parking_mapper - Rust
pub(crate) fn main()
\ No newline at end of file diff --git a/rustdoc/parking_mapper/index.html b/rustdoc/parking_mapper/index.html index b57503ca87..372afeb3bc 100644 --- a/rustdoc/parking_mapper/index.html +++ b/rustdoc/parking_mapper/index.html @@ -1 +1 @@ -parking_mapper - Rust
\ No newline at end of file +parking_mapper - Rust
\ No newline at end of file diff --git a/rustdoc/parking_mapper/mapper/fn.find_divided_highways.html b/rustdoc/parking_mapper/mapper/fn.find_divided_highways.html index be0f4cc0ea..7a3a3c0752 100644 --- a/rustdoc/parking_mapper/mapper/fn.find_divided_highways.html +++ b/rustdoc/parking_mapper/mapper/fn.find_divided_highways.html @@ -1 +1 @@ -find_divided_highways in parking_mapper::mapper - Rust
fn find_divided_highways(app: &SimpleApp<()>) -> HashSet<RoadID>
\ No newline at end of file +find_divided_highways in parking_mapper::mapper - Rust
fn find_divided_highways(app: &SimpleApp<()>) -> HashSet<RoadID>
\ No newline at end of file diff --git a/rustdoc/parking_mapper/mapper/fn.find_overlapping_stuff.html b/rustdoc/parking_mapper/mapper/fn.find_overlapping_stuff.html index 357da8094a..edb4bca6cf 100644 --- a/rustdoc/parking_mapper/mapper/fn.find_overlapping_stuff.html +++ b/rustdoc/parking_mapper/mapper/fn.find_overlapping_stuff.html @@ -1 +1 @@ -find_overlapping_stuff in parking_mapper::mapper - Rust
fn find_overlapping_stuff(
    app: &SimpleApp<()>,
    timer: &mut Timer<'_>
) -> Vec<Polygon>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
    A: Allocator,
\ No newline at end of file +find_overlapping_stuff in parking_mapper::mapper - Rust
fn find_overlapping_stuff(
    app: &SimpleApp<()>,
    timer: &mut Timer<'_>
) -> Vec<Polygon>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
    A: Allocator,
\ No newline at end of file diff --git a/rustdoc/parking_mapper/mapper/fn.generate_osmc.html b/rustdoc/parking_mapper/mapper/fn.generate_osmc.html index 1dc54e8f26..c58c183bc1 100644 --- a/rustdoc/parking_mapper/mapper/fn.generate_osmc.html +++ b/rustdoc/parking_mapper/mapper/fn.generate_osmc.html @@ -1 +1 @@ -generate_osmc in parking_mapper::mapper - Rust
fn generate_osmc(
    data: &BTreeMap<WayID, Value>,
    in_seattle: bool,
    timer: &mut Timer<'_>
) -> Result<()>
\ No newline at end of file +generate_osmc in parking_mapper::mapper - Rust
fn generate_osmc(
    data: &BTreeMap<WayID, Value>,
    in_seattle: bool,
    timer: &mut Timer<'_>
) -> Result<()>
\ No newline at end of file diff --git a/rustdoc/parking_mapper/mapper/index.html b/rustdoc/parking_mapper/mapper/index.html index d9dbb5a843..a250ad3851 100644 --- a/rustdoc/parking_mapper/mapper/index.html +++ b/rustdoc/parking_mapper/mapper/index.html @@ -1 +1 @@ -parking_mapper::mapper - Rust
\ No newline at end of file +parking_mapper::mapper - Rust
\ No newline at end of file diff --git a/rustdoc/parking_mapper/mapper/struct.ChangeWay.html b/rustdoc/parking_mapper/mapper/struct.ChangeWay.html index d523ab008b..aed9dc1864 100644 --- a/rustdoc/parking_mapper/mapper/struct.ChangeWay.html +++ b/rustdoc/parking_mapper/mapper/struct.ChangeWay.html @@ -1,10 +1,10 @@ -ChangeWay in parking_mapper::mapper - Rust
struct ChangeWay {
+ChangeWay in parking_mapper::mapper - Rust
struct ChangeWay {
     panel: Panel,
     draw: Drawable,
     osm_way_id: WayID,
     data: BTreeMap<WayID, Value>,
     show: Show,
-}

Fields

panel: Paneldraw: Drawableosm_way_id: WayIDdata: BTreeMap<WayID, Value>show: Show

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.
Draw
Specifies what to draw before draw()
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving +}

Fields

panel: Paneldraw: Drawableosm_way_id: WayIDdata: BTreeMap<WayID, Value>show: Show

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.
Draw
Specifies what to draw before draw()
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving the State-specific state appropriately. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/parking_mapper/mapper/struct.ParkingMapper.html b/rustdoc/parking_mapper/mapper/struct.ParkingMapper.html index f36f723c03..72e7781029 100644 --- a/rustdoc/parking_mapper/mapper/struct.ParkingMapper.html +++ b/rustdoc/parking_mapper/mapper/struct.ParkingMapper.html @@ -4,7 +4,7 @@ show: Show, selected: Option<(HashSet<RoadID>, Drawable)>, data: BTreeMap<WayID, Value>, -}

Fields

panel: Paneldraw_layer: Drawableshow: Showselected: Option<(HashSet<RoadID>, Drawable)>data: BTreeMap<WayID, Value>

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.
Draw
Specifies what to draw before draw()
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving +}

Fields

panel: Paneldraw_layer: Drawableshow: Showselected: Option<(HashSet<RoadID>, Drawable)>data: BTreeMap<WayID, Value>

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.
Draw
Specifies what to draw before draw()
Before this state is popped or replaced, call this.
Respond to Transition::Recreate by assuming state in the app has changed, but preserving the State-specific state appropriately. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/santa/fn.run.html b/rustdoc/santa/fn.run.html index a77d8f8be7..113fd6d3f1 100644 --- a/rustdoc/santa/fn.run.html +++ b/rustdoc/santa/fn.run.html @@ -1 +1 @@ -run in santa - Rust

Function santa::run

source · []
pub(crate) fn run(settings: Settings)
\ No newline at end of file +run in santa - Rust

Function santa::run

source · []
pub(crate) fn run(settings: Settings)
\ No newline at end of file diff --git a/rustdoc/santa/index.html b/rustdoc/santa/index.html index 95fea0d643..08f96086fb 100644 --- a/rustdoc/santa/index.html +++ b/rustdoc/santa/index.html @@ -1 +1 @@ -santa - Rust

Modules

animation 🔒
buildings 🔒
controls 🔒
game 🔒
levels 🔒
meters 🔒
music 🔒
player 🔒
session 🔒
title 🔒
vehicles 🔒

Functions

run 🔒

Type Definitions

App 🔒
Transition 🔒
\ No newline at end of file +santa - Rust

Modules

animation 🔒
buildings 🔒
controls 🔒
game 🔒
levels 🔒
meters 🔒
music 🔒
player 🔒
session 🔒
title 🔒
vehicles 🔒

Functions

run 🔒

Type Definitions

App 🔒
Transition 🔒
\ No newline at end of file diff --git a/rustdoc/santa/title/fn.level_btn.html b/rustdoc/santa/title/fn.level_btn.html index 9116a36fdf..04a9bcf87e 100644 --- a/rustdoc/santa/title/fn.level_btn.html +++ b/rustdoc/santa/title/fn.level_btn.html @@ -1 +1 @@ -level_btn in santa::title - Rust
fn level_btn(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    level: &Level,
    idx: usize
) -> GeomBatch
\ No newline at end of file +level_btn in santa::title - Rust
fn level_btn(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    level: &Level,
    idx: usize
) -> GeomBatch
\ No newline at end of file diff --git a/rustdoc/santa/title/fn.link.html b/rustdoc/santa/title/fn.link.html index 248aad766d..7b13e38ea6 100644 --- a/rustdoc/santa/title/fn.link.html +++ b/rustdoc/santa/title/fn.link.html @@ -1 +1 @@ -link in santa::title - Rust

Function santa::title::link

source · []
fn link(ctx: &mut EventCtx<'_>, label: &str, url: &str) -> Widget
\ No newline at end of file +link in santa::title - Rust

Function santa::title::link

source · []
fn link(ctx: &mut EventCtx<'_>, label: &str, url: &str) -> Widget
\ No newline at end of file diff --git a/rustdoc/santa/title/fn.locked_level.html b/rustdoc/santa/title/fn.locked_level.html index 324d899fd2..ff5af96f69 100644 --- a/rustdoc/santa/title/fn.locked_level.html +++ b/rustdoc/santa/title/fn.locked_level.html @@ -1 +1 @@ -locked_level in santa::title - Rust
fn locked_level(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    level: &Level,
    idx: usize
) -> Widget
\ No newline at end of file +locked_level in santa::title - Rust
fn locked_level(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    level: &Level,
    idx: usize
) -> Widget
\ No newline at end of file diff --git a/rustdoc/santa/title/fn.unlocked_level.html b/rustdoc/santa/title/fn.unlocked_level.html index 44df15af75..d6a01fd491 100644 --- a/rustdoc/santa/title/fn.unlocked_level.html +++ b/rustdoc/santa/title/fn.unlocked_level.html @@ -1 +1 @@ -unlocked_level in santa::title - Rust
fn unlocked_level(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    level: &Level,
    idx: usize
) -> Widget
\ No newline at end of file +unlocked_level in santa::title - Rust
fn unlocked_level(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    level: &Level,
    idx: usize
) -> Widget
\ No newline at end of file diff --git a/rustdoc/santa/title/index.html b/rustdoc/santa/title/index.html index 789a0fcaaa..15b834e206 100644 --- a/rustdoc/santa/title/index.html +++ b/rustdoc/santa/title/index.html @@ -1 +1 @@ -santa::title - Rust
\ No newline at end of file +santa::title - Rust
\ No newline at end of file diff --git a/rustdoc/santa/title/struct.Credits.html b/rustdoc/santa/title/struct.Credits.html index 73a9c4c822..11bd2d3e2e 100644 --- a/rustdoc/santa/title/struct.Credits.html +++ b/rustdoc/santa/title/struct.Credits.html @@ -1,6 +1,6 @@ -Credits in santa::title - Rust
struct Credits;

Implementations

Trait Implementations

Called when something on the panel has been clicked. Since the action is just a string, -the fallback case can just use unreachable!(). Read more
If a panel on_click event didn’t occur and panel_changed didn’t return transition, then -call this to handle all other events. Read more
Called when something on the panel has been clicked.
Called when something on the panel has changed. If a transition is returned, stop handling +Credits in santa::title - Rust
struct Credits;

Implementations

Trait Implementations

Called when something on the panel has been clicked. Since the action is just a string, +the fallback case can just use unreachable!(). Read more
If a panel on_click event didn’t occur and panel_changed didn’t return transition, then +call this to handle all other events. Read more
Called when something on the panel has been clicked.
Called when something on the panel has changed. If a transition is returned, stop handling the event and immediately apply the transition. Read more
Called when the mouse has moved.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/santa/title/struct.TitleScreen.html b/rustdoc/santa/title/struct.TitleScreen.html index 3195520a62..94b86e0829 100644 --- a/rustdoc/santa/title/struct.TitleScreen.html +++ b/rustdoc/santa/title/struct.TitleScreen.html @@ -1,6 +1,6 @@ -TitleScreen in santa::title - Rust
pub struct TitleScreen;

Implementations

Trait Implementations

Called when something on the panel has been clicked. Since the action is just a string, -the fallback case can just use unreachable!(). Read more
If a panel on_click event didn’t occur and panel_changed didn’t return transition, then -call this to handle all other events. Read more
Called when something on the panel has been clicked.
Called when something on the panel has changed. If a transition is returned, stop handling +TitleScreen in santa::title - Rust
pub struct TitleScreen;

Implementations

Trait Implementations

Called when something on the panel has been clicked. Since the action is just a string, +the fallback case can just use unreachable!(). Read more
If a panel on_click event didn’t occur and panel_changed didn’t return transition, then +call this to handle all other events. Read more
Called when something on the panel has been clicked.
Called when something on the panel has changed. If a transition is returned, stop handling the event and immediately apply the transition. Read more
Called when the mouse has moved.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/analytics/struct.Analytics.html b/rustdoc/sim/analytics/struct.Analytics.html index e8755b5ab0..14334fd296 100644 --- a/rustdoc/sim/analytics/struct.Analytics.html +++ b/rustdoc/sim/analytics/struct.Analytics.html @@ -7,7 +7,7 @@ pub passengers_boarding: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID, Duration)>>, pub passengers_alighting: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID)>>, pub started_trips: BTreeMap<TripID, Time>, - pub finished_trips: Vec<(Time, TripID, TripMode, Option<Duration>)>, + pub finished_trips: Vec<(Time, TripID, TripMode, Option<Duration>)>, pub problems_per_trip: BTreeMap<TripID, Vec<(Time, Problem)>>, pub trip_log: Vec<(Time, TripID, Option<PathRequest>, TripPhaseType)>, pub intersection_delays: BTreeMap<IntersectionID, Vec<(u8, Time, Duration, AgentType)>>, @@ -25,13 +25,13 @@ running the simulation, and compare the live Analytics to the prebaked baseline

Fields

road_thruput: TimeSeriesCount<RoadID>intersection_thruput: TimeSeriesCount<IntersectionID>traffic_signal_thruput: TimeSeriesCount<CompressedMovementID>demand: BTreeMap<MovementID, usize>

Most fields in Analytics are cumulative over time, but this is just for the current moment in time.

bus_arrivals: Vec<(Time, CarID, TransitRouteID, TransitStopID)>passengers_boarding: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID, Duration)>>

For each passenger boarding, how long did they wait at the stop?

-
passengers_alighting: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID)>>started_trips: BTreeMap<TripID, Time>finished_trips: Vec<(Time, TripID, TripMode, Option<Duration>)>

Finish time, ID, mode, trip duration if successful (or None if cancelled)

+
passengers_alighting: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID)>>started_trips: BTreeMap<TripID, Time>finished_trips: Vec<(Time, TripID, TripMode, Option<Duration>)>

Finish time, ID, mode, trip duration if successful (or None if cancelled)

problems_per_trip: BTreeMap<TripID, Vec<(Time, Problem)>>

Record different problems that each trip encounters.

trip_log: Vec<(Time, TripID, Option<PathRequest>, TripPhaseType)>intersection_delays: BTreeMap<IntersectionID, Vec<(u8, Time, Duration, AgentType)>>

Only for traffic signals. The u8 is the movement index from a CompressedMovementID.

parking_lane_changes: BTreeMap<LaneID, Vec<(Time, bool)>>

Per parking lane or lot, when does a spot become filled (true) or free (false)

parking_lot_changes: BTreeMap<ParkingLotID, Vec<(Time, bool)>>alerts: Vec<(Time, AlertLocation, String)>record_anything: bool

For benchmarking, we may want to disable collecting data.

Implementations

Ignores the current time. Returns None for cancelled trips.

-

Returns pairs of trip times for finished trips in both worlds. (ID, before, after, mode)

+

Returns pairs of trip times for finished trips in both worlds. (ID, before, after, mode)

If calling on prebaked Analytics, be careful to pass in an unedited map, to match how the simulation was originally run. Otherwise the paths may be nonsense.

Returns the free spots over time

diff --git a/rustdoc/sim/events/enum.Event.html b/rustdoc/sim/events/enum.Event.html index cd6484ae3b..a3a9c13b1b 100644 --- a/rustdoc/sim/events/enum.Event.html +++ b/rustdoc/sim/events/enum.Event.html @@ -16,11 +16,11 @@ IntersectionDelayMeasured(TripID, TurnID, AgentID, Duration), TripFinished { trip: TripID, - mode: TripMode, + mode: TripMode, total_time: Duration, blocked_time: Duration, }, - TripCancelled(TripIDTripMode), + TripCancelled(TripID, TripMode), TripPhaseStarting(TripIDPersonIDOption<PathRequest>, TripPhaseType), PathAmended(Path), Alert(AlertLocationString), @@ -35,7 +35,7 @@ has no performance impact.

PersonEntersMap(PersonIDAgentID, IntersectionID)

PedReachedParkingSpot(PedestrianIDParkingSpot)

BikeStoppedAtSidewalk(CarID, LaneID)

ProblemEncountered(TripIDProblem)

AgentEntersTraversable(AgentIDOption<TripID>, Traversable, Option<usize>)

If the agent is a transit vehicle, then include a count of how many passengers are on board.

IntersectionDelayMeasured(TripID, TurnID, AgentID, Duration)

TripID, TurnID (Where the delay was encountered), Time spent waiting at that turn

-

TripFinished

Fields

trip: TripID
mode: TripMode
total_time: Duration
blocked_time: Duration

TripCancelled(TripIDTripMode)

TripPhaseStarting(TripIDPersonIDOption<PathRequest>, TripPhaseType)

PathAmended(Path)

Just use for parking replanning. Not happy about copying the full path in here, but the way +

TripFinished

Fields

trip: TripID
mode: TripMode
total_time: Duration
blocked_time: Duration

TripCancelled(TripID, TripMode)

TripPhaseStarting(TripIDPersonIDOption<PathRequest>, TripPhaseType)

PathAmended(Path)

Just use for parking replanning. Not happy about copying the full path in here, but the way to plumb info into Analytics is Event.

Alert(AlertLocationString)

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always diff --git a/rustdoc/sim/fn.count_parked_cars_per_bldg.html b/rustdoc/sim/fn.count_parked_cars_per_bldg.html index bc672ac510..62cd7c2de0 100644 --- a/rustdoc/sim/fn.count_parked_cars_per_bldg.html +++ b/rustdoc/sim/fn.count_parked_cars_per_bldg.html @@ -1 +1 @@ -count_parked_cars_per_bldg in sim - Rust
pub fn count_parked_cars_per_bldg(scenario: &Scenario) -> Counter<BuildingID>
\ No newline at end of file +count_parked_cars_per_bldg in sim - Rust
pub fn count_parked_cars_per_bldg(scenario: &Scenario) -> Counter<BuildingID>
\ No newline at end of file diff --git a/rustdoc/sim/fn.fork_rng.html b/rustdoc/sim/fn.fork_rng.html index 745ae18240..f468b42e6f 100644 --- a/rustdoc/sim/fn.fork_rng.html +++ b/rustdoc/sim/fn.fork_rng.html @@ -1,3 +1,3 @@ -fork_rng in sim - Rust

Function sim::fork_rng

source · []
pub fn fork_rng(base_rng: &mut XorShiftRng) -> XorShiftRng
Expand description

Need to explain this trick – basically keeps consistency between two different simulations when +fork_rng in sim - Rust

Function sim::fork_rng

[]
pub fn fork_rng(base_rng: &mut XorShiftRng) -> XorShiftRng
Expand description

Need to explain this trick – basically keeps consistency between two different simulations when each one might make slightly different sequences of calls to the RNG.

\ No newline at end of file diff --git a/rustdoc/sim/make/load/fn.parse_modifiers.html b/rustdoc/sim/make/load/fn.parse_modifiers.html index c2887e3809..b4c969a01c 100644 --- a/rustdoc/sim/make/load/fn.parse_modifiers.html +++ b/rustdoc/sim/make/load/fn.parse_modifiers.html @@ -1 +1 @@ -parse_modifiers in sim::make::load - Rust
fn parse_modifiers(x: &str) -> Result<Vec<ScenarioModifier>>
\ No newline at end of file +parse_modifiers in sim::make::load - Rust
fn parse_modifiers(x: &str) -> Result<Vec<ScenarioModifier>>
\ No newline at end of file diff --git a/rustdoc/sim/make/load/struct.SimFlags.html b/rustdoc/sim/make/load/struct.SimFlags.html index a8122a2416..8e3a8a688b 100644 --- a/rustdoc/sim/make/load/struct.SimFlags.html +++ b/rustdoc/sim/make/load/struct.SimFlags.html @@ -1,7 +1,7 @@ SimFlags in sim::make::load - Rust
pub struct SimFlags {
     load_path: Option<String>,
     pub load: String,
-    pub scenario_modifiers: Vec<ScenarioModifier>,
+    pub scenario_modifiers: Vec<ScenarioModifier>,
     pub rng_seed: u64,
     pub opts: SimOptions,
 }
Expand description

SimFlags specifies a simulation to setup. After parsing from structopt, you must call @@ -14,7 +14,7 @@

load: String

The same as load_path, but with a default value filled out. Call initialize to set this up.

-
scenario_modifiers: Vec<ScenarioModifier>

A JSON list of modifiers to transform the scenario. These can be generated with the GUI.

+
scenario_modifiers: Vec<ScenarioModifier>

A JSON list of modifiers to transform the scenario. These can be generated with the GUI.

rng_seed: u64

An arbitrary number to seed the random number generator. This is input to the deterministic simulation, so different values affect results.

opts: SimOptions

Implementations

Loads a map and simulation. Not appropriate for use in the UI or on web.

diff --git a/rustdoc/sim/make/load/type.ModifierList.html b/rustdoc/sim/make/load/type.ModifierList.html index 800244ef58..b4150eb6bf 100644 --- a/rustdoc/sim/make/load/type.ModifierList.html +++ b/rustdoc/sim/make/load/type.ModifierList.html @@ -1 +1 @@ -ModifierList in sim::make::load - Rust

Type Definition sim::make::load::ModifierList

source · []
type ModifierList = Vec<ScenarioModifier>;
\ No newline at end of file +ModifierList in sim::make::load - Rust

Type Definition sim::make::load::ModifierList

source · []
type ModifierList = Vec<ScenarioModifier>;
\ No newline at end of file diff --git a/rustdoc/sim/make/spawner/enum.TripSpec.html b/rustdoc/sim/make/spawner/enum.TripSpec.html index a06aca70c8..14193d833f 100644 --- a/rustdoc/sim/make/spawner/enum.TripSpec.html +++ b/rustdoc/sim/make/spawner/enum.TripSpec.html @@ -34,7 +34,7 @@
retry_if_no_room: bool

Can be used to spawn from a border or anywhere for interactive debugging.

SpawningFailure

Fields

use_vehicle: Option<CarID>
error: String

Something went wrong spawning the trip.

UsingParkedCar

Fields

car: CarID

This must be a currently parked vehicle owned by the person.

-
start_bldg: BuildingID

JustWalking

Fields

start: SidewalkSpot

UsingBike

Fields

bike: CarID
start: BuildingID

UsingTransit

Fields

start: SidewalkSpot
route: TransitRouteID
stop1: TransitStopID
maybe_stop2: Option<TransitStopID>

Implementations

Turn an origin/destination pair and mode into a specific plan for instantiating a trip. +

start_bldg: BuildingID

JustWalking

Fields

start: SidewalkSpot

UsingBike

Fields

bike: CarID
start: BuildingID

UsingTransit

Fields

start: SidewalkSpot
route: TransitRouteID
stop1: TransitStopID
maybe_stop2: Option<TransitStopID>

Implementations

Turn an origin/destination pair and mode into a specific plan for instantiating a trip. Decisions like how to use public transit happen here.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always diff --git a/rustdoc/sim/make/spawner/fn.driving_goal.html b/rustdoc/sim/make/spawner/fn.driving_goal.html index 8b9af64b8f..43b0f08f94 100644 --- a/rustdoc/sim/make/spawner/fn.driving_goal.html +++ b/rustdoc/sim/make/spawner/fn.driving_goal.html @@ -1 +1 @@ -driving_goal in sim::make::spawner - Rust
fn driving_goal(
    endpt: TripEndpoint,
    constraints: PathConstraints,
    map: &Map
) -> Result<DrivingGoal>
\ No newline at end of file +driving_goal in sim::make::spawner - Rust
fn driving_goal(
    endpt: TripEndpoint,
    constraints: PathConstraints,
    map: &Map
) -> Result<DrivingGoal>
\ No newline at end of file diff --git a/rustdoc/sim/make/spawner/fn.end_sidewalk_spot.html b/rustdoc/sim/make/spawner/fn.end_sidewalk_spot.html index fd50ed8704..d10d935901 100644 --- a/rustdoc/sim/make/spawner/fn.end_sidewalk_spot.html +++ b/rustdoc/sim/make/spawner/fn.end_sidewalk_spot.html @@ -1 +1 @@ -end_sidewalk_spot in sim::make::spawner - Rust
fn end_sidewalk_spot(endpt: TripEndpoint, map: &Map) -> Result<SidewalkSpot>
\ No newline at end of file +end_sidewalk_spot in sim::make::spawner - Rust
fn end_sidewalk_spot(endpt: TripEndpoint, map: &Map) -> Result<SidewalkSpot>
\ No newline at end of file diff --git a/rustdoc/sim/make/spawner/fn.start_sidewalk_spot.html b/rustdoc/sim/make/spawner/fn.start_sidewalk_spot.html index e8e8323a13..b658d302e8 100644 --- a/rustdoc/sim/make/spawner/fn.start_sidewalk_spot.html +++ b/rustdoc/sim/make/spawner/fn.start_sidewalk_spot.html @@ -1 +1 @@ -start_sidewalk_spot in sim::make::spawner - Rust
fn start_sidewalk_spot(endpt: TripEndpoint, map: &Map) -> Result<SidewalkSpot>
\ No newline at end of file +start_sidewalk_spot in sim::make::spawner - Rust
fn start_sidewalk_spot(endpt: TripEndpoint, map: &Map) -> Result<SidewalkSpot>
\ No newline at end of file diff --git a/rustdoc/sim/prebake/fn.prebake.html b/rustdoc/sim/prebake/fn.prebake.html index d348be4a38..1efd95e6b4 100644 --- a/rustdoc/sim/prebake/fn.prebake.html +++ b/rustdoc/sim/prebake/fn.prebake.html @@ -1,3 +1,3 @@ -prebake in sim::prebake - Rust
pub fn prebake(
    map: &Map,
    scenario: Scenario,
    timer: &mut Timer<'_>
) -> PrebakeSummary
Expand description

Simulate a curated list of scenarios to completion, and save the analytics as “prebaked +prebake in sim::prebake - Rust

pub fn prebake(
    map: &Map,
    scenario: Scenario,
    timer: &mut Timer<'_>
) -> PrebakeSummary
Expand description

Simulate a curated list of scenarios to completion, and save the analytics as “prebaked results,” to later compare simulation metrics against the baseline without map edits.

\ No newline at end of file diff --git a/rustdoc/sim/prebake/struct.PrebakeSummary.html b/rustdoc/sim/prebake/struct.PrebakeSummary.html index 954297cf2a..3610c147f8 100644 --- a/rustdoc/sim/prebake/struct.PrebakeSummary.html +++ b/rustdoc/sim/prebake/struct.PrebakeSummary.html @@ -4,7 +4,7 @@ pub finished_trips: usize, pub cancelled_trips: usize, pub total_trip_duration_seconds: f64, -}

Fields

map: Stringscenario: Stringfinished_trips: usizecancelled_trips: usizetotal_trip_duration_seconds: f64

Implementations

Trait Implementations

Formats the value using the given formatter. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can +}

Fields

map: Stringscenario: Stringfinished_trips: usizecancelled_trips: usizetotal_trip_duration_seconds: f64

Implementations

Trait Implementations

Formats the value using the given formatter. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/recorder/struct.TrafficRecorder.html b/rustdoc/sim/recorder/struct.TrafficRecorder.html index f5cc2efb4e..bb78ba1f18 100644 --- a/rustdoc/sim/recorder/struct.TrafficRecorder.html +++ b/rustdoc/sim/recorder/struct.TrafficRecorder.html @@ -1,11 +1,11 @@ TrafficRecorder in sim::recorder - Rust
pub(crate) struct TrafficRecorder {
     capture_points: BTreeSet<IntersectionID>,
-    trips: Vec<IndividTrip>,
+    trips: Vec<IndividTrip>,
     seen_trips: BTreeSet<TripID>,
 }
Expand description

Records trips beginning and ending at a specified set of intersections. This can be used to capture and reproduce behavior in a gridlock-prone chunk of the map, without simulating everything.

-

Fields

capture_points: BTreeSet<IntersectionID>trips: Vec<IndividTrip>seen_trips: BTreeSet<TripID>

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can +

Fields

capture_points: BTreeSet<IntersectionID>trips: Vec<IndividTrip>seen_trips: BTreeSet<TripID>

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/sim/scenario/fn.count_parked_cars_per_bldg.html b/rustdoc/sim/sim/scenario/fn.count_parked_cars_per_bldg.html index 64ae9dae9d..1dcf43785a 100644 --- a/rustdoc/sim/sim/scenario/fn.count_parked_cars_per_bldg.html +++ b/rustdoc/sim/sim/scenario/fn.count_parked_cars_per_bldg.html @@ -1 +1 @@ -count_parked_cars_per_bldg in sim::sim::scenario - Rust
pub fn count_parked_cars_per_bldg(scenario: &Scenario) -> Counter<BuildingID>
\ No newline at end of file +count_parked_cars_per_bldg in sim::sim::scenario - Rust
pub fn count_parked_cars_per_bldg(scenario: &Scenario) -> Counter<BuildingID>
\ No newline at end of file diff --git a/rustdoc/sim/sim/scenario/fn.get_vehicles.html b/rustdoc/sim/sim/scenario/fn.get_vehicles.html index 4f07089fbb..20a9b3bec0 100644 --- a/rustdoc/sim/sim/scenario/fn.get_vehicles.html +++ b/rustdoc/sim/sim/scenario/fn.get_vehicles.html @@ -1 +1 @@ -get_vehicles in sim::sim::scenario - Rust
fn get_vehicles(
    person: &PersonSpec,
    rng: &mut XorShiftRng
) -> (Vec<VehicleSpec>, Vec<(usize, BuildingID)>, Vec<Option<usize>>)
\ No newline at end of file +get_vehicles in sim::sim::scenario - Rust
fn get_vehicles(
    person: &PersonSpec,
    rng: &mut XorShiftRng
) -> (Vec<VehicleSpec>, Vec<(usize, BuildingID)>, Vec<Option<usize>>)
\ No newline at end of file diff --git a/rustdoc/sim/sim/struct.Sim.html b/rustdoc/sim/sim/struct.Sim.html index 5aa2aac44e..ab30831211 100644 --- a/rustdoc/sim/sim/struct.Sim.html +++ b/rustdoc/sim/sim/struct.Sim.html @@ -23,23 +23,23 @@

Only call for active agents, will panic otherwise

If trip is finished, returns (total time, total waiting time, total distance)

For every parked car, (position of parking spot, position of owner)

-

For every agent that’s currently not moving, figure out how long they’ve been waiting and +

For every agent that’s currently not moving, figure out how long they’ve been waiting and why they’re blocked.

(bus, stop index it’s coming from, percent to next stop, location)

For intersections with an agent waiting beyond some threshold, return when they started waiting. Sorted by earliest waiting (likely the root cause of gridlock).

(number of vehicles in the lane, penalty if a bike or other slow vehicle is present)

-

Returns the best-case time for a trip in a world with no traffic or intersection delays. +

Returns the best-case time for a trip in a world with no traffic or intersection delays. Might fail in some cases where the real trip succeeds, but the single-mode path can’t be found. Assumes the TripID exists.

Returns people / m^2. Roads have up to two sidewalks and intersections have many crossings – take the max density along any one.

This does not include transit riders. Some callers need those in addition, but the rendering ones don’t.

-

If retry_if_no_room is false, any vehicles that fail to spawn because of something else in +

If retry_if_no_room is false, any vehicles that fail to spawn because of something else in the way will just wind up as cancelled trips.

(Filled, available)

-

Respond to arbitrary map edits without resetting the simulation. Returns the number of +

Respond to arbitrary map edits without resetting the simulation. Returns the number of (trips cancelled, parked cars displaced).

Returns (trips affected, number of parked cars displaced)

Only one at a time supported.

diff --git a/rustdoc/sim/struct.Analytics.html b/rustdoc/sim/struct.Analytics.html index 10d62b6911..567ef4ce8b 100644 --- a/rustdoc/sim/struct.Analytics.html +++ b/rustdoc/sim/struct.Analytics.html @@ -7,7 +7,7 @@ pub passengers_boarding: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID, Duration)>>, pub passengers_alighting: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID)>>, pub started_trips: BTreeMap<TripID, Time>, - pub finished_trips: Vec<(Time, TripID, TripMode, Option<Duration>)>, + pub finished_trips: Vec<(Time, TripID, TripMode, Option<Duration>)>, pub problems_per_trip: BTreeMap<TripID, Vec<(Time, Problem)>>, pub trip_log: Vec<(Time, TripID, Option<PathRequest>, TripPhaseType)>, pub intersection_delays: BTreeMap<IntersectionID, Vec<(u8, Time, Duration, AgentType)>>, @@ -25,13 +25,13 @@ running the simulation, and compare the live Analytics to the prebaked baseline

Fields

road_thruput: TimeSeriesCount<RoadID>intersection_thruput: TimeSeriesCount<IntersectionID>traffic_signal_thruput: TimeSeriesCount<CompressedMovementID>demand: BTreeMap<MovementID, usize>

Most fields in Analytics are cumulative over time, but this is just for the current moment in time.

bus_arrivals: Vec<(Time, CarID, TransitRouteID, TransitStopID)>passengers_boarding: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID, Duration)>>

For each passenger boarding, how long did they wait at the stop?

-
passengers_alighting: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID)>>started_trips: BTreeMap<TripID, Time>finished_trips: Vec<(Time, TripID, TripMode, Option<Duration>)>

Finish time, ID, mode, trip duration if successful (or None if cancelled)

+
passengers_alighting: BTreeMap<TransitStopID, Vec<(Time, TransitRouteID)>>started_trips: BTreeMap<TripID, Time>finished_trips: Vec<(Time, TripID, TripMode, Option<Duration>)>

Finish time, ID, mode, trip duration if successful (or None if cancelled)

problems_per_trip: BTreeMap<TripID, Vec<(Time, Problem)>>

Record different problems that each trip encounters.

trip_log: Vec<(Time, TripID, Option<PathRequest>, TripPhaseType)>intersection_delays: BTreeMap<IntersectionID, Vec<(u8, Time, Duration, AgentType)>>

Only for traffic signals. The u8 is the movement index from a CompressedMovementID.

parking_lane_changes: BTreeMap<LaneID, Vec<(Time, bool)>>

Per parking lane or lot, when does a spot become filled (true) or free (false)

parking_lot_changes: BTreeMap<ParkingLotID, Vec<(Time, bool)>>alerts: Vec<(Time, AlertLocation, String)>record_anything: bool

For benchmarking, we may want to disable collecting data.

Implementations

Ignores the current time. Returns None for cancelled trips.

-

Returns pairs of trip times for finished trips in both worlds. (ID, before, after, mode)

+

Returns pairs of trip times for finished trips in both worlds. (ID, before, after, mode)

If calling on prebaked Analytics, be careful to pass in an unedited map, to match how the simulation was originally run. Otherwise the paths may be nonsense.

Returns the free spots over time

diff --git a/rustdoc/sim/struct.BorderSpawnOverTime.html b/rustdoc/sim/struct.BorderSpawnOverTime.html index f2954565c0..b9d8b53b58 100644 --- a/rustdoc/sim/struct.BorderSpawnOverTime.html +++ b/rustdoc/sim/struct.BorderSpawnOverTime.html @@ -1,4 +1,4 @@ -BorderSpawnOverTime in sim - Rust
pub struct BorderSpawnOverTime {
+BorderSpawnOverTime in sim - Rust
pub struct BorderSpawnOverTime {
     pub num_peds: usize,
     pub num_cars: usize,
     pub num_bikes: usize,
@@ -6,8 +6,8 @@
     pub start_time: Time,
     pub stop_time: Time,
     pub start_from_border: IntersectionID,
-    pub goal: Option<TripEndpoint>,
-}

Fields

num_peds: usizenum_cars: usizenum_bikes: usizepercent_use_transit: f64start_time: Timestop_time: Timestart_from_border: IntersectionIDgoal: Option<TripEndpoint>

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can + pub goal: Option<TripEndpoint>, +}

Fields

num_peds: usizenum_cars: usizenum_bikes: usizepercent_use_transit: f64start_time: Timestop_time: Timestart_from_border: IntersectionIDgoal: Option<TripEndpoint>

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/struct.Person.html b/rustdoc/sim/struct.Person.html index 639715412a..a271e7f47b 100644 --- a/rustdoc/sim/struct.Person.html +++ b/rustdoc/sim/struct.Person.html @@ -1,6 +1,6 @@ Person in sim - Rust
pub struct Person {
     pub id: PersonID,
-    pub orig_id: Option<OrigPersonID>,
+    pub orig_id: Option<OrigPersonID>,
     pub trips: Vec<TripID>,
     pub state: PersonState,
     pub ped: PedestrianID,
@@ -8,7 +8,7 @@
     pub vehicles: Vec<Vehicle>,
     delayed_trips: Vec<(TripID, StartTripArgs)>,
     on_bus: Option<CarID>,
-}

Fields

id: PersonIDorig_id: Option<OrigPersonID>trips: Vec<TripID>state: PersonStateped: PedestrianIDped_speed: Speedvehicles: Vec<Vehicle>

Both cars and bikes

+}

Fields

id: PersonIDorig_id: Option<OrigPersonID>trips: Vec<TripID>state: PersonStateped: PedestrianIDped_speed: Speedvehicles: Vec<Vehicle>

Both cars and bikes

delayed_trips: Vec<(TripID, StartTripArgs)>on_bus: Option<CarID>

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/struct.ScenarioGenerator.html b/rustdoc/sim/struct.ScenarioGenerator.html index 4c3edefe61..de7123b13f 100644 --- a/rustdoc/sim/struct.ScenarioGenerator.html +++ b/rustdoc/sim/struct.ScenarioGenerator.html @@ -1,10 +1,10 @@ -ScenarioGenerator in sim - Rust
pub struct ScenarioGenerator {
+ScenarioGenerator in sim - Rust
pub struct ScenarioGenerator {
     pub scenario_name: String,
     pub only_seed_buses: Option<BTreeSet<String, Global>>,
     pub spawn_over_time: Vec<SpawnOverTime, Global>,
     pub border_spawn_over_time: Vec<BorderSpawnOverTime, Global>,
-}

Fields

scenario_name: Stringonly_seed_buses: Option<BTreeSet<String, Global>>spawn_over_time: Vec<SpawnOverTime, Global>border_spawn_over_time: Vec<BorderSpawnOverTime, Global>

Implementations

Designed in https://github.com/a-b-street/abstreet/issues/154

-

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can +}

Fields

scenario_name: Stringonly_seed_buses: Option<BTreeSet<String, Global>>spawn_over_time: Vec<SpawnOverTime, Global>border_spawn_over_time: Vec<BorderSpawnOverTime, Global>

Implementations

Designed in https://github.com/a-b-street/abstreet/issues/154

+

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/struct.Sim.html b/rustdoc/sim/struct.Sim.html index 48955ff20f..802d6f63af 100644 --- a/rustdoc/sim/struct.Sim.html +++ b/rustdoc/sim/struct.Sim.html @@ -23,23 +23,23 @@

Only call for active agents, will panic otherwise

If trip is finished, returns (total time, total waiting time, total distance)

For every parked car, (position of parking spot, position of owner)

-

For every agent that’s currently not moving, figure out how long they’ve been waiting and +

For every agent that’s currently not moving, figure out how long they’ve been waiting and why they’re blocked.

(bus, stop index it’s coming from, percent to next stop, location)

For intersections with an agent waiting beyond some threshold, return when they started waiting. Sorted by earliest waiting (likely the root cause of gridlock).

(number of vehicles in the lane, penalty if a bike or other slow vehicle is present)

-

Returns the best-case time for a trip in a world with no traffic or intersection delays. +

Returns the best-case time for a trip in a world with no traffic or intersection delays. Might fail in some cases where the real trip succeeds, but the single-mode path can’t be found. Assumes the TripID exists.

Returns people / m^2. Roads have up to two sidewalks and intersections have many crossings – take the max density along any one.

This does not include transit riders. Some callers need those in addition, but the rendering ones don’t.

-

If retry_if_no_room is false, any vehicles that fail to spawn because of something else in +

If retry_if_no_room is false, any vehicles that fail to spawn because of something else in the way will just wind up as cancelled trips.

(Filled, available)

-

Respond to arbitrary map edits without resetting the simulation. Returns the number of +

Respond to arbitrary map edits without resetting the simulation. Returns the number of (trips cancelled, parked cars displaced).

Returns (trips affected, number of parked cars displaced)

Only one at a time supported.

diff --git a/rustdoc/sim/struct.SimFlags.html b/rustdoc/sim/struct.SimFlags.html index d15bf99ac3..59ae9c6dc1 100644 --- a/rustdoc/sim/struct.SimFlags.html +++ b/rustdoc/sim/struct.SimFlags.html @@ -1,7 +1,7 @@ SimFlags in sim - Rust
pub struct SimFlags {
     load_path: Option<String>,
     pub load: String,
-    pub scenario_modifiers: Vec<ScenarioModifier>,
+    pub scenario_modifiers: Vec<ScenarioModifier>,
     pub rng_seed: u64,
     pub opts: SimOptions,
 }
Expand description

SimFlags specifies a simulation to setup. After parsing from structopt, you must call @@ -14,7 +14,7 @@

load: String

The same as load_path, but with a default value filled out. Call initialize to set this up.

-
scenario_modifiers: Vec<ScenarioModifier>

A JSON list of modifiers to transform the scenario. These can be generated with the GUI.

+
scenario_modifiers: Vec<ScenarioModifier>

A JSON list of modifiers to transform the scenario. These can be generated with the GUI.

rng_seed: u64

An arbitrary number to seed the random number generator. This is input to the deterministic simulation, so different values affect results.

opts: SimOptions

Implementations

Loads a map and simulation. Not appropriate for use in the UI or on web.

diff --git a/rustdoc/sim/struct.SpawnOverTime.html b/rustdoc/sim/struct.SpawnOverTime.html index 9fa48f796b..6143926cba 100644 --- a/rustdoc/sim/struct.SpawnOverTime.html +++ b/rustdoc/sim/struct.SpawnOverTime.html @@ -1,12 +1,12 @@ -SpawnOverTime in sim - Rust
pub struct SpawnOverTime {
+SpawnOverTime in sim - Rust
pub struct SpawnOverTime {
     pub num_agents: usize,
     pub start_time: Time,
     pub stop_time: Time,
-    pub goal: Option<TripEndpoint>,
+    pub goal: Option<TripEndpoint>,
     pub percent_driving: f64,
     pub percent_biking: f64,
     pub percent_use_transit: f64,
-}

Fields

num_agents: usizestart_time: Timestop_time: Timegoal: Option<TripEndpoint>percent_driving: f64percent_biking: f64percent_use_transit: f64

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can +}

Fields

num_agents: usizestart_time: Timestop_time: Timegoal: Option<TripEndpoint>percent_driving: f64percent_biking: f64percent_use_transit: f64

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/struct.TripInfo.html b/rustdoc/sim/struct.TripInfo.html index 5aa6709113..eb945675cc 100644 --- a/rustdoc/sim/struct.TripInfo.html +++ b/rustdoc/sim/struct.TripInfo.html @@ -1,13 +1,13 @@ TripInfo in sim - Rust
pub struct TripInfo {
     pub departure: Time,
-    pub mode: TripMode,
-    pub start: TripEndpoint,
-    pub end: TripEndpoint,
-    pub purpose: TripPurpose,
+    pub mode: TripMode,
+    pub start: TripEndpoint,
+    pub end: TripEndpoint,
+    pub purpose: TripPurpose,
     pub modified: bool,
     pub cancellation_reason: Option<String>,
 }

Fields

departure: Time

Scheduled departure; the start may be delayed if the previous trip is taking too long.

-
mode: TripModestart: TripEndpointend: TripEndpointpurpose: TripPurposemodified: bool

Did a ScenarioModifier apply to this?

+
mode: TripModestart: TripEndpointend: TripEndpointpurpose: TripPurposemodified: bool

Did a ScenarioModifier apply to this?

cancellation_reason: Option<String>

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/trips/struct.Person.html b/rustdoc/sim/trips/struct.Person.html index 919b7f31be..468702d9ca 100644 --- a/rustdoc/sim/trips/struct.Person.html +++ b/rustdoc/sim/trips/struct.Person.html @@ -1,6 +1,6 @@ Person in sim::trips - Rust
pub struct Person {
     pub id: PersonID,
-    pub orig_id: Option<OrigPersonID>,
+    pub orig_id: Option<OrigPersonID>,
     pub trips: Vec<TripID>,
     pub state: PersonState,
     pub ped: PedestrianID,
@@ -8,7 +8,7 @@
     pub vehicles: Vec<Vehicle>,
     delayed_trips: Vec<(TripID, StartTripArgs)>,
     on_bus: Option<CarID>,
-}

Fields

id: PersonIDorig_id: Option<OrigPersonID>trips: Vec<TripID>state: PersonStateped: PedestrianIDped_speed: Speedvehicles: Vec<Vehicle>

Both cars and bikes

+}

Fields

id: PersonIDorig_id: Option<OrigPersonID>trips: Vec<TripID>state: PersonStateped: PedestrianIDped_speed: Speedvehicles: Vec<Vehicle>

Both cars and bikes

delayed_trips: Vec<(TripID, StartTripArgs)>on_bus: Option<CarID>

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/trips/struct.TripInfo.html b/rustdoc/sim/trips/struct.TripInfo.html index 92ff6ff1a8..c9731d68d7 100644 --- a/rustdoc/sim/trips/struct.TripInfo.html +++ b/rustdoc/sim/trips/struct.TripInfo.html @@ -1,13 +1,13 @@ TripInfo in sim::trips - Rust
pub struct TripInfo {
     pub departure: Time,
-    pub mode: TripMode,
-    pub start: TripEndpoint,
-    pub end: TripEndpoint,
-    pub purpose: TripPurpose,
+    pub mode: TripMode,
+    pub start: TripEndpoint,
+    pub end: TripEndpoint,
+    pub purpose: TripPurpose,
     pub modified: bool,
     pub cancellation_reason: Option<String>,
 }

Fields

departure: Time

Scheduled departure; the start may be delayed if the previous trip is taking too long.

-
mode: TripModestart: TripEndpointend: TripEndpointpurpose: TripPurposemodified: bool

Did a ScenarioModifier apply to this?

+
mode: TripModestart: TripEndpointend: TripEndpointpurpose: TripPurposemodified: bool

Did a ScenarioModifier apply to this?

cancellation_reason: Option<String>

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot diff --git a/rustdoc/sim/trips/struct.TripManager.html b/rustdoc/sim/trips/struct.TripManager.html index 596b113f4c..a1c6a48428 100644 --- a/rustdoc/sim/trips/struct.TripManager.html +++ b/rustdoc/sim/trips/struct.TripManager.html @@ -9,13 +9,13 @@ down into legs – for example, a driving trip might start with somebody walking to their car, driving somewhere, parking, and then walking to their final destination. https://a-b-street.github.io/tech/docs/trafficsim/trips.html describes some of the variations.

-

Fields

trips: Vec<Trip>people: Vec<Person>active_trip_mode: BTreeMap<AgentID, TripID>unfinished_trips: usizecar_id_counter: usizeevents: Vec<Event>

Implementations

This is idempotent to handle the case of cars retrying their spawning.

+

Fields

trips: Vec<Trip>people: Vec<Person>active_trip_mode: BTreeMap<AgentID, TripID>unfinished_trips: usizecar_id_counter: usizeevents: Vec<Event>

Implementations

This is idempotent to handle the case of cars retrying their spawning.

If no route is returned, the pedestrian boarded a bus immediately.

Cancel a trip before it’s started. The person will stay where they are.

Cancel a trip after it’s started. The person will be magically warped to their destination, along with their car, as if the trip had completed normally.

This will be None for parked cars and buses. Should always work for pedestrians.

-

Recreate the Scenario from an instantiated simulation. The results should match the +

Recreate the Scenario from an instantiated simulation. The results should match the original Scenario used.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be diff --git a/rustdoc/src/fifteen_min/lib.rs.html b/rustdoc/src/fifteen_min/lib.rs.html index baeb5466e2..0230238976 100644 --- a/rustdoc/src/fifteen_min/lib.rs.html +++ b/rustdoc/src/fifteen_min/lib.rs.html @@ -48,14 +48,6 @@ 48 49 50 -51 -52 -53 -54 -55 -56 -57 -58
#![allow(clippy::type_complexity)]
 
 use structopt::StructOpt;
@@ -88,15 +80,7 @@
         .canvas_settings(options.canvas_settings.clone());
     widgetry::run(settings, |ctx| {
         map_gui::SimpleApp::new(ctx, options, args.map_name(), args.cam, (), |ctx, app| {
-            vec![
-                map_gui::tools::TitleScreen::new_state(
-                    ctx,
-                    app,
-                    map_gui::tools::Executable::FifteenMin,
-                    Box::new(|ctx, app, _| viewer::Viewer::random_start(ctx, app)),
-                ),
-                viewer::Viewer::random_start(ctx, app),
-            ]
+            vec![viewer::Viewer::random_start(ctx, app)]
         })
     });
 }
diff --git a/rustdoc/src/fifteen_min/viewer.rs.html b/rustdoc/src/fifteen_min/viewer.rs.html
index 32ff0b1051..c809391661 100644
--- a/rustdoc/src/fifteen_min/viewer.rs.html
+++ b/rustdoc/src/fifteen_min/viewer.rs.html
@@ -571,6 +571,11 @@
 571
 572
 573
+574
+575
+576
+577
+578
 
//! This is a tool to experiment with the concept of 15-minute neighborhoods. Can you access your
 //! daily needs (like groceries, a cafe, a library) within a 15-minute walk, bike ride, or public
 //! transit ride of your home?
@@ -703,7 +708,12 @@
                     return Transition::Push(crate::bus::BusExperiment::new_state(ctx, app));
                 }
                 "Home" => {
-                    return Transition::Pop;
+                    return Transition::Clear(vec![map_gui::tools::TitleScreen::new_state(
+                        ctx,
+                        app,
+                        map_gui::tools::Executable::FifteenMin,
+                        Box::new(|ctx, app, _| Self::random_start(ctx, app)),
+                    )]);
                 }
                 "change map" => {
                     return Transition::Push(CityPicker::new_state(
diff --git a/rustdoc/src/ltn/lib.rs.html b/rustdoc/src/ltn/lib.rs.html
index 90a08db992..8eae190c58 100644
--- a/rustdoc/src/ltn/lib.rs.html
+++ b/rustdoc/src/ltn/lib.rs.html
@@ -267,12 +267,6 @@
 267
 268
 269
-270
-271
-272
-273
-274
-275
 
#![allow(clippy::type_complexity)]
 
 use structopt::StructOpt;
@@ -461,12 +455,6 @@
             app.per_map.consultation.unwrap(),
         ));
     } else {
-        states.push(map_gui::tools::TitleScreen::new_state(
-            ctx,
-            app,
-            map_gui::tools::Executable::LTN,
-            Box::new(|ctx, app, _| PickArea::new_state(ctx, app)),
-        ));
         states.push(PickArea::new_state(ctx, app));
     }
     if let Some(state) = popup_state {
diff --git a/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-63c5bcb4b09cf8fd/out/built.rs.html b/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-63c5bcb4b09cf8fd/out/built.rs.html
index c79b82d6f6..d353f7a33d 100644
--- a/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-63c5bcb4b09cf8fd/out/built.rs.html
+++ b/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-63c5bcb4b09cf8fd/out/built.rs.html
@@ -174,7 +174,7 @@
 pub const RUSTDOC_VERSION: &str = r"rustdoc 1.65.0 (897e37553 2022-11-02)";
 #[doc=r#"The build time in RFC2822, UTC."#]
 #[allow(dead_code)]
-pub const BUILT_TIME_UTC: &str = r"Mon, 12 Dec 2022 10:47:10 +0000";
+pub const BUILT_TIME_UTC: &str = r"Mon, 12 Dec 2022 11:46:39 +0000";
 #[doc=r#"The target architecture, given by `CARGO_CFG_TARGET_ARCH`."#]
 #[allow(dead_code)]
 pub const CFG_TARGET_ARCH: &str = r"x86_64";
diff --git a/rustdoc/src/osm_viewer/lib.rs.html b/rustdoc/src/osm_viewer/lib.rs.html
index 4fa38d8346..e53a023a93 100644
--- a/rustdoc/src/osm_viewer/lib.rs.html
+++ b/rustdoc/src/osm_viewer/lib.rs.html
@@ -38,14 +38,6 @@
 38
 39
 40
-41
-42
-43
-44
-45
-46
-47
-48
 
mod viewer;
 
 use structopt::StructOpt;
@@ -68,15 +60,7 @@
         .canvas_settings(opts.canvas_settings.clone());
     widgetry::run(settings, |ctx| {
         map_gui::SimpleApp::new(ctx, opts, args.map_name(), args.cam, (), |ctx, app| {
-            vec![
-                map_gui::tools::TitleScreen::new_state(
-                    ctx,
-                    app,
-                    map_gui::tools::Executable::OSMViewer,
-                    Box::new(|ctx, app, _| viewer::Viewer::new_state(ctx, app)),
-                ),
-                viewer::Viewer::new_state(ctx, app),
-            ]
+            vec![viewer::Viewer::new_state(ctx, app)]
         })
     });
 }
diff --git a/rustdoc/src/osm_viewer/viewer.rs.html b/rustdoc/src/osm_viewer/viewer.rs.html
index fedff10c4f..62b1c8a447 100644
--- a/rustdoc/src/osm_viewer/viewer.rs.html
+++ b/rustdoc/src/osm_viewer/viewer.rs.html
@@ -462,6 +462,11 @@
 462
 463
 464
+465
+466
+467
+468
+469
 
use std::collections::BTreeSet;
 
 use abstutil::{prettyprint_usize, Counter};
@@ -726,7 +731,12 @@
         match self.top_panel.event(ctx) {
             Outcome::Clicked(x) => match x.as_ref() {
                 "Home" => {
-                    return Transition::Pop;
+                    return Transition::Clear(vec![map_gui::tools::TitleScreen::new_state(
+                        ctx,
+                        app,
+                        map_gui::tools::Executable::OSMViewer,
+                        Box::new(|ctx, app, _| Self::new_state(ctx, app)),
+                    )]);
                 }
                 "change map" => {
                     return Transition::Push(CityPicker::new_state(
diff --git a/rustdoc/src/parking_mapper/main.rs.html b/rustdoc/src/parking_mapper/main.rs.html
index d38e8ea41e..e3a8b08de2 100644
--- a/rustdoc/src/parking_mapper/main.rs.html
+++ b/rustdoc/src/parking_mapper/main.rs.html
@@ -20,14 +20,6 @@
 20
 21
 22
-23
-24
-25
-26
-27
-28
-29
-30
 
#[macro_use]
 extern crate log;
 
@@ -46,15 +38,7 @@
         .canvas_settings(options.canvas_settings.clone());
     widgetry::run(settings, |ctx| {
         map_gui::SimpleApp::new(ctx, options, args.map_name(), args.cam, (), |ctx, app| {
-            vec![
-                map_gui::tools::TitleScreen::new_state(
-                    ctx,
-                    app,
-                    map_gui::tools::Executable::ParkingMapper,
-                    Box::new(|ctx, app, _| mapper::ParkingMapper::new_state(ctx, app)),
-                ),
-                mapper::ParkingMapper::new_state(ctx, app),
-            ]
+            vec![mapper::ParkingMapper::new_state(ctx, app)]
         })
     });
 }
diff --git a/rustdoc/src/parking_mapper/mapper.rs.html b/rustdoc/src/parking_mapper/mapper.rs.html
index b49fd5f76a..8561db8cb2 100644
--- a/rustdoc/src/parking_mapper/mapper.rs.html
+++ b/rustdoc/src/parking_mapper/mapper.rs.html
@@ -670,6 +670,11 @@
 670
 671
 672
+673
+674
+675
+676
+677
 
use std::collections::{BTreeMap, HashSet};
 
 use anyhow::Result;
@@ -1001,7 +1006,12 @@
                     };
                 }
                 "Home" => {
-                    return Transition::Pop;
+                    return Transition::Clear(vec![map_gui::tools::TitleScreen::new_state(
+                        ctx,
+                        app,
+                        map_gui::tools::Executable::ParkingMapper,
+                        Box::new(|ctx, app, _| Self::new_state(ctx, app)),
+                    )]);
                 }
                 "change map" => {
                     return Transition::Push(CityPicker::new_state(
diff --git a/rustdoc/src/santa/lib.rs.html b/rustdoc/src/santa/lib.rs.html
index 5f507b0c31..61216e672a 100644
--- a/rustdoc/src/santa/lib.rs.html
+++ b/rustdoc/src/santa/lib.rs.html
@@ -73,14 +73,6 @@
 73
 74
 75
-76
-77
-78
-79
-80
-81
-82
-83
 
#[macro_use]
 extern crate anyhow;
 #[macro_use]
@@ -137,15 +129,7 @@
                     music::Music::start(ctx, app.session.play_music, "jingle_bells");
                 app.session.music.specify_volume(music::OUT_OF_GAME);
 
-                vec![
-                    map_gui::tools::TitleScreen::new_state(
-                        ctx,
-                        app,
-                        map_gui::tools::Executable::Santa,
-                        Box::new(|ctx, app, _| title::TitleScreen::new_state(ctx, app)),
-                    ),
-                    title::TitleScreen::new_state(ctx, app),
-                ]
+                vec![title::TitleScreen::new_state(ctx, app)]
             },
         )
     });
diff --git a/rustdoc/src/santa/title.rs.html b/rustdoc/src/santa/title.rs.html
index 3753baa518..0c05f35068 100644
--- a/rustdoc/src/santa/title.rs.html
+++ b/rustdoc/src/santa/title.rs.html
@@ -235,6 +235,11 @@
 235
 236
 237
+238
+239
+240
+241
+242
 
use geom::Percent;
 use widgetry::tools::open_browser;
 use widgetry::{
@@ -314,7 +319,12 @@
         _: &mut Panel,
     ) -> Transition {
         match x {
-            "Home" => Transition::Pop,
+            "Home" => Transition::Clear(vec![map_gui::tools::TitleScreen::new_state(
+                ctx,
+                app,
+                map_gui::tools::Executable::Santa,
+                Box::new(|ctx, app, _| Self::new_state(ctx, app)),
+            )]),
             "Credits" => Transition::Push(Credits::new_state(ctx)),
             x => {
                 for level in &app.session.levels {