diff --git a/rustdoc/game/pregame/built_info/constant.BUILT_TIME_UTC.html b/rustdoc/game/pregame/built_info/constant.BUILT_TIME_UTC.html index 48b99d27a2..e9f5c84569 100644 --- a/rustdoc/game/pregame/built_info/constant.BUILT_TIME_UTC.html +++ b/rustdoc/game/pregame/built_info/constant.BUILT_TIME_UTC.html @@ -1,5 +1,5 @@ game::pregame::built_info::BUILT_TIME_UTC - Rust

[][src]Constant game::pregame::built_info::BUILT_TIME_UTC

pub const BUILT_TIME_UTC: &str = "Sat, 20 Feb 2021 17:48:44 +0000";

The built-time in RFC2822, UTC

+ Change settings

[][src]Constant game::pregame::built_info::BUILT_TIME_UTC

pub const BUILT_TIME_UTC: &str = "Sat, 20 Feb 2021 18:06:32 +0000";

The built-time in RFC2822, UTC

\ No newline at end of file diff --git a/rustdoc/implementors/core/marker/trait.Send.js b/rustdoc/implementors/core/marker/trait.Send.js index b6e63520c3..9fd10161da 100644 --- a/rustdoc/implementors/core/marker/trait.Send.js +++ b/rustdoc/implementors/core/marker/trait.Send.js @@ -10,7 +10,7 @@ implementors["headless"] = [{"text":"impl Send for MAP","synthetic":true,"types" implementors["import_traffic"] = [{"text":"impl Send for Input","synthetic":true,"types":[]}]; implementors["importer"] = [{"text":"impl Send for Record","synthetic":true,"types":[]},{"text":"impl Send for ImporterConfiguration","synthetic":true,"types":[]},{"text":"impl Send for GenericCityImporter","synthetic":true,"types":[]},{"text":"impl Send for TripRecord","synthetic":true,"types":[]},{"text":"impl Send for StopTimeRecord","synthetic":true,"types":[]},{"text":"impl Send for Job","synthetic":true,"types":[]}]; implementors["kml"] = [{"text":"impl Send for ExtraShapes","synthetic":true,"types":[]},{"text":"impl Send for ExtraShape","synthetic":true,"types":[]}]; -implementors["map_editor"] = [{"text":"impl !Send for EditRoad","synthetic":true,"types":[]},{"text":"impl !Send for Model","synthetic":true,"types":[]},{"text":"impl Send for ID","synthetic":true,"types":[]},{"text":"impl<ID> Send for Object<ID> where
    ID: Send, 
","synthetic":true,"types":[]},{"text":"impl !Send for WorldObject","synthetic":true,"types":[]},{"text":"impl<ID> !Send for World<ID>","synthetic":true,"types":[]},{"text":"impl !Send for App","synthetic":true,"types":[]},{"text":"impl !Send for MainState","synthetic":true,"types":[]},{"text":"impl !Send for Mode","synthetic":true,"types":[]}]; +implementors["map_editor"] = [{"text":"impl !Send for EditRoad","synthetic":true,"types":[]},{"text":"impl !Send for Model","synthetic":true,"types":[]},{"text":"impl Send for ID","synthetic":true,"types":[]},{"text":"impl<ID> Send for Object<ID> where
    ID: Send, 
","synthetic":true,"types":[]},{"text":"impl !Send for WorldObject","synthetic":true,"types":[]},{"text":"impl<ID> !Send for World<ID>","synthetic":true,"types":[]},{"text":"impl !Send for App","synthetic":true,"types":[]},{"text":"impl !Send for MainState","synthetic":true,"types":[]},{"text":"impl Send for Mode","synthetic":true,"types":[]}]; implementors["map_gui"] = [{"text":"impl Send for ColorSchemeChoice","synthetic":true,"types":[]},{"text":"impl Send for ColorScheme","synthetic":true,"types":[]},{"text":"impl<A, T> !Send for FileLoader<A, T>","synthetic":true,"types":[]},{"text":"impl Send for MapLoader","synthetic":true,"types":[]},{"text":"impl<A> !Send for MapAlreadyLoaded<A>","synthetic":true,"types":[]},{"text":"impl<A, T> !Send for FutureLoader<A, T>","synthetic":true,"types":[]},{"text":"impl Send for Options","synthetic":true,"types":[]},{"text":"impl Send for TrafficSignalStyle","synthetic":true,"types":[]},{"text":"impl Send for CameraAngle","synthetic":true,"types":[]},{"text":"impl !Send for OptionsPanel","synthetic":true,"types":[]},{"text":"impl !Send for AgentCache","synthetic":true,"types":[]},{"text":"impl Send for UnzoomedAgents","synthetic":true,"types":[]},{"text":"impl Send for DrawArea","synthetic":true,"types":[]},{"text":"impl !Send for DrawBike","synthetic":true,"types":[]},{"text":"impl !Send for DrawBuilding","synthetic":true,"types":[]},{"text":"impl !Send for DrawBusStop","synthetic":true,"types":[]},{"text":"impl !Send for DrawCar","synthetic":true,"types":[]},{"text":"impl !Send for DrawIntersection","synthetic":true,"types":[]},{"text":"impl !Send for DrawLane","synthetic":true,"types":[]},{"text":"impl !Send for DrawMap","synthetic":true,"types":[]},{"text":"impl !Send for DrawParkingLot","synthetic":true,"types":[]},{"text":"impl !Send for DrawPedestrian","synthetic":true,"types":[]},{"text":"impl !Send for DrawPedCrowd","synthetic":true,"types":[]},{"text":"impl !Send for DrawRoad","synthetic":true,"types":[]},{"text":"impl Send for DrawMovement","synthetic":true,"types":[]},{"text":"impl Send for DrawUberTurnGroup","synthetic":true,"types":[]},{"text":"impl Send for DrawOptions","synthetic":true,"types":[]},{"text":"impl<T> !Send for SimpleApp<T>","synthetic":true,"types":[]},{"text":"impl Send for SimpleWarper","synthetic":true,"types":[]},{"text":"impl Send for CameraState","synthetic":true,"types":[]},{"text":"impl<A> !Send for CityPicker<A>","synthetic":true,"types":[]},{"text":"impl<A> !Send for AllCityPicker<A>","synthetic":true,"types":[]},{"text":"impl<A> !Send for CitiesInCountryPicker<A>","synthetic":true,"types":[]},{"text":"impl<'a> Send for ColorDiscrete<'a>","synthetic":true,"types":[]},{"text":"impl Send for ColorLegend","synthetic":true,"types":[]},{"text":"impl Send for DivergingScale","synthetic":true,"types":[]},{"text":"impl<'a> Send for ColorNetwork<'a>","synthetic":true,"types":[]},{"text":"impl Send for ColorScale","synthetic":true,"types":[]},{"text":"impl Send for HeatmapOptions","synthetic":true,"types":[]},{"text":"impl<T> Send for Grid<T> where
    T: Send, 
","synthetic":true,"types":[]},{"text":"impl<A, T> !Send for Minimap<A, T>","synthetic":true,"types":[]},{"text":"impl !Send for Navigator","synthetic":true,"types":[]},{"text":"impl !Send for CrossStreet","synthetic":true,"types":[]},{"text":"impl !Send for SearchBuildings","synthetic":true,"types":[]},{"text":"impl !Send for TurnExplorer","synthetic":true,"types":[]},{"text":"impl<A, T> !Send for ChooseSomething<A, T>","synthetic":true,"types":[]},{"text":"impl<A> !Send for PromptInput<A>","synthetic":true,"types":[]},{"text":"impl !Send for PopupMsg","synthetic":true,"types":[]},{"text":"impl<A> !Send for Picker<A>","synthetic":true,"types":[]},{"text":"impl Send for ID","synthetic":true,"types":[]}]; implementors["map_model"] = [{"text":"impl Send for City","synthetic":true,"types":[]},{"text":"impl Send for WalkingOptions","synthetic":true,"types":[]},{"text":"impl Send for Item","synthetic":true,"types":[]},{"text":"impl Send for WalkingNode","synthetic":true,"types":[]},{"text":"impl Send for OriginalLane","synthetic":true,"types":[]},{"text":"impl Send for ChangeLaneType","synthetic":true,"types":[]},{"text":"impl Send for ReverseLane","synthetic":true,"types":[]},{"text":"impl Send for ChangeSpeedLimit","synthetic":true,"types":[]},{"text":"impl Send for ChangeAccessRestrictions","synthetic":true,"types":[]},{"text":"impl Send for PermanentMapEdits","synthetic":true,"types":[]},{"text":"impl Send for PermanentEditIntersection","synthetic":true,"types":[]},{"text":"impl Send for PermanentEditCmd","synthetic":true,"types":[]},{"text":"impl Send for MapEdits","synthetic":true,"types":[]},{"text":"impl Send for EditIntersection","synthetic":true,"types":[]},{"text":"impl Send for EditRoad","synthetic":true,"types":[]},{"text":"impl Send for EditCmd","synthetic":true,"types":[]},{"text":"impl Send for EditEffects","synthetic":true,"types":[]},{"text":"impl Send for Piece","synthetic":true,"types":[]},{"text":"impl Send for LaneSpec","synthetic":true,"types":[]},{"text":"impl Send for InitialMap","synthetic":true,"types":[]},{"text":"impl Send for Road","synthetic":true,"types":[]},{"text":"impl Send for Intersection","synthetic":true,"types":[]},{"text":"impl Send for Matcher","synthetic":true,"types":[]},{"text":"impl Send for MapConfig","synthetic":true,"types":[]},{"text":"impl Send for DrivingSide","synthetic":true,"types":[]},{"text":"impl Send for AreaID","synthetic":true,"types":[]},{"text":"impl Send for AreaType","synthetic":true,"types":[]},{"text":"impl Send for Area","synthetic":true,"types":[]},{"text":"impl Send for BuildingID","synthetic":true,"types":[]},{"text":"impl Send for Building","synthetic":true,"types":[]},{"text":"impl Send for Amenity","synthetic":true,"types":[]},{"text":"impl Send for OffstreetParking","synthetic":true,"types":[]},{"text":"impl Send for BuildingType","synthetic":true,"types":[]},{"text":"impl Send for NamePerLanguage","synthetic":true,"types":[]},{"text":"impl Send for AmenityType","synthetic":true,"types":[]},{"text":"impl Send for BusStopID","synthetic":true,"types":[]},{"text":"impl Send for BusRouteID","synthetic":true,"types":[]},{"text":"impl Send for BusStop","synthetic":true,"types":[]},{"text":"impl Send for BusRoute","synthetic":true,"types":[]},{"text":"impl Send for IntersectionID","synthetic":true,"types":[]},{"text":"impl Send for IntersectionType","synthetic":true,"types":[]},{"text":"impl Send for Intersection","synthetic":true,"types":[]},{"text":"impl Send for LaneID","synthetic":true,"types":[]},{"text":"impl Send for LaneType","synthetic":true,"types":[]},{"text":"impl Send for Lane","synthetic":true,"types":[]},{"text":"impl Send for ParkingLotID","synthetic":true,"types":[]},{"text":"impl Send for ParkingLot","synthetic":true,"types":[]},{"text":"impl Send for RoadID","synthetic":true,"types":[]},{"text":"impl Send for Direction","synthetic":true,"types":[]},{"text":"impl Send for DirectedRoadID","synthetic":true,"types":[]},{"text":"impl Send for Road","synthetic":true,"types":[]},{"text":"impl Send for ControlStopSign","synthetic":true,"types":[]},{"text":"impl Send for RoadWithStopSign","synthetic":true,"types":[]},{"text":"impl Send for ControlTrafficSignal","synthetic":true,"types":[]},{"text":"impl Send for Stage","synthetic":true,"types":[]},{"text":"impl Send for StageType","synthetic":true,"types":[]},{"text":"impl Send for TurnID","synthetic":true,"types":[]},{"text":"impl Send for TurnType","synthetic":true,"types":[]},{"text":"impl Send for TurnPriority","synthetic":true,"types":[]},{"text":"impl Send for Turn","synthetic":true,"types":[]},{"text":"impl Send for MovementID","synthetic":true,"types":[]},{"text":"impl Send for CompressedMovementID","synthetic":true,"types":[]},{"text":"impl Send for Movement","synthetic":true,"types":[]},{"text":"impl Send for AccessRestrictions","synthetic":true,"types":[]},{"text":"impl Send for Zone","synthetic":true,"types":[]},{"text":"impl Send for RoadRank","synthetic":true,"types":[]},{"text":"impl Send for NodeID","synthetic":true,"types":[]},{"text":"impl Send for WayID","synthetic":true,"types":[]},{"text":"impl Send for RelationID","synthetic":true,"types":[]},{"text":"impl Send for OsmID","synthetic":true,"types":[]},{"text":"impl Send for ContractionHierarchyPathfinder","synthetic":true,"types":[]},{"text":"impl Send for VehiclePathfinder","synthetic":true,"types":[]},{"text":"impl Send for Node","synthetic":true,"types":[]},{"text":"impl<T> Send for NodeMap<T> where
    T: Send, 
","synthetic":true,"types":[]},{"text":"impl<T> Send for InnerNodeMap<T> where
    T: Send, 
","synthetic":true,"types":[]},{"text":"impl Send for Pathfinder","synthetic":true,"types":[]},{"text":"impl Send for IntersectionCluster","synthetic":true,"types":[]},{"text":"impl Send for UberTurn","synthetic":true,"types":[]},{"text":"impl Send for UberTurnGroup","synthetic":true,"types":[]},{"text":"impl Send for SidewalkPathfinder","synthetic":true,"types":[]},{"text":"impl Send for PathStep","synthetic":true,"types":[]},{"text":"impl Send for Path","synthetic":true,"types":[]},{"text":"impl Send for PathConstraints","synthetic":true,"types":[]},{"text":"impl Send for PathRequest","synthetic":true,"types":[]},{"text":"impl Send for RoutingParams","synthetic":true,"types":[]},{"text":"impl Send for RawMap","synthetic":true,"types":[]},{"text":"impl Send for OriginalRoad","synthetic":true,"types":[]},{"text":"impl Send for RawRoad","synthetic":true,"types":[]},{"text":"impl Send for RawIntersection","synthetic":true,"types":[]},{"text":"impl Send for RawBuilding","synthetic":true,"types":[]},{"text":"impl Send for RawArea","synthetic":true,"types":[]},{"text":"impl Send for RawParkingLot","synthetic":true,"types":[]},{"text":"impl Send for RestrictionType","synthetic":true,"types":[]},{"text":"impl Send for TurnRestriction","synthetic":true,"types":[]},{"text":"impl Send for RawBusRoute","synthetic":true,"types":[]},{"text":"impl Send for RawBusStop","synthetic":true,"types":[]},{"text":"impl Send for Position","synthetic":true,"types":[]},{"text":"impl Send for Traversable","synthetic":true,"types":[]},{"text":"impl Send for Map","synthetic":true,"types":[]}]; implementors["osm_viewer"] = [{"text":"impl !Send for Viewer","synthetic":true,"types":[]},{"text":"impl !Send for BusinessSearch","synthetic":true,"types":[]},{"text":"impl Send for MinimapController","synthetic":true,"types":[]}]; diff --git a/rustdoc/implementors/core/marker/trait.Sync.js b/rustdoc/implementors/core/marker/trait.Sync.js index 19aaf3d603..40c3a5c2e2 100644 --- a/rustdoc/implementors/core/marker/trait.Sync.js +++ b/rustdoc/implementors/core/marker/trait.Sync.js @@ -10,7 +10,7 @@ implementors["headless"] = [{"text":"impl Sync for MAP","synthetic":true,"types" implementors["import_traffic"] = [{"text":"impl Sync for Input","synthetic":true,"types":[]}]; implementors["importer"] = [{"text":"impl Sync for Record","synthetic":true,"types":[]},{"text":"impl Sync for ImporterConfiguration","synthetic":true,"types":[]},{"text":"impl Sync for GenericCityImporter","synthetic":true,"types":[]},{"text":"impl Sync for TripRecord","synthetic":true,"types":[]},{"text":"impl Sync for StopTimeRecord","synthetic":true,"types":[]},{"text":"impl Sync for Job","synthetic":true,"types":[]}]; implementors["kml"] = [{"text":"impl Sync for ExtraShapes","synthetic":true,"types":[]},{"text":"impl Sync for ExtraShape","synthetic":true,"types":[]}]; -implementors["map_editor"] = [{"text":"impl !Sync for EditRoad","synthetic":true,"types":[]},{"text":"impl !Sync for Model","synthetic":true,"types":[]},{"text":"impl Sync for ID","synthetic":true,"types":[]},{"text":"impl<ID> Sync for Object<ID> where
    ID: Sync, 
","synthetic":true,"types":[]},{"text":"impl !Sync for WorldObject","synthetic":true,"types":[]},{"text":"impl<ID> !Sync for World<ID>","synthetic":true,"types":[]},{"text":"impl !Sync for App","synthetic":true,"types":[]},{"text":"impl !Sync for MainState","synthetic":true,"types":[]},{"text":"impl !Sync for Mode","synthetic":true,"types":[]}]; +implementors["map_editor"] = [{"text":"impl !Sync for EditRoad","synthetic":true,"types":[]},{"text":"impl !Sync for Model","synthetic":true,"types":[]},{"text":"impl Sync for ID","synthetic":true,"types":[]},{"text":"impl<ID> Sync for Object<ID> where
    ID: Sync, 
","synthetic":true,"types":[]},{"text":"impl !Sync for WorldObject","synthetic":true,"types":[]},{"text":"impl<ID> !Sync for World<ID>","synthetic":true,"types":[]},{"text":"impl !Sync for App","synthetic":true,"types":[]},{"text":"impl !Sync for MainState","synthetic":true,"types":[]},{"text":"impl Sync for Mode","synthetic":true,"types":[]}]; implementors["map_gui"] = [{"text":"impl Sync for ColorSchemeChoice","synthetic":true,"types":[]},{"text":"impl Sync for ColorScheme","synthetic":true,"types":[]},{"text":"impl<A, T> !Sync for FileLoader<A, T>","synthetic":true,"types":[]},{"text":"impl Sync for MapLoader","synthetic":true,"types":[]},{"text":"impl<A> !Sync for MapAlreadyLoaded<A>","synthetic":true,"types":[]},{"text":"impl<A, T> !Sync for FutureLoader<A, T>","synthetic":true,"types":[]},{"text":"impl Sync for Options","synthetic":true,"types":[]},{"text":"impl Sync for TrafficSignalStyle","synthetic":true,"types":[]},{"text":"impl Sync for CameraAngle","synthetic":true,"types":[]},{"text":"impl !Sync for OptionsPanel","synthetic":true,"types":[]},{"text":"impl !Sync for AgentCache","synthetic":true,"types":[]},{"text":"impl Sync for UnzoomedAgents","synthetic":true,"types":[]},{"text":"impl Sync for DrawArea","synthetic":true,"types":[]},{"text":"impl !Sync for DrawBike","synthetic":true,"types":[]},{"text":"impl !Sync for DrawBuilding","synthetic":true,"types":[]},{"text":"impl !Sync for DrawBusStop","synthetic":true,"types":[]},{"text":"impl !Sync for DrawCar","synthetic":true,"types":[]},{"text":"impl !Sync for DrawIntersection","synthetic":true,"types":[]},{"text":"impl !Sync for DrawLane","synthetic":true,"types":[]},{"text":"impl !Sync for DrawMap","synthetic":true,"types":[]},{"text":"impl !Sync for DrawParkingLot","synthetic":true,"types":[]},{"text":"impl !Sync for DrawPedestrian","synthetic":true,"types":[]},{"text":"impl !Sync for DrawPedCrowd","synthetic":true,"types":[]},{"text":"impl !Sync for DrawRoad","synthetic":true,"types":[]},{"text":"impl Sync for DrawMovement","synthetic":true,"types":[]},{"text":"impl Sync for DrawUberTurnGroup","synthetic":true,"types":[]},{"text":"impl Sync for DrawOptions","synthetic":true,"types":[]},{"text":"impl<T> !Sync for SimpleApp<T>","synthetic":true,"types":[]},{"text":"impl Sync for SimpleWarper","synthetic":true,"types":[]},{"text":"impl Sync for CameraState","synthetic":true,"types":[]},{"text":"impl<A> !Sync for CityPicker<A>","synthetic":true,"types":[]},{"text":"impl<A> !Sync for AllCityPicker<A>","synthetic":true,"types":[]},{"text":"impl<A> !Sync for CitiesInCountryPicker<A>","synthetic":true,"types":[]},{"text":"impl<'a> Sync for ColorDiscrete<'a>","synthetic":true,"types":[]},{"text":"impl Sync for ColorLegend","synthetic":true,"types":[]},{"text":"impl Sync for DivergingScale","synthetic":true,"types":[]},{"text":"impl<'a> Sync for ColorNetwork<'a>","synthetic":true,"types":[]},{"text":"impl Sync for ColorScale","synthetic":true,"types":[]},{"text":"impl Sync for HeatmapOptions","synthetic":true,"types":[]},{"text":"impl<T> Sync for Grid<T> where
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl<A, T> !Sync for Minimap<A, T>","synthetic":true,"types":[]},{"text":"impl !Sync for Navigator","synthetic":true,"types":[]},{"text":"impl !Sync for CrossStreet","synthetic":true,"types":[]},{"text":"impl !Sync for SearchBuildings","synthetic":true,"types":[]},{"text":"impl !Sync for TurnExplorer","synthetic":true,"types":[]},{"text":"impl<A, T> !Sync for ChooseSomething<A, T>","synthetic":true,"types":[]},{"text":"impl<A> !Sync for PromptInput<A>","synthetic":true,"types":[]},{"text":"impl !Sync for PopupMsg","synthetic":true,"types":[]},{"text":"impl<A> !Sync for Picker<A>","synthetic":true,"types":[]},{"text":"impl Sync for ID","synthetic":true,"types":[]}]; implementors["map_model"] = [{"text":"impl Sync for City","synthetic":true,"types":[]},{"text":"impl Sync for WalkingOptions","synthetic":true,"types":[]},{"text":"impl Sync for Item","synthetic":true,"types":[]},{"text":"impl Sync for WalkingNode","synthetic":true,"types":[]},{"text":"impl Sync for OriginalLane","synthetic":true,"types":[]},{"text":"impl Sync for ChangeLaneType","synthetic":true,"types":[]},{"text":"impl Sync for ReverseLane","synthetic":true,"types":[]},{"text":"impl Sync for ChangeSpeedLimit","synthetic":true,"types":[]},{"text":"impl Sync for ChangeAccessRestrictions","synthetic":true,"types":[]},{"text":"impl Sync for PermanentMapEdits","synthetic":true,"types":[]},{"text":"impl Sync for PermanentEditIntersection","synthetic":true,"types":[]},{"text":"impl Sync for PermanentEditCmd","synthetic":true,"types":[]},{"text":"impl Sync for MapEdits","synthetic":true,"types":[]},{"text":"impl Sync for EditIntersection","synthetic":true,"types":[]},{"text":"impl Sync for EditRoad","synthetic":true,"types":[]},{"text":"impl Sync for EditCmd","synthetic":true,"types":[]},{"text":"impl Sync for EditEffects","synthetic":true,"types":[]},{"text":"impl Sync for Piece","synthetic":true,"types":[]},{"text":"impl Sync for LaneSpec","synthetic":true,"types":[]},{"text":"impl Sync for InitialMap","synthetic":true,"types":[]},{"text":"impl Sync for Road","synthetic":true,"types":[]},{"text":"impl Sync for Intersection","synthetic":true,"types":[]},{"text":"impl Sync for Matcher","synthetic":true,"types":[]},{"text":"impl Sync for MapConfig","synthetic":true,"types":[]},{"text":"impl Sync for DrivingSide","synthetic":true,"types":[]},{"text":"impl Sync for AreaID","synthetic":true,"types":[]},{"text":"impl Sync for AreaType","synthetic":true,"types":[]},{"text":"impl Sync for Area","synthetic":true,"types":[]},{"text":"impl Sync for BuildingID","synthetic":true,"types":[]},{"text":"impl Sync for Building","synthetic":true,"types":[]},{"text":"impl Sync for Amenity","synthetic":true,"types":[]},{"text":"impl Sync for OffstreetParking","synthetic":true,"types":[]},{"text":"impl Sync for BuildingType","synthetic":true,"types":[]},{"text":"impl Sync for NamePerLanguage","synthetic":true,"types":[]},{"text":"impl Sync for AmenityType","synthetic":true,"types":[]},{"text":"impl Sync for BusStopID","synthetic":true,"types":[]},{"text":"impl Sync for BusRouteID","synthetic":true,"types":[]},{"text":"impl Sync for BusStop","synthetic":true,"types":[]},{"text":"impl Sync for BusRoute","synthetic":true,"types":[]},{"text":"impl Sync for IntersectionID","synthetic":true,"types":[]},{"text":"impl Sync for IntersectionType","synthetic":true,"types":[]},{"text":"impl Sync for Intersection","synthetic":true,"types":[]},{"text":"impl Sync for LaneID","synthetic":true,"types":[]},{"text":"impl Sync for LaneType","synthetic":true,"types":[]},{"text":"impl Sync for Lane","synthetic":true,"types":[]},{"text":"impl Sync for ParkingLotID","synthetic":true,"types":[]},{"text":"impl Sync for ParkingLot","synthetic":true,"types":[]},{"text":"impl Sync for RoadID","synthetic":true,"types":[]},{"text":"impl Sync for Direction","synthetic":true,"types":[]},{"text":"impl Sync for DirectedRoadID","synthetic":true,"types":[]},{"text":"impl Sync for Road","synthetic":true,"types":[]},{"text":"impl Sync for ControlStopSign","synthetic":true,"types":[]},{"text":"impl Sync for RoadWithStopSign","synthetic":true,"types":[]},{"text":"impl Sync for ControlTrafficSignal","synthetic":true,"types":[]},{"text":"impl Sync for Stage","synthetic":true,"types":[]},{"text":"impl Sync for StageType","synthetic":true,"types":[]},{"text":"impl Sync for TurnID","synthetic":true,"types":[]},{"text":"impl Sync for TurnType","synthetic":true,"types":[]},{"text":"impl Sync for TurnPriority","synthetic":true,"types":[]},{"text":"impl Sync for Turn","synthetic":true,"types":[]},{"text":"impl Sync for MovementID","synthetic":true,"types":[]},{"text":"impl Sync for CompressedMovementID","synthetic":true,"types":[]},{"text":"impl Sync for Movement","synthetic":true,"types":[]},{"text":"impl Sync for AccessRestrictions","synthetic":true,"types":[]},{"text":"impl Sync for Zone","synthetic":true,"types":[]},{"text":"impl Sync for RoadRank","synthetic":true,"types":[]},{"text":"impl Sync for NodeID","synthetic":true,"types":[]},{"text":"impl Sync for WayID","synthetic":true,"types":[]},{"text":"impl Sync for RelationID","synthetic":true,"types":[]},{"text":"impl Sync for OsmID","synthetic":true,"types":[]},{"text":"impl Sync for ContractionHierarchyPathfinder","synthetic":true,"types":[]},{"text":"impl Sync for VehiclePathfinder","synthetic":true,"types":[]},{"text":"impl Sync for Node","synthetic":true,"types":[]},{"text":"impl<T> Sync for NodeMap<T> where
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl<T> Sync for InnerNodeMap<T> where
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl Sync for Pathfinder","synthetic":true,"types":[]},{"text":"impl Sync for IntersectionCluster","synthetic":true,"types":[]},{"text":"impl Sync for UberTurn","synthetic":true,"types":[]},{"text":"impl Sync for UberTurnGroup","synthetic":true,"types":[]},{"text":"impl Sync for SidewalkPathfinder","synthetic":true,"types":[]},{"text":"impl Sync for PathStep","synthetic":true,"types":[]},{"text":"impl Sync for Path","synthetic":true,"types":[]},{"text":"impl Sync for PathConstraints","synthetic":true,"types":[]},{"text":"impl Sync for PathRequest","synthetic":true,"types":[]},{"text":"impl Sync for RoutingParams","synthetic":true,"types":[]},{"text":"impl Sync for RawMap","synthetic":true,"types":[]},{"text":"impl Sync for OriginalRoad","synthetic":true,"types":[]},{"text":"impl Sync for RawRoad","synthetic":true,"types":[]},{"text":"impl Sync for RawIntersection","synthetic":true,"types":[]},{"text":"impl Sync for RawBuilding","synthetic":true,"types":[]},{"text":"impl Sync for RawArea","synthetic":true,"types":[]},{"text":"impl Sync for RawParkingLot","synthetic":true,"types":[]},{"text":"impl Sync for RestrictionType","synthetic":true,"types":[]},{"text":"impl Sync for TurnRestriction","synthetic":true,"types":[]},{"text":"impl Sync for RawBusRoute","synthetic":true,"types":[]},{"text":"impl Sync for RawBusStop","synthetic":true,"types":[]},{"text":"impl Sync for Position","synthetic":true,"types":[]},{"text":"impl Sync for Traversable","synthetic":true,"types":[]},{"text":"impl Sync for Map","synthetic":true,"types":[]}]; implementors["osm_viewer"] = [{"text":"impl !Sync for Viewer","synthetic":true,"types":[]},{"text":"impl !Sync for BusinessSearch","synthetic":true,"types":[]},{"text":"impl Sync for MinimapController","synthetic":true,"types":[]}]; diff --git a/rustdoc/implementors/std/panic/trait.RefUnwindSafe.js b/rustdoc/implementors/std/panic/trait.RefUnwindSafe.js index 6724d1670e..643164d496 100644 --- a/rustdoc/implementors/std/panic/trait.RefUnwindSafe.js +++ b/rustdoc/implementors/std/panic/trait.RefUnwindSafe.js @@ -10,7 +10,7 @@ implementors["headless"] = [{"text":"impl RefUnwindSafe for MAP","synthetic":tru implementors["import_traffic"] = [{"text":"impl RefUnwindSafe for Input","synthetic":true,"types":[]}]; implementors["importer"] = [{"text":"impl RefUnwindSafe for Record","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ImporterConfiguration","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for GenericCityImporter","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for TripRecord","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for StopTimeRecord","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Job","synthetic":true,"types":[]}]; implementors["kml"] = [{"text":"impl RefUnwindSafe for ExtraShapes","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ExtraShape","synthetic":true,"types":[]}]; -implementors["map_editor"] = [{"text":"impl !RefUnwindSafe for EditRoad","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for Model","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ID","synthetic":true,"types":[]},{"text":"impl<ID> RefUnwindSafe for Object<ID> where
    ID: RefUnwindSafe, 
","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for WorldObject","synthetic":true,"types":[]},{"text":"impl<ID> !RefUnwindSafe for World<ID>","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for App","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for MainState","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for Mode","synthetic":true,"types":[]}]; +implementors["map_editor"] = [{"text":"impl !RefUnwindSafe for EditRoad","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for Model","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ID","synthetic":true,"types":[]},{"text":"impl<ID> RefUnwindSafe for Object<ID> where
    ID: RefUnwindSafe, 
","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for WorldObject","synthetic":true,"types":[]},{"text":"impl<ID> !RefUnwindSafe for World<ID>","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for App","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for MainState","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Mode","synthetic":true,"types":[]}]; implementors["map_gui"] = [{"text":"impl RefUnwindSafe for ColorSchemeChoice","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ColorScheme","synthetic":true,"types":[]},{"text":"impl<A, T> !RefUnwindSafe for FileLoader<A, T>","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for MapLoader","synthetic":true,"types":[]},{"text":"impl<A> !RefUnwindSafe for MapAlreadyLoaded<A>","synthetic":true,"types":[]},{"text":"impl<A, T> !RefUnwindSafe for FutureLoader<A, T>","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Options","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for TrafficSignalStyle","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for CameraAngle","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for OptionsPanel","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for AgentCache","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for UnzoomedAgents","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for DrawArea","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawBike","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawBuilding","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawBusStop","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawCar","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawIntersection","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawLane","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawMap","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawParkingLot","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawPedestrian","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawPedCrowd","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for DrawRoad","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for DrawMovement","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for DrawUberTurnGroup","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for DrawOptions","synthetic":true,"types":[]},{"text":"impl<T> !RefUnwindSafe for SimpleApp<T>","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for SimpleWarper","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for CameraState","synthetic":true,"types":[]},{"text":"impl<A> !RefUnwindSafe for CityPicker<A>","synthetic":true,"types":[]},{"text":"impl<A> !RefUnwindSafe for AllCityPicker<A>","synthetic":true,"types":[]},{"text":"impl<A> !RefUnwindSafe for CitiesInCountryPicker<A>","synthetic":true,"types":[]},{"text":"impl<'a> RefUnwindSafe for ColorDiscrete<'a>","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ColorLegend","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for DivergingScale","synthetic":true,"types":[]},{"text":"impl<'a> RefUnwindSafe for ColorNetwork<'a>","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ColorScale","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for HeatmapOptions","synthetic":true,"types":[]},{"text":"impl<T> RefUnwindSafe for Grid<T> where
    T: RefUnwindSafe, 
","synthetic":true,"types":[]},{"text":"impl<A, T> !RefUnwindSafe for Minimap<A, T>","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for Navigator","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for CrossStreet","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for SearchBuildings","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for TurnExplorer","synthetic":true,"types":[]},{"text":"impl<A, T> !RefUnwindSafe for ChooseSomething<A, T>","synthetic":true,"types":[]},{"text":"impl<A> !RefUnwindSafe for PromptInput<A>","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for PopupMsg","synthetic":true,"types":[]},{"text":"impl<A> !RefUnwindSafe for Picker<A>","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ID","synthetic":true,"types":[]}]; implementors["map_model"] = [{"text":"impl RefUnwindSafe for City","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for WalkingOptions","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Item","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for WalkingNode","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for OriginalLane","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ChangeLaneType","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ReverseLane","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ChangeSpeedLimit","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ChangeAccessRestrictions","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for PermanentMapEdits","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for PermanentEditIntersection","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for PermanentEditCmd","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for MapEdits","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for EditIntersection","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for EditRoad","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for EditCmd","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for EditEffects","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Piece","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for LaneSpec","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for InitialMap","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Road","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Intersection","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Matcher","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for MapConfig","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for DrivingSide","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for AreaID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for AreaType","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Area","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for BuildingID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Building","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Amenity","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for OffstreetParking","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for BuildingType","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for NamePerLanguage","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for AmenityType","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for BusStopID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for BusRouteID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for BusStop","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for BusRoute","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for IntersectionID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for IntersectionType","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Intersection","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for LaneID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for LaneType","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Lane","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ParkingLotID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ParkingLot","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RoadID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Direction","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for DirectedRoadID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Road","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ControlStopSign","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RoadWithStopSign","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ControlTrafficSignal","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Stage","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for StageType","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for TurnID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for TurnType","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for TurnPriority","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Turn","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for MovementID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for CompressedMovementID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Movement","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for AccessRestrictions","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Zone","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RoadRank","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for NodeID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for WayID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RelationID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for OsmID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ContractionHierarchyPathfinder","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for VehiclePathfinder","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Node","synthetic":true,"types":[]},{"text":"impl<T> RefUnwindSafe for NodeMap<T> where
    T: RefUnwindSafe, 
","synthetic":true,"types":[]},{"text":"impl<T> RefUnwindSafe for InnerNodeMap<T> where
    T: RefUnwindSafe, 
","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Pathfinder","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for IntersectionCluster","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for UberTurn","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for UberTurnGroup","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for SidewalkPathfinder","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for PathStep","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Path","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for PathConstraints","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for PathRequest","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RoutingParams","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RawMap","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for OriginalRoad","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RawRoad","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RawIntersection","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RawBuilding","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RawArea","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RawParkingLot","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RestrictionType","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for TurnRestriction","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RawBusRoute","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for RawBusStop","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Position","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Traversable","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Map","synthetic":true,"types":[]}]; implementors["osm_viewer"] = [{"text":"impl !RefUnwindSafe for Viewer","synthetic":true,"types":[]},{"text":"impl !RefUnwindSafe for BusinessSearch","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for MinimapController","synthetic":true,"types":[]}]; diff --git a/rustdoc/map_editor/all.html b/rustdoc/map_editor/all.html index fa3d3fd2c2..603843aacc 100644 --- a/rustdoc/map_editor/all.html +++ b/rustdoc/map_editor/all.html @@ -3,4 +3,4 @@

[] - List of all items

Structs

Enums

Traits

Functions

Constants

\ No newline at end of file + List of all items

Structs

Enums

Traits

Functions

Constants

\ No newline at end of file diff --git a/rustdoc/map_editor/enum.Mode.html b/rustdoc/map_editor/enum.Mode.html index 6a8c0878d8..ad029d05d7 100644 --- a/rustdoc/map_editor/enum.Mode.html +++ b/rustdoc/map_editor/enum.Mode.html @@ -1,18 +1,17 @@ map_editor::Mode - Rust -

[][src]Enum map_editor::Mode

pub(crate) enum Mode {
+

[][src]Enum map_editor::Mode

pub(crate) enum Mode {
     Viewing,
     MovingIntersection(NodeID),
     MovingBuilding(OsmID),
     MovingRoadPoint(OriginalRoadusize),
     CreatingRoad(NodeID),
-    PreviewIntersection(Drawable),
     SetBoundaryPt1,
     SetBoundaryPt2(Pt2D),
 }

Variants

-
Viewing
MovingIntersection(NodeID)
MovingBuilding(OsmID)
MovingRoadPoint(OriginalRoadusize)
CreatingRoad(NodeID)
PreviewIntersection(Drawable)
SetBoundaryPt1
SetBoundaryPt2(Pt2D)

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

- Fields

mode: Modepanel: Panellast_id: Option<ID>

Implementations

impl MainState[src]

pub(crate) fn new(ctx: &mut EventCtx<'_>) -> (App, MainState)[src]

Trait Implementations

impl State<App> for MainState[src]

\ No newline at end of file diff --git a/rustdoc/search-index.js b/rustdoc/search-index.js index a668f1177b..a837bc60ae 100644 --- a/rustdoc/search-index.js +++ b/rustdoc/search-index.js @@ -16,7 +16,7 @@ var searchIndex = JSON.parse('{\ "importer":{"doc":"It\'s assumed that the importer is run with the current …","i":[[0,"berlin","importer","",null,null],[5,"import_extra_data","importer::berlin","",null,[[["rawmap",3],["importerconfiguration",3],["timer",3]]]],[5,"correlate_population","","",null,[[["string",3],["timer",3]]]],[3,"Record","","",null,null],[12,"raumid","","",0,null],[12,"e_e","","",0,null],[5,"distribute_residents","","",null,[[["timer",3],["map",3]]]],[0,"configuration","importer","",null,null],[3,"ImporterConfiguration","importer::configuration","",null,null],[12,"curl","","",1,null],[12,"osmconvert","","",1,null],[12,"unzip","","",1,null],[12,"gunzip","","",1,null],[12,"gunzip_args","","",1,null],[5,"load_configuration","","",null,[[],["importerconfiguration",3]]],[0,"dependencies","importer","",null,null],[5,"are_dependencies_callable","importer::dependencies","",null,[[["importerconfiguration",3]]]],[5,"is_program_callable","","",null,[[["osstr",3],["asref",8]]]],[0,"generic","importer","",null,null],[3,"GenericCityImporter","importer::generic","Importing a new city can be done just by filling out this …",null,null],[12,"osm_url","","The URL to a .osm or .osm.pbf file containing the entire …",2,null],[12,"map_config","","",2,null],[12,"onstreet_parking","","",2,null],[12,"public_offstreet_parking","","",2,null],[12,"private_offstreet_parking","","",2,null],[12,"elevation","","If provided, pull elevation data from this SRTM file. The …",2,null],[12,"include_railroads","","OSM railway=rail will be included as light rail if so. …",2,null],[12,"extra_buildings","","If provided, read polygons from this GeoJSON file and add …",2,null],[11,"osm_to_raw","","",2,[[["mapname",3],["timer",3],["importerconfiguration",3]],["rawmap",3]]],[0,"seattle","importer","",null,null],[5,"input","importer::seattle","",null,[[["importerconfiguration",3],["timer",3]]]],[5,"osm_to_raw","","",null,[[["importerconfiguration",3],["timer",3]]]],[5,"adjust_private_parking","","",null,[[["map",3],["scenario",3]]]],[5,"add_gtfs_schedules","","This import from GTFS:",null,[[["map",3]]]],[3,"TripRecord","","",null,null],[12,"shape_id","","",3,null],[12,"trip_id","","",3,null],[3,"StopTimeRecord","","",null,null],[12,"trip_id","","",4,null],[12,"arrival_time","","",4,null],[5,"match_parcels_to_buildings","","Match OSM buildings to parcels, scraping the number of …",null,[[["map",3],["timer",3]]]],[0,"uk","importer","",null,null],[5,"import_extra_data","importer::uk","",null,[[["rawmap",3],["importerconfiguration",3],["timer",3]]]],[0,"utils","importer","",null,null],[5,"download","importer::utils","If the output file doesn\'t already exist, downloads the …",null,[[["string",3],["importerconfiguration",3]]]],[5,"download_kml","","If the output file doesn\'t already exist, downloads the …",null,[[["string",3],["gpsbounds",3],["timer",3]]]],[5,"osmconvert","","Uses osmconvert to clip the input .osm (or .pbf) against …",null,[[["string",3],["importerconfiguration",3]]]],[5,"raw_to_map","","Converts a RawMap to a Map.",null,[[["mapname",3],["timer",3]],["map",3]]],[5,"main","importer","",null,[[]]],[5,"regenerate_everything","","",null,[[["importerconfiguration",3]]]],[3,"Job","","",null,null],[12,"city","","",5,null],[12,"osm_to_raw","","",5,null],[12,"raw_to_map","","",5,null],[12,"scenario","","",5,null],[12,"city_overview","","",5,null],[12,"only_map","","",5,null],[11,"run","","",5,[[["importerconfiguration",3],["timer",3]]]],[5,"oneshot","","",null,[[["string",3],["option",4]]]],[11,"from","importer::berlin","",0,[[]]],[11,"into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["box",3],["global",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",0,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",0,[[],["any",8]]],[11,"as_any_mut","","",0,[[],["any",8]]],[11,"into_any_arc","","",0,[[["arc",3]],[["arc",3],["any",8]]]],[11,"from","importer::configuration","",1,[[]]],[11,"into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"into_any","","",1,[[["box",3],["global",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",1,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",1,[[],["any",8]]],[11,"as_any_mut","","",1,[[],["any",8]]],[11,"into_any_arc","","",1,[[["arc",3]],[["arc",3],["any",8]]]],[11,"from","importer::generic","",2,[[]]],[11,"into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"vzip","","",2,[[]]],[11,"into_any","","",2,[[["box",3],["global",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",2,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",2,[[],["any",8]]],[11,"as_any_mut","","",2,[[],["any",8]]],[11,"into_any_arc","","",2,[[["arc",3]],[["arc",3],["any",8]]]],[11,"from","importer::seattle","",3,[[]]],[11,"into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"vzip","","",3,[[]]],[11,"into_any","","",3,[[["box",3],["global",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",3,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",3,[[],["any",8]]],[11,"as_any_mut","","",3,[[],["any",8]]],[11,"into_any_arc","","",3,[[["arc",3]],[["arc",3],["any",8]]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"into_any","","",4,[[["box",3],["global",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",4,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",4,[[],["any",8]]],[11,"as_any_mut","","",4,[[],["any",8]]],[11,"into_any_arc","","",4,[[["arc",3]],[["arc",3],["any",8]]]],[11,"from","importer","",5,[[]]],[11,"into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"into_any","","",5,[[["box",3],["global",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",5,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",5,[[],["any",8]]],[11,"as_any_mut","","",5,[[],["any",8]]],[11,"into_any_arc","","",5,[[["arc",3]],[["arc",3],["any",8]]]],[11,"default","importer::configuration","",1,[[],["importerconfiguration",3]]],[11,"fmt","importer::berlin","",0,[[["formatter",3]],["result",6]]],[11,"fmt","importer::seattle","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"serialize","importer::generic","",2,[[],["result",4]]],[11,"deserialize","importer::berlin","",0,[[],["result",4]]],[11,"deserialize","importer::configuration","",1,[[],["result",4]]],[11,"deserialize","importer::generic","",2,[[],["result",4]]],[11,"deserialize","importer::seattle","",3,[[],["result",4]]],[11,"deserialize","","",4,[[],["result",4]]]],"p":[[3,"Record"],[3,"ImporterConfiguration"],[3,"GenericCityImporter"],[3,"TripRecord"],[3,"StopTimeRecord"],[3,"Job"]]},\ "json_to_binary_map":{"doc":"","i":[[5,"main","json_to_binary_map","",null,[[]]]],"p":[]},\ "kml":{"doc":"","i":[[3,"ExtraShapes","kml","Some dataset imported from KML, CSV, or something else. …",null,null],[12,"shapes","","",0,null],[3,"ExtraShape","","A single object in the dataset.",null,null],[12,"points","","The object has a different inferred shape depending on …",1,null],[12,"attributes","","Arbitrary key/value pairs associated with this object; no …",1,null],[5,"load","","Parses a .kml file and returns ExtraShapes. Objects will …",null,[[["timer",3],["gpsbounds",3],["string",3]],[["extrashapes",3],["result",6]]]],[5,"recurse","","",null,[[["gpsbounds",3],["node",3],["btreemap",3],["vec",3]],["result",6]]],[5,"parse_pt","","",null,[[],[["option",4],["lonlat",3]]]],[11,"load_csv","","Parses a .csv file and returns ExtraShapes. Each record …",0,[[["timer",3],["gpsbounds",3],["string",3]],[["extrashapes",3],["result",6]]]],[11,"from","","",0,[[]]],[11,"into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"clone","","",1,[[],["extrashape",3]]],[11,"fmt","","",1,[[["formatter",3]],["result",6]]],[11,"serialize","","",0,[[],["result",4]]],[11,"serialize","","",1,[[],["result",4]]],[11,"deserialize","","",0,[[],["result",4]]],[11,"deserialize","","",1,[[],["result",4]]]],"p":[[3,"ExtraShapes"],[3,"ExtraShape"]]},\ -"map_editor":{"doc":"The map_editor renders and lets you edit RawMaps, which …","i":[[0,"edit","map_editor","",null,null],[3,"EditRoad","map_editor::edit","",null,null],[12,"r","","",0,null],[12,"show_direction","","",0,null],[11,"new","","",0,[[["eventctx",3],["originalroad",3],["app",3]],[["box",3],["state",8]]]],[0,"model","map_editor","",null,null],[17,"INTERSECTION_RADIUS","map_editor::model","",null,null],[17,"BUILDING_LENGTH","","",null,null],[3,"Model","","",null,null],[12,"map","","",1,null],[12,"showing_pts","","",1,null],[12,"world","","",1,null],[12,"include_bldgs","","",1,null],[12,"intersection_geom","","",1,null],[11,"blank","","",1,[[],["model",3]]],[11,"import","","",1,[[["eventctx",3],["string",3]],["model",3]]],[11,"export_to_osm","","",1,[[]]],[11,"set_boundary","","",1,[[["eventctx",3],["pt2d",3]]]],[11,"compute_bounds","","",1,[[],["bounds",3]]],[11,"intersection_added","","",1,[[["nodeid",3],["eventctx",3]]]],[11,"create_i","","",1,[[["pt2d",3],["eventctx",3]]]],[11,"move_i","","",1,[[["nodeid",3],["pt2d",3],["eventctx",3]]]],[11,"delete_i","","",1,[[["nodeid",3]]]],[11,"toggle_i","","",1,[[["nodeid",3],["eventctx",3]]]],[11,"road_added","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"road_deleted","","",1,[[["originalroad",3]]]],[11,"create_r","","",1,[[["nodeid",3],["eventctx",3]]]],[11,"delete_r","","",1,[[["originalroad",3]]]],[11,"road_object","","",1,[[["originalroad",3]],[["id",4],["object",3]]]],[11,"show_r_points","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"stop_showing_pts","","",1,[[["originalroad",3]]]],[11,"move_r_pt","","",1,[[["originalroad",3],["pt2d",3],["eventctx",3]]]],[11,"delete_r_pt","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"insert_r_pt","","",1,[[["originalroad",3],["pt2d",3],["eventctx",3]],[["option",4],["id",4]]]],[11,"clear_r_pts","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"merge_r","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"bldg_added","","",1,[[["osmid",4],["eventctx",3]]]],[11,"create_b","","",1,[[["pt2d",3],["eventctx",3]],["id",4]]],[11,"move_b","","",1,[[["osmid",4],["pt2d",3],["eventctx",3]]]],[11,"delete_b","","",1,[[["osmid",4]]]],[4,"ID","","",null,null],[13,"Building","","",2,null],[13,"Intersection","","",2,null],[13,"Road","","",2,null],[13,"RoadPoint","","",2,null],[5,"time_to_id","","",null,[[]]],[5,"dump_to_osm","","Express a RawMap as a .osm file. Why not just save the …",null,[[["rawmap",3]],[["error",3],["result",4]]]],[0,"world","map_editor","",null,null],[8,"ObjectID","map_editor::world","",null,null],[10,"zorder","","",3,[[]]],[3,"Object","","",null,null],[12,"id","","",4,null],[12,"geometry","","",4,null],[11,"new","","",4,[[["polygon",3],["color",3]],["object",3]]],[3,"WorldObject","","",null,null],[12,"unioned_polygon","","",5,null],[12,"draw","","",5,null],[12,"quadtree_id","","",5,null],[3,"World","","",null,null],[12,"objects","","",6,null],[12,"quadtree","","",6,null],[12,"current_selection","","",6,null],[11,"new","","",6,[[],["world",3]]],[11,"draw","","",6,[[["fn",8],["gfxctx",3]]]],[11,"handle_mouseover","","",6,[[["eventctx",3]]]],[11,"force_set_selection","","",6,[[]]],[11,"get_selection","","",6,[[],["option",4]]],[11,"add","","",6,[[["eventctx",3],["object",3]]]],[11,"delete","","",6,[[]]],[3,"App","map_editor","",null,null],[12,"model","","",7,null],[3,"MainState","","",null,null],[12,"mode","","",8,null],[12,"panel","","",8,null],[12,"last_id","","",8,null],[4,"Mode","","",null,null],[13,"Viewing","","",9,null],[13,"MovingIntersection","","",9,null],[13,"MovingBuilding","","",9,null],[13,"MovingRoadPoint","","",9,null],[13,"CreatingRoad","","",9,null],[13,"PreviewIntersection","","",9,null],[13,"SetBoundaryPt1","","",9,null],[13,"SetBoundaryPt2","","",9,null],[11,"new","","",8,[[["eventctx",3]]]],[5,"preview_intersection","","",null,[[["nodeid",3],["eventctx",3],["model",3]],["drawable",3]]],[5,"preview_all_intersections","","",null,[[["eventctx",3],["model",3]],["drawable",3]]],[5,"main","","",null,[[]]],[11,"from","map_editor::edit","",0,[[]]],[11,"into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["box",3],["global",3]],[["box",3],["any",8],["global",3]]]],[11,"into_any_rc","","",0,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",0,[[],["any",8]]],[11,"as_any_mut","","",0,[[],["any",8]]],[11,"into_any_arc","","",0,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_editor::model","",1,[[]]],[11,"into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"into_any","","",1,[[["box",3],["global",3]],[["box",3],["any",8],["global",3]]]],[11,"into_any_rc","","",1,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",1,[[],["any",8]]],[11,"as_any_mut","","",1,[[],["any",8]]],[11,"into_any_arc","","",1,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"equivalent","","",2,[[]]],[11,"get_hash","","",2,[[]]],[11,"vzip","","",2,[[]]],[11,"into_any","","",2,[[["box",3],["global",3]],[["box",3],["any",8],["global",3]]]],[11,"into_any_rc","","",2,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",2,[[],["any",8]]],[11,"as_any_mut","","",2,[[],["any",8]]],[11,"into_any_arc","","",2,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_editor::world","",4,[[]]],[11,"into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"into_any","","",4,[[["box",3],["global",3]],[["box",3],["any",8],["global",3]]]],[11,"into_any_rc","","",4,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",4,[[],["any",8]]],[11,"as_any_mut","","",4,[[],["any",8]]],[11,"into_any_arc","","",4,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"into_any","","",5,[[["box",3],["global",3]],[["box",3],["any",8],["global",3]]]],[11,"into_any_rc","","",5,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",5,[[],["any",8]]],[11,"as_any_mut","","",5,[[],["any",8]]],[11,"into_any_arc","","",5,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",6,[[]]],[11,"into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"into_any","","",6,[[["box",3],["global",3]],[["box",3],["any",8],["global",3]]]],[11,"into_any_rc","","",6,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",6,[[],["any",8]]],[11,"as_any_mut","","",6,[[],["any",8]]],[11,"from","map_editor","",7,[[]]],[11,"into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"vzip","","",7,[[]]],[11,"into_any","","",7,[[["box",3],["global",3]],[["box",3],["any",8],["global",3]]]],[11,"into_any_rc","","",7,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",7,[[],["any",8]]],[11,"as_any_mut","","",7,[[],["any",8]]],[11,"into_any_arc","","",7,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"vzip","","",8,[[]]],[11,"into_any","","",8,[[["box",3],["global",3]],[["box",3],["any",8],["global",3]]]],[11,"into_any_rc","","",8,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",8,[[],["any",8]]],[11,"as_any_mut","","",8,[[],["any",8]]],[11,"from","","",9,[[]]],[11,"into","","",9,[[]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"vzip","","",9,[[]]],[11,"into_any","","",9,[[["box",3],["global",3]],[["box",3],["any",8],["global",3]]]],[11,"into_any_rc","","",9,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",9,[[],["any",8]]],[11,"as_any_mut","","",9,[[],["any",8]]],[11,"into_any_arc","","",9,[[["arc",3]],[["any",8],["arc",3]]]],[11,"zorder","map_editor::model","",2,[[]]],[11,"clone","","",2,[[],["id",4]]],[11,"eq","","",2,[[["id",4]]]],[11,"ne","","",2,[[["id",4]]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"hash","","",2,[[]]],[11,"event","map_editor","",8,[[["eventctx",3],["app",3]],[["app",3],["transition",4]]]],[11,"draw","","",8,[[["gfxctx",3],["app",3]]]],[11,"dump_before_abort","","",7,[[["canvas",3]]]],[11,"before_quit","","",7,[[["canvas",3]]]],[11,"on_click","map_editor::edit","",0,[[["eventctx",3],["app",3],["panel",3]],[["app",3],["transition",4]]]],[11,"other_event","","",0,[[["eventctx",3],["app",3]],[["app",3],["transition",4]]]],[11,"draw","","",0,[[["gfxctx",3],["app",3]]]],[11,"draw_baselayer","","",0,[[],["drawbaselayer",4]]]],"p":[[3,"EditRoad"],[3,"Model"],[4,"ID"],[8,"ObjectID"],[3,"Object"],[3,"WorldObject"],[3,"World"],[3,"App"],[3,"MainState"],[4,"Mode"]]},\ +"map_editor":{"doc":"The map_editor renders and lets you edit RawMaps, which …","i":[[0,"edit","map_editor","",null,null],[3,"EditRoad","map_editor::edit","",null,null],[12,"r","","",0,null],[12,"show_direction","","",0,null],[11,"new","","",0,[[["eventctx",3],["app",3],["originalroad",3]],[["box",3],["state",8]]]],[0,"model","map_editor","",null,null],[17,"INTERSECTION_RADIUS","map_editor::model","",null,null],[17,"BUILDING_LENGTH","","",null,null],[3,"Model","","",null,null],[12,"map","","",1,null],[12,"showing_pts","","",1,null],[12,"world","","",1,null],[12,"include_bldgs","","",1,null],[12,"intersection_geom","","",1,null],[11,"blank","","",1,[[],["model",3]]],[11,"import","","",1,[[["string",3],["eventctx",3]],["model",3]]],[11,"export_to_osm","","",1,[[]]],[11,"set_boundary","","",1,[[["pt2d",3],["eventctx",3]]]],[11,"compute_bounds","","",1,[[],["bounds",3]]],[11,"intersection_added","","",1,[[["nodeid",3],["eventctx",3]]]],[11,"create_i","","",1,[[["pt2d",3],["eventctx",3]]]],[11,"move_i","","",1,[[["pt2d",3],["nodeid",3],["eventctx",3]]]],[11,"delete_i","","",1,[[["nodeid",3]]]],[11,"toggle_i","","",1,[[["eventctx",3],["nodeid",3]]]],[11,"show_intersection_geometry","","",1,[[["eventctx",3]]]],[11,"road_added","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"road_deleted","","",1,[[["originalroad",3]]]],[11,"create_r","","",1,[[["nodeid",3],["eventctx",3]]]],[11,"delete_r","","",1,[[["originalroad",3]]]],[11,"road_object","","",1,[[["originalroad",3]],[["id",4],["object",3]]]],[11,"show_r_points","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"stop_showing_pts","","",1,[[["originalroad",3]]]],[11,"move_r_pt","","",1,[[["pt2d",3],["originalroad",3],["eventctx",3]]]],[11,"delete_r_pt","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"insert_r_pt","","",1,[[["pt2d",3],["originalroad",3],["eventctx",3]],[["id",4],["option",4]]]],[11,"clear_r_pts","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"merge_r","","",1,[[["originalroad",3],["eventctx",3]]]],[11,"bldg_added","","",1,[[["osmid",4],["eventctx",3]]]],[11,"create_b","","",1,[[["pt2d",3],["eventctx",3]],["id",4]]],[11,"move_b","","",1,[[["osmid",4],["pt2d",3],["eventctx",3]]]],[11,"delete_b","","",1,[[["osmid",4]]]],[4,"ID","","",null,null],[13,"Building","","",2,null],[13,"Intersection","","",2,null],[13,"Road","","",2,null],[13,"RoadPoint","","",2,null],[5,"time_to_id","","",null,[[]]],[5,"dump_to_osm","","Express a RawMap as a .osm file. Why not just save the …",null,[[["rawmap",3]],[["result",4],["error",3]]]],[0,"world","map_editor","",null,null],[8,"ObjectID","map_editor::world","",null,null],[10,"zorder","","",3,[[]]],[3,"Object","","",null,null],[12,"id","","",4,null],[12,"geometry","","",4,null],[11,"new","","",4,[[["polygon",3],["color",3]],["object",3]]],[3,"WorldObject","","",null,null],[12,"unioned_polygon","","",5,null],[12,"draw","","",5,null],[12,"quadtree_id","","",5,null],[3,"World","","",null,null],[12,"objects","","",6,null],[12,"quadtree","","",6,null],[12,"current_selection","","",6,null],[11,"new","","",6,[[],["world",3]]],[11,"draw","","",6,[[["fn",8],["gfxctx",3]]]],[11,"handle_mouseover","","",6,[[["eventctx",3]]]],[11,"force_set_selection","","",6,[[]]],[11,"get_selection","","",6,[[],["option",4]]],[11,"add","","",6,[[["eventctx",3],["object",3]]]],[11,"delete","","",6,[[]]],[3,"App","map_editor","",null,null],[12,"model","","",7,null],[3,"MainState","","",null,null],[12,"mode","","",8,null],[12,"panel","","",8,null],[12,"last_id","","",8,null],[4,"Mode","","",null,null],[13,"Viewing","","",9,null],[13,"MovingIntersection","","",9,null],[13,"MovingBuilding","","",9,null],[13,"MovingRoadPoint","","",9,null],[13,"CreatingRoad","","",9,null],[13,"SetBoundaryPt1","","",9,null],[13,"SetBoundaryPt2","","",9,null],[11,"new","","",8,[[["eventctx",3]]]],[5,"main","","",null,[[]]],[11,"from","map_editor::edit","",0,[[]]],[11,"into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["global",3],["box",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",0,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",0,[[],["any",8]]],[11,"as_any_mut","","",0,[[],["any",8]]],[11,"into_any_arc","","",0,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_editor::model","",1,[[]]],[11,"into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"into_any","","",1,[[["global",3],["box",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",1,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",1,[[],["any",8]]],[11,"as_any_mut","","",1,[[],["any",8]]],[11,"into_any_arc","","",1,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"equivalent","","",2,[[]]],[11,"get_hash","","",2,[[]]],[11,"vzip","","",2,[[]]],[11,"into_any","","",2,[[["global",3],["box",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",2,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",2,[[],["any",8]]],[11,"as_any_mut","","",2,[[],["any",8]]],[11,"into_any_arc","","",2,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_editor::world","",4,[[]]],[11,"into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"into_any","","",4,[[["global",3],["box",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",4,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",4,[[],["any",8]]],[11,"as_any_mut","","",4,[[],["any",8]]],[11,"into_any_arc","","",4,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"into_any","","",5,[[["global",3],["box",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",5,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",5,[[],["any",8]]],[11,"as_any_mut","","",5,[[],["any",8]]],[11,"into_any_arc","","",5,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",6,[[]]],[11,"into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"into_any","","",6,[[["global",3],["box",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",6,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",6,[[],["any",8]]],[11,"as_any_mut","","",6,[[],["any",8]]],[11,"from","map_editor","",7,[[]]],[11,"into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"vzip","","",7,[[]]],[11,"into_any","","",7,[[["global",3],["box",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",7,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",7,[[],["any",8]]],[11,"as_any_mut","","",7,[[],["any",8]]],[11,"into_any_arc","","",7,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"vzip","","",8,[[]]],[11,"into_any","","",8,[[["global",3],["box",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",8,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",8,[[],["any",8]]],[11,"as_any_mut","","",8,[[],["any",8]]],[11,"from","","",9,[[]]],[11,"into","","",9,[[]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"vzip","","",9,[[]]],[11,"into_any","","",9,[[["global",3],["box",3]],[["any",8],["box",3],["global",3]]]],[11,"into_any_rc","","",9,[[["rc",3]],[["any",8],["rc",3]]]],[11,"as_any","","",9,[[],["any",8]]],[11,"as_any_mut","","",9,[[],["any",8]]],[11,"into_any_arc","","",9,[[["arc",3]],[["any",8],["arc",3]]]],[11,"zorder","map_editor::model","",2,[[]]],[11,"clone","","",2,[[],["id",4]]],[11,"eq","","",2,[[["id",4]]]],[11,"ne","","",2,[[["id",4]]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"hash","","",2,[[]]],[11,"event","map_editor","",8,[[["eventctx",3],["app",3]],[["app",3],["transition",4]]]],[11,"draw","","",8,[[["gfxctx",3],["app",3]]]],[11,"dump_before_abort","","",7,[[["canvas",3]]]],[11,"before_quit","","",7,[[["canvas",3]]]],[11,"on_click","map_editor::edit","",0,[[["eventctx",3],["app",3],["panel",3]],[["app",3],["transition",4]]]],[11,"other_event","","",0,[[["eventctx",3],["app",3]],[["app",3],["transition",4]]]],[11,"draw","","",0,[[["gfxctx",3],["app",3]]]],[11,"draw_baselayer","","",0,[[],["drawbaselayer",4]]]],"p":[[3,"EditRoad"],[3,"Model"],[4,"ID"],[8,"ObjectID"],[3,"Object"],[3,"WorldObject"],[3,"World"],[3,"App"],[3,"MainState"],[4,"Mode"]]},\ "map_gui":{"doc":"This crate contains common code for applications that …","i":[[0,"colors","map_gui","A color scheme groups colors used for different map, …",null,null],[4,"ColorSchemeChoice","map_gui::colors","",null,null],[13,"DayMode","","",0,null],[13,"NightMode","","",0,null],[13,"SAMGreenDay","","",0,null],[13,"SAMDesertDay","","",0,null],[13,"BAP","","",0,null],[13,"OSM","","",0,null],[13,"Starcat","","",0,null],[13,"Textured","","",0,null],[13,"MapboxLight","","",0,null],[13,"MapboxDark","","",0,null],[13,"FadedZoom","","",0,null],[13,"NegativeSpace","","",0,null],[11,"choices","","",0,[[],[["vec",3],["choice",3]]]],[3,"ColorScheme","","",null,null],[12,"scheme","","",1,null],[12,"panel_bg","","",1,null],[12,"section_bg","","",1,null],[12,"inner_panel","","",1,null],[12,"day_time_slider","","",1,null],[12,"night_time_slider","","",1,null],[12,"selected","","",1,null],[12,"current_object","","",1,null],[12,"perma_selected_object","","",1,null],[12,"bottom_bar_id","","",1,null],[12,"bottom_bar_name","","",1,null],[12,"fade_map_dark","","",1,null],[12,"gui_style","","",1,null],[12,"dialog_bg","","",1,null],[12,"minimap_cursor_border","","",1,null],[12,"minimap_cursor_bg","","",1,null],[12,"minimap_selected_zoom","","",1,null],[12,"minimap_unselected_zoom","","",1,null],[12,"driving_lane","","",1,null],[12,"bus_lane","","",1,null],[12,"parking_lane","","",1,null],[12,"bike_lane","","",1,null],[12,"sidewalk","","",1,null],[12,"sidewalk_lines","","",1,null],[12,"general_road_marking","","",1,null],[12,"road_center_line","","",1,null],[12,"light_rail_track","","",1,null],[12,"private_road","","",1,null],[12,"unzoomed_highway","","",1,null],[12,"unzoomed_arterial","","",1,null],[12,"unzoomed_residential","","",1,null],[12,"unzoomed_trail","","",1,null],[12,"normal_intersection","","",1,null],[12,"stop_sign","","",1,null],[12,"stop_sign_pole","","",1,null],[12,"signal_protected_turn","","",1,null],[12,"signal_permitted_turn","","",1,null],[12,"signal_banned_turn","","",1,null],[12,"signal_box","","",1,null],[12,"signal_spinner","","",1,null],[12,"signal_turn_block_bg","","",1,null],[12,"very_slow_intersection","","",1,null],[12,"slow_intersection","","",1,null],[12,"normal_slow_intersection","","",1,null],[12,"void_background","","",1,null],[12,"map_background","","",1,null],[12,"unzoomed_interesting_intersection","","",1,null],[12,"residential_building","","",1,null],[12,"commercial_building","","",1,null],[12,"building_outline","","",1,null],[12,"parking_lot","","",1,null],[12,"grass","","",1,null],[12,"water","","",1,null],[12,"median_strip","","",1,null],[12,"pedestrian_plaza","","",1,null],[12,"study_area","","",1,null],[12,"unzoomed_car","","",1,null],[12,"unzoomed_bike","","",1,null],[12,"unzoomed_bus","","",1,null],[12,"unzoomed_pedestrian","","",1,null],[12,"agent_colors","","",1,null],[12,"route","","",1,null],[12,"turn_arrow","","",1,null],[12,"brake_light","","",1,null],[12,"bus_body","","",1,null],[12,"bus_label","","",1,null],[12,"train_body","","",1,null],[12,"ped_head","","",1,null],[12,"ped_foot","","",1,null],[12,"ped_preparing_bike_body","","",1,null],[12,"ped_crowd","","",1,null],[12,"bike_frame","","",1,null],[12,"parked_car","","",1,null],[12,"good_to_bad_red","","",1,null],[12,"good_to_bad_green","","",1,null],[12,"bus_layer","","",1,null],[12,"edits_layer","","",1,null],[12,"parking_trip","","",1,null],[12,"bike_trip","","",1,null],[12,"bus_trip","","",1,null],[12,"before_changes","","",1,null],[12,"after_changes","","",1,null],[11,"new","","",1,[[["colorschemechoice",4],["eventctx",3]],["colorscheme",3]]],[11,"day_mode","","",1,[[],["colorscheme",3]]],[11,"rotating_color_plot","","",1,[[],["color",3]]],[11,"rotating_color_agents","","",1,[[],["color",3]]],[11,"unzoomed_road_surface","","",1,[[["roadrank",4]],["color",3]]],[11,"zoomed_road_surface","","",1,[[["roadrank",4],["lanetype",4]],["color",3]]],[11,"zoomed_intersection_surface","","",1,[[["roadrank",4]],["color",3]]],[11,"road_center_line","","",1,[[["roadrank",4]],["color",3]]],[11,"general_road_marking","","",1,[[["roadrank",4]],["color",3]]],[11,"solid_road_center","","",1,[[]]],[5,"modulo_color","","",null,[[["vec",3]],["color",3]]],[5,"hex","","",null,[[],["color",3]]],[11,"night_mode","","",1,[[],["colorscheme",3]]],[11,"sam_green_day","","",1,[[],["colorscheme",3]]],[11,"sam_desert_day","","",1,[[],["colorscheme",3]]],[11,"bap","","",1,[[],["colorscheme",3]]],[11,"osm","","",1,[[],["colorscheme",3]]],[11,"starcat","","",1,[[],["colorscheme",3]]],[11,"textured","","",1,[[],["colorscheme",3]]],[11,"mapbox_light","","",1,[[],["colorscheme",3]]],[11,"mapbox_dark","","",1,[[],["colorscheme",3]]],[11,"faded_zoom","","",1,[[],["colorscheme",3]]],[11,"negative_space","","",1,[[],["colorscheme",3]]],[0,"load","map_gui","Loading large resources (like maps, scenarios, and …",null,null],[0,"native_loader","map_gui::load","",null,null],[3,"FileLoader","map_gui::load::native_loader","",null,null],[12,"path","","",2,null],[12,"on_load","","",2,null],[11,"new","","",2,[[["eventctx",3],["string",3],["box",3],["fnonce",8]],[["state",8],["box",3]]]],[3,"FileLoader","map_gui::load","",null,null],[12,"path","","",2,null],[12,"on_load","","",2,null],[3,"MapLoader","","",null,null],[11,"new","","",3,[[["eventctx",3],["box",3],["fnonce",8],["mapname",3]],[["state",8],["box",3]]]],[3,"MapAlreadyLoaded","","",null,null],[12,"on_load","","",4,null],[3,"FutureLoader","","",null,null],[12,"loading_title","","",5,null],[12,"started","","",5,null],[12,"panel","","",5,null],[12,"receiver","","",5,null],[12,"on_load","","",5,null],[12,"runtime","","",5,null],[11,"new","","",5,[[["pin",3],["box",3],["fnonce",8],["eventctx",3],["box",3]],[["state",8],["box",3]]]],[0,"options","map_gui","",null,null],[3,"Options","map_gui::options","Options controlling the UI. Some of the options are …",null,null],[12,"dev","","Dev mode exposes experimental tools useful for debugging, …",6,null],[12,"debug_all_agents","","Every time we draw, render all agents zoomed in. …",6,null],[12,"traffic_signal_style","","How traffic signals should be rendered.",6,null],[12,"color_scheme","","The color scheme for map elements, agents, and the UI.",6,null],[12,"toggle_day_night_colors","","Automatically change color_scheme based on simulation …",6,null],[12,"min_zoom_for_detail","","Map elements are drawn differently when unzoomed and …",6,null],[12,"camera_angle","","Draw buildings in different perspectives",6,null],[12,"time_increment","","How much to advance the sim with one of the speed controls",6,null],[12,"dont_draw_time_warp","","When time warping, don\'t draw to speed up simulation",6,null],[12,"jump_to_delay","","The delay threshold to halt on when jumping to the next …",6,null],[12,"language","","Display roads and buildings in an alternate language, if …",6,null],[12,"units","","How to render geometric units",6,null],[11,"default","","",6,[[],["options",3]]],[11,"update_from_args","","Update the options using command-line flags.",6,[[["cmdargs",3]]]],[4,"TrafficSignalStyle","","Different ways of drawing traffic signals. The names of …",null,null],[13,"BAP","","",7,null],[13,"Yuwen","","",7,null],[13,"IndividualTurnArrows","","",7,null],[4,"CameraAngle","","",null,null],[13,"TopDown","","",8,null],[13,"IsometricNE","","",8,null],[13,"IsometricNW","","",8,null],[13,"IsometricSE","","",8,null],[13,"IsometricSW","","",8,null],[13,"Abstract","","",8,null],[3,"OptionsPanel","","",null,null],[12,"panel","","",9,null],[11,"new","","",9,[[["eventctx",3]],[["state",8],["box",3]]]],[0,"render","map_gui","Render static and dynamic map elements.",null,null],[0,"agents","map_gui::render","",null,null],[3,"AgentCache","map_gui::render::agents","",null,null],[12,"unzoomed_agents","","This is controlled almost entirely by the minimap panel. …",10,null],[12,"time","","",10,null],[12,"agents_per_on","","",10,null],[12,"unzoomed","","",10,null],[11,"new","","",10,[[["colorscheme",3]],["agentcache",3]]],[11,"get","","",10,[[["traversable",4]],[["vec",3],["renderable",8]]]],[11,"populate_if_needed","","",10,[[["prerender",3],["map",3],["sim",3],["traversable",4],["colorscheme",3]]]],[11,"calculate_unzoomed_agents","","If the sim time has changed or the unzoomed agent filters …",10,[[["applike",8]],["quadtree",3]]],[11,"draw_unzoomed_agents","","",10,[[["gfxctx",3],["applike",8]]]],[3,"UnzoomedAgents","","",null,null],[12,"cars","","",11,null],[12,"bikes","","",11,null],[12,"buses_and_trains","","",11,null],[12,"peds","","",11,null],[12,"car_color","","",11,null],[12,"bike_color","","",11,null],[12,"bus_color","","",11,null],[12,"ped_color","","",11,null],[11,"new","","",11,[[["colorscheme",3]],["unzoomedagents",3]]],[11,"color","","",11,[[["unzoomedagent",3]],[["color",3],["option",4]]]],[11,"make_horiz_viz_panel","","",11,[[["eventctx",3]],["widget",3]]],[11,"make_vert_viz_panel","","",11,[[["eventctx",3]],["widget",3]]],[11,"update","","",11,[[["panel",3]]]],[0,"area","map_gui::render","",null,null],[3,"DrawArea","map_gui::render::area","",null,null],[12,"id","","",12,null],[11,"new","","",12,[[["colorscheme",3],["area",3],["eventctx",3],["geombatch",3]],["drawarea",3]]],[11,"fill","","",12,[[["colorscheme",3],["areatype",4]],["fill",4]]],[0,"bike","map_gui::render","",null,null],[3,"DrawBike","map_gui::render::bike","",null,null],[12,"id","","",13,null],[12,"body_circle","","",13,null],[12,"zorder","","",13,null],[12,"draw_default","","",13,null],[11,"new","","",13,[[["prerender",3],["map",3],["drawcarinput",3],["colorscheme",3]],["drawbike",3]]],[0,"building","map_gui::render","",null,null],[3,"DrawBuilding","map_gui::render::building","",null,null],[12,"id","","",14,null],[12,"label","","",14,null],[11,"new","","",14,[[["map",3],["building",3],["colorscheme",3],["options",3],["eventctx",3],["geombatch",3]],["drawbuilding",3]]],[0,"bus_stop","map_gui::render","",null,null],[17,"RADIUS","map_gui::render::bus_stop","",null,null],[3,"DrawBusStop","","",null,null],[12,"id","","",15,null],[12,"center","","",15,null],[12,"zorder","","",15,null],[12,"draw_default","","",15,null],[11,"new","","",15,[[["map",3],["colorscheme",3],["busstop",3],["eventctx",3]],["drawbusstop",3]]],[0,"car","map_gui::render","",null,null],[17,"CAR_WIDTH","map_gui::render::car","",null,null],[3,"DrawCar","","",null,null],[12,"id","","",16,null],[12,"body","","",16,null],[12,"body_polygon","","",16,null],[12,"zorder","","",16,null],[12,"draw_default","","",16,null],[11,"new","","",16,[[["prerender",3],["map",3],["drawcarinput",3],["colorscheme",3]],["drawcar",3]]],[5,"thick_line_from_angle","","",null,[[["pt2d",3],["angle",3],["distance",3]],["polygon",3]]],[5,"zoomed_color_car","","",null,[[["colorscheme",3],["drawcarinput",3]],["color",3]]],[0,"intersection","map_gui::render","",null,null],[3,"DrawIntersection","map_gui::render::intersection","",null,null],[12,"id","","",17,null],[12,"zorder","","",17,null],[12,"draw_default","","",17,null],[12,"draw_traffic_signal","","",17,null],[11,"new","","",17,[[["intersection",3],["map",3]],["drawintersection",3]]],[11,"clear_rendering","","",17,[[]]],[11,"render","","",17,[[["applike",8]],["geombatch",3]]],[11,"stop_sign_geom","","",17,[[["roadwithstopsign",3],["map",3]],["option",4]]],[5,"calculate_corners","","",null,[[["intersection",3],["map",3]],[["vec",3],["polygon",3]]]],[5,"calculate_corners_with_borders","","",null,[[["intersection",3],["geombatch",3],["applike",8]]]],[5,"calculate_border_arrows","","",null,[[["intersection",3],["map",3],["road",3]],[["vec",3],["polygon",3]]]],[5,"make_octagon","","",null,[[["pt2d",3],["angle",3],["distance",3]],["polygon",3]]],[5,"make_crosswalk","","",null,[[["map",3],["colorscheme",3],["turn",3],["geombatch",3]]]],[5,"make_rainbow_crosswalk","","",null,[[["turn",3],["geombatch",3],["map",3]]]],[5,"perp_line","","",null,[[["distance",3],["line",3]],["line",3]]],[0,"lane","map_gui::render","",null,null],[3,"DrawLane","map_gui::render::lane","",null,null],[12,"id","","",18,null],[12,"polygon","","",18,null],[12,"zorder","","",18,null],[12,"draw_default","","",18,null],[11,"new","","",18,[[["map",3],["lane",3]],["drawlane",3]]],[11,"clear_rendering","","",18,[[]]],[11,"render","","",18,[[["applike",8]],["geombatch",3]]],[5,"perp_line","","",null,[[["distance",3],["line",3]],["line",3]]],[5,"calculate_sidewalk_lines","","",null,[[["lane",3]],[["vec",3],["polygon",3]]]],[5,"calculate_parking_lines","","",null,[[["map",3],["lane",3]],[["vec",3],["polygon",3]]]],[5,"calculate_driving_lines","","",null,[[["lane",3],["road",3]],[["vec",3],["polygon",3]]]],[5,"calculate_turn_markings","","",null,[[["map",3],["lane",3]],[["vec",3],["polygon",3]]]],[5,"calculate_one_way_markings","","",null,[[["lane",3],["road",3]],[["vec",3],["polygon",3]]]],[0,"map","map_gui::render","",null,null],[3,"DrawMap","map_gui::render::map","",null,null],[12,"roads","","",19,null],[12,"lanes","","",19,null],[12,"intersections","","",19,null],[12,"buildings","","",19,null],[12,"parking_lots","","",19,null],[12,"bus_stops","","",19,null],[12,"areas","","",19,null],[12,"boundary_polygon","","",19,null],[12,"draw_all_unzoomed_roads_and_intersections","","",19,null],[12,"draw_all_buildings","","",19,null],[12,"draw_all_building_paths","","",19,null],[12,"draw_all_building_outlines","","",19,null],[12,"draw_all_unzoomed_parking_lots","","",19,null],[12,"draw_all_areas","","",19,null],[12,"zorder_range","","",19,null],[12,"show_zorder","","",19,null],[12,"quadtree","","",19,null],[11,"new","","",19,[[["timer",3],["map",3],["eventctx",3],["colorscheme",3],["options",3]],["drawmap",3]]],[11,"regenerate_unzoomed_layer","","",19,[[["timer",3],["map",3],["colorscheme",3],["eventctx",3]],["drawable",3]]],[11,"get_r","","",19,[[["roadid",3]],["drawroad",3]]],[11,"get_l","","",19,[[["laneid",3]],["drawlane",3]]],[11,"get_i","","",19,[[["intersectionid",3]],["drawintersection",3]]],[11,"get_b","","",19,[[["buildingid",3]],["drawbuilding",3]]],[11,"get_pl","","",19,[[["parkinglotid",3]],["drawparkinglot",3]]],[11,"get_bs","","",19,[[["busstopid",3]],["drawbusstop",3]]],[11,"get_a","","",19,[[["areaid",3]],["drawarea",3]]],[11,"get_obj","","",19,[[["id",4],["agentcache",3],["eventctx",3],["applike",8]],[["renderable",8],["option",4]]]],[11,"get_matching_objects","","Unsorted, unexpanded, raw result.",19,[[["bounds",3]],[["id",4],["vec",3]]]],[11,"get_renderables_back_to_front","","A simple variation of the one in game that shows all …",19,[[["bounds",3],["map",3]],[["vec",3],["renderable",8]]]],[11,"zoomed_batch","","Build a single gigantic GeomBatch to render the entire …",19,[[["eventctx",3],["applike",8]],["geombatch",3]]],[0,"parking_lot","map_gui::render","",null,null],[3,"DrawParkingLot","map_gui::render::parking_lot","",null,null],[12,"id","","",20,null],[12,"draw","","",20,null],[11,"new","","",20,[[["parkinglot",3],["colorscheme",3],["eventctx",3],["geombatch",3]],["drawparkinglot",3]]],[11,"render","","",20,[[["applike",8]],["geombatch",3]]],[0,"pedestrian","map_gui::render","",null,null],[3,"DrawPedestrian","map_gui::render::pedestrian","",null,null],[12,"id","","",21,null],[12,"body_circle","","",21,null],[12,"zorder","","",21,null],[12,"draw_default","","",21,null],[11,"new","","",21,[[["drawpedestrianinput",3],["map",3],["prerender",3],["colorscheme",3]],["drawpedestrian",3]]],[11,"geometry","","",21,[[["drawpedestrianinput",3],["geombatch",3],["colorscheme",3]]]],[3,"DrawPedCrowd","","",null,null],[12,"members","","",22,null],[12,"blob","","",22,null],[12,"blob_pl","","",22,null],[12,"zorder","","",22,null],[12,"draw_default","","",22,null],[11,"new","","",22,[[["prerender",3],["map",3],["colorscheme",3],["drawpedcrowdinput",3]],["drawpedcrowd",3]]],[0,"road","map_gui::render","",null,null],[3,"DrawRoad","map_gui::render::road","",null,null],[12,"id","","",23,null],[12,"zorder","","",23,null],[12,"draw","","",23,null],[11,"new","","",23,[[["road",3]],["drawroad",3]]],[11,"render","","",23,[[["applike",8]],["geombatch",3]]],[11,"clear_rendering","","",23,[[]]],[0,"traffic_signal","map_gui::render","",null,null],[5,"draw_signal_stage","map_gui::render::traffic_signal","",null,[[["prerender",3],["duration",3],["geombatch",3],["trafficsignalstyle",4],["stage",3],["intersectionid",3],["option",4],["applike",8]]]],[5,"draw_stage_number","","",null,[[["prerender",3],["intersectionid",3],["geombatch",3],["applike",8]]]],[5,"draw_time_left","","",null,[[["prerender",3],["geombatch",3],["stage",3],["intersectionid",3],["duration",3],["applike",8]]]],[5,"walk_icon","","",null,[[["prerender",3],["movement",3]],["geombatch",3]]],[5,"dont_walk_icon","","",null,[[["prerender",3],["movement",3]],["geombatch",3]]],[5,"crosswalk_icon","","",null,[[["polyline",3]]]],[0,"turn","map_gui::render","",null,null],[17,"TURN_ICON_ARROW_LENGTH","map_gui::render::turn","",null,null],[3,"DrawMovement","","",null,null],[12,"id","","",24,null],[12,"hitbox","","",24,null],[11,"for_i","","",24,[[["prerender",3],["map",3],["colorscheme",3],["intersectionid",3]],["vec",3]]],[11,"draw_selected_movement","","",24,[[["turnpriority",4],["option",4],["geombatch",3],["applike",8]]]],[3,"DrawUberTurnGroup","","",null,null],[12,"group","","",25,null],[12,"block","","",25,null],[12,"arrow","","",25,null],[11,"new","","",25,[[["map",3],["intersectioncluster",3]],[["drawuberturngroup",3],["vec",3]]]],[5,"make_block_geom","","",null,[[["distance",3],["angle",3],["polyline",3]]]],[5,"make_circle_geom","","",null,[[["angle",3],["polyline",3]]]],[3,"AgentCache","map_gui::render","",null,null],[12,"unzoomed_agents","","This is controlled almost entirely by the minimap panel. …",10,null],[12,"time","","",10,null],[12,"agents_per_on","","",10,null],[12,"unzoomed","","",10,null],[3,"UnzoomedAgents","","",null,null],[12,"cars","","",11,null],[12,"bikes","","",11,null],[12,"buses_and_trains","","",11,null],[12,"peds","","",11,null],[12,"car_color","","",11,null],[12,"bike_color","","",11,null],[12,"bus_color","","",11,null],[12,"ped_color","","",11,null],[3,"DrawArea","","",null,null],[12,"id","","",12,null],[3,"DrawBuilding","","",null,null],[12,"id","","",14,null],[12,"label","","",14,null],[5,"calculate_corners","","",null,[[["intersection",3],["map",3]],[["vec",3],["polygon",3]]]],[3,"DrawIntersection","","",null,null],[12,"id","","",17,null],[12,"zorder","","",17,null],[12,"draw_default","","",17,null],[12,"draw_traffic_signal","","",17,null],[3,"DrawMap","","",null,null],[12,"roads","","",19,null],[12,"lanes","","",19,null],[12,"intersections","","",19,null],[12,"buildings","","",19,null],[12,"parking_lots","","",19,null],[12,"bus_stops","","",19,null],[12,"areas","","",19,null],[12,"boundary_polygon","","",19,null],[12,"draw_all_unzoomed_roads_and_intersections","","",19,null],[12,"draw_all_buildings","","",19,null],[12,"draw_all_building_paths","","",19,null],[12,"draw_all_building_outlines","","",19,null],[12,"draw_all_unzoomed_parking_lots","","",19,null],[12,"draw_all_areas","","",19,null],[12,"zorder_range","","",19,null],[12,"show_zorder","","",19,null],[12,"quadtree","","",19,null],[3,"DrawPedCrowd","","",null,null],[12,"members","","",22,null],[12,"blob","","",22,null],[12,"blob_pl","","",22,null],[12,"zorder","","",22,null],[12,"draw_default","","",22,null],[3,"DrawPedestrian","","",null,null],[12,"id","","",21,null],[12,"body_circle","","",21,null],[12,"zorder","","",21,null],[12,"draw_default","","",21,null],[3,"DrawMovement","","",null,null],[12,"id","","",24,null],[12,"hitbox","","",24,null],[3,"DrawUberTurnGroup","","",null,null],[12,"group","","",25,null],[12,"block","","",25,null],[12,"arrow","","",25,null],[17,"BIG_ARROW_THICKNESS","","",null,null],[17,"CROSSWALK_LINE_THICKNESS","","",null,null],[17,"OUTLINE_THICKNESS","","",null,null],[8,"Renderable","","",null,null],[10,"get_id","","",26,[[],["id",4]]],[10,"draw","","",26,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_zorder","","",26,[[]]],[10,"get_outline","","",26,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",26,[[["pt2d",3],["map",3]]]],[5,"draw_vehicle","","",null,[[["prerender",3],["map",3],["drawcarinput",3],["colorscheme",3]],[["renderable",8],["box",3]]]],[3,"DrawOptions","","Control how the map is drawn.",null,null],[12,"suppress_traffic_signal_details","","Don\'t draw the current traffic signal state.",27,null],[12,"label_buildings","","Label every building.",27,null],[12,"show_building_paths","","Draw building paths.",27,null],[11,"new","","Default options for drawing a map.",27,[[],["drawoptions",3]]],[5,"unzoomed_agent_radius","","",null,[[["option",4],["vehicletype",4]],["distance",3]]],[0,"simple_app","map_gui","",null,null],[3,"SimpleApp","map_gui::simple_app","Simple app state that just renders a static map, without …",null,null],[12,"map","","",28,null],[12,"draw_map","","",28,null],[12,"cs","","",28,null],[12,"opts","","",28,null],[12,"current_selection","","",28,null],[12,"session","","Custom per-app state can be stored here",28,null],[12,"time","","If desired, this can be advanced to render traffic …",28,null],[11,"new","","",28,[[["options",3],["fn",8],["eventctx",3]]]],[11,"draw_unzoomed","","",28,[[["gfxctx",3]]]],[11,"draw_zoomed","","",28,[[["gfxctx",3],["drawoptions",3]]]],[11,"recalculate_current_selection","","Assumes some defaults.",28,[[["eventctx",3]]]],[11,"mouseover_unzoomed_roads_and_intersections","","",28,[[["eventctx",3]],[["option",4],["id",4]]]],[11,"mouseover_unzoomed_buildings","","Only select buildings, and work whether zoomed in or not.",28,[[["eventctx",3]],[["option",4],["id",4]]]],[11,"calculate_current_selection","","",28,[[["eventctx",3]],[["option",4],["id",4]]]],[3,"SimpleWarper","","",null,null],[12,"warper","","",29,null],[0,"tools","map_gui","Assorted tools and UI states that\'re useful for …",null,null],[0,"camera","map_gui::tools","",null,null],[3,"CameraState","map_gui::tools::camera","Represents the state of a widgetry Canvas.",null,null],[12,"cam_x","","",30,null],[12,"cam_y","","",30,null],[12,"cam_zoom","","",30,null],[11,"save","","Save the camera\'s configuration for the specified map.",30,[[["mapname",3],["canvas",3]]]],[11,"load","","Load the camera\'s configuration for the specified map. …",30,[[["mapname",3],["eventctx",3]]]],[0,"city_picker","map_gui::tools","",null,null],[3,"CityPicker","map_gui::tools::city_picker","Lets the player switch maps.",null,null],[12,"panel","","",31,null],[12,"districts","","",31,null],[12,"selected","","",31,null],[12,"on_load","","",31,null],[11,"new","","",31,[[["box",3],["fnonce",8],["eventctx",3]],[["state",8],["box",3]]]],[11,"new_in_city","","",31,[[["fnonce",8],["box",3],["eventctx",3],["cityname",3]],[["state",8],["box",3]]]],[3,"AllCityPicker","","",null,null],[12,"panel","","",32,null],[12,"on_load","","",32,null],[11,"new","","",32,[[["box",3],["fnonce",8],["eventctx",3]],[["state",8],["box",3]]]],[3,"CitiesInCountryPicker","","",null,null],[12,"panel","","",33,null],[12,"on_load","","",33,null],[11,"new","","",33,[[["box",3],["fnonce",8],["eventctx",3]],[["state",8],["box",3]]]],[5,"cities_per_country","","",null,[[],[["btreemap",3],["string",3],["vec",3]]]],[0,"colors","map_gui::tools","",null,null],[3,"ColorDiscrete","map_gui::tools::colors","",null,null],[12,"map","","",34,null],[12,"unzoomed","","",34,null],[12,"zoomed","","",34,null],[12,"categories","","",34,null],[12,"colors","","",34,null],[11,"new","","",34,[[["applike",8],["vec",3]],["colordiscrete",3]]],[11,"add_l","","",34,[[["laneid",3],["into",8],["string",3]]]],[11,"add_r","","",34,[[["roadid",3],["into",8],["string",3]]]],[11,"add_i","","",34,[[["intersectionid",3],["into",8],["string",3]]]],[11,"add_b","","",34,[[["into",8],["string",3],["buildingid",3]]]],[11,"add_bs","","",34,[[["busstopid",3],["into",8],["string",3]]]],[11,"build","","",34,[[["eventctx",3]]]],[3,"ColorLegend","","",null,null],[11,"row","","",35,[[["color",3],["eventctx",3],["into",8],["string",3]],["widget",3]]],[11,"gradient","","",35,[[["colorscale",3],["eventctx",3],["into",8],["string",3],["vec",3]],["widget",3]]],[11,"categories","","",35,[[["vec",3],["eventctx",3]],["widget",3]]],[3,"DivergingScale","","",null,null],[12,"low_color","","",36,null],[12,"mid_color","","",36,null],[12,"high_color","","",36,null],[12,"min","","",36,null],[12,"avg","","",36,null],[12,"max","","",36,null],[12,"ignore","","",36,null],[11,"new","","",36,[[["color",3]],["divergingscale",3]]],[11,"range","","",36,[[],["divergingscale",3]]],[11,"ignore","","",36,[[],["divergingscale",3]]],[11,"eval","","",36,[[],[["color",3],["option",4]]]],[11,"make_legend","","",36,[[["eventctx",3],["into",8],["string",3],["vec",3]],["widget",3]]],[3,"ColorNetwork","","",null,null],[12,"map","","",37,null],[12,"unzoomed","","",37,null],[12,"zoomed","","",37,null],[11,"new","","",37,[[["applike",8]],["colornetwork",3]]],[11,"add_l","","",37,[[["color",3],["laneid",3]]]],[11,"add_r","","",37,[[["color",3],["roadid",3]]]],[11,"add_i","","",37,[[["color",3],["intersectionid",3]]]],[11,"add_b","","",37,[[["color",3],["buildingid",3]]]],[11,"add_pl","","",37,[[["color",3],["parkinglotid",3]]]],[11,"ranked_roads","","",37,[[["counter",3],["roadid",3],["colorscale",3]]]],[11,"ranked_intersections","","",37,[[["counter",3],["intersectionid",3],["colorscale",3]]]],[11,"pct_roads","","",37,[[["counter",3],["roadid",3],["colorscale",3]]]],[11,"pct_intersections","","",37,[[["counter",3],["intersectionid",3],["colorscale",3]]]],[11,"build","","",37,[[["eventctx",3]]]],[3,"ColorScale","","",null,null],[12,"0","","",38,null],[11,"eval","","",38,[[],["color",3]]],[11,"from_colorous","","",38,[[["gradient",3]],["colorscale",3]]],[11,"inner_eval","","",38,[[]]],[0,"heatmap","map_gui::tools","",null,null],[17,"NEIGHBORS","map_gui::tools::heatmap","",null,null],[3,"HeatmapOptions","","",null,null],[12,"resolution","","",39,null],[12,"radius","","",39,null],[12,"smoothing","","",39,null],[12,"contours","","",39,null],[12,"color_scheme","","",39,null],[11,"new","","",39,[[],["heatmapoptions",3]]],[11,"to_controls","","",39,[[["widget",3],["eventctx",3]],[["vec",3],["widget",3]]]],[11,"from_controls","","",39,[[["panel",3]],["heatmapoptions",3]]],[5,"make_heatmap","","",null,[[["pt2d",3],["vec",3],["eventctx",3],["heatmapoptions",3],["geombatch",3],["bounds",3]],["widget",3]]],[3,"Grid","","",null,null],[12,"data","","",40,null],[12,"width","","",40,null],[12,"height","","",40,null],[11,"new","","",40,[[],["grid",3]]],[11,"idx","","",40,[[]]],[0,"minimap","map_gui::tools","",null,null],[3,"Minimap","map_gui::tools::minimap","",null,null],[12,"controls","","",41,null],[12,"app_type","","",41,null],[12,"dragging","","",41,null],[12,"panel","","",41,null],[12,"zoomed","","",41,null],[12,"layer","","",41,null],[12,"zoom_lvl","","",41,null],[12,"base_zoom","","",41,null],[12,"zoom","","",41,null],[12,"offset_x","","",41,null],[12,"offset_y","","",41,null],[8,"MinimapControls","","Customize the appearance and behavior of a minimap.",null,null],[10,"has_zorder","","Should the user be able to control the z-order visible? …",42,[[]]],[11,"has_layer","","Is there some additional layer displayed on the minimap? …",42,[[]]],[11,"draw_extra","","Draw extra stuff on the minimap, just pulling from the …",42,[[["gfxctx",3]]]],[11,"make_unzoomed_panel","","When unzoomed, display this panel. By default, no …",42,[[["eventctx",3]],["panel",3]]],[11,"make_legend","","A row beneath the minimap in the zoomed view, usually …",42,[[["eventctx",3]],["widget",3]]],[11,"make_zoomed_side_panel","","Controls to be placed to the left to the zoomed-in panel",42,[[["eventctx",3]],["widget",3]]],[11,"panel_clicked","","If a button is clicked that was produced by some method …",42,[[["eventctx",3]],[["option",4],["transition",4]]]],[11,"panel_changed","","Called for Outcome::Changed on the panel.",42,[[["panel",3],["eventctx",3]]]],[11,"new","","",41,[[["eventctx",3]],["minimap",3]]],[11,"recreate_panel","","",41,[[["eventctx",3]]]],[11,"map_to_minimap_pct","","",41,[[["pt2d",3]]]],[11,"set_zoom","","",41,[[["eventctx",3]]]],[11,"recenter","","",41,[[["eventctx",3]]]],[11,"event","","",41,[[["eventctx",3]],[["option",4],["transition",4]]]],[11,"draw","","",41,[[["gfxctx",3]]]],[11,"draw_with_extra_layers","","",41,[[["drawable",3],["gfxctx",3],["vec",3]]]],[11,"get_panel","","",41,[[],["panel",3]]],[11,"mut_panel","","",41,[[],["panel",3]]],[0,"navigate","map_gui::tools","",null,null],[3,"Navigator","map_gui::tools::navigate","",null,null],[12,"panel","","",43,null],[11,"new","","",43,[[["eventctx",3]],[["state",8],["box",3]]]],[3,"CrossStreet","","",null,null],[12,"first","","",44,null],[12,"panel","","",44,null],[12,"draw","","",44,null],[11,"new","","",44,[[["vec",3],["roadid",3],["eventctx",3]],[["state",8],["box",3]]]],[3,"SearchBuildings","","",null,null],[12,"panel","","",45,null],[11,"new","","",45,[[["eventctx",3]],[["state",8],["box",3]]]],[0,"turn_explorer","map_gui::tools","",null,null],[3,"TurnExplorer","map_gui::tools::turn_explorer","A tool to explore all of the turns from a single lane.",null,null],[12,"l","","",46,null],[12,"idx","","",46,null],[12,"panel","","",46,null],[11,"new","","",46,[[["laneid",3],["eventctx",3]],[["state",8],["box",3]]]],[11,"make_panel","","",46,[[["laneid",3],["eventctx",3]],["panel",3]]],[11,"color_turn_type","","",46,[[["turntype",4]],["color",3]]],[17,"CURRENT_TURN","","",null,null],[17,"CONFLICTING_TURN","","",null,null],[0,"ui","map_gui::tools","Generic UI tools. Some of this should perhaps be lifted …",null,null],[3,"ChooseSomething","map_gui::tools::ui","Choose something from a menu, then feed the answer to a …",null,null],[12,"panel","","",47,null],[12,"cb","","",47,null],[11,"new","","",47,[[["fn",8],["choice",3],["vec",3],["eventctx",3],["box",3]],[["state",8],["box",3]]]],[3,"PromptInput","","Prompt for arbitrary text input, then feed the answer to …",null,null],[12,"panel","","",48,null],[12,"cb","","",48,null],[11,"new","","",48,[[["box",3],["fn",8],["eventctx",3]],[["state",8],["box",3]]]],[3,"PopupMsg","","Display a message dialog.",null,null],[12,"panel","","",49,null],[12,"unzoomed","","",49,null],[12,"zoomed","","",49,null],[11,"new","","",49,[[["eventctx",3],["into",8],["string",3],["vec",3]],[["state",8],["box",3]]]],[11,"also_draw","","",49,[[["drawable",3],["eventctx",3],["into",8],["string",3],["vec",3]],[["state",8],["box",3]]]],[0,"updater","map_gui::tools","",null,null],[17,"NEXT_RELEASE","map_gui::tools::updater","",null,null],[3,"Picker","","",null,null],[12,"panel","","",50,null],[12,"on_load","","",50,null],[11,"new","","",50,[[["box",3],["fnonce",8],["eventctx",3]],[["state",8],["box",3]]]],[5,"size_per_city","","",null,[[["manifest",3]],[["string",3],["btreemap",3]]]],[5,"prettyprint_bytes","","",null,[[],["string",3]]],[5,"sync","","",null,[[["timer",3]],[["vec",3],["string",3]]]],[5,"download","","",null,[[["string",3]],["result",6]]],[3,"CameraState","map_gui::tools","Represents the state of a widgetry Canvas.",null,null],[12,"cam_x","","",30,null],[12,"cam_y","","",30,null],[12,"cam_zoom","","",30,null],[3,"CityPicker","","Lets the player switch maps.",null,null],[12,"panel","","",31,null],[12,"districts","","",31,null],[12,"selected","","",31,null],[12,"on_load","","",31,null],[3,"ColorDiscrete","","",null,null],[12,"map","","",34,null],[12,"unzoomed","","",34,null],[12,"zoomed","","",34,null],[12,"categories","","",34,null],[12,"colors","","",34,null],[3,"ColorLegend","","",null,null],[3,"ColorNetwork","","",null,null],[12,"map","","",37,null],[12,"unzoomed","","",37,null],[12,"zoomed","","",37,null],[3,"ColorScale","","",null,null],[12,"0","","",38,null],[3,"DivergingScale","","",null,null],[12,"low_color","","",36,null],[12,"mid_color","","",36,null],[12,"high_color","","",36,null],[12,"min","","",36,null],[12,"avg","","",36,null],[12,"max","","",36,null],[12,"ignore","","",36,null],[5,"make_heatmap","","",null,[[["pt2d",3],["vec",3],["eventctx",3],["heatmapoptions",3],["geombatch",3],["bounds",3]],["widget",3]]],[3,"Grid","","",null,null],[12,"data","","",40,null],[12,"width","","",40,null],[12,"height","","",40,null],[3,"HeatmapOptions","","",null,null],[12,"resolution","","",39,null],[12,"radius","","",39,null],[12,"smoothing","","",39,null],[12,"contours","","",39,null],[12,"color_scheme","","",39,null],[3,"Minimap","","",null,null],[12,"controls","","",41,null],[12,"app_type","","",41,null],[12,"dragging","","",41,null],[12,"panel","","",41,null],[12,"zoomed","","",41,null],[12,"layer","","",41,null],[12,"zoom_lvl","","",41,null],[12,"base_zoom","","",41,null],[12,"zoom","","",41,null],[12,"offset_x","","",41,null],[12,"offset_y","","",41,null],[8,"MinimapControls","","Customize the appearance and behavior of a minimap.",null,null],[10,"has_zorder","","Should the user be able to control the z-order visible? …",42,[[]]],[11,"has_layer","map_gui::tools::minimap","Is there some additional layer displayed on the minimap? …",42,[[]]],[11,"draw_extra","","Draw extra stuff on the minimap, just pulling from the …",42,[[["gfxctx",3]]]],[11,"make_unzoomed_panel","","When unzoomed, display this panel. By default, no …",42,[[["eventctx",3]],["panel",3]]],[11,"make_legend","","A row beneath the minimap in the zoomed view, usually …",42,[[["eventctx",3]],["widget",3]]],[11,"make_zoomed_side_panel","","Controls to be placed to the left to the zoomed-in panel",42,[[["eventctx",3]],["widget",3]]],[11,"panel_clicked","","If a button is clicked that was produced by some method …",42,[[["eventctx",3]],[["option",4],["transition",4]]]],[11,"panel_changed","","Called for Outcome::Changed on the panel.",42,[[["panel",3],["eventctx",3]]]],[3,"Navigator","map_gui::tools","",null,null],[12,"panel","","",43,null],[3,"TurnExplorer","","A tool to explore all of the turns from a single lane.",null,null],[12,"l","","",46,null],[12,"idx","","",46,null],[12,"panel","","",46,null],[3,"ChooseSomething","","Choose something from a menu, then feed the answer to a …",null,null],[12,"panel","","",47,null],[12,"cb","","",47,null],[3,"PopupMsg","","Display a message dialog.",null,null],[12,"panel","","",49,null],[12,"unzoomed","","",49,null],[12,"zoomed","","",49,null],[3,"PromptInput","","Prompt for arbitrary text input, then feed the answer to …",null,null],[12,"panel","","",48,null],[12,"cb","","",48,null],[5,"loading_tips","","",null,[[],["text",3]]],[5,"grey_out_map","","Make it clear the map can\'t be interacted with right now.",null,[[["gfxctx",3],["applike",8]]]],[5,"nice_map_name","","",null,[[["mapname",3]]]],[5,"nice_country_name","","",null,[[]]],[5,"open_browser","","",null,[[["into",8],["string",3]]]],[3,"SimpleApp","map_gui","Simple app state that just renders a static map, without …",null,null],[12,"map","","",28,null],[12,"draw_map","","",28,null],[12,"cs","","",28,null],[12,"opts","","",28,null],[12,"current_selection","","",28,null],[12,"session","","Custom per-app state can be stored here",28,null],[12,"time","","If desired, this can be advanced to render traffic …",28,null],[8,"AppLike","","An application wishing to use the tools in this crate has …",null,null],[10,"map","","",51,[[],["map",3]]],[10,"sim","","",51,[[],["sim",3]]],[10,"cs","","",51,[[],["colorscheme",3]]],[10,"mut_cs","","",51,[[],["colorscheme",3]]],[10,"draw_map","","",51,[[],["drawmap",3]]],[10,"mut_draw_map","","",51,[[],["drawmap",3]]],[10,"opts","","",51,[[],["options",3]]],[10,"mut_opts","","",51,[[],["options",3]]],[10,"map_switched","","",51,[[["map",3],["timer",3],["eventctx",3]]]],[10,"draw_with_opts","","",51,[[["gfxctx",3],["drawoptions",3]]]],[10,"make_warper","","Create a widgetry::State that warps to the given point.",51,[[["pt2d",3],["option",4],["option",4],["eventctx",3],["id",4]],[["box",3],["state",8]]]],[11,"sim_time","","",51,[[],["time",3]]],[11,"current_stage_and_remaining_time","","",51,[[["intersectionid",3]]]],[11,"change_color_scheme","","Change the color scheme. Idempotent. Return true if there …",51,[[["colorschemechoice",4],["eventctx",3]]]],[4,"ID","","",null,null],[13,"Road","","",52,null],[13,"Lane","","",52,null],[13,"Intersection","","",52,null],[13,"Building","","",52,null],[13,"ParkingLot","","",52,null],[13,"Car","","",52,null],[13,"Pedestrian","","",52,null],[13,"PedCrowd","","",52,null],[13,"BusStop","","",52,null],[13,"Area","","",52,null],[11,"from_agent","","",52,[[["agentid",4]],["id",4]]],[11,"agent_id","","",52,[[],[["option",4],["agentid",4]]]],[11,"as_intersection","","",52,[[],["intersectionid",3]]],[11,"as_building","","",52,[[],["buildingid",3]]],[11,"from","map_gui::colors","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",0,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",0,[[],["any",8]]],[11,"as_any_mut","","",0,[[],["any",8]]],[11,"into_any_arc","","",0,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"into_any","","",1,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",1,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",1,[[],["any",8]]],[11,"as_any_mut","","",1,[[],["any",8]]],[11,"into_any_arc","","",1,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::load::native_loader","",2,[[]]],[11,"into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"vzip","","",2,[[]]],[11,"into_any","","",2,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",2,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",2,[[],["any",8]]],[11,"as_any_mut","","",2,[[],["any",8]]],[11,"from","map_gui::load","",3,[[]]],[11,"into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"vzip","","",3,[[]]],[11,"into_any","","",3,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",3,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",3,[[],["any",8]]],[11,"as_any_mut","","",3,[[],["any",8]]],[11,"into_any_arc","","",3,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"into_any","","",4,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",4,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",4,[[],["any",8]]],[11,"as_any_mut","","",4,[[],["any",8]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"into_any","","",5,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",5,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",5,[[],["any",8]]],[11,"as_any_mut","","",5,[[],["any",8]]],[11,"from","map_gui::options","",6,[[]]],[11,"into","","",6,[[]]],[11,"to_owned","","",6,[[]]],[11,"clone_into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"into_any","","",6,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",6,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",6,[[],["any",8]]],[11,"as_any_mut","","",6,[[],["any",8]]],[11,"into_any_arc","","",6,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",7,[[]]],[11,"into","","",7,[[]]],[11,"to_owned","","",7,[[]]],[11,"clone_into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"vzip","","",7,[[]]],[11,"into_any","","",7,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",7,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",7,[[],["any",8]]],[11,"as_any_mut","","",7,[[],["any",8]]],[11,"into_any_arc","","",7,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"to_owned","","",8,[[]]],[11,"clone_into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"vzip","","",8,[[]]],[11,"into_any","","",8,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",8,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",8,[[],["any",8]]],[11,"as_any_mut","","",8,[[],["any",8]]],[11,"into_any_arc","","",8,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",9,[[]]],[11,"into","","",9,[[]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"vzip","","",9,[[]]],[11,"into_any","","",9,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",9,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",9,[[],["any",8]]],[11,"as_any_mut","","",9,[[],["any",8]]],[11,"from","map_gui::render::agents","",10,[[]]],[11,"into","","",10,[[]]],[11,"borrow","","",10,[[]]],[11,"borrow_mut","","",10,[[]]],[11,"try_from","","",10,[[],["result",4]]],[11,"try_into","","",10,[[],["result",4]]],[11,"type_id","","",10,[[],["typeid",3]]],[11,"vzip","","",10,[[]]],[11,"into_any","","",10,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",10,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",10,[[],["any",8]]],[11,"as_any_mut","","",10,[[],["any",8]]],[11,"from","","",11,[[]]],[11,"into","","",11,[[]]],[11,"to_owned","","",11,[[]]],[11,"clone_into","","",11,[[]]],[11,"borrow","","",11,[[]]],[11,"borrow_mut","","",11,[[]]],[11,"try_from","","",11,[[],["result",4]]],[11,"try_into","","",11,[[],["result",4]]],[11,"type_id","","",11,[[],["typeid",3]]],[11,"vzip","","",11,[[]]],[11,"into_any","","",11,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",11,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",11,[[],["any",8]]],[11,"as_any_mut","","",11,[[],["any",8]]],[11,"into_any_arc","","",11,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::area","",12,[[]]],[11,"into","","",12,[[]]],[11,"borrow","","",12,[[]]],[11,"borrow_mut","","",12,[[]]],[11,"try_from","","",12,[[],["result",4]]],[11,"try_into","","",12,[[],["result",4]]],[11,"type_id","","",12,[[],["typeid",3]]],[11,"vzip","","",12,[[]]],[11,"into_any","","",12,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",12,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",12,[[],["any",8]]],[11,"as_any_mut","","",12,[[],["any",8]]],[11,"into_any_arc","","",12,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::bike","",13,[[]]],[11,"into","","",13,[[]]],[11,"borrow","","",13,[[]]],[11,"borrow_mut","","",13,[[]]],[11,"try_from","","",13,[[],["result",4]]],[11,"try_into","","",13,[[],["result",4]]],[11,"type_id","","",13,[[],["typeid",3]]],[11,"vzip","","",13,[[]]],[11,"into_any","","",13,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",13,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",13,[[],["any",8]]],[11,"as_any_mut","","",13,[[],["any",8]]],[11,"into_any_arc","","",13,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::building","",14,[[]]],[11,"into","","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"vzip","","",14,[[]]],[11,"into_any","","",14,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",14,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",14,[[],["any",8]]],[11,"as_any_mut","","",14,[[],["any",8]]],[11,"into_any_arc","","",14,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::bus_stop","",15,[[]]],[11,"into","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"vzip","","",15,[[]]],[11,"into_any","","",15,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",15,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",15,[[],["any",8]]],[11,"as_any_mut","","",15,[[],["any",8]]],[11,"into_any_arc","","",15,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::car","",16,[[]]],[11,"into","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"vzip","","",16,[[]]],[11,"into_any","","",16,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",16,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",16,[[],["any",8]]],[11,"as_any_mut","","",16,[[],["any",8]]],[11,"into_any_arc","","",16,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::intersection","",17,[[]]],[11,"into","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"vzip","","",17,[[]]],[11,"into_any","","",17,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",17,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",17,[[],["any",8]]],[11,"as_any_mut","","",17,[[],["any",8]]],[11,"from","map_gui::render::lane","",18,[[]]],[11,"into","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"vzip","","",18,[[]]],[11,"into_any","","",18,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",18,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",18,[[],["any",8]]],[11,"as_any_mut","","",18,[[],["any",8]]],[11,"into_any_arc","","",18,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::map","",19,[[]]],[11,"into","","",19,[[]]],[11,"borrow","","",19,[[]]],[11,"borrow_mut","","",19,[[]]],[11,"try_from","","",19,[[],["result",4]]],[11,"try_into","","",19,[[],["result",4]]],[11,"type_id","","",19,[[],["typeid",3]]],[11,"vzip","","",19,[[]]],[11,"into_any","","",19,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",19,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",19,[[],["any",8]]],[11,"as_any_mut","","",19,[[],["any",8]]],[11,"from","map_gui::render::parking_lot","",20,[[]]],[11,"into","","",20,[[]]],[11,"borrow","","",20,[[]]],[11,"borrow_mut","","",20,[[]]],[11,"try_from","","",20,[[],["result",4]]],[11,"try_into","","",20,[[],["result",4]]],[11,"type_id","","",20,[[],["typeid",3]]],[11,"vzip","","",20,[[]]],[11,"into_any","","",20,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",20,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",20,[[],["any",8]]],[11,"as_any_mut","","",20,[[],["any",8]]],[11,"into_any_arc","","",20,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::pedestrian","",21,[[]]],[11,"into","","",21,[[]]],[11,"borrow","","",21,[[]]],[11,"borrow_mut","","",21,[[]]],[11,"try_from","","",21,[[],["result",4]]],[11,"try_into","","",21,[[],["result",4]]],[11,"type_id","","",21,[[],["typeid",3]]],[11,"vzip","","",21,[[]]],[11,"into_any","","",21,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",21,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",21,[[],["any",8]]],[11,"as_any_mut","","",21,[[],["any",8]]],[11,"into_any_arc","","",21,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",22,[[]]],[11,"into","","",22,[[]]],[11,"borrow","","",22,[[]]],[11,"borrow_mut","","",22,[[]]],[11,"try_from","","",22,[[],["result",4]]],[11,"try_into","","",22,[[],["result",4]]],[11,"type_id","","",22,[[],["typeid",3]]],[11,"vzip","","",22,[[]]],[11,"into_any","","",22,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",22,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",22,[[],["any",8]]],[11,"as_any_mut","","",22,[[],["any",8]]],[11,"into_any_arc","","",22,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::road","",23,[[]]],[11,"into","","",23,[[]]],[11,"borrow","","",23,[[]]],[11,"borrow_mut","","",23,[[]]],[11,"try_from","","",23,[[],["result",4]]],[11,"try_into","","",23,[[],["result",4]]],[11,"type_id","","",23,[[],["typeid",3]]],[11,"vzip","","",23,[[]]],[11,"into_any","","",23,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",23,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",23,[[],["any",8]]],[11,"as_any_mut","","",23,[[],["any",8]]],[11,"into_any_arc","","",23,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render::turn","",24,[[]]],[11,"into","","",24,[[]]],[11,"borrow","","",24,[[]]],[11,"borrow_mut","","",24,[[]]],[11,"try_from","","",24,[[],["result",4]]],[11,"try_into","","",24,[[],["result",4]]],[11,"type_id","","",24,[[],["typeid",3]]],[11,"vzip","","",24,[[]]],[11,"into_any","","",24,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",24,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",24,[[],["any",8]]],[11,"as_any_mut","","",24,[[],["any",8]]],[11,"into_any_arc","","",24,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",25,[[]]],[11,"into","","",25,[[]]],[11,"borrow","","",25,[[]]],[11,"borrow_mut","","",25,[[]]],[11,"try_from","","",25,[[],["result",4]]],[11,"try_into","","",25,[[],["result",4]]],[11,"type_id","","",25,[[],["typeid",3]]],[11,"vzip","","",25,[[]]],[11,"into_any","","",25,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",25,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",25,[[],["any",8]]],[11,"as_any_mut","","",25,[[],["any",8]]],[11,"into_any_arc","","",25,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::render","",27,[[]]],[11,"into","","",27,[[]]],[11,"borrow","","",27,[[]]],[11,"borrow_mut","","",27,[[]]],[11,"try_from","","",27,[[],["result",4]]],[11,"try_into","","",27,[[],["result",4]]],[11,"type_id","","",27,[[],["typeid",3]]],[11,"vzip","","",27,[[]]],[11,"into_any","","",27,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",27,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",27,[[],["any",8]]],[11,"as_any_mut","","",27,[[],["any",8]]],[11,"into_any_arc","","",27,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::simple_app","",28,[[]]],[11,"into","","",28,[[]]],[11,"borrow","","",28,[[]]],[11,"borrow_mut","","",28,[[]]],[11,"try_from","","",28,[[],["result",4]]],[11,"try_into","","",28,[[],["result",4]]],[11,"type_id","","",28,[[],["typeid",3]]],[11,"vzip","","",28,[[]]],[11,"into_any","","",28,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",28,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",28,[[],["any",8]]],[11,"as_any_mut","","",28,[[],["any",8]]],[11,"from","","",29,[[]]],[11,"into","","",29,[[]]],[11,"borrow","","",29,[[]]],[11,"borrow_mut","","",29,[[]]],[11,"try_from","","",29,[[],["result",4]]],[11,"try_into","","",29,[[],["result",4]]],[11,"type_id","","",29,[[],["typeid",3]]],[11,"vzip","","",29,[[]]],[11,"into_any","","",29,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",29,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",29,[[],["any",8]]],[11,"as_any_mut","","",29,[[],["any",8]]],[11,"into_any_arc","","",29,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::tools::camera","",30,[[]]],[11,"into","","",30,[[]]],[11,"borrow","","",30,[[]]],[11,"borrow_mut","","",30,[[]]],[11,"try_from","","",30,[[],["result",4]]],[11,"try_into","","",30,[[],["result",4]]],[11,"type_id","","",30,[[],["typeid",3]]],[11,"vzip","","",30,[[]]],[11,"into_any","","",30,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",30,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",30,[[],["any",8]]],[11,"as_any_mut","","",30,[[],["any",8]]],[11,"into_any_arc","","",30,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::tools::city_picker","",31,[[]]],[11,"into","","",31,[[]]],[11,"borrow","","",31,[[]]],[11,"borrow_mut","","",31,[[]]],[11,"try_from","","",31,[[],["result",4]]],[11,"try_into","","",31,[[],["result",4]]],[11,"type_id","","",31,[[],["typeid",3]]],[11,"vzip","","",31,[[]]],[11,"into_any","","",31,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",31,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",31,[[],["any",8]]],[11,"as_any_mut","","",31,[[],["any",8]]],[11,"from","","",32,[[]]],[11,"into","","",32,[[]]],[11,"borrow","","",32,[[]]],[11,"borrow_mut","","",32,[[]]],[11,"try_from","","",32,[[],["result",4]]],[11,"try_into","","",32,[[],["result",4]]],[11,"type_id","","",32,[[],["typeid",3]]],[11,"vzip","","",32,[[]]],[11,"into_any","","",32,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",32,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",32,[[],["any",8]]],[11,"as_any_mut","","",32,[[],["any",8]]],[11,"from","","",33,[[]]],[11,"into","","",33,[[]]],[11,"borrow","","",33,[[]]],[11,"borrow_mut","","",33,[[]]],[11,"try_from","","",33,[[],["result",4]]],[11,"try_into","","",33,[[],["result",4]]],[11,"type_id","","",33,[[],["typeid",3]]],[11,"vzip","","",33,[[]]],[11,"into_any","","",33,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",33,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",33,[[],["any",8]]],[11,"as_any_mut","","",33,[[],["any",8]]],[11,"from","map_gui::tools::colors","",34,[[]]],[11,"into","","",34,[[]]],[11,"borrow","","",34,[[]]],[11,"borrow_mut","","",34,[[]]],[11,"try_from","","",34,[[],["result",4]]],[11,"try_into","","",34,[[],["result",4]]],[11,"type_id","","",34,[[],["typeid",3]]],[11,"vzip","","",34,[[]]],[11,"into_any","","",34,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",34,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",34,[[],["any",8]]],[11,"as_any_mut","","",34,[[],["any",8]]],[11,"into_any_arc","","",34,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",35,[[]]],[11,"into","","",35,[[]]],[11,"borrow","","",35,[[]]],[11,"borrow_mut","","",35,[[]]],[11,"try_from","","",35,[[],["result",4]]],[11,"try_into","","",35,[[],["result",4]]],[11,"type_id","","",35,[[],["typeid",3]]],[11,"vzip","","",35,[[]]],[11,"into_any","","",35,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",35,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",35,[[],["any",8]]],[11,"as_any_mut","","",35,[[],["any",8]]],[11,"into_any_arc","","",35,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",36,[[]]],[11,"into","","",36,[[]]],[11,"borrow","","",36,[[]]],[11,"borrow_mut","","",36,[[]]],[11,"try_from","","",36,[[],["result",4]]],[11,"try_into","","",36,[[],["result",4]]],[11,"type_id","","",36,[[],["typeid",3]]],[11,"vzip","","",36,[[]]],[11,"into_any","","",36,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",36,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",36,[[],["any",8]]],[11,"as_any_mut","","",36,[[],["any",8]]],[11,"into_any_arc","","",36,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",37,[[]]],[11,"into","","",37,[[]]],[11,"borrow","","",37,[[]]],[11,"borrow_mut","","",37,[[]]],[11,"try_from","","",37,[[],["result",4]]],[11,"try_into","","",37,[[],["result",4]]],[11,"type_id","","",37,[[],["typeid",3]]],[11,"vzip","","",37,[[]]],[11,"into_any","","",37,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",37,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",37,[[],["any",8]]],[11,"as_any_mut","","",37,[[],["any",8]]],[11,"into_any_arc","","",37,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",38,[[]]],[11,"into","","",38,[[]]],[11,"borrow","","",38,[[]]],[11,"borrow_mut","","",38,[[]]],[11,"try_from","","",38,[[],["result",4]]],[11,"try_into","","",38,[[],["result",4]]],[11,"type_id","","",38,[[],["typeid",3]]],[11,"vzip","","",38,[[]]],[11,"into_any","","",38,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",38,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",38,[[],["any",8]]],[11,"as_any_mut","","",38,[[],["any",8]]],[11,"into_any_arc","","",38,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::tools::heatmap","",39,[[]]],[11,"into","","",39,[[]]],[11,"to_owned","","",39,[[]]],[11,"clone_into","","",39,[[]]],[11,"borrow","","",39,[[]]],[11,"borrow_mut","","",39,[[]]],[11,"try_from","","",39,[[],["result",4]]],[11,"try_into","","",39,[[],["result",4]]],[11,"type_id","","",39,[[],["typeid",3]]],[11,"vzip","","",39,[[]]],[11,"into_any","","",39,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",39,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",39,[[],["any",8]]],[11,"as_any_mut","","",39,[[],["any",8]]],[11,"into_any_arc","","",39,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","","",40,[[]]],[11,"into","","",40,[[]]],[11,"borrow","","",40,[[]]],[11,"borrow_mut","","",40,[[]]],[11,"try_from","","",40,[[],["result",4]]],[11,"try_into","","",40,[[],["result",4]]],[11,"type_id","","",40,[[],["typeid",3]]],[11,"vzip","","",40,[[]]],[11,"into_any","","",40,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",40,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",40,[[],["any",8]]],[11,"as_any_mut","","",40,[[],["any",8]]],[11,"into_any_arc","","",40,[[["arc",3]],[["any",8],["arc",3]]]],[11,"from","map_gui::tools::minimap","",41,[[]]],[11,"into","","",41,[[]]],[11,"borrow","","",41,[[]]],[11,"borrow_mut","","",41,[[]]],[11,"try_from","","",41,[[],["result",4]]],[11,"try_into","","",41,[[],["result",4]]],[11,"type_id","","",41,[[],["typeid",3]]],[11,"vzip","","",41,[[]]],[11,"into_any","","",41,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",41,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",41,[[],["any",8]]],[11,"as_any_mut","","",41,[[],["any",8]]],[11,"from","map_gui::tools::navigate","",43,[[]]],[11,"into","","",43,[[]]],[11,"borrow","","",43,[[]]],[11,"borrow_mut","","",43,[[]]],[11,"try_from","","",43,[[],["result",4]]],[11,"try_into","","",43,[[],["result",4]]],[11,"type_id","","",43,[[],["typeid",3]]],[11,"vzip","","",43,[[]]],[11,"into_any","","",43,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",43,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",43,[[],["any",8]]],[11,"as_any_mut","","",43,[[],["any",8]]],[11,"from","","",44,[[]]],[11,"into","","",44,[[]]],[11,"borrow","","",44,[[]]],[11,"borrow_mut","","",44,[[]]],[11,"try_from","","",44,[[],["result",4]]],[11,"try_into","","",44,[[],["result",4]]],[11,"type_id","","",44,[[],["typeid",3]]],[11,"vzip","","",44,[[]]],[11,"into_any","","",44,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",44,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",44,[[],["any",8]]],[11,"as_any_mut","","",44,[[],["any",8]]],[11,"from","","",45,[[]]],[11,"into","","",45,[[]]],[11,"borrow","","",45,[[]]],[11,"borrow_mut","","",45,[[]]],[11,"try_from","","",45,[[],["result",4]]],[11,"try_into","","",45,[[],["result",4]]],[11,"type_id","","",45,[[],["typeid",3]]],[11,"vzip","","",45,[[]]],[11,"into_any","","",45,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",45,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",45,[[],["any",8]]],[11,"as_any_mut","","",45,[[],["any",8]]],[11,"from","map_gui::tools::turn_explorer","",46,[[]]],[11,"into","","",46,[[]]],[11,"borrow","","",46,[[]]],[11,"borrow_mut","","",46,[[]]],[11,"try_from","","",46,[[],["result",4]]],[11,"try_into","","",46,[[],["result",4]]],[11,"type_id","","",46,[[],["typeid",3]]],[11,"vzip","","",46,[[]]],[11,"into_any","","",46,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",46,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",46,[[],["any",8]]],[11,"as_any_mut","","",46,[[],["any",8]]],[11,"from","map_gui::tools::ui","",47,[[]]],[11,"into","","",47,[[]]],[11,"borrow","","",47,[[]]],[11,"borrow_mut","","",47,[[]]],[11,"try_from","","",47,[[],["result",4]]],[11,"try_into","","",47,[[],["result",4]]],[11,"type_id","","",47,[[],["typeid",3]]],[11,"vzip","","",47,[[]]],[11,"into_any","","",47,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",47,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",47,[[],["any",8]]],[11,"as_any_mut","","",47,[[],["any",8]]],[11,"from","","",48,[[]]],[11,"into","","",48,[[]]],[11,"borrow","","",48,[[]]],[11,"borrow_mut","","",48,[[]]],[11,"try_from","","",48,[[],["result",4]]],[11,"try_into","","",48,[[],["result",4]]],[11,"type_id","","",48,[[],["typeid",3]]],[11,"vzip","","",48,[[]]],[11,"into_any","","",48,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",48,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",48,[[],["any",8]]],[11,"as_any_mut","","",48,[[],["any",8]]],[11,"from","","",49,[[]]],[11,"into","","",49,[[]]],[11,"borrow","","",49,[[]]],[11,"borrow_mut","","",49,[[]]],[11,"try_from","","",49,[[],["result",4]]],[11,"try_into","","",49,[[],["result",4]]],[11,"type_id","","",49,[[],["typeid",3]]],[11,"vzip","","",49,[[]]],[11,"into_any","","",49,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",49,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",49,[[],["any",8]]],[11,"as_any_mut","","",49,[[],["any",8]]],[11,"from","map_gui::tools::updater","",50,[[]]],[11,"into","","",50,[[]]],[11,"borrow","","",50,[[]]],[11,"borrow_mut","","",50,[[]]],[11,"try_from","","",50,[[],["result",4]]],[11,"try_into","","",50,[[],["result",4]]],[11,"type_id","","",50,[[],["typeid",3]]],[11,"vzip","","",50,[[]]],[11,"into_any","","",50,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",50,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",50,[[],["any",8]]],[11,"as_any_mut","","",50,[[],["any",8]]],[11,"from","map_gui","",52,[[]]],[11,"into","","",52,[[]]],[11,"to_owned","","",52,[[]]],[11,"clone_into","","",52,[[]]],[11,"borrow","","",52,[[]]],[11,"borrow_mut","","",52,[[]]],[11,"try_from","","",52,[[],["result",4]]],[11,"try_into","","",52,[[],["result",4]]],[11,"type_id","","",52,[[],["typeid",3]]],[11,"equivalent","","",52,[[]]],[11,"get_hash","","",52,[[]]],[11,"vzip","","",52,[[]]],[11,"into_any","","",52,[[["box",3],["global",3]],[["global",3],["any",8],["box",3]]]],[11,"into_any_rc","","",52,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",52,[[],["any",8]]],[11,"as_any_mut","","",52,[[],["any",8]]],[11,"into_any_arc","","",52,[[["arc",3]],[["any",8],["arc",3]]]],[11,"get_id","map_gui::render::area","",12,[[],["id",4]]],[11,"draw","","",12,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_outline","","",12,[[["map",3]],["polygon",3]]],[11,"get_id","map_gui::render::bike","",13,[[],["id",4]]],[11,"draw","","",13,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_outline","","",13,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",13,[[["pt2d",3],["map",3]]]],[11,"get_zorder","","",13,[[]]],[11,"get_id","map_gui::render::building","",14,[[],["id",4]]],[11,"draw","","",14,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_zorder","","",14,[[]]],[11,"get_outline","","",14,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",14,[[["pt2d",3],["map",3]]]],[11,"get_id","map_gui::render::bus_stop","",15,[[],["id",4]]],[11,"draw","","",15,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_outline","","",15,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",15,[[["pt2d",3],["map",3]]]],[11,"get_zorder","","",15,[[]]],[11,"get_id","map_gui::render::car","",16,[[],["id",4]]],[11,"draw","","",16,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_outline","","",16,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",16,[[["pt2d",3],["map",3]]]],[11,"get_zorder","","",16,[[]]],[11,"get_id","map_gui::render::intersection","",17,[[],["id",4]]],[11,"draw","","",17,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_outline","","",17,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",17,[[["pt2d",3],["map",3]]]],[11,"get_zorder","","",17,[[]]],[11,"get_id","map_gui::render::lane","",18,[[],["id",4]]],[11,"draw","","",18,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_outline","","",18,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",18,[[["pt2d",3],["map",3]]]],[11,"get_zorder","","",18,[[]]],[11,"get_id","map_gui::render::parking_lot","",20,[[],["id",4]]],[11,"draw","","",20,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_zorder","","",20,[[]]],[11,"get_outline","","",20,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",20,[[["pt2d",3],["map",3]]]],[11,"get_id","map_gui::render::pedestrian","",21,[[],["id",4]]],[11,"draw","","",21,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_outline","","",21,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",21,[[["pt2d",3],["map",3]]]],[11,"get_zorder","","",21,[[]]],[11,"get_id","","",22,[[],["id",4]]],[11,"draw","","",22,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_outline","","",22,[[["map",3]],["polygon",3]]],[11,"get_zorder","","",22,[[]]],[11,"get_id","map_gui::render::road","",23,[[],["id",4]]],[11,"draw","","",23,[[["drawoptions",3],["gfxctx",3],["applike",8]]]],[11,"get_outline","","",23,[[["map",3]],["polygon",3]]],[11,"contains_pt","","",23,[[["pt2d",3],["map",3]]]],[11,"get_zorder","","",23,[[]]],[11,"map","map_gui::simple_app","",28,[[],["map",3]]],[11,"sim","","",28,[[],["sim",3]]],[11,"cs","","",28,[[],["colorscheme",3]]],[11,"mut_cs","","",28,[[],["colorscheme",3]]],[11,"draw_map","","",28,[[],["drawmap",3]]],[11,"mut_draw_map","","",28,[[],["drawmap",3]]],[11,"opts","","",28,[[],["options",3]]],[11,"mut_opts","","",28,[[],["options",3]]],[11,"map_switched","","",28,[[["map",3],["timer",3],["eventctx",3]]]],[11,"draw_with_opts","","",28,[[["gfxctx",3],["drawoptions",3]]]],[11,"make_warper","","",28,[[["pt2d",3],["option",4],["option",4],["eventctx",3],["id",4]],[["state",8],["box",3]]]],[11,"sim_time","","",28,[[],["time",3]]],[11,"current_stage_and_remaining_time","","",28,[[["intersectionid",3]]]],[11,"clone","map_gui::colors","",0,[[],["colorschemechoice",4]]],[11,"clone","map_gui::options","",6,[[],["options",3]]],[11,"clone","","",7,[[],["trafficsignalstyle",4]]],[11,"clone","","",8,[[],["cameraangle",4]]],[11,"clone","map_gui::render::agents","",11,[[],["unzoomedagents",3]]],[11,"clone","map_gui::tools::heatmap","",39,[[],["heatmapoptions",3]]],[11,"clone","map_gui","",52,[[],["id",4]]],[11,"cmp","","",52,[[["id",4]],["ordering",4]]],[11,"eq","map_gui::colors","",0,[[["colorschemechoice",4]]]],[11,"eq","map_gui::options","",7,[[["trafficsignalstyle",4]]]],[11,"eq","","",8,[[["cameraangle",4]]]],[11,"eq","map_gui::render::agents","",11,[[["unzoomedagents",3]]]],[11,"ne","","",11,[[["unzoomedagents",3]]]],[11,"eq","map_gui::tools::heatmap","",39,[[["heatmapoptions",3]]]],[11,"ne","","",39,[[["heatmapoptions",3]]]],[11,"eq","map_gui","",52,[[["id",4]]]],[11,"ne","","",52,[[["id",4]]]],[11,"partial_cmp","","",52,[[["id",4]],[["option",4],["ordering",4]]]],[11,"lt","","",52,[[["id",4]]]],[11,"le","","",52,[[["id",4]]]],[11,"gt","","",52,[[["id",4]]]],[11,"ge","","",52,[[["id",4]]]],[11,"fmt","map_gui::colors","",0,[[["formatter",3]],["result",6]]],[11,"fmt","map_gui::options","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","map_gui::tools::camera","",30,[[["formatter",3]],["result",6]]],[11,"fmt","map_gui","",52,[[["formatter",3]],["result",6]]],[11,"hash","","",52,[[]]],[11,"deserialize","map_gui::tools::camera","",30,[[],["result",4]]],[11,"serialize","","",30,[[],["result",4]]],[11,"draw_default","map_gui::simple_app","",28,[[["gfxctx",3]]]],[11,"dump_before_abort","","",28,[[["canvas",3]]]],[11,"before_quit","","",28,[[["canvas",3]]]],[11,"event","map_gui::load","",4,[[["eventctx",3]],["transition",4]]],[11,"draw","","",4,[[["gfxctx",3]]]],[11,"event","map_gui::load::native_loader","",2,[[["eventctx",3]],["transition",4]]],[11,"draw","","",2,[[["gfxctx",3]]]],[11,"event","map_gui::load","",5,[[["eventctx",3]],["transition",4]]],[11,"draw","","",5,[[["gfxctx",3]]]],[11,"event","map_gui::options","",9,[[["eventctx",3]],["transition",4]]],[11,"draw","","",9,[[["gfxctx",3]]]],[11,"event","map_gui::simple_app","",29,[[["simpleapp",3],["eventctx",3]],[["transition",4],["simpleapp",3]]]],[11,"draw","","",29,[[["gfxctx",3],["simpleapp",3]]]],[11,"event","map_gui::tools::city_picker","",31,[[["eventctx",3]],["transition",4]]],[11,"draw_baselayer","","",31,[[],["drawbaselayer",4]]],[11,"draw","","",31,[[["gfxctx",3]]]],[11,"event","","",32,[[["eventctx",3]],["transition",4]]],[11,"draw_baselayer","","",32,[[],["drawbaselayer",4]]],[11,"draw","","",32,[[["gfxctx",3]]]],[11,"event","","",33,[[["eventctx",3]],["transition",4]]],[11,"draw_baselayer","","",33,[[],["drawbaselayer",4]]],[11,"draw","","",33,[[["gfxctx",3]]]],[11,"event","map_gui::tools::navigate","",43,[[["eventctx",3]],["transition",4]]],[11,"draw","","",43,[[["gfxctx",3]]]],[11,"event","","",44,[[["eventctx",3]],["transition",4]]],[11,"draw","","",44,[[["gfxctx",3]]]],[11,"event","","",45,[[["eventctx",3]],["transition",4]]],[11,"draw","","",45,[[["gfxctx",3]]]],[11,"event","map_gui::tools::turn_explorer","",46,[[["eventctx",3]],["transition",4]]],[11,"draw_baselayer","","",46,[[],["drawbaselayer",4]]],[11,"draw","","",46,[[["gfxctx",3]]]],[11,"event","map_gui::tools::ui","",47,[[["eventctx",3]],["transition",4]]],[11,"draw_baselayer","","",47,[[],["drawbaselayer",4]]],[11,"draw","","",47,[[["gfxctx",3]]]],[11,"event","","",48,[[["eventctx",3]],["transition",4]]],[11,"draw_baselayer","","",48,[[],["drawbaselayer",4]]],[11,"draw","","",48,[[["gfxctx",3]]]],[11,"event","","",49,[[["eventctx",3]],["transition",4]]],[11,"draw_baselayer","","",49,[[],["drawbaselayer",4]]],[11,"draw","","",49,[[["gfxctx",3]]]],[11,"event","map_gui::tools::updater","",50,[[["eventctx",3]],["transition",4]]],[11,"draw","","",50,[[["gfxctx",3]]]]],"p":[[4,"ColorSchemeChoice"],[3,"ColorScheme"],[3,"FileLoader"],[3,"MapLoader"],[3,"MapAlreadyLoaded"],[3,"FutureLoader"],[3,"Options"],[4,"TrafficSignalStyle"],[4,"CameraAngle"],[3,"OptionsPanel"],[3,"AgentCache"],[3,"UnzoomedAgents"],[3,"DrawArea"],[3,"DrawBike"],[3,"DrawBuilding"],[3,"DrawBusStop"],[3,"DrawCar"],[3,"DrawIntersection"],[3,"DrawLane"],[3,"DrawMap"],[3,"DrawParkingLot"],[3,"DrawPedestrian"],[3,"DrawPedCrowd"],[3,"DrawRoad"],[3,"DrawMovement"],[3,"DrawUberTurnGroup"],[8,"Renderable"],[3,"DrawOptions"],[3,"SimpleApp"],[3,"SimpleWarper"],[3,"CameraState"],[3,"CityPicker"],[3,"AllCityPicker"],[3,"CitiesInCountryPicker"],[3,"ColorDiscrete"],[3,"ColorLegend"],[3,"DivergingScale"],[3,"ColorNetwork"],[3,"ColorScale"],[3,"HeatmapOptions"],[3,"Grid"],[3,"Minimap"],[8,"MinimapControls"],[3,"Navigator"],[3,"CrossStreet"],[3,"SearchBuildings"],[3,"TurnExplorer"],[3,"ChooseSomething"],[3,"PromptInput"],[3,"PopupMsg"],[3,"Picker"],[8,"AppLike"],[4,"ID"]]},\ "map_model":{"doc":"map_model describes the world where simulations occur. …","i":[[0,"city","map_model","",null,null],[3,"City","map_model::city","A single city (like Seattle) can be broken down into …",null,null],[12,"name","","",0,null],[12,"boundary","","",0,null],[12,"areas","","",0,null],[12,"districts","","The individual maps",0,null],[11,"from_huge_map","","If there\'s a single map covering all the smaller maps, …",0,[[["map",3]],["city",3]]],[11,"from_individual_maps","","Generate a city from a bunch of smaller, individual maps. …",0,[[["timer",3],["cityname",3]],["city",3]]],[0,"connectivity","map_model","",null,null],[0,"walking","map_model::connectivity","",null,null],[3,"WalkingOptions","map_model::connectivity::walking","",null,null],[12,"allow_shoulders","","If true, allow walking on shoulders.",1,null],[12,"walking_speed","","",1,null],[11,"default","","",1,[[],["walkingoptions",3]]],[11,"common_speeds","","",1,[[],["vec",3]]],[11,"default_speed","","",1,[[],["speed",3]]],[11,"cost","","",1,[[["distance",3]],["duration",3]]],[3,"Item","","",null,null],[12,"cost","","",2,null],[12,"node","","",2,null],[5,"all_walking_costs_from","","Starting from one building, calculate the cost to all …",null,[[["duration",3],["walkingoptions",3],["map",3],["buildingid",3]],[["buildingid",3],["duration",3],["hashmap",3]]]],[5,"all_walking_costs_from","map_model::connectivity","Starting from one building, calculate the cost to all …",null,[[["duration",3],["walkingoptions",3],["map",3],["buildingid",3]],[["buildingid",3],["duration",3],["hashmap",3]]]],[3,"WalkingOptions","","",null,null],[12,"allow_shoulders","","If true, allow walking on shoulders.",1,null],[12,"walking_speed","","",1,null],[5,"driving_cost","","Different unit based on constraints.",null,[[["routingparams",3],["lane",3],["map",3],["turn",3],["pathconstraints",4]]]],[4,"WalkingNode","","",null,null],[13,"SidewalkEndpoint","","false is src_i, true is dst_i",3,null],[13,"RideBus","","",3,null],[13,"LeaveMap","","",3,null],[5,"find_scc","","Calculate the srongy connected components (SCC) of the …",null,[[["map",3],["pathconstraints",4]]]],[5,"all_vehicle_costs_from","","Starting from one building, calculate the cost to all …",null,[[["duration",3],["map",3],["buildingid",3],["pathconstraints",4]],[["buildingid",3],["duration",3],["hashmap",3]]]],[0,"edits","map_model","Once a Map exists, the player can edit it in the UI …",null,null],[0,"compat","map_model::edits","",null,null],[5,"upgrade","map_model::edits::compat","When the PermanentMapEdits format changes, add a …",null,[[["map",3],["value",4]],[["result",6],["permanentmapedits",3]]]],[5,"walk","","",null,[[["value",4]]]],[5,"fix_offset","","",null,[[["value",4]]]],[5,"fix_intersection_ids","","",null,[[["value",4]]]],[5,"fix_road_direction","","",null,[[["value",4]]]],[5,"fix_old_lane_cmds","","",null,[[["map",3],["value",4]],["result",6]]],[5,"fix_merge_zones","","",null,[[["value",4]]]],[5,"fix_map_name","","",null,[[["value",4]]]],[5,"fix_phase_to_stage","","",null,[[["value",4]]]],[5,"fix_adaptive_stages","","",null,[[["value",4]]]],[5,"fix_plans","","",null,[[["value",4]]]],[5,"fix_city_name","","",null,[[["value",4]]]],[3,"OriginalLane","","",null,null],[12,"parent","","",4,null],[12,"num_fwd","","",4,null],[12,"num_back","","",4,null],[12,"dir","","",4,null],[12,"idx","","",4,null],[3,"ChangeLaneType","","",null,null],[12,"id","","",5,null],[12,"lt","","",5,null],[12,"orig_lt","","",5,null],[3,"ReverseLane","","",null,null],[12,"l","","",6,null],[12,"dst_i","","",6,null],[3,"ChangeSpeedLimit","","",null,null],[12,"id","","",7,null],[12,"new","","",7,null],[12,"old","","",7,null],[3,"ChangeAccessRestrictions","","",null,null],[12,"id","","",8,null],[12,"new","","",8,null],[12,"old","","",8,null],[11,"lookup","","",4,[[["map",3]],["result",6]]],[0,"perma","map_model::edits","",null,null],[3,"PermanentMapEdits","map_model::edits::perma","MapEdits are converted to this before serializing. …",null,null],[12,"map_name","","",9,null],[12,"edits_name","","",9,null],[12,"version","","",9,null],[12,"commands","","",9,null],[12,"merge_zones","","If false, adjacent roads with the same AccessRestrictions …",9,null],[12,"proposal_description","","Edits without these are player generated.",9,null],[12,"proposal_link","","The link is optional even for proposals",9,null],[4,"PermanentEditIntersection","","",null,null],[13,"StopSign","","",10,null],[12,"must_stop","map_model::edits::perma::PermanentEditIntersection","",11,null],[13,"TrafficSignal","map_model::edits::perma","",10,null],[13,"Closed","","",10,null],[4,"PermanentEditCmd","","",null,null],[13,"ChangeRoad","","",12,null],[12,"r","map_model::edits::perma::PermanentEditCmd","",13,null],[12,"new","","",13,null],[12,"old","","",13,null],[13,"ChangeIntersection","map_model::edits::perma","",12,null],[12,"i","map_model::edits::perma::PermanentEditCmd","",14,null],[12,"new","","",14,null],[12,"old","","",14,null],[13,"ChangeRouteSchedule","map_model::edits::perma","",12,null],[12,"osm_rel_id","map_model::edits::perma::PermanentEditCmd","",15,null],[12,"old","","",15,null],[12,"new","","",15,null],[11,"to_cmd","map_model::edits::perma","",12,[[["map",3]],[["result",6],["editcmd",4]]]],[11,"to_edits","","Transform permanent edits to MapEdits, looking up the map …",9,[[["map",3]],[["mapedits",3],["result",6]]]],[11,"to_edits_permissive","","Transform permanent edits to MapEdits, looking up the map …",9,[[["map",3]],["mapedits",3]]],[11,"from_permanent","","",10,[[["intersectionid",3],["map",3]],[["result",6],["editintersection",4]]]],[3,"MapEdits","map_model::edits","Represents changes to a map. Note this isn\'t serializable …",null,null],[12,"edits_name","","",16,null],[12,"commands","","A stack, oldest edit is first. The same intersection may …",16,null],[12,"merge_zones","","If false, adjacent roads with the same AccessRestrictions …",16,null],[12,"changed_roads","","Derived from commands, kept up to date by update_derived",16,null],[12,"original_intersections","","",16,null],[12,"changed_routes","","",16,null],[12,"proposal_description","","Some edits are included in the game by default, in …",16,null],[12,"proposal_link","","",16,null],[4,"EditIntersection","","",null,null],[13,"StopSign","","",17,null],[13,"TrafficSignal","","",17,null],[13,"Closed","","",17,null],[3,"EditRoad","","",null,null],[12,"lanes_ltr","","",18,null],[12,"speed_limit","","",18,null],[12,"access_restrictions","","",18,null],[11,"get_orig_from_osm","","",18,[[["mapconfig",3],["road",3]],["editroad",3]]],[11,"diff","","",18,[[["editroad",3]],[["vec",3],["string",3]]]],[4,"EditCmd","","",null,null],[13,"ChangeRoad","","",19,null],[12,"r","map_model::edits::EditCmd","",20,null],[12,"old","","",20,null],[12,"new","","",20,null],[13,"ChangeIntersection","map_model::edits","",19,null],[12,"i","map_model::edits::EditCmd","",21,null],[12,"new","","",21,null],[12,"old","","",21,null],[13,"ChangeRouteSchedule","map_model::edits","",19,null],[12,"id","map_model::edits::EditCmd","",22,null],[12,"old","","",22,null],[12,"new","","",22,null],[3,"EditEffects","map_model::edits","",null,null],[12,"changed_roads","","",23,null],[12,"changed_intersections","","",23,null],[12,"added_turns","","",23,null],[12,"deleted_turns","","",23,null],[11,"new","","",16,[[],["mapedits",3]]],[11,"load","","",16,[[["map",3],["string",3],["timer",3]],[["mapedits",3],["result",6]]]],[11,"save","","",16,[[["map",3]]]],[11,"update_derived","","",16,[[["map",3]]]],[11,"compress","","Assumes update_derived has been called.",16,[[["map",3]]]],[11,"changed_lanes","","Pick apart changed_roads and figure out if an entire road …",16,[[["map",3]]]],[11,"new","","",23,[[],["editeffects",3]]],[11,"describe","","(summary, details)",19,[[["map",3]]]],[11,"apply","","",19,[[["editeffects",3],["map",3]]]],[11,"undo","","",19,[[],["editcmd",4]]],[5,"recalculate_turns","","",null,[[["intersectionid",3],["editeffects",3],["map",3]]]],[0,"make","map_model","See …",null,null],[0,"bridges","map_model::make","",null,null],[5,"find_bridges","map_model::make::bridges","Look for roads underneath bridges, then lower their …",null,[[["vec",3],["timer",3],["bounds",3]]]],[0,"buildings","map_model::make","",null,null],[5,"make_all_buildings","map_model::make::buildings","Finalize importing of buildings, mostly by matching them …",null,[[["map",3],["timer",3],["btreemap",3]],[["building",3],["vec",3]]]],[5,"trim_path","","",null,[[["line",3],["polygon",3]],["line",3]]],[5,"get_address","","",null,[[["tags",3],["laneid",3],["map",3]],["string",3]]],[5,"classify_bldg","","",null,[[["tags",3],["vec",3],["xorshiftrng",3]],["buildingtype",4]]],[0,"initial","map_model::make","Naming is confusing, but RawMap -> InitialMap -> Map. …",null,null],[0,"geometry","map_model::make::initial","OSM describes roads as center-lines that intersect. Turn …",null,null],[17,"DEGENERATE_INTERSECTION_HALF_LENGTH","map_model::make::initial::geometry","",null,null],[5,"intersection_polygon","","Also returns a list of labeled polygons for debugging.",null,[[["intersection",3],["btreemap",3]],["result",6]]],[5,"generalized_trim_back","","",null,[[["vec",3],["btreemap",3],["nodeid",3]],["result",6]]],[5,"deadend","","",null,[[["vec",3],["btreemap",3],["nodeid",3]],["result",6]]],[5,"close_off_polygon","","",null,[[["vec",3],["pt2d",3]],[["vec",3],["pt2d",3]]]],[3,"Piece","","",null,null],[12,"id","","",24,null],[12,"left","","",24,null],[12,"center","","",24,null],[12,"right","","",24,null],[5,"on_off_ramp","","",null,[[["vec",3],["btreemap",3],["nodeid",3]],["option",4]]],[0,"lane_specs","map_model::make::initial","",null,null],[3,"LaneSpec","map_model::make::initial::lane_specs","",null,null],[12,"lt","","",25,null],[12,"dir","","",25,null],[12,"width","","",25,null],[5,"fwd","","",null,[[["lanetype",4]],["lanespec",3]]],[5,"back","","",null,[[["lanetype",4]],["lanespec",3]]],[5,"get_lane_specs_ltr","","",null,[[["tags",3],["mapconfig",3]],[["vec",3],["lanespec",3]]]],[5,"assemble_ltr","","",null,[[["drivingside",4],["vec",3],["lanespec",3]],[["vec",3],["lanespec",3]]]],[3,"InitialMap","map_model::make::initial","",null,null],[12,"roads","","",26,null],[12,"intersections","","",26,null],[12,"bounds","","",26,null],[3,"Road","","",null,null],[12,"id","","",27,null],[12,"src_i","","",27,null],[12,"dst_i","","",27,null],[12,"trimmed_center_pts","","",27,null],[12,"half_width","","",27,null],[12,"lane_specs_ltr","","",27,null],[12,"osm_tags","","",27,null],[11,"new","","",27,[[["originalroad",3],["rawroad",3],["mapconfig",3]],[["road",3],["result",6]]]],[3,"Intersection","","",null,null],[12,"id","","",28,null],[12,"polygon","","",28,null],[12,"roads","","",28,null],[12,"intersection_type","","",28,null],[12,"elevation","","",28,null],[11,"new","","",26,[[["timer",3],["rawmap",3],["bounds",3]],["initialmap",3]]],[0,"medians","map_model::make","",null,null],[5,"find_medians","map_model::make::medians","Fill in empty space between one-way roads.",null,[[["map",3]],[["polygon",3],["vec",3]]]],[0,"merge_intersections","map_model::make","",null,null],[5,"merge_short_roads","map_model::make::merge_intersections","Merge tiny \\\"roads\\\" that\'re actually just part of a …",null,[[["rawmap",3]],[["nodeid",3],["btreeset",3]]]],[5,"should_merge","","",null,[[["originalroad",3],["rawmap",3]]]],[5,"connects_dual_carriageway","","",null,[[["originalroad",3],["rawmap",3]]]],[5,"angle","","",null,[[["rawroad",3]],["angle",3]]],[0,"parking_lots","map_model::make","",null,null],[5,"make_all_parking_lots","map_model::make::parking_lots","Take in parking lots from OSM and all parking aisle …",null,[[["vec",3],["map",3],["timer",3],["vec",3]],[["vec",3],["parkinglot",3]]]],[5,"trim_path","","",null,[[["line",3],["polygon",3]],["line",3]]],[5,"infer_spots","","",null,[[["polygon",3],["vec",3]],["vec",3]]],[5,"line_valid","","",null,[[["vec",3],["polygon",3],["vec",3],["line",3]]]],[0,"remove_disconnected","map_model::make","",null,null],[5,"remove_disconnected_roads","map_model::make::remove_disconnected","Some roads might be totally disconnected from the largest …",null,[[["timer",3],["rawmap",3]]]],[0,"traffic_signals","map_model::make","The various traffic signal generators live in the traffic …",null,null],[0,"lagging_green","map_model::make::traffic_signals","",null,null],[5,"make_traffic_signal","map_model::make::traffic_signals::lagging_green","Create a traffic signal which has a stage that is: …",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"make_signal","","",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"optimize","","",null,[[["controltrafficsignal",3]],[["option",4],["controltrafficsignal",3]]]],[5,"make_crosswalk_variable","","",null,[[["controltrafficsignal",3]]]],[5,"merge_stages","","",null,[[["controltrafficsignal",3]],[["option",4],["controltrafficsignal",3]]]],[5,"is_conflict","","",null,[[["stage",3],["controltrafficsignal",3]],["option",4]]],[5,"protected_yield_stage","","",null,[[["movementid",3]],["stage",3]]],[5,"multi_way_stages","","Build stages. First find roads that are straight across, …",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"add_stage","","",null,[[["controltrafficsignal",3],["stage",3]]]],[5,"turns","","",null,[[["roadid",3],["vec",3]],[["vec",3],["movementid",3]]]],[5,"remove_movement","","",null,[[["vec",3],["roadid",3]],[["movementid",3],["option",4]]]],[5,"three_way_three_stage","","",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"four_way_four_stage","","",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"movements","","",null,[[["controltrafficsignal",3]]]],[5,"straight_types","","",null,[[["vec",3]]]],[5,"make_lagging_green_variable","","",null,[[["controltrafficsignal",3]]]],[5,"get_possible_policies","map_model::make::traffic_signals","Applies a bunch of heuristics to a single intersection, …",null,[[["map",3],["intersectionid",3]],["vec",3]]],[5,"new","","",null,[[["intersectionid",3],["map",3]],["controltrafficsignal",3]]],[5,"greedy_assignment","","",null,[[["map",3],["intersectionid",3]],["controltrafficsignal",3]]],[5,"degenerate","","",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"half_signal","","",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"three_way","","",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"four_way_four_stage","","",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"four_way_two_stage","","",null,[[["map",3],["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[5,"all_walk_all_yield","","",null,[[["map",3],["intersectionid",3]],["controltrafficsignal",3]]],[5,"stage_per_road","","",null,[[["map",3],["intersectionid",3]],["controltrafficsignal",3]]],[5,"expand_all_stages","","",null,[[["controltrafficsignal",3]]]],[17,"PROTECTED","","",null,null],[17,"YIELD","","",null,null],[5,"make_stages","","",null,[[["vec",3],["vec",3],["drivingside",4],["controltrafficsignal",3]]]],[5,"make_stages_filtered","","",null,[[["vec",3],["vec",3],["drivingside",4],["controltrafficsignal",3]]]],[5,"synchronize","","Simple second-pass after generating all signals. Find …",null,[[["map",3]]]],[5,"get_sorted_incoming_roads","","Return all incoming roads to an intersection, sorted by …",null,[[["intersectionid",3],["map",3]],[["vec",3],["roadid",3]]]],[0,"transit","map_model::make","",null,null],[5,"make_stops_and_routes","map_model::make::transit","Construct the final model of bus/train stops and routes. …",null,[[["vec",3],["timer",3],["map",3]]]],[5,"make_route","","",null,[[["btreemap",3],["map",3],["rawbusroute",3],["matcher",3]],["result",6]]],[3,"Matcher","","",null,null],[12,"sidewalk_pts","","",29,null],[12,"light_rail_pts","","",29,null],[11,"new","","",29,[[["vec",3],["map",3],["timer",3]],["matcher",3]]],[11,"lookup","","",29,[[["map",3],["pathconstraints",4],["rawbusstop",3]],["result",6]]],[5,"pick_start_lane","","",null,[[["position",3],["map",3],["pathconstraints",4]],[["laneid",3],["result",6]]]],[5,"default_spawn_times","","",null,[[],[["vec",3],["time",3]]]],[0,"turns","map_model::make","",null,null],[5,"make_all_turns","map_model::make::turns","Generate all driving and walking turns at an …",null,[[["map",3],["intersection",3]],[["vec",3],["turn",3]]]],[5,"ensure_unique","","",null,[[["vec",3],["turn",3]],[["vec",3],["turn",3]]]],[5,"is_turn_allowed","","",null,[[["map",3],["turn",3]]]],[5,"does_turn_pass_restrictions","","",null,[[["map",3],["turn",3],["intersection",3]]]],[5,"make_vehicle_turns","","",null,[[["map",3],["intersection",3]],[["vec",3],["turn",3]]]],[5,"curvey_turn","","",null,[[["lane",3]],[["result",6],["polyline",3]]]],[5,"to_pt","","",null,[[["pt2d",3]],["point2d",3]]],[5,"from_pt","","",null,[[["point2d",3]],["pt2d",3]]],[5,"lc_penalty","","",null,[[["map",3],["turn",3]]]],[5,"remove_merging_turns","","",null,[[["turntype",4],["map",3],["vec",3],["turn",3]],[["vec",3],["turn",3]]]],[5,"turn_type_from_angles","","",null,[[["angle",3]],["turntype",4]]],[0,"walking_turns","map_model::make","",null,null],[5,"make_walking_turns","map_model::make::walking_turns","Generate Crosswalk and SharedSidewalkCorner (places where …",null,[[["map",3],["intersection",3]],[["vec",3],["turn",3]]]],[5,"filter_turns","","Filter out crosswalks on really short roads. In reality, …",null,[[["vec",3],["turn",3],["map",3],["intersection",3]],[["vec",3],["turn",3]]]],[5,"_make_walking_turns_v2","","",null,[[["map",3],["intersection",3]],[["vec",3],["turn",3]]]],[5,"make_footway_turns","","At an intersection of footpaths only, just generate a …",null,[[["map",3],["intersection",3]],[["vec",3],["turn",3]]]],[5,"make_crosswalks","","",null,[[["intersectionid",3],["lane",3],["drivingside",4]],[["vec",3],["option",4]]]],[5,"make_degenerate_crosswalks","","",null,[[["intersectionid",3],["road",3],["vec",3]],[["vec",3],["option",4]]]],[5,"make_shared_sidewalk_corner","","",null,[[["drivingside",4],["lane",3],["intersection",3]],["polyline",3]]],[5,"turn_id","","",null,[[["intersectionid",3],["laneid",3]],["turnid",3]]],[5,"get_sidewalk","","",null,[[["vec",3],["vec",3]],[["option",4],["lane",3]]]],[5,"match_points_to_lanes","map_model::make","Snap points to an exact Position along the nearest lane. …",null,[[["fn",8],["hashset",3],["hashablept2d",3],["distance",3],["timer",3],["bounds",3],["vec",3]],[["position",3],["hashablept2d",3],["hashmap",3]]]],[0,"map","map_model","A bunch of (mostly read-only) queries on a Map.",null,null],[3,"MapConfig","map_model::map","",null,null],[12,"driving_side","","If true, driving happens on the right side of the road …",30,null],[12,"bikes_can_use_bus_lanes","","",30,null],[12,"inferred_sidewalks","","If true, roads without explicitly tagged sidewalks may …",30,null],[12,"separate_cycleways","","If true, separate cycleways from OSM will be included.",30,null],[12,"street_parking_spot_length","","Street parking is divided into spots of this length. 8 …",30,null],[4,"DrivingSide","","",null,null],[13,"Right","","",31,null],[13,"Left","","",31,null],[0,"objects","map_model","",null,null],[0,"area","map_model::objects","",null,null],[3,"AreaID","map_model::objects::area","",null,null],[12,"0","","",32,null],[4,"AreaType","","",null,null],[13,"Park","","",33,null],[13,"Water","","",33,null],[13,"Island","","",33,null],[13,"MedianStrip","","",33,null],[13,"PedestrianPlaza","","",33,null],[13,"StudyArea","","Not from OSM. A user-specified area to focus on.",33,null],[3,"Area","","Areas are just used for drawing.",null,null],[12,"id","","",34,null],[12,"area_type","","",34,null],[12,"polygon","","",34,null],[12,"osm_tags","","",34,null],[12,"osm_id","","The importing process also automatically creates some …",34,null],[0,"building","map_model::objects","",null,null],[3,"BuildingID","map_model::objects::building","",null,null],[12,"0","","",35,null],[3,"Building","","A building has connections to the road and sidewalk, may …",null,null],[12,"id","","",36,null],[12,"polygon","","",36,null],[12,"levels","","",36,null],[12,"address","","",36,null],[12,"name","","",36,null],[12,"orig_id","","",36,null],[12,"label_center","","Where a text label should be centered to have the best …",36,null],[12,"amenities","","",36,null],[12,"bldg_type","","",36,null],[12,"parking","","",36,null],[12,"osm_tags","","Depending on options while importing, these might be …",36,null],[12,"sidewalk_pos","","The building\'s connection for pedestrians is immutable. …",36,null],[12,"driveway_geom","","Goes from building to sidewalk",36,null],[3,"Amenity","","A business located inside a building.",null,null],[12,"names","","",37,null],[12,"amenity_type","","This is the specific amenity listed in OSM, not the more …",37,null],[12,"osm_tags","","Depending on options while importing, these might be …",37,null],[4,"OffstreetParking","","Represent no parking as Private(0, false).",null,null],[13,"PublicGarage","","(Name, spots)",38,null],[13,"Private","","(Spots, explicitly tagged as a garage)",38,null],[4,"BuildingType","","",null,null],[13,"Residential","","",39,null],[12,"num_residents","map_model::objects::building::BuildingType","",40,null],[12,"num_housing_units","","",40,null],[13,"ResidentialCommercial","map_model::objects::building","An estimated number of residents, workers",39,null],[13,"Commercial","","An estimated number of workers",39,null],[13,"Empty","","",39,null],[11,"has_residents","","",39,[[]]],[3,"NamePerLanguage","","None corresponds to the native name",null,null],[12,"0","","",41,null],[11,"get","","",41,[[["option",4],["string",3]],["string",3]]],[11,"new","","",41,[[["tags",3]],[["option",4],["nameperlanguage",3]]]],[11,"unnamed","","",41,[[],["nameperlanguage",3]]],[11,"sidewalk","","",36,[[],["laneid",3]]],[11,"house_number","","",36,[[],[["option",4],["string",3]]]],[11,"driving_connection","","The polyline goes from the building to the driving …",36,[[["map",3]],["option",4]]],[11,"biking_connection","","Returns (biking position, sidewalk position). Could fail …",36,[[["map",3]],["option",4]]],[11,"num_parking_spots","","",36,[[]]],[11,"has_amenity","","Does this building contain any amenity matching the …",36,[[["amenitytype",4]]]],[5,"sidewalk_to_bike","","",null,[[["position",3],["map",3]],["option",4]]],[4,"AmenityType","","Businesses are categorized into one of these types.",null,null],[13,"Groceries","","",42,null],[13,"Food","","",42,null],[13,"Bar","","",42,null],[13,"Medical","","",42,null],[13,"Religious","","",42,null],[13,"Education","","",42,null],[13,"Financial","","",42,null],[13,"PostOffice","","",42,null],[13,"Culture","","",42,null],[13,"Childcare","","",42,null],[13,"Shopping","","",42,null],[11,"types","","",42,[[],["vec",3]]],[11,"all","","All types of amenities, in an arbitrary order.",42,[[],[["amenitytype",4],["vec",3]]]],[11,"categorize","","Categorize an OSM amenity tag.",42,[[],[["option",4],["amenitytype",4]]]],[11,"parse","","",42,[[],[["option",4],["amenitytype",4]]]],[0,"bus_stop","map_model::objects","Bus stops and routes.",null,null],[3,"BusStopID","map_model::objects::bus_stop","",null,null],[12,"sidewalk","","",43,null],[12,"idx","","As long as this is unique per lane, this value is …",43,null],[3,"BusRouteID","","",null,null],[12,"0","","",44,null],[3,"BusStop","","",null,null],[12,"id","","",45,null],[12,"name","","",45,null],[12,"driving_pos","","These may be on different roads entirely, like for light …",45,null],[12,"sidewalk_pos","","",45,null],[12,"is_train_stop","","If it\'s both, train overrides bus",45,null],[3,"BusRoute","","",null,null],[12,"id","","",46,null],[12,"full_name","","",46,null],[12,"short_name","","",46,null],[12,"gtfs_trip_marker","","",46,null],[12,"osm_rel_id","","",46,null],[12,"stops","","",46,null],[12,"start","","May be a border or not. If not, is long enough for buses …",46,null],[12,"end_border","","",46,null],[12,"route_type","","",46,null],[12,"spawn_times","","Non-empty, times in order for one day when a vehicle …",46,null],[12,"orig_spawn_times","","Explicitly store whatever the original was, since this …",46,null],[11,"all_steps","","",46,[[["map",3]],[["vec",3],["pathrequest",3]]]],[11,"plural_noun","","",46,[[]]],[0,"intersection","map_model::objects","",null,null],[3,"IntersectionID","map_model::objects::intersection","",null,null],[12,"0","","",47,null],[4,"IntersectionType","","",null,null],[13,"StopSign","","",48,null],[13,"TrafficSignal","","",48,null],[13,"Border","","",48,null],[13,"Construction","","",48,null],[3,"Intersection","","An intersection connects roads. Most have >2 roads and …",null,null],[12,"id","","",49,null],[12,"polygon","","This needs to be in clockwise orientation, or later …",49,null],[12,"turns","","",49,null],[12,"elevation","","",49,null],[12,"intersection_type","","",49,null],[12,"orig_id","","",49,null],[12,"incoming_lanes","","Note that a lane may belong to both incoming_lanes and …",49,null],[12,"outgoing_lanes","","",49,null],[12,"roads","","",49,null],[12,"merged","","Was a short road adjacent to this intersection merged?",49,null],[11,"is_border","","",49,[[]]],[11,"is_incoming_border","","",49,[[]]],[11,"is_outgoing_border","","",49,[[]]],[11,"is_closed","","",49,[[]]],[11,"is_stop_sign","","",49,[[]]],[11,"is_traffic_signal","","",49,[[]]],[11,"is_light_rail","","",49,[[["map",3]]]],[11,"is_private","","",49,[[["map",3]]]],[11,"is_footway","","",49,[[["map",3]]]],[11,"is_cycleway","","",49,[[["map",3]]]],[11,"get_incoming_lanes","","",49,[[["map",3],["pathconstraints",4]],[["vec",3],["laneid",3]]]],[11,"get_outgoing_lanes","","Strict for bikes. If there are bike lanes, not allowed to …",49,[[["map",3],["pathconstraints",4]],[["vec",3],["laneid",3]]]],[11,"get_zorder","","",49,[[["map",3]]]],[11,"get_rank","","",49,[[["map",3]],["roadrank",4]]],[11,"get_roads_sorted_by_incoming_angle","","",49,[[["vec",3]],[["vec",3],["roadid",3]]]],[11,"some_outgoing_road","","",49,[[["map",3]],[["option",4],["directedroadid",3]]]],[11,"some_incoming_road","","",49,[[["map",3]],[["option",4],["directedroadid",3]]]],[11,"name","","",49,[[["option",4],["map",3],["string",3]],["string",3]]],[0,"lane","map_model::objects","",null,null],[17,"PARKING_LOT_SPOT_LENGTH","map_model::objects::lane","From some manually audited cases in Seattle, the length …",null,null],[3,"LaneID","","",null,null],[12,"0","","",50,null],[4,"LaneType","","",null,null],[13,"Driving","","",51,null],[13,"Parking","","",51,null],[13,"Sidewalk","","",51,null],[13,"Shoulder","","",51,null],[13,"Biking","","",51,null],[13,"Bus","","",51,null],[13,"SharedLeftTurn","","",51,null],[13,"Construction","","",51,null],[13,"LightRail","","",51,null],[11,"is_for_moving_vehicles","","",51,[[]]],[11,"supports_any_movement","","",51,[[]]],[11,"describe","","",51,[[]]],[11,"short_name","","",51,[[]]],[3,"Lane","","A road segment is broken down into individual lanes, …",null,null],[12,"id","","",52,null],[12,"parent","","",52,null],[12,"lane_type","","",52,null],[12,"lane_center_pts","","",52,null],[12,"width","","",52,null],[12,"src_i","","",52,null],[12,"dst_i","","",52,null],[12,"bus_stops","","Meaningless order",52,null],[12,"driving_blackhole","","{Cars, bikes} trying to start or end here might not be …",52,null],[12,"biking_blackhole","","",52,null],[11,"first_pt","","",52,[[],["pt2d",3]]],[11,"last_pt","","",52,[[],["pt2d",3]]],[11,"first_line","","",52,[[],["line",3]]],[11,"last_line","","",52,[[],["line",3]]],[11,"endpoint","","",52,[[["intersectionid",3]],["pt2d",3]]],[11,"end_line","","pt2 will be endpoint",52,[[["intersectionid",3]],["line",3]]],[11,"dist_along_of_point","","",52,[[["pt2d",3]],[["option",4],["distance",3]]]],[11,"length","","",52,[[],["distance",3]]],[11,"intersections","","",52,[[],[["intersectionid",3],["vec",3]]]],[11,"number_parking_spots","","",52,[[["mapconfig",3]]]],[11,"is_driving","","",52,[[]]],[11,"is_biking","","",52,[[]]],[11,"is_bus","","",52,[[]]],[11,"is_walkable","","",52,[[]]],[11,"is_sidewalk","","",52,[[]]],[11,"is_shoulder","","",52,[[]]],[11,"is_parking","","",52,[[]]],[11,"is_light_rail","","",52,[[]]],[11,"get_directed_parent","","",52,[[["map",3]],["directedroadid",3]]],[11,"get_turn_restrictions","","",52,[[["road",3]],[["option",4],["btreeset",3]]]],[11,"trace_around_block","","Starting from this lane, follow the lane\'s left edge to …",52,[[["map",3]],["option",4]]],[0,"parking_lot","map_model::objects","",null,null],[3,"ParkingLotID","map_model::objects::parking_lot","",null,null],[12,"0","","",53,null],[3,"ParkingLot","","Parking lots have some fixed capacity for cars, and are …",null,null],[12,"id","","",54,null],[12,"polygon","","",54,null],[12,"aisles","","",54,null],[12,"osm_id","","",54,null],[12,"spots","","The middle of the \\\"T\\\", pointing towards the parking aisle",54,null],[12,"extra_spots","","If we can\'t render all spots (maybe a lot with no aisles …",54,null],[12,"driveway_line","","Goes from the lot to the driving lane",54,null],[12,"driving_pos","","Guaranteed to be at least 7m (MAX_CAR_LENGTH + a little …",54,null],[12,"sidewalk_line","","Lot to sidewalk",54,null],[12,"sidewalk_pos","","",54,null],[11,"capacity","","",54,[[]]],[0,"road","map_model::objects","",null,null],[3,"RoadID","map_model::objects::road","",null,null],[12,"0","","",55,null],[4,"Direction","","",null,null],[13,"Fwd","","",56,null],[13,"Back","","",56,null],[11,"opposite","","",56,[[],["direction",4]]],[3,"DirectedRoadID","","",null,null],[12,"id","","",57,null],[12,"dir","","",57,null],[11,"src_i","","",57,[[["map",3]],["intersectionid",3]]],[11,"dst_i","","",57,[[["map",3]],["intersectionid",3]]],[11,"lanes","","Strict for bikes. If there are bike lanes, not allowed to …",57,[[["map",3],["pathconstraints",4]],[["vec",3],["laneid",3]]]],[3,"Road","","A Road represents a segment between exactly two …",null,null],[12,"id","","",58,null],[12,"osm_tags","","",58,null],[12,"turn_restrictions","","self is \'from\'",58,null],[12,"complicated_turn_restrictions","","self is \'from\'. (via, to). Only BanTurns.",58,null],[12,"orig_id","","",58,null],[12,"speed_limit","","",58,null],[12,"access_restrictions","","",58,null],[12,"zorder","","",58,null],[12,"lanes_ltr","","Invariant: A road must contain at least one child",58,null],[12,"center_pts","","The physical center of the road, including sidewalks, …",58,null],[12,"src_i","","",58,null],[12,"dst_i","","",58,null],[11,"lanes_ltr","","Returns all lanes from the left side of the road to …",58,[[],["vec",3]]],[11,"get_left_side","","",58,[[["map",3]],["polyline",3]]],[11,"offset","","Counting from the left side of the road",58,[[["laneid",3]]]],[11,"dir","","",58,[[["laneid",3]],["direction",4]]],[11,"parking_to_driving","","",58,[[["map",3],["laneid",3]],[["laneid",3],["option",4]]]],[11,"speed_limit_from_osm","","",58,[[],["speed",3]]],[11,"find_closest_lane","","Includes off-side",58,[[["map",3],["laneid",3],["fn",8]],[["laneid",3],["option",4]]]],[11,"all_lanes","","",58,[[],[["vec",3],["laneid",3]]]],[11,"get_dir_change_pl","","This is the FIRST yellow line where the direction of the …",58,[[["map",3]],["polyline",3]]],[11,"get_half_width","","",58,[[["map",3]],["distance",3]]],[11,"get_thick_polygon","","",58,[[["map",3]],["polygon",3]]],[11,"get_name","","",58,[[["option",4],["string",3]],["string",3]]],[11,"get_rank","","",58,[[],["roadrank",4]]],[11,"all_bus_stops","","",58,[[["map",3]],[["busstopid",3],["vec",3]]]],[11,"percent_grade","","Returns [-1.0, 1.0]. 0 is flat, positive is uphill, …",58,[[["map",3]]]],[11,"is_light_rail","","",58,[[]]],[11,"is_footway","","",58,[[]]],[11,"is_service","","",58,[[]]],[11,"is_cycleway","","",58,[[]]],[11,"common_endpt","","",58,[[["road",3]],["intersectionid",3]]],[11,"is_private","","",58,[[]]],[11,"access_restrictions_from_osm","","",58,[[],["accessrestrictions",3]]],[11,"get_zone","","",58,[[["map",3]],[["zone",3],["option",4]]]],[11,"is_extremely_short","","Many roads wind up with almost no length, due to their …",58,[[]]],[11,"children_forwards","","These are ordered from closest to center lane (left-most …",58,[[],["vec",3]]],[11,"children_backwards","","",58,[[],["vec",3]]],[11,"dir_and_offset","","lane must belong to this road. Offset 0 is the centermost …",58,[[["laneid",3]]]],[11,"children","","",58,[[["direction",4]],["vec",3]]],[11,"incoming_lanes","","Returns lanes from the \\\"center\\\" going out",58,[[["intersectionid",3]],["vec",3]]],[11,"outgoing_lanes","","Returns lanes from the \\\"center\\\" going out",58,[[["intersectionid",3]],["vec",3]]],[0,"stop_signs","map_model::objects","",null,null],[3,"ControlStopSign","map_model::objects::stop_signs","",null,null],[12,"id","","",59,null],[12,"roads","","",59,null],[3,"RoadWithStopSign","","",null,null],[12,"lane_closest_to_edge","","",60,null],[12,"must_stop","","",60,null],[11,"new","","",59,[[["map",3],["intersectionid",3]],["controlstopsign",3]]],[11,"get_priority","","Get the priority of a turn according to the stop sign -- …",59,[[["map",3],["turnid",3]],["turnpriority",4]]],[11,"flip_sign","","",59,[[["roadid",3]]]],[0,"traffic_signals","map_model::objects","",null,null],[17,"CROSSWALK_PACE","map_model::objects::traffic_signals","",null,null],[3,"ControlTrafficSignal","","A traffic signal consists of a sequence of Stages that …",null,null],[12,"id","","",61,null],[12,"stages","","",61,null],[12,"offset","","",61,null],[12,"movements","","",61,null],[3,"Stage","","",null,null],[12,"protected_movements","","",62,null],[12,"yield_movements","","",62,null],[12,"stage_type","","",62,null],[4,"StageType","","",null,null],[13,"Fixed","","",63,null],[13,"Variable","","Minimum is the minimum duration, 0 allows cycle to be …",63,null],[11,"simple_duration","","",63,[[],["duration",3]]],[11,"new","","",61,[[["map",3],["intersectionid",3]],["controltrafficsignal",3]]],[11,"validating_new","","Only call this variant while importing the map, to …",61,[[["map",3],["intersectionid",3]],["controltrafficsignal",3]]],[11,"get_possible_policies","","",61,[[["map",3],["intersectionid",3]],["vec",3]]],[11,"get_min_crossing_time","","",61,[[],["duration",3]]],[11,"validate","","",61,[[],["result",6]]],[11,"convert_to_ped_scramble","","Move crosswalks from stages, adding them to an all-walk …",61,[[]]],[11,"convert_to_ped_scramble_without_promotion","","Move crosswalks from stages, adding them to an all-walk …",61,[[]]],[11,"internal_convert_to_ped_scramble","","",61,[[]]],[11,"adjust_major_minor_timing","","Modifies the fixed timing of all stages, applying either …",61,[[["duration",3],["map",3]],["result",6]]],[11,"turn_to_movement","","",61,[[["turnid",3]],["movementid",3]]],[11,"missing_turns","","",61,[[],[["movementid",3],["btreeset",3]]]],[11,"compressed_id","","",61,[[["turnid",3]],["compressedmovementid",3]]],[11,"simple_cycle_duration","","How long a full cycle of the signal lasts, assuming no …",61,[[],["duration",3]]],[11,"new","","",62,[[],["stage",3]]],[11,"could_be_protected","","",62,[[["movementid",3],["btreemap",3]]]],[11,"get_priority_of_turn","","",62,[[["turnid",3],["controltrafficsignal",3]],["turnpriority",4]]],[11,"get_priority_of_movement","","",62,[[["movementid",3]],["turnpriority",4]]],[11,"edit_movement","","",62,[[["turnpriority",4],["movement",3]]]],[11,"enforce_minimum_crosswalk_time","","",62,[[["movement",3]]]],[11,"max_crosswalk_time","","",62,[[["btreemap",3]],[["option",4],["duration",3]]]],[11,"export","","",61,[[["map",3]],["trafficsignal",3]]],[11,"import","","",61,[[["intersectionid",3],["map",3],["trafficsignal",3]],[["result",6],["controltrafficsignal",3]]]],[5,"export_movement","","",null,[[["movementid",3],["map",3]],["turn",3]]],[5,"import_movement","","",null,[[["map",3],["turn",3]],[["movementid",3],["result",6]]]],[5,"find_r","","",null,[[["map",3],["directedroad",3]],[["result",6],["directedroadid",3]]]],[0,"turn","map_model::objects","",null,null],[3,"TurnID","map_model::objects::turn","Turns are uniquely identified by their (src, dst) lanes …",null,null],[12,"parent","","",64,null],[12,"src","","src and dst must both belong to parent. No guarantees …",64,null],[12,"dst","","",64,null],[4,"TurnType","","",null,null],[13,"Crosswalk","","",65,null],[13,"SharedSidewalkCorner","","",65,null],[13,"Straight","","",65,null],[13,"Right","","",65,null],[13,"Left","","",65,null],[13,"UTurn","","",65,null],[4,"TurnPriority","","",null,null],[13,"Banned","","For stop signs: Can\'t currently specify this! For traffic …",66,null],[13,"Yield","","For stop signs: cars have to stop before doing this turn, …",66,null],[13,"Protected","","For stop signs: cars can do this without stopping. These …",66,null],[3,"Turn","","A Turn leads from the end of one Lane to the start of …",null,null],[12,"id","","",67,null],[12,"turn_type","","",67,null],[12,"geom","","",67,null],[12,"other_crosswalk_ids","","Empty except for TurnType::Crosswalk. Usually just one …",67,null],[11,"conflicts_with","","",67,[[["turn",3]]]],[11,"angle","","",67,[[],["angle",3]]],[11,"between_sidewalks","","",67,[[]]],[11,"penalty","","penalties for (lane types, lane-changing, slow lane)",67,[[["map",3]]]],[3,"MovementID","","One road usually has 4 crosswalks, each a singleton …",null,null],[12,"from","","",68,null],[12,"to","","",68,null],[12,"parent","","",68,null],[12,"crosswalk","","",68,null],[3,"CompressedMovementID","","This is cheaper to store than a MovementID. It simply …",null,null],[12,"i","","",69,null],[12,"idx","","",69,null],[3,"Movement","","A Movement groups all turns from one road to another, …",null,null],[12,"id","","",70,null],[12,"turn_type","","",70,null],[12,"members","","",70,null],[12,"geom","","The \\\"overall\\\" path of movement, aka, an \\\"average\\\" of the …",70,null],[12,"angle","","",70,null],[11,"for_i","","",70,[[["intersectionid",3],["map",3]],[["btreemap",3],["result",6]]]],[11,"src_center_and_width","","Polyline points FROM intersection",70,[[["map",3]]]],[11,"conflicts_with","","",70,[[["movement",3]]]],[5,"movement_geom","","",null,[[["polyline",3],["vec",3],["directedroadid",3]],[["result",6],["polyline",3]]]],[0,"zone","map_model::objects","Zones and AccessRestrictions are used to model things …",null,null],[3,"AccessRestrictions","map_model::objects::zone","",null,null],[12,"allow_through_traffic","","",71,null],[12,"cap_vehicles_per_hour","","",71,null],[11,"new","","",71,[[],["accessrestrictions",3]]],[3,"Zone","","A contiguous set of roads with access restrictions. This …",null,null],[12,"members","","",72,null],[12,"borders","","",72,null],[12,"restrictions","","",72,null],[11,"make_all","","",72,[[["map",3]],[["vec",3],["zone",3]]]],[11,"pathfind","","Run slower Dijkstra\'s within the interior of a private …",72,[[["map",3],["pathrequest",3]],[["option",4],["path",3]]]],[11,"pathfind_walking","","",72,[[["map",3],["pathrequest",3]],[["vec",3],["option",4]]]],[5,"floodfill","","",null,[[["map",3],["roadid",3]],["zone",3]]],[0,"osm","map_model","Useful utilities for working with OpenStreetMap.",null,null],[17,"NAME","map_model::osm","",null,null],[17,"HIGHWAY","","",null,null],[17,"MAXSPEED","","",null,null],[17,"PARKING_RIGHT","","",null,null],[17,"PARKING_LEFT","","",null,null],[17,"PARKING_BOTH","","",null,null],[17,"SIDEWALK","","",null,null],[17,"OSM_WAY_ID","","",null,null],[17,"OSM_REL_ID","","",null,null],[17,"ENDPT_FWD","","",null,null],[17,"ENDPT_BACK","","",null,null],[17,"INFERRED_PARKING","","",null,null],[17,"INFERRED_SIDEWALKS","","",null,null],[4,"RoadRank","","",null,null],[13,"Local","","",73,null],[13,"Arterial","","",73,null],[13,"Highway","","",73,null],[11,"from_highway","","",73,[[],["roadrank",4]]],[11,"detailed_from_highway","","Larger number means a bigger road, according to …",73,[[]]],[3,"NodeID","","",null,null],[12,"0","","",74,null],[3,"WayID","","",null,null],[12,"0","","",75,null],[3,"RelationID","","",null,null],[12,"0","","",76,null],[4,"OsmID","","",null,null],[13,"Node","","",77,null],[13,"Way","","",77,null],[13,"Relation","","",77,null],[11,"inner","","",77,[[]]],[0,"pathfind","map_model","Everything related to pathfinding through a map for …",null,null],[0,"ch","map_model::pathfind","Uses https://github.com/easbar/fast_paths. Slower …",null,null],[3,"ContractionHierarchyPathfinder","map_model::pathfind::ch","",null,null],[12,"car_graph","","",78,null],[12,"bike_graph","","",78,null],[12,"bus_graph","","",78,null],[12,"train_graph","","",78,null],[12,"walking_graph","","",78,null],[12,"walking_with_transit_graph","","",78,null],[11,"new","","",78,[[["map",3],["timer",3]],["contractionhierarchypathfinder",3]]],[11,"simple_pathfind","","",78,[[["map",3],["pathrequest",3]],[["option",4],["path",3]]]],[11,"simple_walking_path","","",78,[[["map",3],["pathrequest",3]],[["vec",3],["option",4]]]],[11,"should_use_transit","","",78,[[["map",3],["position",3]],["option",4]]],[11,"apply_edits","","",78,[[["map",3],["timer",3]]]],[0,"dijkstra","map_model::pathfind","Pathfinding without needing to build a separate …",null,null],[5,"simple_pathfind","map_model::pathfind::dijkstra","",null,[[["routingparams",3],["map",3],["pathrequest",3]],[["option",4],["path",3]]]],[5,"build_graph_for_vehicles","","",null,[[["map",3],["pathconstraints",4]],[["digraphmap",6],["laneid",3],["turnid",3]]]],[5,"pathfind_avoiding_lanes","","",null,[[["pathrequest",3],["laneid",3],["btreeset",3],["map",3]],[["option",4],["path",3]]]],[5,"calc_path","","",null,[[["routingparams",3],["laneid",3],["digraphmap",6],["map",3],["turnid",3],["pathrequest",3]],[["option",4],["path",3]]]],[5,"build_graph_for_pedestrians","","",null,[[["map",3]],[["digraphmap",6],["walkingnode",4]]]],[5,"simple_walking_path","","",null,[[["map",3],["pathrequest",3]],[["vec",3],["option",4]]]],[0,"driving","map_model::pathfind","Pathfinding for cars, bikes, buses, and trains using …",null,null],[3,"VehiclePathfinder","map_model::pathfind::driving","",null,null],[12,"graph","","",79,null],[12,"nodes","","",79,null],[12,"uber_turns","","",79,null],[12,"constraints","","",79,null],[12,"path_calc","","",79,null],[4,"Node","","",null,null],[13,"Lane","","",80,null],[13,"UberTurn","","",80,null],[11,"new","","",79,[[["option",4],["vehiclepathfinder",3],["map",3],["pathconstraints",4]],["vehiclepathfinder",3]]],[11,"pathfind","","",79,[[["map",3],["pathrequest",3]],["option",4]]],[11,"apply_edits","","",79,[[["map",3]]]],[5,"make_input_graph","","",null,[[["map",3],["nodemap",3],["vec",3],["pathconstraints",4]],["inputgraph",3]]],[5,"driving_cost","","Different unit based on constraints.",null,[[["routingparams",3],["lane",3],["map",3],["turn",3],["pathconstraints",4]]]],[5,"round","","",null,[[]]],[0,"node_map","map_model::pathfind","Some helpers for working with fast_paths.",null,null],[3,"NodeMap","map_model::pathfind::node_map","A bidirectional mapping between fast_paths NodeId and …",null,null],[12,"node_to_id","","",81,null],[12,"id_to_node","","",81,null],[11,"new","","",81,[[],["nodemap",3]]],[11,"get_or_insert","","",81,[[],["nodeid",6]]],[11,"get","","",81,[[],["nodeid",6]]],[11,"translate","","",81,[[["shortestpath",3]],["vec",3]]],[3,"InnerNodeMap","","",null,null],[12,"id_to_node","","",82,null],[5,"deserialize_nodemap","","",null,[[["deserializer",8]],[["nodemap",3],["result",4]]]],[0,"pathfinder","map_model::pathfind","",null,null],[4,"Pathfinder","map_model::pathfind::pathfinder","Most of the time, prefer using the faster contraction …",null,null],[13,"Dijkstra","","",83,null],[13,"CH","","",83,null],[11,"pathfind","","Finds a path from a start to an end for a certain type of …",83,[[["map",3],["pathrequest",3]],[["option",4],["path",3]]]],[11,"pathfind_with_params","","Finds a path from a start to an end for a certain type of …",83,[[["routingparams",3],["pathrequest",3],["map",3]],[["option",4],["path",3]]]],[11,"pathfind_avoiding_lanes","","",83,[[["pathrequest",3],["laneid",3],["btreeset",3],["map",3]],[["option",4],["path",3]]]],[11,"should_use_transit","","",83,[[["map",3],["position",3]],["option",4]]],[11,"apply_edits","","",83,[[["map",3],["timer",3]]]],[11,"simple_pathfind","","",83,[[["routingparams",3],["map",3],["pathrequest",3]],[["option",4],["path",3]]]],[11,"simple_walking_path","","",83,[[["map",3],["pathrequest",3]],[["vec",3],["option",4]]]],[11,"pathfind_from_zone","","",83,[[["pathrequest",3],["map",3],["intersection",3],["zone",3]],[["option",4],["path",3]]]],[11,"pathfind_to_zone","","",83,[[["pathrequest",3],["map",3],["intersection",3],["zone",3]],[["option",4],["path",3]]]],[0,"uber_turns","map_model::pathfind","To deal with complicated intersections and short roads in …",null,null],[3,"IntersectionCluster","map_model::pathfind::uber_turns","This only applies to VehiclePathfinder; walking through …",null,null],[12,"members","","",84,null],[12,"uber_turns","","",84,null],[3,"UberTurn","","",null,null],[12,"path","","",85,null],[11,"find_all","","",84,[[["map",3]],[["intersectioncluster",3],["vec",3]]]],[11,"new","","(legal, illegal)",84,[[["intersectionid",3],["btreeset",3],["map",3]]]],[11,"autodetect","","Find all other traffic signals \\\"close\\\" to one. Ignore …",84,[[["intersectionid",3],["map",3]],[["btreeset",3],["option",4]]]],[5,"flood","","",null,[[["map",3],["turnid",3],["btreeset",3]],[["vec",3],["uberturn",3]]]],[5,"trace_back","","",null,[[["turnid",3],["btreemap",3]],[["vec",3],["turnid",3]]]],[11,"entry","","",85,[[],["laneid",3]]],[11,"exit","","",85,[[],["laneid",3]]],[11,"geom","","",85,[[["map",3]],["polyline",3]]],[3,"UberTurnGroup","","",null,null],[12,"from","","",86,null],[12,"to","","",86,null],[12,"members","","",86,null],[12,"geom","","",86,null],[11,"uber_turn_groups","","",84,[[["map",3]],[["uberturngroup",3],["vec",3]]]],[11,"src_center_and_width","","Polyline points FROM intersection",86,[[["map",3]]]],[11,"angle","","",86,[[],["angle",3]]],[5,"group_geom","","",null,[[["vec",3],["polyline",3]],["polyline",3]]],[0,"walking","map_model::pathfind","Pathfinding for pedestrians using contraction …",null,null],[3,"SidewalkPathfinder","map_model::pathfind::walking","",null,null],[12,"graph","","",87,null],[12,"nodes","","",87,null],[12,"use_transit","","",87,null],[12,"path_calc","","",87,null],[4,"WalkingNode","","",null,null],[13,"SidewalkEndpoint","","false is src_i, true is dst_i",3,null],[13,"RideBus","","",3,null],[13,"LeaveMap","","",3,null],[11,"closest","map_model::connectivity","",3,[[["position",3],["map",3]],["walkingnode",4]]],[11,"end_transit","","",3,[[["position",3],["map",3]],["walkingnode",4]]],[11,"new","map_model::pathfind::walking","",87,[[["map",3],["vehiclepathfinder",3]],["sidewalkpathfinder",3]]],[11,"apply_edits","","",87,[[["map",3],["vehiclepathfinder",3]]]],[11,"pathfind","","Returns the raw nodes",87,[[["map",3],["pathrequest",3]],[["vec",3],["option",4]]]],[11,"should_use_transit","","Attempt the pathfinding and see if we should ride a bus. …",87,[[["map",3],["position",3]],["option",4]]],[5,"make_input_graph","","",null,[[["vehiclepathfinder",3],["map",3],["nodemap",3]],["inputgraph",3]]],[5,"transit_input_graph","","",null,[[["inputgraph",3],["vehiclepathfinder",3],["map",3],["nodemap",3]]]],[5,"walking_cost","","The cost is time in seconds, rounded to a usize",null,[[["distance",3]]]],[5,"walking_path_to_steps","","",null,[[["walkingnode",4],["map",3],["vec",3]],[["vec",3],["pathstep",4]]]],[5,"one_step_walking_path","","",null,[[["map",3],["pathrequest",3]],["path",3]]],[4,"PathStep","map_model::pathfind","",null,null],[13,"Lane","","Original direction",88,null],[13,"ContraflowLane","","Sidewalks only!",88,null],[13,"Turn","","",88,null],[11,"as_traversable","","",88,[[],["traversable",4]]],[11,"as_lane","","",88,[[],["laneid",3]]],[11,"as_turn","","",88,[[],["turnid",3]]],[11,"exact_slice","","",88,[[["map",3],["option",4],["distance",3]],[["result",6],["polyline",3]]]],[3,"Path","","",null,null],[12,"steps","","",89,null],[12,"orig_req","","",89,null],[12,"total_length","","",89,null],[12,"crossed_so_far","","",89,null],[12,"uber_turns","","",89,null],[12,"currently_inside_ut","","",89,null],[11,"new","","",89,[[["vec",3],["pathrequest",3],["map",3],["pathstep",4],["vec",3],["uberturn",3]],["path",3]]],[11,"dist_crossed_from_step","","Once we finish this PathStep, how much distance will be …",89,[[["map",3],["pathstep",4]],["distance",3]]],[11,"one_step","","",89,[[["map",3],["pathrequest",3]],["path",3]]],[11,"get_req","","The original PathRequest used to produce this path. If …",89,[[],["pathrequest",3]]],[11,"crossed_so_far","","",89,[[],["distance",3]]],[11,"total_length","","",89,[[],["distance",3]]],[11,"percent_dist_crossed","","",89,[[]]],[11,"is_empty","","",89,[[]]],[11,"is_last_step","","",89,[[]]],[11,"isnt_last_step","","",89,[[]]],[11,"currently_inside_ut","","",89,[[],["option",4]]],[11,"about_to_start_ut","","",89,[[],[["option",4],["uberturn",3]]]],[11,"shift","","",89,[[["map",3]],["pathstep",4]]],[11,"add","","",89,[[["pathstep",4],["map",3]]]],[11,"is_upcoming_uber_turn_component","","",89,[[["turnid",3]]]],[11,"modify_step","","Trusting the caller to do this in valid ways.",89,[[["pathstep",4],["map",3]]]],[11,"current_step","","",89,[[],["pathstep",4]]],[11,"next_step","","",89,[[],["pathstep",4]]],[11,"maybe_next_step","","",89,[[],[["option",4],["pathstep",4]]]],[11,"last_step","","",89,[[],["pathstep",4]]],[11,"trace","","Traces along the path from its originally requested …",89,[[["map",3]],[["option",4],["polyline",3]]]],[11,"trace_from_start","","Traces along the path from a specified distance along the …",89,[[["map",3],["distance",3]],[["option",4],["polyline",3]]]],[11,"get_steps","","",89,[[],["vecdeque",3]]],[11,"append","","",89,[[["map",3],["path",3]]]],[11,"estimate_duration","","Estimate how long following the path will take in the …",89,[[["speed",3],["map",3],["pathconstraints",4],["option",4]],["duration",3]]],[4,"PathConstraints","","Who\'s asking for a path?",null,null],[13,"Pedestrian","","",90,null],[13,"Car","","",90,null],[13,"Bike","","",90,null],[13,"Bus","","",90,null],[13,"Train","","",90,null],[11,"all","","",90,[[],[["pathconstraints",4],["vec",3]]]],[11,"from_lt","","Not bijective, but this is the best guess of user intent",90,[[["lanetype",4]],["pathconstraints",4]]],[11,"can_use","","",90,[[["lane",3],["map",3]]]],[11,"filter_lanes","","Strict for bikes. If there are bike lanes, not allowed to …",90,[[["map",3],["vec",3],["laneid",3]],[["vec",3],["laneid",3]]]],[3,"PathRequest","","",null,null],[12,"start","","",91,null],[12,"end","","",91,null],[12,"constraints","","",91,null],[11,"between_buildings","","Determines the start and end position to travel between …",91,[[["map",3],["buildingid",3],["pathconstraints",4]],[["option",4],["pathrequest",3]]]],[5,"validate_continuity","","",null,[[["map",3],["vec",3]]]],[5,"validate_restrictions","","",null,[[["map",3],["vec",3]]]],[3,"RoutingParams","","Tuneable parameters for all types of routing.",null,null],[12,"bike_lane_penalty","","",92,null],[12,"bus_lane_penalty","","",92,null],[12,"driving_lane_penalty","","",92,null],[11,"default","","",92,[[],["routingparams",3]]],[0,"raw","map_model","The convert_osm crate produces a RawMap from OSM and …",null,null],[3,"RawMap","map_model::raw","",null,null],[12,"name","","",93,null],[12,"roads","","",93,null],[12,"intersections","","",93,null],[12,"buildings","","",93,null],[12,"bus_routes","","",93,null],[12,"areas","","",93,null],[12,"parking_lots","","",93,null],[12,"parking_aisles","","",93,null],[12,"boundary_polygon","","",93,null],[12,"gps_bounds","","",93,null],[12,"config","","",93,null],[3,"OriginalRoad","","A way to refer to roads across many maps and over time. …",null,null],[12,"osm_way_id","","",94,null],[12,"i1","","",94,null],[12,"i2","","",94,null],[11,"new","","",94,[[],["originalroad",3]]],[11,"to_string_code","","Prints the OriginalRoad in a way that can be copied to …",94,[[],["string",3]]],[11,"blank","","",93,[[["mapname",3]],["rawmap",3]]],[11,"roads_per_intersection","","",93,[[["nodeid",3]],[["vec",3],["originalroad",3]]]],[11,"new_osm_node_id","","",93,[[],["nodeid",3]]],[11,"new_osm_way_id","","",93,[[],["wayid",3]]],[11,"preview_intersection","","(Intersection polygon, polygons for roads, list of …",93,[[["nodeid",3]]]],[11,"trimmed_road_geometry","","Generate the trimmed PolyLine for a single RawRoad by …",93,[[["originalroad",3]],[["option",4],["polyline",3]]]],[11,"save","","",93,[[]]],[11,"get_city_name","","",93,[[],["cityname",3]]],[11,"can_delete_intersection","","",93,[[["nodeid",3]]]],[11,"delete_intersection","","",93,[[["nodeid",3]]]],[11,"move_intersection","","",93,[[["nodeid",3],["pt2d",3]],[["vec",3],["option",4]]]],[11,"closest_intersection","","",93,[[["pt2d",3]],["nodeid",3]]],[11,"path_dist_to","","",93,[[["nodeid",3]],[["option",4],["distance",3]]]],[11,"merge_short_road","","(the surviving intersection, the deleted intersection, …",93,[[["originalroad",3]],["result",6]]],[3,"RawRoad","","",null,null],[12,"center_points","","This is effectively a PolyLine, except there\'s a case …",95,null],[12,"osm_tags","","",95,null],[12,"turn_restrictions","","",95,null],[12,"complicated_turn_restrictions","","(via, to). For turn restrictions where \'via\' is an entire …",95,null],[11,"get_geometry","","Returns the corrected center and total width",95,[[["originalroad",3],["mapconfig",3]],["result",6]]],[11,"is_light_rail","","",95,[[]]],[11,"is_footway","","",95,[[]]],[11,"is_service","","",95,[[]]],[3,"RawIntersection","","",null,null],[12,"point","","Represents the original place where OSM center-lines …",96,null],[12,"intersection_type","","",96,null],[12,"elevation","","",96,null],[3,"RawBuilding","","",null,null],[12,"polygon","","",97,null],[12,"osm_tags","","",97,null],[12,"public_garage_name","","",97,null],[12,"num_parking_spots","","",97,null],[12,"amenities","","",97,null],[3,"RawArea","","",null,null],[12,"area_type","","",98,null],[12,"polygon","","",98,null],[12,"osm_tags","","",98,null],[12,"osm_id","","",98,null],[3,"RawParkingLot","","",null,null],[12,"osm_id","","",99,null],[12,"polygon","","",99,null],[12,"osm_tags","","",99,null],[4,"RestrictionType","","",null,null],[13,"BanTurns","","",100,null],[13,"OnlyAllowTurns","","",100,null],[3,"TurnRestriction","","",null,null],[12,"0","","",101,null],[12,"1","","",101,null],[12,"2","","",101,null],[11,"new","","",100,[[],[["option",4],["restrictiontype",4]]]],[3,"RawBusRoute","","",null,null],[12,"full_name","","",102,null],[12,"short_name","","",102,null],[12,"osm_rel_id","","",102,null],[12,"gtfs_trip_marker","","",102,null],[12,"is_bus","","If not, light rail",102,null],[12,"stops","","",102,null],[12,"border_start","","",102,null],[12,"border_end","","",102,null],[12,"all_pts","","This is guaranteed to be in order and contiguous.",102,null],[3,"RawBusStop","","",null,null],[12,"name","","",103,null],[12,"vehicle_pos","","Probably not an intersection, but this type is more …",103,null],[12,"matched_road","","Guaranteed to be filled out when RawMap is fully written.",103,null],[12,"ped_pos","","If it\'s not explicitly mapped, we\'ll do equiv_pos.",103,null],[0,"traversable","map_model","",null,null],[3,"Position","map_model::traversable","Represents a specific point some distance along a lane.",null,null],[12,"lane","","",104,null],[12,"dist_along","","",104,null],[11,"new","","",104,[[["laneid",3],["distance",3]],["position",3]]],[11,"start","","",104,[[["laneid",3]],["position",3]]],[11,"end","","",104,[[["map",3],["laneid",3]],["position",3]]],[11,"lane","","",104,[[],["laneid",3]]],[11,"dist_along","","",104,[[],["distance",3]]],[11,"pt","","",104,[[["map",3]],["pt2d",3]]],[11,"pt_and_angle","","",104,[[["map",3]]]],[11,"equiv_pos","","",104,[[["map",3],["laneid",3]],["position",3]]],[11,"equiv_pos_for_long_object","","",104,[[["map",3],["laneid",3],["distance",3]],["position",3]]],[11,"min_dist","","",104,[[["map",3],["distance",3]],[["option",4],["position",3]]]],[11,"buffer_dist","","",104,[[["map",3],["distance",3]],[["option",4],["position",3]]]],[4,"Traversable","","Either a lane or a turn, where most movement happens.",null,null],[13,"Lane","","",105,null],[13,"Turn","","",105,null],[11,"as_lane","","",105,[[],["laneid",3]]],[11,"as_turn","","",105,[[],["turnid",3]]],[11,"maybe_turn","","",105,[[],[["option",4],["turnid",3]]]],[11,"maybe_lane","","",105,[[],[["laneid",3],["option",4]]]],[11,"length","","",105,[[["map",3]],["distance",3]]],[11,"dist_along","","",105,[[["map",3],["distance",3]],["result",6]]],[11,"slice","","",105,[[["map",3],["distance",3]],["result",6]]],[11,"exact_slice","","",105,[[["map",3],["distance",3]],["polyline",3]]],[11,"speed_limit","","",105,[[["map",3]],["speed",3]]],[11,"get_zorder","","",105,[[["map",3]]]],[3,"City","map_model","A single city (like Seattle) can be broken down into …",null,null],[12,"name","","",0,null],[12,"boundary","","",0,null],[12,"areas","","",0,null],[12,"districts","","The individual maps",0,null],[4,"EditCmd","","",null,null],[13,"ChangeRoad","","",19,null],[12,"r","map_model::EditCmd","",20,null],[12,"old","","",20,null],[12,"new","","",20,null],[13,"ChangeIntersection","map_model","",19,null],[12,"i","map_model::EditCmd","",21,null],[12,"new","","",21,null],[12,"old","","",21,null],[13,"ChangeRouteSchedule","map_model","",19,null],[12,"id","map_model::EditCmd","",22,null],[12,"old","","",22,null],[12,"new","","",22,null],[3,"EditEffects","map_model","",null,null],[12,"changed_roads","","",23,null],[12,"changed_intersections","","",23,null],[12,"added_turns","","",23,null],[12,"deleted_turns","","",23,null],[4,"EditIntersection","","",null,null],[13,"StopSign","","",17,null],[13,"TrafficSignal","","",17,null],[13,"Closed","","",17,null],[3,"EditRoad","","",null,null],[12,"lanes_ltr","","",18,null],[12,"speed_limit","","",18,null],[12,"access_restrictions","","",18,null],[3,"MapEdits","","Represents changes to a map. Note this isn\'t serializable …",null,null],[12,"edits_name","","",16,null],[12,"commands","","A stack, oldest edit is first. The same intersection may …",16,null],[12,"merge_zones","","If false, adjacent roads with the same AccessRestrictions …",16,null],[12,"changed_roads","","Derived from commands, kept up to date by update_derived",16,null],[12,"original_intersections","","",16,null],[12,"changed_routes","","",16,null],[12,"proposal_description","","Some edits are included in the game by default, in …",16,null],[12,"proposal_link","","",16,null],[3,"PermanentMapEdits","","MapEdits are converted to this before serializing. …",null,null],[12,"map_name","","",9,null],[12,"edits_name","","",9,null],[12,"version","","",9,null],[12,"commands","","",9,null],[12,"merge_zones","","If false, adjacent roads with the same AccessRestrictions …",9,null],[12,"proposal_description","","Edits without these are player generated.",9,null],[12,"proposal_link","","The link is optional even for proposals",9,null],[4,"DrivingSide","","",null,null],[13,"Right","","",31,null],[13,"Left","","",31,null],[3,"MapConfig","","",null,null],[12,"driving_side","","If true, driving happens on the right side of the road …",30,null],[12,"bikes_can_use_bus_lanes","","",30,null],[12,"inferred_sidewalks","","If true, roads without explicitly tagged sidewalks may …",30,null],[12,"separate_cycleways","","If true, separate cycleways from OSM will be included.",30,null],[12,"street_parking_spot_length","","Street parking is divided into spots of this length. 8 …",30,null],[3,"Area","","Areas are just used for drawing.",null,null],[12,"id","","",34,null],[12,"area_type","","",34,null],[12,"polygon","","",34,null],[12,"osm_tags","","",34,null],[12,"osm_id","","The importing process also automatically creates some …",34,null],[3,"AreaID","","",null,null],[12,"0","","",32,null],[4,"AreaType","","",null,null],[13,"Park","","",33,null],[13,"Water","","",33,null],[13,"Island","","",33,null],[13,"MedianStrip","","",33,null],[13,"PedestrianPlaza","","",33,null],[13,"StudyArea","","Not from OSM. A user-specified area to focus on.",33,null],[3,"Amenity","","A business located inside a building.",null,null],[12,"names","","",37,null],[12,"amenity_type","","This is the specific amenity listed in OSM, not the more …",37,null],[12,"osm_tags","","Depending on options while importing, these might be …",37,null],[4,"AmenityType","","Businesses are categorized into one of these types.",null,null],[13,"Groceries","","",42,null],[13,"Food","","",42,null],[13,"Bar","","",42,null],[13,"Medical","","",42,null],[13,"Religious","","",42,null],[13,"Education","","",42,null],[13,"Financial","","",42,null],[13,"PostOffice","","",42,null],[13,"Culture","","",42,null],[13,"Childcare","","",42,null],[13,"Shopping","","",42,null],[3,"Building","","A building has connections to the road and sidewalk, may …",null,null],[12,"id","","",36,null],[12,"polygon","","",36,null],[12,"levels","","",36,null],[12,"address","","",36,null],[12,"name","","",36,null],[12,"orig_id","","",36,null],[12,"label_center","","Where a text label should be centered to have the best …",36,null],[12,"amenities","","",36,null],[12,"bldg_type","","",36,null],[12,"parking","","",36,null],[12,"osm_tags","","Depending on options while importing, these might be …",36,null],[12,"sidewalk_pos","","The building\'s connection for pedestrians is immutable. …",36,null],[12,"driveway_geom","","Goes from building to sidewalk",36,null],[3,"BuildingID","","",null,null],[12,"0","","",35,null],[4,"BuildingType","","",null,null],[13,"Residential","","",39,null],[12,"num_residents","map_model::BuildingType","",40,null],[12,"num_housing_units","","",40,null],[13,"ResidentialCommercial","map_model","An estimated number of residents, workers",39,null],[13,"Commercial","","An estimated number of workers",39,null],[13,"Empty","","",39,null],[3,"NamePerLanguage","","None corresponds to the native name",null,null],[12,"0","","",41,null],[4,"OffstreetParking","","Represent no parking as Private(0, false).",null,null],[13,"PublicGarage","","(Name, spots)",38,null],[13,"Private","","(Spots, explicitly tagged as a garage)",38,null],[3,"BusRoute","","",null,null],[12,"id","","",46,null],[12,"full_name","","",46,null],[12,"short_name","","",46,null],[12,"gtfs_trip_marker","","",46,null],[12,"osm_rel_id","","",46,null],[12,"stops","","",46,null],[12,"start","","May be a border or not. If not, is long enough for buses …",46,null],[12,"end_border","","",46,null],[12,"route_type","","",46,null],[12,"spawn_times","","Non-empty, times in order for one day when a vehicle …",46,null],[12,"orig_spawn_times","","Explicitly store whatever the original was, since this …",46,null],[3,"BusRouteID","","",null,null],[12,"0","","",44,null],[3,"BusStop","","",null,null],[12,"id","","",45,null],[12,"name","","",45,null],[12,"driving_pos","","These may be on different roads entirely, like for light …",45,null],[12,"sidewalk_pos","","",45,null],[12,"is_train_stop","","If it\'s both, train overrides bus",45,null],[3,"BusStopID","","",null,null],[12,"sidewalk","","",43,null],[12,"idx","","As long as this is unique per lane, this value is …",43,null],[3,"Intersection","","An intersection connects roads. Most have >2 roads and …",null,null],[12,"id","","",49,null],[12,"polygon","","This needs to be in clockwise orientation, or later …",49,null],[12,"turns","","",49,null],[12,"elevation","","",49,null],[12,"intersection_type","","",49,null],[12,"orig_id","","",49,null],[12,"incoming_lanes","","Note that a lane may belong to both incoming_lanes and …",49,null],[12,"outgoing_lanes","","",49,null],[12,"roads","","",49,null],[12,"merged","","Was a short road adjacent to this intersection merged?",49,null],[3,"IntersectionID","","",null,null],[12,"0","","",47,null],[4,"IntersectionType","","",null,null],[13,"StopSign","","",48,null],[13,"TrafficSignal","","",48,null],[13,"Border","","",48,null],[13,"Construction","","",48,null],[3,"Lane","","A road segment is broken down into individual lanes, …",null,null],[12,"id","","",52,null],[12,"parent","","",52,null],[12,"lane_type","","",52,null],[12,"lane_center_pts","","",52,null],[12,"width","","",52,null],[12,"src_i","","",52,null],[12,"dst_i","","",52,null],[12,"bus_stops","","Meaningless order",52,null],[12,"driving_blackhole","","{Cars, bikes} trying to start or end here might not be …",52,null],[12,"biking_blackhole","","",52,null],[3,"LaneID","","",null,null],[12,"0","","",50,null],[4,"LaneType","","",null,null],[13,"Driving","","",51,null],[13,"Parking","","",51,null],[13,"Sidewalk","","",51,null],[13,"Shoulder","","",51,null],[13,"Biking","","",51,null],[13,"Bus","","",51,null],[13,"SharedLeftTurn","","",51,null],[13,"Construction","","",51,null],[13,"LightRail","","",51,null],[17,"PARKING_LOT_SPOT_LENGTH","","From some manually audited cases in Seattle, the length …",null,null],[3,"ParkingLot","","Parking lots have some fixed capacity for cars, and are …",null,null],[12,"id","","",54,null],[12,"polygon","","",54,null],[12,"aisles","","",54,null],[12,"osm_id","","",54,null],[12,"spots","","The middle of the \\\"T\\\", pointing towards the parking aisle",54,null],[12,"extra_spots","","If we can\'t render all spots (maybe a lot with no aisles …",54,null],[12,"driveway_line","","Goes from the lot to the driving lane",54,null],[12,"driving_pos","","Guaranteed to be at least 7m (MAX_CAR_LENGTH + a little …",54,null],[12,"sidewalk_line","","Lot to sidewalk",54,null],[12,"sidewalk_pos","","",54,null],[3,"ParkingLotID","","",null,null],[12,"0","","",53,null],[3,"DirectedRoadID","","",null,null],[12,"id","","",57,null],[12,"dir","","",57,null],[4,"Direction","","",null,null],[13,"Fwd","","",56,null],[13,"Back","","",56,null],[3,"Road","","A Road represents a segment between exactly two …",null,null],[12,"id","","",58,null],[12,"osm_tags","","",58,null],[12,"turn_restrictions","","self is \'from\'",58,null],[12,"complicated_turn_restrictions","","self is \'from\'. (via, to). Only BanTurns.",58,null],[12,"orig_id","","",58,null],[12,"speed_limit","","",58,null],[12,"access_restrictions","","",58,null],[12,"zorder","","",58,null],[12,"lanes_ltr","","Invariant: A road must contain at least one child",58,null],[12,"center_pts","","The physical center of the road, including sidewalks, …",58,null],[12,"src_i","","",58,null],[12,"dst_i","","",58,null],[3,"RoadID","","",null,null],[12,"0","","",55,null],[3,"ControlStopSign","","",null,null],[12,"id","","",59,null],[12,"roads","","",59,null],[3,"RoadWithStopSign","","",null,null],[12,"lane_closest_to_edge","","",60,null],[12,"must_stop","","",60,null],[3,"ControlTrafficSignal","","A traffic signal consists of a sequence of Stages that …",null,null],[12,"id","","",61,null],[12,"stages","","",61,null],[12,"offset","","",61,null],[12,"movements","","",61,null],[3,"Stage","","",null,null],[12,"protected_movements","","",62,null],[12,"yield_movements","","",62,null],[12,"stage_type","","",62,null],[4,"StageType","","",null,null],[13,"Fixed","","",63,null],[13,"Variable","","Minimum is the minimum duration, 0 allows cycle to be …",63,null],[3,"CompressedMovementID","","This is cheaper to store than a MovementID. It simply …",null,null],[12,"i","","",69,null],[12,"idx","","",69,null],[3,"Movement","","A Movement groups all turns from one road to another, …",null,null],[12,"id","","",70,null],[12,"turn_type","","",70,null],[12,"members","","",70,null],[12,"geom","","The \\\"overall\\\" path of movement, aka, an \\\"average\\\" of the …",70,null],[12,"angle","","",70,null],[3,"MovementID","","One road usually has 4 crosswalks, each a singleton …",null,null],[12,"from","","",68,null],[12,"to","","",68,null],[12,"parent","","",68,null],[12,"crosswalk","","",68,null],[3,"Turn","","A Turn leads from the end of one Lane to the start of …",null,null],[12,"id","","",67,null],[12,"turn_type","","",67,null],[12,"geom","","",67,null],[12,"other_crosswalk_ids","","Empty except for TurnType::Crosswalk. Usually just one …",67,null],[3,"TurnID","","Turns are uniquely identified by their (src, dst) lanes …",null,null],[12,"parent","","",64,null],[12,"src","","src and dst must both belong to parent. No guarantees …",64,null],[12,"dst","","",64,null],[4,"TurnPriority","","",null,null],[13,"Banned","","For stop signs: Can\'t currently specify this! For traffic …",66,null],[13,"Yield","","For stop signs: cars have to stop before doing this turn, …",66,null],[13,"Protected","","For stop signs: cars can do this without stopping. These …",66,null],[4,"TurnType","","",null,null],[13,"Crosswalk","","",65,null],[13,"SharedSidewalkCorner","","",65,null],[13,"Straight","","",65,null],[13,"Right","","",65,null],[13,"Left","","",65,null],[13,"UTurn","","",65,null],[3,"AccessRestrictions","","",null,null],[12,"allow_through_traffic","","",71,null],[12,"cap_vehicles_per_hour","","",71,null],[3,"Zone","","A contiguous set of roads with access restrictions. This …",null,null],[12,"members","","",72,null],[12,"borders","","",72,null],[12,"restrictions","","",72,null],[3,"IntersectionCluster","","This only applies to VehiclePathfinder; walking through …",null,null],[12,"members","","",84,null],[12,"uber_turns","","",84,null],[3,"UberTurn","","",null,null],[12,"path","","",85,null],[3,"UberTurnGroup","","",null,null],[12,"from","","",86,null],[12,"to","","",86,null],[12,"members","","",86,null],[12,"geom","","",86,null],[3,"Path","","",null,null],[12,"steps","","",89,null],[12,"orig_req","","",89,null],[12,"total_length","","",89,null],[12,"crossed_so_far","","",89,null],[12,"uber_turns","","",89,null],[12,"currently_inside_ut","","",89,null],[4,"PathConstraints","","Who\'s asking for a path?",null,null],[13,"Pedestrian","","",90,null],[13,"Car","","",90,null],[13,"Bike","","",90,null],[13,"Bus","","",90,null],[13,"Train","","",90,null],[3,"PathRequest","","",null,null],[12,"start","","",91,null],[12,"end","","",91,null],[12,"constraints","","",91,null],[4,"PathStep","","",null,null],[13,"Lane","","Original direction",88,null],[13,"ContraflowLane","","Sidewalks only!",88,null],[13,"Turn","","",88,null],[3,"RoutingParams","","Tuneable parameters for all types of routing.",null,null],[12,"bike_lane_penalty","","",92,null],[12,"bus_lane_penalty","","",92,null],[12,"driving_lane_penalty","","",92,null],[3,"Position","","Represents a specific point some distance along a lane.",null,null],[12,"lane","","",104,null],[12,"dist_along","","",104,null],[4,"Traversable","","Either a lane or a turn, where most movement happens.",null,null],[13,"Lane","","",105,null],[13,"Turn","","",105,null],[17,"NORMAL_LANE_THICKNESS","","",null,null],[17,"SERVICE_ROAD_LANE_THICKNESS","","",null,null],[17,"SIDEWALK_THICKNESS","","",null,null],[17,"SHOULDER_THICKNESS","","",null,null],[3,"Map","","",null,null],[12,"roads","","",106,null],[12,"lanes","","",106,null],[12,"intersections","","",106,null],[12,"turns","","",106,null],[12,"buildings","","",106,null],[12,"bus_stops","","",106,null],[12,"bus_routes","","",106,null],[12,"areas","","",106,null],[12,"parking_lots","","",106,null],[12,"boundary_polygon","","",106,null],[12,"stop_signs","","",106,null],[12,"traffic_signals","","",106,null],[12,"gps_bounds","","",106,null],[12,"bounds","","",106,null],[12,"config","","",106,null],[12,"pathfinder","","",106,null],[12,"pathfinder_dirty","","",106,null],[12,"routing_params","","",106,null],[12,"zones","","",106,null],[12,"name","","",106,null],[12,"edits","","",106,null],[11,"from","map_model::city","",0,[[]]],[11,"into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"from","map_model::connectivity::walking","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"equivalent","","",2,[[]]],[11,"vzip","","",2,[[]]],[11,"from","map_model::connectivity","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"equivalent","","",3,[[]]],[11,"get_hash","","",3,[[]]],[11,"vzip","","",3,[[]]],[11,"from","map_model::edits::compat","",4,[[]]],[11,"into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"from","","",6,[[]]],[11,"into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"from","","",7,[[]]],[11,"into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"vzip","","",7,[[]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"vzip","","",8,[[]]],[11,"from","map_model::edits::perma","",9,[[]]],[11,"into","","",9,[[]]],[11,"to_owned","","",9,[[]]],[11,"clone_into","","",9,[[]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"vzip","","",9,[[]]],[11,"from","","",10,[[]]],[11,"into","","",10,[[]]],[11,"to_owned","","",10,[[]]],[11,"clone_into","","",10,[[]]],[11,"borrow","","",10,[[]]],[11,"borrow_mut","","",10,[[]]],[11,"try_from","","",10,[[],["result",4]]],[11,"try_into","","",10,[[],["result",4]]],[11,"type_id","","",10,[[],["typeid",3]]],[11,"vzip","","",10,[[]]],[11,"from","","",12,[[]]],[11,"into","","",12,[[]]],[11,"to_owned","","",12,[[]]],[11,"clone_into","","",12,[[]]],[11,"borrow","","",12,[[]]],[11,"borrow_mut","","",12,[[]]],[11,"try_from","","",12,[[],["result",4]]],[11,"try_into","","",12,[[],["result",4]]],[11,"type_id","","",12,[[],["typeid",3]]],[11,"vzip","","",12,[[]]],[11,"from","map_model::edits","",16,[[]]],[11,"into","","",16,[[]]],[11,"to_owned","","",16,[[]]],[11,"clone_into","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"vzip","","",16,[[]]],[11,"from","","",17,[[]]],[11,"into","","",17,[[]]],[11,"to_owned","","",17,[[]]],[11,"clone_into","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"vzip","","",17,[[]]],[11,"from","","",18,[[]]],[11,"into","","",18,[[]]],[11,"to_owned","","",18,[[]]],[11,"clone_into","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"vzip","","",18,[[]]],[11,"from","","",19,[[]]],[11,"into","","",19,[[]]],[11,"to_owned","","",19,[[]]],[11,"clone_into","","",19,[[]]],[11,"borrow","","",19,[[]]],[11,"borrow_mut","","",19,[[]]],[11,"try_from","","",19,[[],["result",4]]],[11,"try_into","","",19,[[],["result",4]]],[11,"type_id","","",19,[[],["typeid",3]]],[11,"vzip","","",19,[[]]],[11,"from","","",23,[[]]],[11,"into","","",23,[[]]],[11,"borrow","","",23,[[]]],[11,"borrow_mut","","",23,[[]]],[11,"try_from","","",23,[[],["result",4]]],[11,"try_into","","",23,[[],["result",4]]],[11,"type_id","","",23,[[],["typeid",3]]],[11,"vzip","","",23,[[]]],[11,"from","map_model::make::initial::geometry","",24,[[]]],[11,"into","","",24,[[]]],[11,"borrow","","",24,[[]]],[11,"borrow_mut","","",24,[[]]],[11,"try_from","","",24,[[],["result",4]]],[11,"try_into","","",24,[[],["result",4]]],[11,"type_id","","",24,[[],["typeid",3]]],[11,"vzip","","",24,[[]]],[11,"from","map_model::make::initial::lane_specs","",25,[[]]],[11,"into","","",25,[[]]],[11,"borrow","","",25,[[]]],[11,"borrow_mut","","",25,[[]]],[11,"try_from","","",25,[[],["result",4]]],[11,"try_into","","",25,[[],["result",4]]],[11,"type_id","","",25,[[],["typeid",3]]],[11,"vzip","","",25,[[]]],[11,"from","map_model::make::initial","",26,[[]]],[11,"into","","",26,[[]]],[11,"borrow","","",26,[[]]],[11,"borrow_mut","","",26,[[]]],[11,"try_from","","",26,[[],["result",4]]],[11,"try_into","","",26,[[],["result",4]]],[11,"type_id","","",26,[[],["typeid",3]]],[11,"vzip","","",26,[[]]],[11,"from","","",27,[[]]],[11,"into","","",27,[[]]],[11,"borrow","","",27,[[]]],[11,"borrow_mut","","",27,[[]]],[11,"try_from","","",27,[[],["result",4]]],[11,"try_into","","",27,[[],["result",4]]],[11,"type_id","","",27,[[],["typeid",3]]],[11,"vzip","","",27,[[]]],[11,"from","","",28,[[]]],[11,"into","","",28,[[]]],[11,"borrow","","",28,[[]]],[11,"borrow_mut","","",28,[[]]],[11,"try_from","","",28,[[],["result",4]]],[11,"try_into","","",28,[[],["result",4]]],[11,"type_id","","",28,[[],["typeid",3]]],[11,"vzip","","",28,[[]]],[11,"from","map_model::make::transit","",29,[[]]],[11,"into","","",29,[[]]],[11,"borrow","","",29,[[]]],[11,"borrow_mut","","",29,[[]]],[11,"try_from","","",29,[[],["result",4]]],[11,"try_into","","",29,[[],["result",4]]],[11,"type_id","","",29,[[],["typeid",3]]],[11,"vzip","","",29,[[]]],[11,"from","map_model::map","",30,[[]]],[11,"into","","",30,[[]]],[11,"to_owned","","",30,[[]]],[11,"clone_into","","",30,[[]]],[11,"borrow","","",30,[[]]],[11,"borrow_mut","","",30,[[]]],[11,"try_from","","",30,[[],["result",4]]],[11,"try_into","","",30,[[],["result",4]]],[11,"type_id","","",30,[[],["typeid",3]]],[11,"vzip","","",30,[[]]],[11,"from","","",31,[[]]],[11,"into","","",31,[[]]],[11,"to_owned","","",31,[[]]],[11,"clone_into","","",31,[[]]],[11,"borrow","","",31,[[]]],[11,"borrow_mut","","",31,[[]]],[11,"try_from","","",31,[[],["result",4]]],[11,"try_into","","",31,[[],["result",4]]],[11,"type_id","","",31,[[],["typeid",3]]],[11,"vzip","","",31,[[]]],[11,"from","map_model::objects::area","",32,[[]]],[11,"into","","",32,[[]]],[11,"to_owned","","",32,[[]]],[11,"clone_into","","",32,[[]]],[11,"to_string","","",32,[[],["string",3]]],[11,"borrow","","",32,[[]]],[11,"borrow_mut","","",32,[[]]],[11,"try_from","","",32,[[],["result",4]]],[11,"try_into","","",32,[[],["result",4]]],[11,"type_id","","",32,[[],["typeid",3]]],[11,"equivalent","","",32,[[]]],[11,"get_hash","","",32,[[]]],[11,"vzip","","",32,[[]]],[11,"from","","",33,[[]]],[11,"into","","",33,[[]]],[11,"to_owned","","",33,[[]]],[11,"clone_into","","",33,[[]]],[11,"borrow","","",33,[[]]],[11,"borrow_mut","","",33,[[]]],[11,"try_from","","",33,[[],["result",4]]],[11,"try_into","","",33,[[],["result",4]]],[11,"type_id","","",33,[[],["typeid",3]]],[11,"equivalent","","",33,[[]]],[11,"get_hash","","",33,[[]]],[11,"vzip","","",33,[[]]],[11,"from","","",34,[[]]],[11,"into","","",34,[[]]],[11,"borrow","","",34,[[]]],[11,"borrow_mut","","",34,[[]]],[11,"try_from","","",34,[[],["result",4]]],[11,"try_into","","",34,[[],["result",4]]],[11,"type_id","","",34,[[],["typeid",3]]],[11,"vzip","","",34,[[]]],[11,"from","map_model::objects::building","",35,[[]]],[11,"into","","",35,[[]]],[11,"to_owned","","",35,[[]]],[11,"clone_into","","",35,[[]]],[11,"to_string","","",35,[[],["string",3]]],[11,"borrow","","",35,[[]]],[11,"borrow_mut","","",35,[[]]],[11,"try_from","","",35,[[],["result",4]]],[11,"try_into","","",35,[[],["result",4]]],[11,"type_id","","",35,[[],["typeid",3]]],[11,"equivalent","","",35,[[]]],[11,"get_hash","","",35,[[]]],[11,"vzip","","",35,[[]]],[11,"from","","",36,[[]]],[11,"into","","",36,[[]]],[11,"borrow","","",36,[[]]],[11,"borrow_mut","","",36,[[]]],[11,"try_from","","",36,[[],["result",4]]],[11,"try_into","","",36,[[],["result",4]]],[11,"type_id","","",36,[[],["typeid",3]]],[11,"vzip","","",36,[[]]],[11,"from","","",37,[[]]],[11,"into","","",37,[[]]],[11,"to_owned","","",37,[[]]],[11,"clone_into","","",37,[[]]],[11,"borrow","","",37,[[]]],[11,"borrow_mut","","",37,[[]]],[11,"try_from","","",37,[[],["result",4]]],[11,"try_into","","",37,[[],["result",4]]],[11,"type_id","","",37,[[],["typeid",3]]],[11,"vzip","","",37,[[]]],[11,"from","","",38,[[]]],[11,"into","","",38,[[]]],[11,"to_owned","","",38,[[]]],[11,"clone_into","","",38,[[]]],[11,"borrow","","",38,[[]]],[11,"borrow_mut","","",38,[[]]],[11,"try_from","","",38,[[],["result",4]]],[11,"try_into","","",38,[[],["result",4]]],[11,"type_id","","",38,[[],["typeid",3]]],[11,"vzip","","",38,[[]]],[11,"from","","",39,[[]]],[11,"into","","",39,[[]]],[11,"to_owned","","",39,[[]]],[11,"clone_into","","",39,[[]]],[11,"borrow","","",39,[[]]],[11,"borrow_mut","","",39,[[]]],[11,"try_from","","",39,[[],["result",4]]],[11,"try_into","","",39,[[],["result",4]]],[11,"type_id","","",39,[[],["typeid",3]]],[11,"vzip","","",39,[[]]],[11,"from","","",41,[[]]],[11,"into","","",41,[[]]],[11,"to_owned","","",41,[[]]],[11,"clone_into","","",41,[[]]],[11,"borrow","","",41,[[]]],[11,"borrow_mut","","",41,[[]]],[11,"try_from","","",41,[[],["result",4]]],[11,"try_into","","",41,[[],["result",4]]],[11,"type_id","","",41,[[],["typeid",3]]],[11,"equivalent","","",41,[[]]],[11,"vzip","","",41,[[]]],[11,"from","","",42,[[]]],[11,"into","","",42,[[]]],[11,"to_owned","","",42,[[]]],[11,"clone_into","","",42,[[]]],[11,"to_string","","",42,[[],["string",3]]],[11,"borrow","","",42,[[]]],[11,"borrow_mut","","",42,[[]]],[11,"try_from","","",42,[[],["result",4]]],[11,"try_into","","",42,[[],["result",4]]],[11,"type_id","","",42,[[],["typeid",3]]],[11,"equivalent","","",42,[[]]],[11,"vzip","","",42,[[]]],[11,"from","map_model::objects::bus_stop","",43,[[]]],[11,"into","","",43,[[]]],[11,"to_owned","","",43,[[]]],[11,"clone_into","","",43,[[]]],[11,"to_string","","",43,[[],["string",3]]],[11,"borrow","","",43,[[]]],[11,"borrow_mut","","",43,[[]]],[11,"try_from","","",43,[[],["result",4]]],[11,"try_into","","",43,[[],["result",4]]],[11,"type_id","","",43,[[],["typeid",3]]],[11,"equivalent","","",43,[[]]],[11,"get_hash","","",43,[[]]],[11,"vzip","","",43,[[]]],[11,"from","","",44,[[]]],[11,"into","","",44,[[]]],[11,"to_owned","","",44,[[]]],[11,"clone_into","","",44,[[]]],[11,"to_string","","",44,[[],["string",3]]],[11,"borrow","","",44,[[]]],[11,"borrow_mut","","",44,[[]]],[11,"try_from","","",44,[[],["result",4]]],[11,"try_into","","",44,[[],["result",4]]],[11,"type_id","","",44,[[],["typeid",3]]],[11,"equivalent","","",44,[[]]],[11,"get_hash","","",44,[[]]],[11,"vzip","","",44,[[]]],[11,"from","","",45,[[]]],[11,"into","","",45,[[]]],[11,"to_owned","","",45,[[]]],[11,"clone_into","","",45,[[]]],[11,"borrow","","",45,[[]]],[11,"borrow_mut","","",45,[[]]],[11,"try_from","","",45,[[],["result",4]]],[11,"try_into","","",45,[[],["result",4]]],[11,"type_id","","",45,[[],["typeid",3]]],[11,"vzip","","",45,[[]]],[11,"from","","",46,[[]]],[11,"into","","",46,[[]]],[11,"borrow","","",46,[[]]],[11,"borrow_mut","","",46,[[]]],[11,"try_from","","",46,[[],["result",4]]],[11,"try_into","","",46,[[],["result",4]]],[11,"type_id","","",46,[[],["typeid",3]]],[11,"vzip","","",46,[[]]],[11,"from","map_model::objects::intersection","",47,[[]]],[11,"into","","",47,[[]]],[11,"to_owned","","",47,[[]]],[11,"clone_into","","",47,[[]]],[11,"to_string","","",47,[[],["string",3]]],[11,"borrow","","",47,[[]]],[11,"borrow_mut","","",47,[[]]],[11,"try_from","","",47,[[],["result",4]]],[11,"try_into","","",47,[[],["result",4]]],[11,"type_id","","",47,[[],["typeid",3]]],[11,"equivalent","","",47,[[]]],[11,"get_hash","","",47,[[]]],[11,"vzip","","",47,[[]]],[11,"from","","",48,[[]]],[11,"into","","",48,[[]]],[11,"to_owned","","",48,[[]]],[11,"clone_into","","",48,[[]]],[11,"borrow","","",48,[[]]],[11,"borrow_mut","","",48,[[]]],[11,"try_from","","",48,[[],["result",4]]],[11,"try_into","","",48,[[],["result",4]]],[11,"type_id","","",48,[[],["typeid",3]]],[11,"equivalent","","",48,[[]]],[11,"get_hash","","",48,[[]]],[11,"vzip","","",48,[[]]],[11,"from","","",49,[[]]],[11,"into","","",49,[[]]],[11,"borrow","","",49,[[]]],[11,"borrow_mut","","",49,[[]]],[11,"try_from","","",49,[[],["result",4]]],[11,"try_into","","",49,[[],["result",4]]],[11,"type_id","","",49,[[],["typeid",3]]],[11,"vzip","","",49,[[]]],[11,"from","map_model::objects::lane","",50,[[]]],[11,"into","","",50,[[]]],[11,"to_owned","","",50,[[]]],[11,"clone_into","","",50,[[]]],[11,"to_string","","",50,[[],["string",3]]],[11,"borrow","","",50,[[]]],[11,"borrow_mut","","",50,[[]]],[11,"try_from","","",50,[[],["result",4]]],[11,"try_into","","",50,[[],["result",4]]],[11,"type_id","","",50,[[],["typeid",3]]],[11,"equivalent","","",50,[[]]],[11,"get_hash","","",50,[[]]],[11,"vzip","","",50,[[]]],[11,"from","","",51,[[]]],[11,"into","","",51,[[]]],[11,"to_owned","","",51,[[]]],[11,"clone_into","","",51,[[]]],[11,"borrow","","",51,[[]]],[11,"borrow_mut","","",51,[[]]],[11,"try_from","","",51,[[],["result",4]]],[11,"try_into","","",51,[[],["result",4]]],[11,"type_id","","",51,[[],["typeid",3]]],[11,"equivalent","","",51,[[]]],[11,"get_hash","","",51,[[]]],[11,"vzip","","",51,[[]]],[11,"from","","",52,[[]]],[11,"into","","",52,[[]]],[11,"borrow","","",52,[[]]],[11,"borrow_mut","","",52,[[]]],[11,"try_from","","",52,[[],["result",4]]],[11,"try_into","","",52,[[],["result",4]]],[11,"type_id","","",52,[[],["typeid",3]]],[11,"vzip","","",52,[[]]],[11,"from","map_model::objects::parking_lot","",53,[[]]],[11,"into","","",53,[[]]],[11,"to_owned","","",53,[[]]],[11,"clone_into","","",53,[[]]],[11,"to_string","","",53,[[],["string",3]]],[11,"borrow","","",53,[[]]],[11,"borrow_mut","","",53,[[]]],[11,"try_from","","",53,[[],["result",4]]],[11,"try_into","","",53,[[],["result",4]]],[11,"type_id","","",53,[[],["typeid",3]]],[11,"equivalent","","",53,[[]]],[11,"get_hash","","",53,[[]]],[11,"vzip","","",53,[[]]],[11,"from","","",54,[[]]],[11,"into","","",54,[[]]],[11,"borrow","","",54,[[]]],[11,"borrow_mut","","",54,[[]]],[11,"try_from","","",54,[[],["result",4]]],[11,"try_into","","",54,[[],["result",4]]],[11,"type_id","","",54,[[],["typeid",3]]],[11,"vzip","","",54,[[]]],[11,"from","map_model::objects::road","",55,[[]]],[11,"into","","",55,[[]]],[11,"to_owned","","",55,[[]]],[11,"clone_into","","",55,[[]]],[11,"to_string","","",55,[[],["string",3]]],[11,"borrow","","",55,[[]]],[11,"borrow_mut","","",55,[[]]],[11,"try_from","","",55,[[],["result",4]]],[11,"try_into","","",55,[[],["result",4]]],[11,"type_id","","",55,[[],["typeid",3]]],[11,"equivalent","","",55,[[]]],[11,"get_hash","","",55,[[]]],[11,"vzip","","",55,[[]]],[11,"from","","",56,[[]]],[11,"into","","",56,[[]]],[11,"to_owned","","",56,[[]]],[11,"clone_into","","",56,[[]]],[11,"to_string","","",56,[[],["string",3]]],[11,"borrow","","",56,[[]]],[11,"borrow_mut","","",56,[[]]],[11,"try_from","","",56,[[],["result",4]]],[11,"try_into","","",56,[[],["result",4]]],[11,"type_id","","",56,[[],["typeid",3]]],[11,"equivalent","","",56,[[]]],[11,"get_hash","","",56,[[]]],[11,"vzip","","",56,[[]]],[11,"from","","",57,[[]]],[11,"into","","",57,[[]]],[11,"to_owned","","",57,[[]]],[11,"clone_into","","",57,[[]]],[11,"to_string","","",57,[[],["string",3]]],[11,"borrow","","",57,[[]]],[11,"borrow_mut","","",57,[[]]],[11,"try_from","","",57,[[],["result",4]]],[11,"try_into","","",57,[[],["result",4]]],[11,"type_id","","",57,[[],["typeid",3]]],[11,"equivalent","","",57,[[]]],[11,"get_hash","","",57,[[]]],[11,"vzip","","",57,[[]]],[11,"from","","",58,[[]]],[11,"into","","",58,[[]]],[11,"borrow","","",58,[[]]],[11,"borrow_mut","","",58,[[]]],[11,"try_from","","",58,[[],["result",4]]],[11,"try_into","","",58,[[],["result",4]]],[11,"type_id","","",58,[[],["typeid",3]]],[11,"vzip","","",58,[[]]],[11,"from","map_model::objects::stop_signs","",59,[[]]],[11,"into","","",59,[[]]],[11,"to_owned","","",59,[[]]],[11,"clone_into","","",59,[[]]],[11,"borrow","","",59,[[]]],[11,"borrow_mut","","",59,[[]]],[11,"try_from","","",59,[[],["result",4]]],[11,"try_into","","",59,[[],["result",4]]],[11,"type_id","","",59,[[],["typeid",3]]],[11,"vzip","","",59,[[]]],[11,"from","","",60,[[]]],[11,"into","","",60,[[]]],[11,"to_owned","","",60,[[]]],[11,"clone_into","","",60,[[]]],[11,"borrow","","",60,[[]]],[11,"borrow_mut","","",60,[[]]],[11,"try_from","","",60,[[],["result",4]]],[11,"try_into","","",60,[[],["result",4]]],[11,"type_id","","",60,[[],["typeid",3]]],[11,"vzip","","",60,[[]]],[11,"from","map_model::objects::traffic_signals","",61,[[]]],[11,"into","","",61,[[]]],[11,"to_owned","","",61,[[]]],[11,"clone_into","","",61,[[]]],[11,"borrow","","",61,[[]]],[11,"borrow_mut","","",61,[[]]],[11,"try_from","","",61,[[],["result",4]]],[11,"try_into","","",61,[[],["result",4]]],[11,"type_id","","",61,[[],["typeid",3]]],[11,"vzip","","",61,[[]]],[11,"from","","",62,[[]]],[11,"into","","",62,[[]]],[11,"to_owned","","",62,[[]]],[11,"clone_into","","",62,[[]]],[11,"borrow","","",62,[[]]],[11,"borrow_mut","","",62,[[]]],[11,"try_from","","",62,[[],["result",4]]],[11,"try_into","","",62,[[],["result",4]]],[11,"type_id","","",62,[[],["typeid",3]]],[11,"vzip","","",62,[[]]],[11,"from","","",63,[[]]],[11,"into","","",63,[[]]],[11,"to_owned","","",63,[[]]],[11,"clone_into","","",63,[[]]],[11,"borrow","","",63,[[]]],[11,"borrow_mut","","",63,[[]]],[11,"try_from","","",63,[[],["result",4]]],[11,"try_into","","",63,[[],["result",4]]],[11,"type_id","","",63,[[],["typeid",3]]],[11,"vzip","","",63,[[]]],[11,"from","map_model::objects::turn","",64,[[]]],[11,"into","","",64,[[]]],[11,"to_owned","","",64,[[]]],[11,"clone_into","","",64,[[]]],[11,"to_string","","",64,[[],["string",3]]],[11,"borrow","","",64,[[]]],[11,"borrow_mut","","",64,[[]]],[11,"try_from","","",64,[[],["result",4]]],[11,"try_into","","",64,[[],["result",4]]],[11,"type_id","","",64,[[],["typeid",3]]],[11,"equivalent","","",64,[[]]],[11,"get_hash","","",64,[[]]],[11,"vzip","","",64,[[]]],[11,"from","","",65,[[]]],[11,"into","","",65,[[]]],[11,"to_owned","","",65,[[]]],[11,"clone_into","","",65,[[]]],[11,"borrow","","",65,[[]]],[11,"borrow_mut","","",65,[[]]],[11,"try_from","","",65,[[],["result",4]]],[11,"try_into","","",65,[[],["result",4]]],[11,"type_id","","",65,[[],["typeid",3]]],[11,"equivalent","","",65,[[]]],[11,"vzip","","",65,[[]]],[11,"from","","",66,[[]]],[11,"into","","",66,[[]]],[11,"to_owned","","",66,[[]]],[11,"clone_into","","",66,[[]]],[11,"borrow","","",66,[[]]],[11,"borrow_mut","","",66,[[]]],[11,"try_from","","",66,[[],["result",4]]],[11,"try_into","","",66,[[],["result",4]]],[11,"type_id","","",66,[[],["typeid",3]]],[11,"vzip","","",66,[[]]],[11,"from","","",67,[[]]],[11,"into","","",67,[[]]],[11,"to_owned","","",67,[[]]],[11,"clone_into","","",67,[[]]],[11,"borrow","","",67,[[]]],[11,"borrow_mut","","",67,[[]]],[11,"try_from","","",67,[[],["result",4]]],[11,"try_into","","",67,[[],["result",4]]],[11,"type_id","","",67,[[],["typeid",3]]],[11,"vzip","","",67,[[]]],[11,"from","","",68,[[]]],[11,"into","","",68,[[]]],[11,"to_owned","","",68,[[]]],[11,"clone_into","","",68,[[]]],[11,"borrow","","",68,[[]]],[11,"borrow_mut","","",68,[[]]],[11,"try_from","","",68,[[],["result",4]]],[11,"try_into","","",68,[[],["result",4]]],[11,"type_id","","",68,[[],["typeid",3]]],[11,"equivalent","","",68,[[]]],[11,"get_hash","","",68,[[]]],[11,"vzip","","",68,[[]]],[11,"from","","",69,[[]]],[11,"into","","",69,[[]]],[11,"to_owned","","",69,[[]]],[11,"clone_into","","",69,[[]]],[11,"borrow","","",69,[[]]],[11,"borrow_mut","","",69,[[]]],[11,"try_from","","",69,[[],["result",4]]],[11,"try_into","","",69,[[],["result",4]]],[11,"type_id","","",69,[[],["typeid",3]]],[11,"equivalent","","",69,[[]]],[11,"get_hash","","",69,[[]]],[11,"vzip","","",69,[[]]],[11,"from","","",70,[[]]],[11,"into","","",70,[[]]],[11,"to_owned","","",70,[[]]],[11,"clone_into","","",70,[[]]],[11,"borrow","","",70,[[]]],[11,"borrow_mut","","",70,[[]]],[11,"try_from","","",70,[[],["result",4]]],[11,"try_into","","",70,[[],["result",4]]],[11,"type_id","","",70,[[],["typeid",3]]],[11,"vzip","","",70,[[]]],[11,"from","map_model::objects::zone","",71,[[]]],[11,"into","","",71,[[]]],[11,"to_owned","","",71,[[]]],[11,"clone_into","","",71,[[]]],[11,"borrow","","",71,[[]]],[11,"borrow_mut","","",71,[[]]],[11,"try_from","","",71,[[],["result",4]]],[11,"try_into","","",71,[[],["result",4]]],[11,"type_id","","",71,[[],["typeid",3]]],[11,"vzip","","",71,[[]]],[11,"from","","",72,[[]]],[11,"into","","",72,[[]]],[11,"borrow","","",72,[[]]],[11,"borrow_mut","","",72,[[]]],[11,"try_from","","",72,[[],["result",4]]],[11,"try_into","","",72,[[],["result",4]]],[11,"type_id","","",72,[[],["typeid",3]]],[11,"vzip","","",72,[[]]],[11,"from","map_model::osm","",73,[[]]],[11,"into","","",73,[[]]],[11,"to_owned","","",73,[[]]],[11,"clone_into","","",73,[[]]],[11,"borrow","","",73,[[]]],[11,"borrow_mut","","",73,[[]]],[11,"try_from","","",73,[[],["result",4]]],[11,"try_into","","",73,[[],["result",4]]],[11,"type_id","","",73,[[],["typeid",3]]],[11,"equivalent","","",73,[[]]],[11,"vzip","","",73,[[]]],[11,"from","","",74,[[]]],[11,"into","","",74,[[]]],[11,"to_owned","","",74,[[]]],[11,"clone_into","","",74,[[]]],[11,"to_string","","",74,[[],["string",3]]],[11,"borrow","","",74,[[]]],[11,"borrow_mut","","",74,[[]]],[11,"try_from","","",74,[[],["result",4]]],[11,"try_into","","",74,[[],["result",4]]],[11,"type_id","","",74,[[],["typeid",3]]],[11,"equivalent","","",74,[[]]],[11,"get_hash","","",74,[[]]],[11,"vzip","","",74,[[]]],[11,"from","","",75,[[]]],[11,"into","","",75,[[]]],[11,"to_owned","","",75,[[]]],[11,"clone_into","","",75,[[]]],[11,"to_string","","",75,[[],["string",3]]],[11,"borrow","","",75,[[]]],[11,"borrow_mut","","",75,[[]]],[11,"try_from","","",75,[[],["result",4]]],[11,"try_into","","",75,[[],["result",4]]],[11,"type_id","","",75,[[],["typeid",3]]],[11,"equivalent","","",75,[[]]],[11,"get_hash","","",75,[[]]],[11,"vzip","","",75,[[]]],[11,"from","","",76,[[]]],[11,"into","","",76,[[]]],[11,"to_owned","","",76,[[]]],[11,"clone_into","","",76,[[]]],[11,"to_string","","",76,[[],["string",3]]],[11,"borrow","","",76,[[]]],[11,"borrow_mut","","",76,[[]]],[11,"try_from","","",76,[[],["result",4]]],[11,"try_into","","",76,[[],["result",4]]],[11,"type_id","","",76,[[],["typeid",3]]],[11,"equivalent","","",76,[[]]],[11,"get_hash","","",76,[[]]],[11,"vzip","","",76,[[]]],[11,"from","","",77,[[]]],[11,"into","","",77,[[]]],[11,"to_owned","","",77,[[]]],[11,"clone_into","","",77,[[]]],[11,"to_string","","",77,[[],["string",3]]],[11,"borrow","","",77,[[]]],[11,"borrow_mut","","",77,[[]]],[11,"try_from","","",77,[[],["result",4]]],[11,"try_into","","",77,[[],["result",4]]],[11,"type_id","","",77,[[],["typeid",3]]],[11,"equivalent","","",77,[[]]],[11,"get_hash","","",77,[[]]],[11,"vzip","","",77,[[]]],[11,"from","map_model::pathfind::ch","",78,[[]]],[11,"into","","",78,[[]]],[11,"borrow","","",78,[[]]],[11,"borrow_mut","","",78,[[]]],[11,"try_from","","",78,[[],["result",4]]],[11,"try_into","","",78,[[],["result",4]]],[11,"type_id","","",78,[[],["typeid",3]]],[11,"vzip","","",78,[[]]],[11,"from","map_model::pathfind::driving","",79,[[]]],[11,"into","","",79,[[]]],[11,"borrow","","",79,[[]]],[11,"borrow_mut","","",79,[[]]],[11,"try_from","","",79,[[],["result",4]]],[11,"try_into","","",79,[[],["result",4]]],[11,"type_id","","",79,[[],["typeid",3]]],[11,"vzip","","",79,[[]]],[11,"from","","",80,[[]]],[11,"into","","",80,[[]]],[11,"to_owned","","",80,[[]]],[11,"clone_into","","",80,[[]]],[11,"borrow","","",80,[[]]],[11,"borrow_mut","","",80,[[]]],[11,"try_from","","",80,[[],["result",4]]],[11,"try_into","","",80,[[],["result",4]]],[11,"type_id","","",80,[[],["typeid",3]]],[11,"equivalent","","",80,[[]]],[11,"vzip","","",80,[[]]],[11,"from","map_model::pathfind::node_map","",81,[[]]],[11,"into","","",81,[[]]],[11,"borrow","","",81,[[]]],[11,"borrow_mut","","",81,[[]]],[11,"try_from","","",81,[[],["result",4]]],[11,"try_into","","",81,[[],["result",4]]],[11,"type_id","","",81,[[],["typeid",3]]],[11,"vzip","","",81,[[]]],[11,"from","","",82,[[]]],[11,"into","","",82,[[]]],[11,"borrow","","",82,[[]]],[11,"borrow_mut","","",82,[[]]],[11,"try_from","","",82,[[],["result",4]]],[11,"try_into","","",82,[[],["result",4]]],[11,"type_id","","",82,[[],["typeid",3]]],[11,"vzip","","",82,[[]]],[11,"from","map_model::pathfind::pathfinder","",83,[[]]],[11,"into","","",83,[[]]],[11,"borrow","","",83,[[]]],[11,"borrow_mut","","",83,[[]]],[11,"try_from","","",83,[[],["result",4]]],[11,"try_into","","",83,[[],["result",4]]],[11,"type_id","","",83,[[],["typeid",3]]],[11,"vzip","","",83,[[]]],[11,"from","map_model::pathfind::uber_turns","",84,[[]]],[11,"into","","",84,[[]]],[11,"to_owned","","",84,[[]]],[11,"clone_into","","",84,[[]]],[11,"borrow","","",84,[[]]],[11,"borrow_mut","","",84,[[]]],[11,"try_from","","",84,[[],["result",4]]],[11,"try_into","","",84,[[],["result",4]]],[11,"type_id","","",84,[[],["typeid",3]]],[11,"vzip","","",84,[[]]],[11,"from","","",85,[[]]],[11,"into","","",85,[[]]],[11,"to_owned","","",85,[[]]],[11,"clone_into","","",85,[[]]],[11,"borrow","","",85,[[]]],[11,"borrow_mut","","",85,[[]]],[11,"try_from","","",85,[[],["result",4]]],[11,"try_into","","",85,[[],["result",4]]],[11,"type_id","","",85,[[],["typeid",3]]],[11,"vzip","","",85,[[]]],[11,"from","","",86,[[]]],[11,"into","","",86,[[]]],[11,"borrow","","",86,[[]]],[11,"borrow_mut","","",86,[[]]],[11,"try_from","","",86,[[],["result",4]]],[11,"try_into","","",86,[[],["result",4]]],[11,"type_id","","",86,[[],["typeid",3]]],[11,"vzip","","",86,[[]]],[11,"from","map_model::pathfind::walking","",87,[[]]],[11,"into","","",87,[[]]],[11,"borrow","","",87,[[]]],[11,"borrow_mut","","",87,[[]]],[11,"try_from","","",87,[[],["result",4]]],[11,"try_into","","",87,[[],["result",4]]],[11,"type_id","","",87,[[],["typeid",3]]],[11,"vzip","","",87,[[]]],[11,"from","map_model::pathfind","",88,[[]]],[11,"into","","",88,[[]]],[11,"to_owned","","",88,[[]]],[11,"clone_into","","",88,[[]]],[11,"borrow","","",88,[[]]],[11,"borrow_mut","","",88,[[]]],[11,"try_from","","",88,[[],["result",4]]],[11,"try_into","","",88,[[],["result",4]]],[11,"type_id","","",88,[[],["typeid",3]]],[11,"equivalent","","",88,[[]]],[11,"get_hash","","",88,[[]]],[11,"vzip","","",88,[[]]],[11,"from","","",89,[[]]],[11,"into","","",89,[[]]],[11,"to_owned","","",89,[[]]],[11,"clone_into","","",89,[[]]],[11,"borrow","","",89,[[]]],[11,"borrow_mut","","",89,[[]]],[11,"try_from","","",89,[[],["result",4]]],[11,"try_into","","",89,[[],["result",4]]],[11,"type_id","","",89,[[],["typeid",3]]],[11,"vzip","","",89,[[]]],[11,"from","","",90,[[]]],[11,"into","","",90,[[]]],[11,"to_owned","","",90,[[]]],[11,"clone_into","","",90,[[]]],[11,"borrow","","",90,[[]]],[11,"borrow_mut","","",90,[[]]],[11,"try_from","","",90,[[],["result",4]]],[11,"try_into","","",90,[[],["result",4]]],[11,"type_id","","",90,[[],["typeid",3]]],[11,"equivalent","","",90,[[]]],[11,"vzip","","",90,[[]]],[11,"from","","",91,[[]]],[11,"into","","",91,[[]]],[11,"to_owned","","",91,[[]]],[11,"clone_into","","",91,[[]]],[11,"to_string","","",91,[[],["string",3]]],[11,"borrow","","",91,[[]]],[11,"borrow_mut","","",91,[[]]],[11,"try_from","","",91,[[],["result",4]]],[11,"try_into","","",91,[[],["result",4]]],[11,"type_id","","",91,[[],["typeid",3]]],[11,"equivalent","","",91,[[]]],[11,"vzip","","",91,[[]]],[11,"from","","",92,[[]]],[11,"into","","",92,[[]]],[11,"borrow","","",92,[[]]],[11,"borrow_mut","","",92,[[]]],[11,"try_from","","",92,[[],["result",4]]],[11,"try_into","","",92,[[],["result",4]]],[11,"type_id","","",92,[[],["typeid",3]]],[11,"vzip","","",92,[[]]],[11,"from","map_model::raw","",93,[[]]],[11,"into","","",93,[[]]],[11,"borrow","","",93,[[]]],[11,"borrow_mut","","",93,[[]]],[11,"try_from","","",93,[[],["result",4]]],[11,"try_into","","",93,[[],["result",4]]],[11,"type_id","","",93,[[],["typeid",3]]],[11,"vzip","","",93,[[]]],[11,"from","","",94,[[]]],[11,"into","","",94,[[]]],[11,"to_owned","","",94,[[]]],[11,"clone_into","","",94,[[]]],[11,"to_string","","",94,[[],["string",3]]],[11,"borrow","","",94,[[]]],[11,"borrow_mut","","",94,[[]]],[11,"try_from","","",94,[[],["result",4]]],[11,"try_into","","",94,[[],["result",4]]],[11,"type_id","","",94,[[],["typeid",3]]],[11,"equivalent","","",94,[[]]],[11,"get_hash","","",94,[[]]],[11,"vzip","","",94,[[]]],[11,"from","","",95,[[]]],[11,"into","","",95,[[]]],[11,"to_owned","","",95,[[]]],[11,"clone_into","","",95,[[]]],[11,"borrow","","",95,[[]]],[11,"borrow_mut","","",95,[[]]],[11,"try_from","","",95,[[],["result",4]]],[11,"try_into","","",95,[[],["result",4]]],[11,"type_id","","",95,[[],["typeid",3]]],[11,"vzip","","",95,[[]]],[11,"from","","",96,[[]]],[11,"into","","",96,[[]]],[11,"to_owned","","",96,[[]]],[11,"clone_into","","",96,[[]]],[11,"borrow","","",96,[[]]],[11,"borrow_mut","","",96,[[]]],[11,"try_from","","",96,[[],["result",4]]],[11,"try_into","","",96,[[],["result",4]]],[11,"type_id","","",96,[[],["typeid",3]]],[11,"vzip","","",96,[[]]],[11,"from","","",97,[[]]],[11,"into","","",97,[[]]],[11,"to_owned","","",97,[[]]],[11,"clone_into","","",97,[[]]],[11,"borrow","","",97,[[]]],[11,"borrow_mut","","",97,[[]]],[11,"try_from","","",97,[[],["result",4]]],[11,"try_into","","",97,[[],["result",4]]],[11,"type_id","","",97,[[],["typeid",3]]],[11,"vzip","","",97,[[]]],[11,"from","","",98,[[]]],[11,"into","","",98,[[]]],[11,"to_owned","","",98,[[]]],[11,"clone_into","","",98,[[]]],[11,"borrow","","",98,[[]]],[11,"borrow_mut","","",98,[[]]],[11,"try_from","","",98,[[],["result",4]]],[11,"try_into","","",98,[[],["result",4]]],[11,"type_id","","",98,[[],["typeid",3]]],[11,"vzip","","",98,[[]]],[11,"from","","",99,[[]]],[11,"into","","",99,[[]]],[11,"to_owned","","",99,[[]]],[11,"clone_into","","",99,[[]]],[11,"borrow","","",99,[[]]],[11,"borrow_mut","","",99,[[]]],[11,"try_from","","",99,[[],["result",4]]],[11,"try_into","","",99,[[],["result",4]]],[11,"type_id","","",99,[[],["typeid",3]]],[11,"vzip","","",99,[[]]],[11,"from","","",100,[[]]],[11,"into","","",100,[[]]],[11,"to_owned","","",100,[[]]],[11,"clone_into","","",100,[[]]],[11,"borrow","","",100,[[]]],[11,"borrow_mut","","",100,[[]]],[11,"try_from","","",100,[[],["result",4]]],[11,"try_into","","",100,[[],["result",4]]],[11,"type_id","","",100,[[],["typeid",3]]],[11,"equivalent","","",100,[[]]],[11,"get_hash","","",100,[[]]],[11,"vzip","","",100,[[]]],[11,"from","","",101,[[]]],[11,"into","","",101,[[]]],[11,"to_owned","","",101,[[]]],[11,"clone_into","","",101,[[]]],[11,"borrow","","",101,[[]]],[11,"borrow_mut","","",101,[[]]],[11,"try_from","","",101,[[],["result",4]]],[11,"try_into","","",101,[[],["result",4]]],[11,"type_id","","",101,[[],["typeid",3]]],[11,"equivalent","","",101,[[]]],[11,"get_hash","","",101,[[]]],[11,"vzip","","",101,[[]]],[11,"from","","",102,[[]]],[11,"into","","",102,[[]]],[11,"borrow","","",102,[[]]],[11,"borrow_mut","","",102,[[]]],[11,"try_from","","",102,[[],["result",4]]],[11,"try_into","","",102,[[],["result",4]]],[11,"type_id","","",102,[[],["typeid",3]]],[11,"vzip","","",102,[[]]],[11,"from","","",103,[[]]],[11,"into","","",103,[[]]],[11,"borrow","","",103,[[]]],[11,"borrow_mut","","",103,[[]]],[11,"try_from","","",103,[[],["result",4]]],[11,"try_into","","",103,[[],["result",4]]],[11,"type_id","","",103,[[],["typeid",3]]],[11,"vzip","","",103,[[]]],[11,"from","map_model::traversable","",104,[[]]],[11,"into","","",104,[[]]],[11,"to_owned","","",104,[[]]],[11,"clone_into","","",104,[[]]],[11,"to_string","","",104,[[],["string",3]]],[11,"borrow","","",104,[[]]],[11,"borrow_mut","","",104,[[]]],[11,"try_from","","",104,[[],["result",4]]],[11,"try_into","","",104,[[],["result",4]]],[11,"type_id","","",104,[[],["typeid",3]]],[11,"equivalent","","",104,[[]]],[11,"vzip","","",104,[[]]],[11,"from","","",105,[[]]],[11,"into","","",105,[[]]],[11,"to_owned","","",105,[[]]],[11,"clone_into","","",105,[[]]],[11,"to_string","","",105,[[],["string",3]]],[11,"borrow","","",105,[[]]],[11,"borrow_mut","","",105,[[]]],[11,"try_from","","",105,[[],["result",4]]],[11,"try_into","","",105,[[],["result",4]]],[11,"type_id","","",105,[[],["typeid",3]]],[11,"equivalent","","",105,[[]]],[11,"get_hash","","",105,[[]]],[11,"vzip","","",105,[[]]],[11,"from","map_model","",106,[[]]],[11,"into","","",106,[[]]],[11,"borrow","","",106,[[]]],[11,"borrow_mut","","",106,[[]]],[11,"try_from","","",106,[[],["result",4]]],[11,"try_into","","",106,[[],["result",4]]],[11,"type_id","","",106,[[],["typeid",3]]],[11,"vzip","","",106,[[]]],[11,"clone","map_model::connectivity::walking","",1,[[],["walkingoptions",3]]],[11,"clone","map_model::edits::perma","",9,[[],["permanentmapedits",3]]],[11,"clone","","",10,[[],["permanenteditintersection",4]]],[11,"clone","","",12,[[],["permanenteditcmd",4]]],[11,"clone","map_model::edits","",16,[[],["mapedits",3]]],[11,"clone","","",17,[[],["editintersection",4]]],[11,"clone","","",18,[[],["editroad",3]]],[11,"clone","","",19,[[],["editcmd",4]]],[11,"clone","map_model::map","",30,[[],["mapconfig",3]]],[11,"clone","","",31,[[],["drivingside",4]]],[11,"clone","map_model::objects::area","",32,[[],["areaid",3]]],[11,"clone","","",33,[[],["areatype",4]]],[11,"clone","map_model::objects::building","",35,[[],["buildingid",3]]],[11,"clone","","",37,[[],["amenity",3]]],[11,"clone","","",38,[[],["offstreetparking",4]]],[11,"clone","","",39,[[],["buildingtype",4]]],[11,"clone","","",41,[[],["nameperlanguage",3]]],[11,"clone","","",42,[[],["amenitytype",4]]],[11,"clone","map_model::objects::bus_stop","",43,[[],["busstopid",3]]],[11,"clone","","",44,[[],["busrouteid",3]]],[11,"clone","","",45,[[],["busstop",3]]],[11,"clone","map_model::objects::intersection","",47,[[],["intersectionid",3]]],[11,"clone","","",48,[[],["intersectiontype",4]]],[11,"clone","map_model::objects::lane","",50,[[],["laneid",3]]],[11,"clone","","",51,[[],["lanetype",4]]],[11,"clone","map_model::objects::parking_lot","",53,[[],["parkinglotid",3]]],[11,"clone","map_model::objects::road","",55,[[],["roadid",3]]],[11,"clone","","",56,[[],["direction",4]]],[11,"clone","","",57,[[],["directedroadid",3]]],[11,"clone","map_model::objects::stop_signs","",59,[[],["controlstopsign",3]]],[11,"clone","","",60,[[],["roadwithstopsign",3]]],[11,"clone","map_model::objects::traffic_signals","",61,[[],["controltrafficsignal",3]]],[11,"clone","","",62,[[],["stage",3]]],[11,"clone","","",63,[[],["stagetype",4]]],[11,"clone","map_model::objects::turn","",64,[[],["turnid",3]]],[11,"clone","","",65,[[],["turntype",4]]],[11,"clone","","",66,[[],["turnpriority",4]]],[11,"clone","","",67,[[],["turn",3]]],[11,"clone","","",68,[[],["movementid",3]]],[11,"clone","","",69,[[],["compressedmovementid",3]]],[11,"clone","","",70,[[],["movement",3]]],[11,"clone","map_model::objects::zone","",71,[[],["accessrestrictions",3]]],[11,"clone","map_model::osm","",73,[[],["roadrank",4]]],[11,"clone","","",74,[[],["nodeid",3]]],[11,"clone","","",75,[[],["wayid",3]]],[11,"clone","","",76,[[],["relationid",3]]],[11,"clone","","",77,[[],["osmid",4]]],[11,"clone","map_model::pathfind::driving","",80,[[],["node",4]]],[11,"clone","map_model::pathfind::uber_turns","",84,[[],["intersectioncluster",3]]],[11,"clone","","",85,[[],["uberturn",3]]],[11,"clone","map_model::connectivity","",3,[[],["walkingnode",4]]],[11,"clone","map_model::pathfind","",88,[[],["pathstep",4]]],[11,"clone","","",89,[[],["path",3]]],[11,"clone","","",90,[[]]],[11,"clone","","",91,[[],["pathrequest",3]]],[11,"clone","map_model::raw","",94,[[],["originalroad",3]]],[11,"clone","","",95,[[],["rawroad",3]]],[11,"clone","","",96,[[],["rawintersection",3]]],[11,"clone","","",97,[[],["rawbuilding",3]]],[11,"clone","","",98,[[],["rawarea",3]]],[11,"clone","","",99,[[],["rawparkinglot",3]]],[11,"clone","","",100,[[],["restrictiontype",4]]],[11,"clone","","",101,[[],["turnrestriction",3]]],[11,"clone","map_model::traversable","",104,[[],["position",3]]],[11,"clone","","",105,[[],["traversable",4]]],[11,"default","map_model::edits","",16,[[],["mapedits",3]]],[11,"cmp","map_model::connectivity::walking","",2,[[["item",3]],["ordering",4]]],[11,"cmp","map_model::objects::area","",32,[[["areaid",3]],["ordering",4]]],[11,"cmp","map_model::objects::building","",35,[[["buildingid",3]],["ordering",4]]],[11,"cmp","","",41,[[["nameperlanguage",3]],["ordering",4]]],[11,"cmp","","",42,[[["amenitytype",4]],["ordering",4]]],[11,"cmp","map_model::objects::bus_stop","",43,[[["busstopid",3]],["ordering",4]]],[11,"cmp","","",44,[[["busrouteid",3]],["ordering",4]]],[11,"cmp","map_model::objects::intersection","",47,[[["intersectionid",3]],["ordering",4]]],[11,"cmp","map_model::objects::lane","",50,[[["laneid",3]],["ordering",4]]],[11,"cmp","","",51,[[["lanetype",4]],["ordering",4]]],[11,"cmp","map_model::objects::parking_lot","",53,[[["parkinglotid",3]],["ordering",4]]],[11,"cmp","map_model::objects::road","",55,[[["roadid",3]],["ordering",4]]],[11,"cmp","","",56,[[["direction",4]],["ordering",4]]],[11,"cmp","","",57,[[["directedroadid",3]],["ordering",4]]],[11,"cmp","map_model::objects::turn","",64,[[["turnid",3]],["ordering",4]]],[11,"cmp","","",65,[[["turntype",4]],["ordering",4]]],[11,"cmp","","",68,[[["movementid",3]],["ordering",4]]],[11,"cmp","","",69,[[["compressedmovementid",3]],["ordering",4]]],[11,"cmp","map_model::osm","",73,[[["roadrank",4]],["ordering",4]]],[11,"cmp","","",74,[[["nodeid",3]],["ordering",4]]],[11,"cmp","","",75,[[["wayid",3]],["ordering",4]]],[11,"cmp","","",76,[[["relationid",3]],["ordering",4]]],[11,"cmp","","",77,[[["osmid",4]],["ordering",4]]],[11,"cmp","map_model::pathfind::driving","",80,[[["node",4]],["ordering",4]]],[11,"cmp","map_model::connectivity","",3,[[["walkingnode",4]],["ordering",4]]],[11,"cmp","map_model::pathfind","",88,[[["pathstep",4]],["ordering",4]]],[11,"cmp","","",90,[[["pathconstraints",4]],["ordering",4]]],[11,"cmp","map_model::raw","",94,[[["originalroad",3]],["ordering",4]]],[11,"cmp","","",100,[[["restrictiontype",4]],["ordering",4]]],[11,"cmp","","",101,[[["turnrestriction",3]],["ordering",4]]],[11,"cmp","map_model::traversable","",104,[[["position",3]],["ordering",4]]],[11,"cmp","","",105,[[["traversable",4]],["ordering",4]]],[11,"eq","map_model::connectivity::walking","",2,[[["item",3]]]],[11,"ne","","",2,[[["item",3]]]],[11,"eq","map_model::edits","",16,[[["mapedits",3]]]],[11,"ne","","",16,[[["mapedits",3]]]],[11,"eq","","",17,[[["editintersection",4]]]],[11,"ne","","",17,[[["editintersection",4]]]],[11,"eq","","",18,[[["editroad",3]]]],[11,"ne","","",18,[[["editroad",3]]]],[11,"eq","","",19,[[["editcmd",4]]]],[11,"ne","","",19,[[["editcmd",4]]]],[11,"eq","map_model::make::initial::lane_specs","",25,[[["lanespec",3]]]],[11,"ne","","",25,[[["lanespec",3]]]],[11,"eq","map_model::map","",31,[[["drivingside",4]]]],[11,"eq","map_model::objects::area","",32,[[["areaid",3]]]],[11,"ne","","",32,[[["areaid",3]]]],[11,"eq","","",33,[[["areatype",4]]]],[11,"eq","map_model::objects::building","",35,[[["buildingid",3]]]],[11,"ne","","",35,[[["buildingid",3]]]],[11,"eq","","",38,[[["offstreetparking",4]]]],[11,"ne","","",38,[[["offstreetparking",4]]]],[11,"eq","","",41,[[["nameperlanguage",3]]]],[11,"ne","","",41,[[["nameperlanguage",3]]]],[11,"eq","","",42,[[["amenitytype",4]]]],[11,"eq","map_model::objects::bus_stop","",43,[[["busstopid",3]]]],[11,"ne","","",43,[[["busstopid",3]]]],[11,"eq","","",44,[[["busrouteid",3]]]],[11,"ne","","",44,[[["busrouteid",3]]]],[11,"eq","","",45,[[["busstop",3]]]],[11,"ne","","",45,[[["busstop",3]]]],[11,"eq","map_model::objects::intersection","",47,[[["intersectionid",3]]]],[11,"ne","","",47,[[["intersectionid",3]]]],[11,"eq","","",48,[[["intersectiontype",4]]]],[11,"eq","map_model::objects::lane","",50,[[["laneid",3]]]],[11,"ne","","",50,[[["laneid",3]]]],[11,"eq","","",51,[[["lanetype",4]]]],[11,"eq","map_model::objects::parking_lot","",53,[[["parkinglotid",3]]]],[11,"ne","","",53,[[["parkinglotid",3]]]],[11,"eq","map_model::objects::road","",55,[[["roadid",3]]]],[11,"ne","","",55,[[["roadid",3]]]],[11,"eq","","",56,[[["direction",4]]]],[11,"eq","","",57,[[["directedroadid",3]]]],[11,"ne","","",57,[[["directedroadid",3]]]],[11,"eq","map_model::objects::stop_signs","",59,[[["controlstopsign",3]]]],[11,"ne","","",59,[[["controlstopsign",3]]]],[11,"eq","","",60,[[["roadwithstopsign",3]]]],[11,"ne","","",60,[[["roadwithstopsign",3]]]],[11,"eq","map_model::objects::traffic_signals","",61,[[["controltrafficsignal",3]]]],[11,"ne","","",61,[[["controltrafficsignal",3]]]],[11,"eq","","",62,[[["stage",3]]]],[11,"ne","","",62,[[["stage",3]]]],[11,"eq","","",63,[[["stagetype",4]]]],[11,"ne","","",63,[[["stagetype",4]]]],[11,"eq","map_model::objects::turn","",64,[[["turnid",3]]]],[11,"ne","","",64,[[["turnid",3]]]],[11,"eq","","",65,[[["turntype",4]]]],[11,"eq","","",66,[[["turnpriority",4]]]],[11,"eq","","",67,[[["turn",3]]]],[11,"ne","","",67,[[["turn",3]]]],[11,"eq","","",68,[[["movementid",3]]]],[11,"ne","","",68,[[["movementid",3]]]],[11,"eq","","",69,[[["compressedmovementid",3]]]],[11,"ne","","",69,[[["compressedmovementid",3]]]],[11,"eq","","",70,[[["movement",3]]]],[11,"ne","","",70,[[["movement",3]]]],[11,"eq","map_model::objects::zone","",71,[[["accessrestrictions",3]]]],[11,"ne","","",71,[[["accessrestrictions",3]]]],[11,"eq","","",72,[[["zone",3]]]],[11,"ne","","",72,[[["zone",3]]]],[11,"eq","map_model::osm","",73,[[["roadrank",4]]]],[11,"eq","","",74,[[["nodeid",3]]]],[11,"ne","","",74,[[["nodeid",3]]]],[11,"eq","","",75,[[["wayid",3]]]],[11,"ne","","",75,[[["wayid",3]]]],[11,"eq","","",76,[[["relationid",3]]]],[11,"ne","","",76,[[["relationid",3]]]],[11,"eq","","",77,[[["osmid",4]]]],[11,"ne","","",77,[[["osmid",4]]]],[11,"eq","map_model::pathfind::driving","",80,[[["node",4]]]],[11,"ne","","",80,[[["node",4]]]],[11,"eq","map_model::pathfind::uber_turns","",85,[[["uberturn",3]]]],[11,"ne","","",85,[[["uberturn",3]]]],[11,"eq","map_model::connectivity","",3,[[["walkingnode",4]]]],[11,"ne","","",3,[[["walkingnode",4]]]],[11,"eq","map_model::pathfind","",88,[[["pathstep",4]]]],[11,"ne","","",88,[[["pathstep",4]]]],[11,"eq","","",89,[[["path",3]]]],[11,"ne","","",89,[[["path",3]]]],[11,"eq","","",90,[[]]],[11,"eq","","",90,[[["enumset",3]]]],[11,"eq","","",91,[[["pathrequest",3]]]],[11,"ne","","",91,[[["pathrequest",3]]]],[11,"eq","","",92,[[["routingparams",3]]]],[11,"ne","","",92,[[["routingparams",3]]]],[11,"eq","map_model::raw","",94,[[["originalroad",3]]]],[11,"ne","","",94,[[["originalroad",3]]]],[11,"eq","","",95,[[["rawroad",3]]]],[11,"ne","","",95,[[["rawroad",3]]]],[11,"eq","","",96,[[["rawintersection",3]]]],[11,"ne","","",96,[[["rawintersection",3]]]],[11,"eq","","",100,[[["restrictiontype",4]]]],[11,"eq","","",101,[[["turnrestriction",3]]]],[11,"ne","","",101,[[["turnrestriction",3]]]],[11,"eq","map_model::traversable","",104,[[["position",3]]]],[11,"ne","","",104,[[["position",3]]]],[11,"eq","","",105,[[["traversable",4]]]],[11,"ne","","",105,[[["traversable",4]]]],[11,"partial_cmp","map_model::connectivity::walking","",2,[[["item",3]],[["option",4],["ordering",4]]]],[11,"partial_cmp","map_model::objects::area","",32,[[["areaid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",32,[[["areaid",3]]]],[11,"le","","",32,[[["areaid",3]]]],[11,"gt","","",32,[[["areaid",3]]]],[11,"ge","","",32,[[["areaid",3]]]],[11,"partial_cmp","map_model::objects::building","",35,[[["buildingid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",35,[[["buildingid",3]]]],[11,"le","","",35,[[["buildingid",3]]]],[11,"gt","","",35,[[["buildingid",3]]]],[11,"ge","","",35,[[["buildingid",3]]]],[11,"partial_cmp","","",41,[[["nameperlanguage",3]],[["option",4],["ordering",4]]]],[11,"lt","","",41,[[["nameperlanguage",3]]]],[11,"le","","",41,[[["nameperlanguage",3]]]],[11,"gt","","",41,[[["nameperlanguage",3]]]],[11,"ge","","",41,[[["nameperlanguage",3]]]],[11,"partial_cmp","","",42,[[["amenitytype",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","map_model::objects::bus_stop","",43,[[["busstopid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",43,[[["busstopid",3]]]],[11,"le","","",43,[[["busstopid",3]]]],[11,"gt","","",43,[[["busstopid",3]]]],[11,"ge","","",43,[[["busstopid",3]]]],[11,"partial_cmp","","",44,[[["busrouteid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",44,[[["busrouteid",3]]]],[11,"le","","",44,[[["busrouteid",3]]]],[11,"gt","","",44,[[["busrouteid",3]]]],[11,"ge","","",44,[[["busrouteid",3]]]],[11,"partial_cmp","map_model::objects::intersection","",47,[[["intersectionid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",47,[[["intersectionid",3]]]],[11,"le","","",47,[[["intersectionid",3]]]],[11,"gt","","",47,[[["intersectionid",3]]]],[11,"ge","","",47,[[["intersectionid",3]]]],[11,"partial_cmp","map_model::objects::lane","",50,[[["laneid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",50,[[["laneid",3]]]],[11,"le","","",50,[[["laneid",3]]]],[11,"gt","","",50,[[["laneid",3]]]],[11,"ge","","",50,[[["laneid",3]]]],[11,"partial_cmp","","",51,[[["lanetype",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","map_model::objects::parking_lot","",53,[[["parkinglotid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",53,[[["parkinglotid",3]]]],[11,"le","","",53,[[["parkinglotid",3]]]],[11,"gt","","",53,[[["parkinglotid",3]]]],[11,"ge","","",53,[[["parkinglotid",3]]]],[11,"partial_cmp","map_model::objects::road","",55,[[["roadid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",55,[[["roadid",3]]]],[11,"le","","",55,[[["roadid",3]]]],[11,"gt","","",55,[[["roadid",3]]]],[11,"ge","","",55,[[["roadid",3]]]],[11,"partial_cmp","","",56,[[["direction",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",57,[[["directedroadid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",57,[[["directedroadid",3]]]],[11,"le","","",57,[[["directedroadid",3]]]],[11,"gt","","",57,[[["directedroadid",3]]]],[11,"ge","","",57,[[["directedroadid",3]]]],[11,"partial_cmp","map_model::objects::turn","",64,[[["turnid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",64,[[["turnid",3]]]],[11,"le","","",64,[[["turnid",3]]]],[11,"gt","","",64,[[["turnid",3]]]],[11,"ge","","",64,[[["turnid",3]]]],[11,"partial_cmp","","",65,[[["turntype",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",66,[[["turnpriority",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",68,[[["movementid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",68,[[["movementid",3]]]],[11,"le","","",68,[[["movementid",3]]]],[11,"gt","","",68,[[["movementid",3]]]],[11,"ge","","",68,[[["movementid",3]]]],[11,"partial_cmp","","",69,[[["compressedmovementid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",69,[[["compressedmovementid",3]]]],[11,"le","","",69,[[["compressedmovementid",3]]]],[11,"gt","","",69,[[["compressedmovementid",3]]]],[11,"ge","","",69,[[["compressedmovementid",3]]]],[11,"partial_cmp","map_model::osm","",73,[[["roadrank",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",74,[[["nodeid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",74,[[["nodeid",3]]]],[11,"le","","",74,[[["nodeid",3]]]],[11,"gt","","",74,[[["nodeid",3]]]],[11,"ge","","",74,[[["nodeid",3]]]],[11,"partial_cmp","","",75,[[["wayid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",75,[[["wayid",3]]]],[11,"le","","",75,[[["wayid",3]]]],[11,"gt","","",75,[[["wayid",3]]]],[11,"ge","","",75,[[["wayid",3]]]],[11,"partial_cmp","","",76,[[["relationid",3]],[["option",4],["ordering",4]]]],[11,"lt","","",76,[[["relationid",3]]]],[11,"le","","",76,[[["relationid",3]]]],[11,"gt","","",76,[[["relationid",3]]]],[11,"ge","","",76,[[["relationid",3]]]],[11,"partial_cmp","","",77,[[["osmid",4]],[["option",4],["ordering",4]]]],[11,"lt","","",77,[[["osmid",4]]]],[11,"le","","",77,[[["osmid",4]]]],[11,"gt","","",77,[[["osmid",4]]]],[11,"ge","","",77,[[["osmid",4]]]],[11,"partial_cmp","map_model::pathfind::driving","",80,[[["node",4]],[["option",4],["ordering",4]]]],[11,"lt","","",80,[[["node",4]]]],[11,"le","","",80,[[["node",4]]]],[11,"gt","","",80,[[["node",4]]]],[11,"ge","","",80,[[["node",4]]]],[11,"partial_cmp","map_model::connectivity","",3,[[["walkingnode",4]],[["option",4],["ordering",4]]]],[11,"lt","","",3,[[["walkingnode",4]]]],[11,"le","","",3,[[["walkingnode",4]]]],[11,"gt","","",3,[[["walkingnode",4]]]],[11,"ge","","",3,[[["walkingnode",4]]]],[11,"partial_cmp","map_model::pathfind","",88,[[["pathstep",4]],[["option",4],["ordering",4]]]],[11,"lt","","",88,[[["pathstep",4]]]],[11,"le","","",88,[[["pathstep",4]]]],[11,"gt","","",88,[[["pathstep",4]]]],[11,"ge","","",88,[[["pathstep",4]]]],[11,"partial_cmp","","",90,[[["pathconstraints",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","map_model::raw","",94,[[["originalroad",3]],[["option",4],["ordering",4]]]],[11,"lt","","",94,[[["originalroad",3]]]],[11,"le","","",94,[[["originalroad",3]]]],[11,"gt","","",94,[[["originalroad",3]]]],[11,"ge","","",94,[[["originalroad",3]]]],[11,"partial_cmp","","",100,[[["restrictiontype",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",101,[[["turnrestriction",3]],[["option",4],["ordering",4]]]],[11,"lt","","",101,[[["turnrestriction",3]]]],[11,"le","","",101,[[["turnrestriction",3]]]],[11,"gt","","",101,[[["turnrestriction",3]]]],[11,"ge","","",101,[[["turnrestriction",3]]]],[11,"partial_cmp","map_model::traversable","",104,[[["position",3]],[["option",4],["ordering",4]]]],[11,"lt","","",104,[[["position",3]]]],[11,"le","","",104,[[["position",3]]]],[11,"gt","","",104,[[["position",3]]]],[11,"ge","","",104,[[["position",3]]]],[11,"partial_cmp","","",105,[[["traversable",4]],[["option",4],["ordering",4]]]],[11,"lt","","",105,[[["traversable",4]]]],[11,"le","","",105,[[["traversable",4]]]],[11,"gt","","",105,[[["traversable",4]]]],[11,"ge","","",105,[[["traversable",4]]]],[11,"fmt","map_model::edits::compat","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"fmt","","",6,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::edits","",16,[[["formatter",3]],["result",6]]],[11,"fmt","","",17,[[["formatter",3]],["result",6]]],[11,"fmt","","",18,[[["formatter",3]],["result",6]]],[11,"fmt","","",19,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::map","",30,[[["formatter",3]],["result",6]]],[11,"fmt","","",31,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::area","",32,[[["formatter",3]],["result",6]]],[11,"fmt","","",33,[[["formatter",3]],["result",6]]],[11,"fmt","","",34,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::building","",35,[[["formatter",3]],["result",6]]],[11,"fmt","","",36,[[["formatter",3]],["result",6]]],[11,"fmt","","",37,[[["formatter",3]],["result",6]]],[11,"fmt","","",38,[[["formatter",3]],["result",6]]],[11,"fmt","","",39,[[["formatter",3]],["result",6]]],[11,"fmt","","",41,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::bus_stop","",43,[[["formatter",3]],["result",6]]],[11,"fmt","","",44,[[["formatter",3]],["result",6]]],[11,"fmt","","",45,[[["formatter",3]],["result",6]]],[11,"fmt","","",46,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::intersection","",47,[[["formatter",3]],["result",6]]],[11,"fmt","","",48,[[["formatter",3]],["result",6]]],[11,"fmt","","",49,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::lane","",50,[[["formatter",3]],["result",6]]],[11,"fmt","","",51,[[["formatter",3]],["result",6]]],[11,"fmt","","",52,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::parking_lot","",53,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::road","",55,[[["formatter",3]],["result",6]]],[11,"fmt","","",56,[[["formatter",3]],["result",6]]],[11,"fmt","","",57,[[["formatter",3]],["result",6]]],[11,"fmt","","",58,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::stop_signs","",59,[[["formatter",3]],["result",6]]],[11,"fmt","","",60,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::traffic_signals","",61,[[["formatter",3]],["result",6]]],[11,"fmt","","",62,[[["formatter",3]],["result",6]]],[11,"fmt","","",63,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::turn","",64,[[["formatter",3]],["result",6]]],[11,"fmt","","",65,[[["formatter",3]],["result",6]]],[11,"fmt","","",66,[[["formatter",3]],["result",6]]],[11,"fmt","","",67,[[["formatter",3]],["result",6]]],[11,"fmt","","",68,[[["formatter",3]],["result",6]]],[11,"fmt","","",69,[[["formatter",3]],["result",6]]],[11,"fmt","","",70,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::zone","",71,[[["formatter",3]],["result",6]]],[11,"fmt","","",72,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::osm","",73,[[["formatter",3]],["result",6]]],[11,"fmt","","",74,[[["formatter",3]],["result",6]]],[11,"fmt","","",75,[[["formatter",3]],["result",6]]],[11,"fmt","","",76,[[["formatter",3]],["result",6]]],[11,"fmt","","",77,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::pathfind::driving","",80,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::pathfind::uber_turns","",85,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::connectivity","",3,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::pathfind","",88,[[["formatter",3]],["result",6]]],[11,"fmt","","",89,[[["formatter",3]],["result",6]]],[11,"fmt","","",90,[[["formatter",3]],["result",6]]],[11,"fmt","","",91,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::raw","",93,[[["formatter",3]],["result",6]]],[11,"fmt","","",94,[[["formatter",3]],["result",6]]],[11,"fmt","","",95,[[["formatter",3]],["result",6]]],[11,"fmt","","",96,[[["formatter",3]],["result",6]]],[11,"fmt","","",97,[[["formatter",3]],["result",6]]],[11,"fmt","","",98,[[["formatter",3]],["result",6]]],[11,"fmt","","",99,[[["formatter",3]],["result",6]]],[11,"fmt","","",100,[[["formatter",3]],["result",6]]],[11,"fmt","","",101,[[["formatter",3]],["result",6]]],[11,"fmt","","",102,[[["formatter",3]],["result",6]]],[11,"fmt","","",103,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::traversable","",104,[[["formatter",3]],["result",6]]],[11,"fmt","","",105,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::area","",32,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::building","",35,[[["formatter",3]],["result",6]]],[11,"fmt","","",42,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::bus_stop","",43,[[["formatter",3]],["result",6]]],[11,"fmt","","",44,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::intersection","",47,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::lane","",50,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::parking_lot","",53,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::road","",55,[[["formatter",3]],["result",6]]],[11,"fmt","","",56,[[["formatter",3]],["result",6]]],[11,"fmt","","",57,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::objects::turn","",64,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::osm","",74,[[["formatter",3]],["result",6]]],[11,"fmt","","",75,[[["formatter",3]],["result",6]]],[11,"fmt","","",76,[[["formatter",3]],["result",6]]],[11,"fmt","","",77,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::pathfind","",91,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::raw","",94,[[["formatter",3]],["result",6]]],[11,"fmt","map_model::traversable","",104,[[["formatter",3]],["result",6]]],[11,"fmt","","",105,[[["formatter",3]],["result",6]]],[11,"sub","map_model::pathfind","",90,[[]]],[11,"not","","",90,[[]]],[11,"bitand","","",90,[[]]],[11,"bitor","","",90,[[]]],[11,"bitxor","","",90,[[]]],[11,"hash","map_model::objects::area","",32,[[]]],[11,"hash","","",33,[[]]],[11,"hash","map_model::objects::building","",35,[[]]],[11,"hash","map_model::objects::bus_stop","",43,[[]]],[11,"hash","","",44,[[]]],[11,"hash","map_model::objects::intersection","",47,[[]]],[11,"hash","","",48,[[]]],[11,"hash","map_model::objects::lane","",50,[[]]],[11,"hash","","",51,[[]]],[11,"hash","map_model::objects::parking_lot","",53,[[]]],[11,"hash","map_model::objects::road","",55,[[]]],[11,"hash","","",56,[[]]],[11,"hash","","",57,[[]]],[11,"hash","map_model::objects::turn","",64,[[]]],[11,"hash","","",68,[[]]],[11,"hash","","",69,[[]]],[11,"hash","map_model::osm","",74,[[]]],[11,"hash","","",75,[[]]],[11,"hash","","",76,[[]]],[11,"hash","","",77,[[]]],[11,"hash","map_model::connectivity","",3,[[]]],[11,"hash","map_model::pathfind","",88,[[]]],[11,"hash","map_model::raw","",94,[[]]],[11,"hash","","",100,[[]]],[11,"hash","","",101,[[]]],[11,"hash","map_model::traversable","",105,[[]]],[11,"serialize","map_model::city","",0,[[],["result",4]]],[11,"serialize","map_model::edits::perma","",9,[[],["result",4]]],[11,"serialize","","",10,[[],["result",4]]],[11,"serialize","","",12,[[],["result",4]]],[11,"serialize","map_model::edits","",18,[[],["result",4]]],[11,"serialize","map_model::map","",30,[[],["result",4]]],[11,"serialize","","",31,[[],["result",4]]],[11,"serialize","map_model::objects::area","",32,[[],["result",4]]],[11,"serialize","","",33,[[],["result",4]]],[11,"serialize","","",34,[[],["result",4]]],[11,"serialize","map_model::objects::building","",35,[[],["result",4]]],[11,"serialize","","",36,[[],["result",4]]],[11,"serialize","","",37,[[],["result",4]]],[11,"serialize","","",38,[[],["result",4]]],[11,"serialize","","",39,[[],["result",4]]],[11,"serialize","","",41,[[],["result",4]]],[11,"serialize","map_model::objects::bus_stop","",43,[[],["result",4]]],[11,"serialize","","",44,[[],["result",4]]],[11,"serialize","","",45,[[],["result",4]]],[11,"serialize","","",46,[[],["result",4]]],[11,"serialize","map_model::objects::intersection","",47,[[],["result",4]]],[11,"serialize","","",48,[[],["result",4]]],[11,"serialize","","",49,[[],["result",4]]],[11,"serialize","map_model::objects::lane","",50,[[],["result",4]]],[11,"serialize","","",51,[[],["result",4]]],[11,"serialize","","",52,[[],["result",4]]],[11,"serialize","map_model::objects::parking_lot","",53,[[],["result",4]]],[11,"serialize","","",54,[[],["result",4]]],[11,"serialize","map_model::objects::road","",55,[[],["result",4]]],[11,"serialize","","",56,[[],["result",4]]],[11,"serialize","","",57,[[],["result",4]]],[11,"serialize","","",58,[[],["result",4]]],[11,"serialize","map_model::objects::stop_signs","",59,[[],["result",4]]],[11,"serialize","","",60,[[],["result",4]]],[11,"serialize","map_model::objects::traffic_signals","",61,[[],["result",4]]],[11,"serialize","","",62,[[],["result",4]]],[11,"serialize","","",63,[[],["result",4]]],[11,"serialize","map_model::objects::turn","",64,[[],["result",4]]],[11,"serialize","","",65,[[],["result",4]]],[11,"serialize","","",66,[[],["result",4]]],[11,"serialize","","",67,[[],["result",4]]],[11,"serialize","","",68,[[],["result",4]]],[11,"serialize","","",69,[[],["result",4]]],[11,"serialize","","",70,[[],["result",4]]],[11,"serialize","map_model::objects::zone","",71,[[],["result",4]]],[11,"serialize","","",72,[[],["result",4]]],[11,"serialize","map_model::osm","",74,[[],["result",4]]],[11,"serialize","","",75,[[],["result",4]]],[11,"serialize","","",76,[[],["result",4]]],[11,"serialize","","",77,[[],["result",4]]],[11,"serialize","map_model::pathfind::ch","",78,[[],["result",4]]],[11,"serialize","map_model::pathfind::driving","",79,[[],["result",4]]],[11,"serialize","","",80,[[],["result",4]]],[11,"serialize","map_model::pathfind::node_map","",81,[[],["result",4]]],[11,"serialize","map_model::pathfind::pathfinder","",83,[[],["result",4]]],[11,"serialize","map_model::pathfind::uber_turns","",84,[[],["result",4]]],[11,"serialize","","",85,[[],["result",4]]],[11,"serialize","map_model::pathfind::walking","",87,[[],["result",4]]],[11,"serialize","map_model::connectivity","",3,[[],["result",4]]],[11,"serialize","map_model::pathfind","",88,[[],["result",4]]],[11,"serialize","","",89,[[],["result",4]]],[11,"serialize","","",90,[[],["result",4]]],[11,"serialize","","",91,[[],["result",4]]],[11,"serialize","","",92,[[],["result",4]]],[11,"serialize","map_model::raw","",93,[[],["result",4]]],[11,"serialize","","",94,[[],["result",4]]],[11,"serialize","","",95,[[],["result",4]]],[11,"serialize","","",96,[[],["result",4]]],[11,"serialize","","",97,[[],["result",4]]],[11,"serialize","","",98,[[],["result",4]]],[11,"serialize","","",99,[[],["result",4]]],[11,"serialize","","",100,[[],["result",4]]],[11,"serialize","","",102,[[],["result",4]]],[11,"serialize","","",103,[[],["result",4]]],[11,"serialize","map_model::traversable","",104,[[],["result",4]]],[11,"serialize","","",105,[[],["result",4]]],[11,"serialize","map_model","",106,[[],["result",4]]],[11,"deserialize","map_model::city","",0,[[],["result",4]]],[11,"deserialize","map_model::edits::compat","",4,[[],["result",4]]],[11,"deserialize","","",5,[[],["result",4]]],[11,"deserialize","","",6,[[],["result",4]]],[11,"deserialize","","",7,[[],["result",4]]],[11,"deserialize","","",8,[[],["result",4]]],[11,"deserialize","map_model::edits::perma","",9,[[],["result",4]]],[11,"deserialize","","",10,[[],["result",4]]],[11,"deserialize","","",12,[[],["result",4]]],[11,"deserialize","map_model::edits","",18,[[],["result",4]]],[11,"deserialize","map_model::map","",30,[[],["result",4]]],[11,"deserialize","","",31,[[],["result",4]]],[11,"deserialize","map_model::objects::area","",32,[[],["result",4]]],[11,"deserialize","","",33,[[],["result",4]]],[11,"deserialize","","",34,[[],["result",4]]],[11,"deserialize","map_model::objects::building","",35,[[],["result",4]]],[11,"deserialize","","",36,[[],["result",4]]],[11,"deserialize","","",37,[[],["result",4]]],[11,"deserialize","","",38,[[],["result",4]]],[11,"deserialize","","",39,[[],["result",4]]],[11,"deserialize","","",41,[[],["result",4]]],[11,"deserialize","map_model::objects::bus_stop","",43,[[],["result",4]]],[11,"deserialize","","",44,[[],["result",4]]],[11,"deserialize","","",45,[[],["result",4]]],[11,"deserialize","","",46,[[],["result",4]]],[11,"deserialize","map_model::objects::intersection","",47,[[],["result",4]]],[11,"deserialize","","",48,[[],["result",4]]],[11,"deserialize","","",49,[[],["result",4]]],[11,"deserialize","map_model::objects::lane","",50,[[],["result",4]]],[11,"deserialize","","",51,[[],["result",4]]],[11,"deserialize","","",52,[[],["result",4]]],[11,"deserialize","map_model::objects::parking_lot","",53,[[],["result",4]]],[11,"deserialize","","",54,[[],["result",4]]],[11,"deserialize","map_model::objects::road","",55,[[],["result",4]]],[11,"deserialize","","",56,[[],["result",4]]],[11,"deserialize","","",57,[[],["result",4]]],[11,"deserialize","","",58,[[],["result",4]]],[11,"deserialize","map_model::objects::stop_signs","",59,[[],["result",4]]],[11,"deserialize","","",60,[[],["result",4]]],[11,"deserialize","map_model::objects::traffic_signals","",61,[[],["result",4]]],[11,"deserialize","","",62,[[],["result",4]]],[11,"deserialize","","",63,[[],["result",4]]],[11,"deserialize","map_model::objects::turn","",64,[[],["result",4]]],[11,"deserialize","","",65,[[],["result",4]]],[11,"deserialize","","",66,[[],["result",4]]],[11,"deserialize","","",67,[[],["result",4]]],[11,"deserialize","","",68,[[],["result",4]]],[11,"deserialize","","",69,[[],["result",4]]],[11,"deserialize","","",70,[[],["result",4]]],[11,"deserialize","map_model::objects::zone","",71,[[],["result",4]]],[11,"deserialize","","",72,[[],["result",4]]],[11,"deserialize","map_model::osm","",74,[[],["result",4]]],[11,"deserialize","","",75,[[],["result",4]]],[11,"deserialize","","",76,[[],["result",4]]],[11,"deserialize","","",77,[[],["result",4]]],[11,"deserialize","map_model::pathfind::ch","",78,[[],["result",4]]],[11,"deserialize","map_model::pathfind::driving","",79,[[],["result",4]]],[11,"deserialize","","",80,[[],["result",4]]],[11,"deserialize","map_model::pathfind::node_map","",82,[[],["result",4]]],[11,"deserialize","map_model::pathfind::pathfinder","",83,[[],["result",4]]],[11,"deserialize","map_model::pathfind::uber_turns","",84,[[],["result",4]]],[11,"deserialize","","",85,[[],["result",4]]],[11,"deserialize","map_model::pathfind::walking","",87,[[],["result",4]]],[11,"deserialize","map_model::connectivity","",3,[[],["result",4]]],[11,"deserialize","map_model::pathfind","",88,[[],["result",4]]],[11,"deserialize","","",89,[[],["result",4]]],[11,"deserialize","","",90,[[],["result",4]]],[11,"deserialize","","",91,[[],["result",4]]],[11,"deserialize","","",92,[[],["result",4]]],[11,"deserialize","map_model::raw","",93,[[],["result",4]]],[11,"deserialize","","",94,[[],["result",4]]],[11,"deserialize","","",95,[[],["result",4]]],[11,"deserialize","","",96,[[],["result",4]]],[11,"deserialize","","",97,[[],["result",4]]],[11,"deserialize","","",98,[[],["result",4]]],[11,"deserialize","","",99,[[],["result",4]]],[11,"deserialize","","",100,[[],["result",4]]],[11,"deserialize","","",102,[[],["result",4]]],[11,"deserialize","","",103,[[],["result",4]]],[11,"deserialize","map_model::traversable","",104,[[],["result",4]]],[11,"deserialize","","",105,[[],["result",4]]],[11,"deserialize","map_model","",106,[[],["result",4]]],[11,"enum_into_u32","map_model::pathfind","",90,[[]]],[11,"enum_from_u32","","",90,[[]]],[11,"serialize","","",90,[[["enumset",3],["pathconstraints",4],["serializer",8]],["result",4]]],[11,"deserialize","","",90,[[["deserializer",8]],[["enumset",3],["result",4]]]],[11,"to_perma","map_model::edits","",19,[[["map",3]],["permanenteditcmd",4]]],[11,"to_permanent","","Encode the edits in a permanent format, referring to …",16,[[["map",3]],["permanentmapedits",3]]],[11,"to_permanent","","",17,[[["map",3]],["permanenteditintersection",4]]],[11,"new_edits","map_model","",106,[[],["mapedits",3]]],[11,"get_edits","","",106,[[],["mapedits",3]]],[11,"unsaved_edits","","",106,[[]]],[11,"get_r_edit","","",106,[[["roadid",3]],["editroad",3]]],[11,"edit_road_cmd","","",106,[[["fn",8],["roadid",3]],["editcmd",4]]],[11,"get_i_edit","","Panics on borders",106,[[["intersectionid",3]],["editintersection",4]]],[11,"save_edits","","",106,[[]]],[11,"must_apply_edits","","",106,[[["mapedits",3]]]],[11,"try_apply_edits","","",106,[[["mapedits",3]]]],[11,"apply_edits","","",106,[[["mapedits",3]]]],[11,"recalculate_pathfinding_after_edits","","This can expensive, so don\'t constantly do it while …",106,[[["timer",3]]]],[11,"incremental_edit_traffic_signal","","Since the player is in the middle of editing, the signal …",106,[[["controltrafficsignal",3]]]],[11,"create_from_raw","","",106,[[["rawmap",3],["timer",3]],["map",3]]],[11,"import_minimal","","Use for creating a map directly from some external …",106,[[["mapname",3],["vec",3],["road",3],["bounds",3],["gpsbounds",3],["vec",3],["intersection",3],["lane",3],["vec",3],["vec",3],["turn",3]],["map",3]]],[11,"new","","",106,[[["timer",3],["string",3]],["map",3]]],[11,"map_loaded_directly","","If you have to deserialize a Map directly, call this …",106,[[]]],[11,"blank","","Just for temporary std::mem::replace tricks.",106,[[],["map",3]]],[11,"all_roads","","",106,[[],["vec",3]]],[11,"all_lanes","","",106,[[],["vec",3]]],[11,"all_intersections","","",106,[[],["vec",3]]],[11,"all_turns","","",106,[[],["btreemap",3]]],[11,"all_buildings","","",106,[[],["vec",3]]],[11,"all_areas","","",106,[[],["vec",3]]],[11,"all_parking_lots","","",106,[[],["vec",3]]],[11,"all_zones","","",106,[[],["vec",3]]],[11,"maybe_get_r","","",106,[[["roadid",3]],[["option",4],["road",3]]]],[11,"maybe_get_l","","",106,[[["laneid",3]],[["lane",3],["option",4]]]],[11,"maybe_get_i","","",106,[[["intersectionid",3]],[["option",4],["intersection",3]]]],[11,"maybe_get_t","","",106,[[["turnid",3]],[["option",4],["turn",3]]]],[11,"maybe_get_b","","",106,[[["buildingid",3]],[["option",4],["building",3]]]],[11,"maybe_get_pl","","",106,[[["parkinglotid",3]],[["option",4],["parkinglot",3]]]],[11,"maybe_get_a","","",106,[[["areaid",3]],[["option",4],["area",3]]]],[11,"maybe_get_bs","","",106,[[["busstopid",3]],[["option",4],["busstop",3]]]],[11,"maybe_get_stop_sign","","",106,[[["intersectionid",3]],[["controlstopsign",3],["option",4]]]],[11,"maybe_get_traffic_signal","","",106,[[["intersectionid",3]],[["option",4],["controltrafficsignal",3]]]],[11,"maybe_get_br","","",106,[[["busrouteid",3]],[["option",4],["busroute",3]]]],[11,"get_r","","",106,[[["roadid",3]],["road",3]]],[11,"get_l","","",106,[[["laneid",3]],["lane",3]]],[11,"get_i","","",106,[[["intersectionid",3]],["intersection",3]]],[11,"get_t","","",106,[[["turnid",3]],["turn",3]]],[11,"get_b","","",106,[[["buildingid",3]],["building",3]]],[11,"get_a","","",106,[[["areaid",3]],["area",3]]],[11,"get_pl","","",106,[[["parkinglotid",3]],["parkinglot",3]]],[11,"get_stop_sign","","",106,[[["intersectionid",3]],["controlstopsign",3]]],[11,"get_traffic_signal","","",106,[[["intersectionid",3]],["controltrafficsignal",3]]],[11,"get_turns_in_intersection","","",106,[[["intersectionid",3]],[["vec",3],["turn",3]]]],[11,"get_turns_from_lane","","The turns may belong to two different intersections!",106,[[["laneid",3]],[["vec",3],["turn",3]]]],[11,"get_turns_to_lane","","",106,[[["laneid",3]],[["vec",3],["turn",3]]]],[11,"get_turn_between","","",106,[[["intersectionid",3],["laneid",3]],[["option",4],["turnid",3]]]],[11,"get_next_turns_and_lanes","","",106,[[["intersectionid",3],["laneid",3]],["vec",3]]],[11,"get_turns_for","","",106,[[["laneid",3],["pathconstraints",4]],[["vec",3],["turn",3]]]],[11,"get_next_roads","","",106,[[["roadid",3]],[["btreeset",3],["roadid",3]]]],[11,"get_parent","","",106,[[["laneid",3]],["road",3]]],[11,"get_gps_bounds","","",106,[[],["gpsbounds",3]]],[11,"get_bounds","","",106,[[],["bounds",3]]],[11,"get_city_name","","",106,[[],["cityname",3]]],[11,"get_name","","",106,[[],["mapname",3]]],[11,"all_bus_stops","","",106,[[],["btreemap",3]]],[11,"get_bs","","",106,[[["busstopid",3]],["busstop",3]]],[11,"get_br","","",106,[[["busrouteid",3]],["busroute",3]]],[11,"all_bus_routes","","",106,[[],["vec",3]]],[11,"get_bus_route","","",106,[[],[["option",4],["busroute",3]]]],[11,"get_routes_serving_stop","","",106,[[["busstopid",3]],[["vec",3],["busroute",3]]]],[11,"building_to_road","","",106,[[["buildingid",3]],["road",3]]],[11,"all_incoming_borders","","This and all_outgoing_borders are expensive to constantly …",106,[[],[["vec",3],["intersection",3]]]],[11,"all_outgoing_borders","","",106,[[],[["vec",3],["intersection",3]]]],[11,"save","","",106,[[]]],[11,"find_driving_lane_near_building","","Cars trying to park near this building should head for …",106,[[["buildingid",3]],["laneid",3]]],[11,"get_boundary_polygon","","",106,[[],["polygon",3]]],[11,"pathfind","","",106,[[["pathrequest",3]],[["result",6],["path",3]]]],[11,"pathfind_avoiding_lanes","","",106,[[["pathrequest",3],["laneid",3],["btreeset",3]],[["option",4],["path",3]]]],[11,"pathfind_with_params","","",106,[[["routingparams",3],["pathrequest",3]],[["result",6],["path",3]]]],[11,"should_use_transit","","",106,[[["position",3]],["option",4]]],[11,"get_movement","","",106,[[["turnid",3]],[["movementid",3],["option",4]]]],[11,"find_r_by_osm_id","","",106,[[["originalroad",3]],[["roadid",3],["result",6]]]],[11,"find_i_by_osm_id","","",106,[[["nodeid",3]],[["intersectionid",3],["result",6]]]],[11,"find_b_by_osm_id","","",106,[[["osmid",4]],[["buildingid",3],["option",4]]]],[11,"find_br","","",106,[[["relationid",3]],[["option",4],["busrouteid",3]]]],[11,"hack_override_offstreet_spots","","",106,[[]]],[11,"hack_override_offstreet_spots_individ","","",106,[[["buildingid",3]]]],[11,"hack_override_bldg_type","","",106,[[["buildingid",3],["buildingtype",4]]]],[11,"hack_override_orig_spawn_times","","",106,[[["vec",3],["busrouteid",3],["time",3]]]],[11,"hack_add_area","","",106,[[["polygon",3],["tags",3],["areatype",4]]]],[11,"hack_override_routing_params","","",106,[[["timer",3],["routingparams",3]]]],[11,"get_languages","","",106,[[],["btreeset",3]]],[11,"get_config","","",106,[[],["mapconfig",3]]],[11,"simple_path_btwn","","Simple search along undirected roads",106,[[["intersectionid",3]],[["vec",3],["option",4]]]],[11,"routing_params","","Returns the routing params baked into the map.",106,[[],["routingparams",3]]]],"p":[[3,"City"],[3,"WalkingOptions"],[3,"Item"],[4,"WalkingNode"],[3,"OriginalLane"],[3,"ChangeLaneType"],[3,"ReverseLane"],[3,"ChangeSpeedLimit"],[3,"ChangeAccessRestrictions"],[3,"PermanentMapEdits"],[4,"PermanentEditIntersection"],[13,"StopSign"],[4,"PermanentEditCmd"],[13,"ChangeRoad"],[13,"ChangeIntersection"],[13,"ChangeRouteSchedule"],[3,"MapEdits"],[4,"EditIntersection"],[3,"EditRoad"],[4,"EditCmd"],[13,"ChangeRoad"],[13,"ChangeIntersection"],[13,"ChangeRouteSchedule"],[3,"EditEffects"],[3,"Piece"],[3,"LaneSpec"],[3,"InitialMap"],[3,"Road"],[3,"Intersection"],[3,"Matcher"],[3,"MapConfig"],[4,"DrivingSide"],[3,"AreaID"],[4,"AreaType"],[3,"Area"],[3,"BuildingID"],[3,"Building"],[3,"Amenity"],[4,"OffstreetParking"],[4,"BuildingType"],[13,"Residential"],[3,"NamePerLanguage"],[4,"AmenityType"],[3,"BusStopID"],[3,"BusRouteID"],[3,"BusStop"],[3,"BusRoute"],[3,"IntersectionID"],[4,"IntersectionType"],[3,"Intersection"],[3,"LaneID"],[4,"LaneType"],[3,"Lane"],[3,"ParkingLotID"],[3,"ParkingLot"],[3,"RoadID"],[4,"Direction"],[3,"DirectedRoadID"],[3,"Road"],[3,"ControlStopSign"],[3,"RoadWithStopSign"],[3,"ControlTrafficSignal"],[3,"Stage"],[4,"StageType"],[3,"TurnID"],[4,"TurnType"],[4,"TurnPriority"],[3,"Turn"],[3,"MovementID"],[3,"CompressedMovementID"],[3,"Movement"],[3,"AccessRestrictions"],[3,"Zone"],[4,"RoadRank"],[3,"NodeID"],[3,"WayID"],[3,"RelationID"],[4,"OsmID"],[3,"ContractionHierarchyPathfinder"],[3,"VehiclePathfinder"],[4,"Node"],[3,"NodeMap"],[3,"InnerNodeMap"],[4,"Pathfinder"],[3,"IntersectionCluster"],[3,"UberTurn"],[3,"UberTurnGroup"],[3,"SidewalkPathfinder"],[4,"PathStep"],[3,"Path"],[4,"PathConstraints"],[3,"PathRequest"],[3,"RoutingParams"],[3,"RawMap"],[3,"OriginalRoad"],[3,"RawRoad"],[3,"RawIntersection"],[3,"RawBuilding"],[3,"RawArea"],[3,"RawParkingLot"],[4,"RestrictionType"],[3,"TurnRestriction"],[3,"RawBusRoute"],[3,"RawBusStop"],[3,"Position"],[4,"Traversable"],[3,"Map"]]},\ "osm_viewer":{"doc":"","i":[[0,"viewer","osm_viewer","",null,null],[6,"App","osm_viewer::viewer","",null,null],[3,"Viewer","","",null,null],[12,"top_panel","","",0,null],[12,"fixed_object_outline","","",0,null],[12,"minimap","","",0,null],[12,"businesses","","",0,null],[11,"new","","",0,[[["eventctx",3],["simpleapp",3]],[["box",3],["state",8]]]],[11,"recalculate_top_panel","","",0,[[["simpleapp",3],["option",4],["eventctx",3],["widget",3]]]],[11,"calculate_tags","","",0,[[["eventctx",3],["simpleapp",3]],["widget",3]]],[3,"BusinessSearch","","",null,null],[12,"counts","","",1,null],[12,"show","","",1,null],[12,"highlight","","",1,null],[12,"hovering_on_amenity","","",1,null],[11,"new","","",1,[[["eventctx",3],["simpleapp",3]],["businesssearch",3]]],[11,"update","","",1,[[["eventctx",3],["simpleapp",3]]]],[11,"hovering_on_amenity","","",1,[[["string",3],["simpleapp",3],["eventctx",3],["option",4]]]],[11,"render","","",1,[[["eventctx",3]],["widget",3]]],[3,"MinimapController","","",null,null],[5,"main","osm_viewer","",null,[[]]],[11,"from","osm_viewer::viewer","",0,[[]]],[11,"into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["box",3],["global",3]],[["any",8],["global",3],["box",3]]]],[11,"into_any_rc","","",0,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",0,[[],["any",8]]],[11,"as_any_mut","","",0,[[],["any",8]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"into_any","","",1,[[["box",3],["global",3]],[["any",8],["global",3],["box",3]]]],[11,"into_any_rc","","",1,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",1,[[],["any",8]]],[11,"as_any_mut","","",1,[[],["any",8]]],[11,"into_any_arc","","",1,[[["arc",3]],[["arc",3],["any",8]]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"vzip","","",2,[[]]],[11,"into_any","","",2,[[["box",3],["global",3]],[["any",8],["global",3],["box",3]]]],[11,"into_any_rc","","",2,[[["rc",3]],[["rc",3],["any",8]]]],[11,"as_any","","",2,[[],["any",8]]],[11,"as_any_mut","","",2,[[],["any",8]]],[11,"into_any_arc","","",2,[[["arc",3]],[["arc",3],["any",8]]]],[11,"event","","",0,[[["eventctx",3],["simpleapp",3]],[["transition",4],["simpleapp",3]]]],[11,"draw_baselayer","","",0,[[],["drawbaselayer",4]]],[11,"draw","","",0,[[["gfxctx",3],["simpleapp",3]]]],[11,"has_zorder","","",2,[[["simpleapp",3]]]],[11,"make_legend","","",2,[[["eventctx",3],["simpleapp",3]],["widget",3]]]],"p":[[3,"Viewer"],[3,"BusinessSearch"],[3,"MinimapController"]]},\ diff --git a/rustdoc/src/game/home/runner/work/abstreet/abstreet/target/debug/build/game-a95c4551e63dceca/out/built.rs.html b/rustdoc/src/game/home/runner/work/abstreet/abstreet/target/debug/build/game-a95c4551e63dceca/out/built.rs.html index 2ce09a1498..a76d1de155 100644 --- a/rustdoc/src/game/home/runner/work/abstreet/abstreet/target/debug/build/game-a95c4551e63dceca/out/built.rs.html +++ b/rustdoc/src/game/home/runner/work/abstreet/abstreet/target/debug/build/game-a95c4551e63dceca/out/built.rs.html @@ -122,7 +122,7 @@ /// The output of `rustdoc -V` pub const RUSTDOC_VERSION: &str = "rustdoc 1.50.0 (cb75ad5db 2021-02-10)"; /// The built-time in RFC2822, UTC -pub const BUILT_TIME_UTC: &str = "Sat, 20 Feb 2021 17:48:44 +0000"; +pub const BUILT_TIME_UTC: &str = "Sat, 20 Feb 2021 18:06:32 +0000"; /// The target architecture, given by `cfg!(target_arch)`. pub const CFG_TARGET_ARCH: &str = "x86_64"; /// The endianness, given by `cfg!(target_endian)`. diff --git a/rustdoc/src/map_editor/main.rs.html b/rustdoc/src/map_editor/main.rs.html index c8c4c73966..d39c56fa03 100644 --- a/rustdoc/src/map_editor/main.rs.html +++ b/rustdoc/src/map_editor/main.rs.html @@ -471,76 +471,6 @@ 468 469 470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540
 //! The map_editor renders and lets you edit RawMaps, which are a format in between OSM and the
 //! full Map. It's useful for debugging maps imported from OSM, and for drawing synthetic maps for
@@ -551,14 +481,14 @@
 
 use model::{Model, ID};
 
-use abstutil::{CmdArgs, Timer};
+use abstutil::CmdArgs;
 use geom::{Distance, Line, Polygon, Pt2D};
 use map_gui::tools::CameraState;
 use map_model::osm;
 use map_model::raw::OriginalRoad;
 use widgetry::{
-    Canvas, Color, Drawable, EventCtx, GeomBatch, GfxCtx, HorizontalAlignment, Key, Line, Outcome,
-    Panel, SharedAppState, State, StyledButtons, Text, Transition, VerticalAlignment, Widget,
+    Canvas, Checkbox, Color, EventCtx, GfxCtx, HorizontalAlignment, Key, Line, Outcome, Panel,
+    SharedAppState, State, StyledButtons, Text, Transition, VerticalAlignment, Widget,
 };
 
 mod edit;
@@ -596,7 +526,6 @@
     MovingBuilding(osm::OsmID),
     MovingRoadPoint(OriginalRoad, usize),
     CreatingRoad(osm::NodeID),
-    PreviewIntersection(Drawable),
     SetBoundaryPt1,
     SetBoundaryPt2(Pt2D),
 }
@@ -606,11 +535,10 @@
         let mut args = CmdArgs::new();
         let load = args.optional_free();
         let include_bldgs = args.enabled("--bldgs");
-        let intersection_geom = args.enabled("--geom");
         args.done();
 
         let model = if let Some(path) = load {
-            Model::import(path, include_bldgs, intersection_geom, ctx)
+            Model::import(path, include_bldgs, ctx)
         } else {
             Model::blank()
         };
@@ -655,15 +583,13 @@
                     ]),
                     Text::new().draw(ctx).named("instructions"),
                     Widget::col(vec![
+                        Checkbox::switch(ctx, "intersection geometry", Key::G, false),
                         ctx.style()
                             .btn_outline_light_text("adjust boundary")
                             .build_def(ctx),
                         ctx.style()
                             .btn_solid_dark_text("export to OSM")
                             .build_def(ctx),
-                        ctx.style()
-                            .btn_outline_light_text("preview all intersections")
-                            .build_def(ctx),
                     ]),
                 ]))
                 .aligned(HorizontalAlignment::Right, VerticalAlignment::Top)
@@ -723,9 +649,6 @@
                         } else if ctx.input.pressed(Key::Backspace) {
                             app.model.delete_i(i);
                             app.model.world.handle_mouseover(ctx);
-                        } else if !app.model.intersection_geom && ctx.input.pressed(Key::P) {
-                            let draw = preview_intersection(i, &app.model, ctx);
-                            self.mode = Mode::PreviewIntersection(draw);
                         } else if ctx.input.pressed(Key::T) {
                             app.model.toggle_i(ctx, i);
                         }
@@ -746,11 +669,6 @@
                             Key::LeftControl.txt(ctx),
                             Line(" to move"),
                         ]);
-                        txt.add_appended(vec![
-                            Line("- Press "),
-                            Key::P.txt(ctx),
-                            Line(" to preview geometry"),
-                        ]);
                         txt.add_appended(vec![
                             Line("- Press "),
                             Key::T.txt(ctx),
@@ -860,14 +778,14 @@
                                 "export to OSM" => {
                                     app.model.export_to_osm();
                                 }
-                                "preview all intersections" => {
-                                    if !app.model.intersection_geom {
-                                        let draw = preview_all_intersections(&app.model, ctx);
-                                        self.mode = Mode::PreviewIntersection(draw);
-                                    }
-                                }
                                 _ => unreachable!(),
                             },
+                            Outcome::Changed => {
+                                app.model.show_intersection_geometry(
+                                    ctx,
+                                    self.panel.is_checked("intersection geometry"),
+                                );
+                            }
                             _ => {
                                 if ctx.input.pressed(Key::I) {
                                     if let Some(pt) = cursor {
@@ -938,12 +856,6 @@
                     }
                 }
             }
-            Mode::PreviewIntersection(_) => {
-                if ctx.input.pressed(Key::P) {
-                    self.mode = Mode::Viewing;
-                    app.model.world.handle_mouseover(ctx);
-                }
-            }
             Mode::SetBoundaryPt1 => {
                 let mut txt = Text::new();
                 txt.add_appended(vec![
@@ -993,13 +905,7 @@
             Color::rgb(242, 239, 233),
             app.model.map.boundary_polygon.clone(),
         );
-        match self.mode {
-            Mode::PreviewIntersection(_) => app.model.world.draw(g, |id| match id {
-                ID::Intersection(_) => false,
-                _ => true,
-            }),
-            _ => app.model.world.draw(g, |_| true),
-        }
+        app.model.world.draw(g, |_| true);
 
         match self.mode {
             Mode::CreatingRoad(i1) => {
@@ -1013,16 +919,6 @@
             | Mode::MovingIntersection(_)
             | Mode::MovingBuilding(_)
             | Mode::MovingRoadPoint(_, _) => {}
-            Mode::PreviewIntersection(ref draw) => {
-                g.redraw(draw);
-
-                if g.is_key_down(Key::RightAlt) {
-                    // TODO Argh, covers up mouseover tooltip.
-                    if let Some(cursor) = g.canvas.get_cursor_in_map_space() {
-                        g.draw_mouse_tooltip(Text::from(Line(cursor.to_string())));
-                    }
-                }
-            }
             Mode::SetBoundaryPt1 => {}
             Mode::SetBoundaryPt2(pt1) => {
                 if let Some(pt2) = g.canvas.get_cursor_in_map_space() {
@@ -1037,42 +933,6 @@
     }
 }
 
-fn preview_intersection(i: osm::NodeID, model: &Model, ctx: &EventCtx) -> Drawable {
-    let (intersection, roads, debug) = model.map.preview_intersection(i);
-    let mut batch = GeomBatch::new();
-    batch.push(Color::ORANGE.alpha(0.5), intersection);
-    for r in roads {
-        batch.push(Color::GREEN.alpha(0.5), r);
-    }
-    for (label, poly) in debug {
-        let center = poly.center();
-        batch.push(Color::RED.alpha(0.5), poly);
-        batch.append(
-            Text::from(Line(label))
-                .with_bg()
-                .render_autocropped(ctx)
-                .scale(0.1)
-                .centered_on(center),
-        );
-    }
-    batch.upload(ctx)
-}
-
-fn preview_all_intersections(model: &Model, ctx: &EventCtx) -> Drawable {
-    let mut batch = GeomBatch::new();
-    let mut timer = Timer::new("preview all intersections");
-    timer.start_iter("preview", model.map.intersections.len());
-    for i in model.map.intersections.keys() {
-        timer.next();
-        if model.map.roads_per_intersection(*i).is_empty() {
-            continue;
-        }
-        let (intersection, _, _) = model.map.preview_intersection(*i);
-        batch.push(Color::ORANGE.alpha(0.5), intersection);
-    }
-    batch.upload(ctx)
-}
-
 fn main() {
     widgetry::run(
         widgetry::Settings::new("RawMap editor").read_svg(Box::new(abstio::slurp_bytes)),
diff --git a/rustdoc/src/map_editor/model.rs.html b/rustdoc/src/map_editor/model.rs.html
index 77cc3e357a..e127287c4f 100644
--- a/rustdoc/src/map_editor/model.rs.html
+++ b/rustdoc/src/map_editor/model.rs.html
@@ -591,6 +591,9 @@
 588
 589
 590
+591
+592
+593
 
 use std::collections::HashMap;
 use std::io::Write;
@@ -615,7 +618,7 @@
     pub world: World<ID>,
 
     include_bldgs: bool,
-    pub intersection_geom: bool,
+    intersection_geom: bool,
 }
 
 // Construction
@@ -637,16 +640,10 @@
         }
     }
 
-    pub fn import(
-        path: String,
-        include_bldgs: bool,
-        intersection_geom: bool,
-        ctx: &EventCtx,
-    ) -> Model {
+    pub fn import(path: String, include_bldgs: bool, ctx: &EventCtx) -> Model {
         let mut timer = Timer::new("import map");
         let mut model = Model::blank();
         model.include_bldgs = include_bldgs;
-        model.intersection_geom = intersection_geom;
 
         model.map = if path.ends_with(".osm") {
             convert_osm::convert(
@@ -831,6 +828,15 @@
 
         self.intersection_added(id, ctx);
     }
+
+    pub fn show_intersection_geometry(&mut self, ctx: &EventCtx, show: bool) {
+        self.intersection_geom = show;
+
+        for id in self.map.intersections.keys().cloned().collect::<Vec<_>>() {
+            self.world.delete(ID::Intersection(id));
+            self.intersection_added(id, ctx);
+        }
+    }
 }
 
 // Roads
diff --git a/rustdoc/src/map_editor/world.rs.html b/rustdoc/src/map_editor/world.rs.html
index ff913e5c87..300c7f351a 100644
--- a/rustdoc/src/map_editor/world.rs.html
+++ b/rustdoc/src/map_editor/world.rs.html
@@ -142,6 +142,11 @@
 139
 140
 141
+142
+143
+144
+145
+146
 
 use std::collections::HashMap;
 use std::fmt::Debug;
@@ -281,7 +286,12 @@
 
     pub fn delete(&mut self, id: ID) {
         let obj = self.objects.remove(&id).unwrap();
-        self.quadtree.remove(obj.quadtree_id).unwrap();
+        if self.quadtree.remove(obj.quadtree_id).is_none() {
+            // TODO This happens for nodes that're totally off-map. They're retained because we
+            // defer running the remove_disconnected code, so map_editor can actually debug more
+            // stuff.
+            error!("{:?} wasn't in the quadtree", id);
+        }
     }
 }