abstreet/rustdoc/search-index.js

31 lines
779 KiB
JavaScript
Raw Normal View History

var searchIndex = JSON.parse('{\
"abstutil":{"doc":"The contents of this crate need to be organized better:","i":[[3,"FileWithProgress","abstutil","",null,null],[12,"inner","","",0,null],[12,"path","","",0,null],[12,"processed_bytes","","",0,null],[12,"total_bytes","","",0,null],[12,"started_at","","",0,null],[12,"last_printed_at","","",0,null],[3,"Manifest","","A list of all canonical data files for A/B Street that\'re…",null,null],[12,"entries","","Keyed by path, starting with \\\"data/\\\"",1,null],[3,"Entry","","A single file",null,null],[12,"checksum","","md5sum of the file",2,null],[12,"size_bytes","","Size in bytes",2,null],[3,"DataPacks","","Player-chosen groups of files to opt into downloading",null,null],[12,"runtime","","A list of cities to download for using in A/B Street.",3,null],[12,"input","","A list of cities to download for running the map importer.",3,null],[3,"MapName","","A single map is identified using this. Using a struct…",null,null],[12,"city","","The name of the city, in filename-friendly form -- for…",4,null],[12,"map","","The name of the map within the city, in filename-friendly…",4,null],[3,"CmdArgs","","Yet another barebones command-line flag parsing library.",null,null],[12,"kv","","",5,null],[12,"bits","","",5,null],[12,"free","","",5,null],[12,"used","","",5,null],[3,"MultiMap","","",null,null],[12,"map","","",6,null],[12,"empty","","",6,null],[3,"Counter","","",null,null],[12,"map","","",7,null],[12,"sum","","",7,null],[3,"VecMap","","Use when your key is just PartialEq, not Ord or Hash.",null,null],[12,"inner","","",8,null],[3,"Tags","","Convenience functions around a string->string map",null,null],[12,"0","","",9,null],[3,"FixedMap","","A drop-in replacement for `BTreeMap`, where the keys have…",null,null],[12,"inner","","",10,null],[12,"key_type","","",10,null],[3,"Logger","","",null,null],[12,"last_fast_paths_note","","",11,null],[3,"Timer","","Hierarchial magic",null,null],[12,"results","","",12,null],[12,"stack","","",12,null],[12,"outermost_name","","",12,null],[12,"notes","","",12,null],[12,"warnings","","",12,null],[12,"errors","","",12,null],[12,"sink","","",12,null],[4,"Parallelism","","",null,null],[13,"Fastest","","Use all CPUs",13,null],[13,"Polite","","Use half of CPUs",13,null],[5,"maybe_read_json","","",null,[[["string",3],["timer",3]],[["deserializeowned",8],["box",3],["result",4]]]],[5,"read_json","","",null,[[["string",3],["timer",3]],["deserializeowned",8]]],[5,"read_binary","","",null,[[["string",3],["timer",3]],["deserializeowned",8]]],[5,"read_object","","May be a JSON or binary file",null,[[["string",3],["timer",3]],[["deserializeowned",8],["box",3],["result",4]]]],[5,"must_read_object","","May be a JSON or binary file. Panics on failure.",null,[[["string",3],["timer",3]],["deserializeowned",8]]],[5,"find_prev_file","","Keeps file extensions",null,[[["string",3]],[["option",4],["string",3]]]],[5,"find_next_file","","",null,[[["string",3]],[["option",4],["string",3]]]],[5,"load_all_objects","","Load all serialized things from a directory, return sorted…",null,[[["string",3]],["vec",3]]],[5,"list_all_objects","","Just list all things from a directory, return sorted by…",null,[[["string",3]],[["vec",3],["string",3]]]],[5,"file_exists","","",null,[[["into",8],["string",3]]]],[5,"list_dir","","Returns full paths",null,[[["string",3]],[["vec",3],["string",3]]]],[5,"slurp_file","","",null,[[],[["vec",3],["result",4],["box",3]]]],[5,"maybe_read_binary","","",null,[[["string",3],["timer",3]],[["deserializeowned",8],["box",3],["result",4]]]],[5,"write_json","","",null,[[["string",3]]]],[5,"write_binary","","",null,[[["string",3]]]],[5,"delete_file","","Idempotent",null,[[["into",8],["string",3]]]],[5,"to_json","","Stringifies an object to nicely formatted JSON.",null,[[],["string",3]]],[5,"to_json_terse","","Stringifies an object to terse JSON.",null,[[],["string",3]]],[5,"from_json","","Deserializes an object from a JSON string.",null,[[["vec",3]],[["deserializeowned",8],["box",3],["result",4]]]],[5,"from_json_reader","","Deserializes an object from JSON, from a reader.",null,[[["read",8]
"collisions":{"doc":"A simple data format to list collisions that\'ve occurred…","i":[[3,"CollisionDataset","collisions","A single dataset describing some collisions that happened.",null,null],[12,"source_url","","A URL pointing to the original data source.",0,null],[12,"collisions","","The collisions imported from the data source.",0,null],[3,"Collision","","A single collision that occurred in the real world.",null,null],[12,"location","","A single point describing where the collision occurred.",1,null],[12,"time","","The local time the collision occurred.",1,null],[12,"severity","","The severity reported in the original data source.",1,null],[4,"Severity","","A simple ranking for how severe the collision was.…",null,null],[13,"Slight","","",2,null],[13,"Serious","","",2,null],[13,"Fatal","","",2,null],[5,"import_stats19","","Import data from the UK STATS19 dataset. See…",null,[[["extrashapes",3]],["collisiondataset",3]]],[5,"import_seattle","","Import data from Seattle GeoData…",null,[[["extrashapes",3]],["collisiondataset",3]]],[5,"parse_incdttm","","",null,[[],[["option",4],["duration",3]]]],[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,"vzip","","",0,[[]]],[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,"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,"vzip","","",2,[[]]],[11,"clone","","",2,[[],["severity",4]]],[11,"eq","","",2,[[["severity",4]]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"deserialize","","",0,[[],["result",4]]],[11,"deserialize","","",1,[[],["result",4]]],[11,"deserialize","","",2,[[],["result",4]]],[11,"serialize","","",0,[[],["result",4]]],[11,"serialize","","",1,[[],["result",4]]],[11,"serialize","","",2,[[],["result",4]]]],"p":[[3,"CollisionDataset"],[3,"Collision"],[4,"Severity"]]},\
"convert_osm":{"doc":"","i":[[3,"Options","convert_osm","",null,null],[12,"osm_input","","",0,null],[12,"name","","",0,null],[12,"clip","","The path to an osmosis boundary polygon. Highly recommended.",0,null],[12,"map_config","","",0,null],[12,"onstreet_parking","","",0,null],[12,"public_offstreet_parking","","",0,null],[12,"private_offstreet_parking","","",0,null],[12,"elevation","","If provided, pull elevation data from this SRTM file. The…",0,null],[12,"include_railroads","","OSM railway=rail will be included as light rail if so.…",0,null],[4,"OnstreetParking","","What roads will have on-street parking lanes? Data from…",null,null],[13,"JustOSM","","If not tagged, there won\'t be parking.",1,null],[13,"Blockface","","If OSM data is missing, then try to match data from…",1,null],[13,"SomeAdditionalWhereNoData","","If OSM data is missing, then infer parking lanes on some…",1,null],[12,"pct","convert_osm::OnstreetParking","[0, 100]",2,null],[4,"PublicOffstreetParking","convert_osm","How many spots are available in public parking garages?",null,null],[13,"None","","",3,null],[13,"GIS","","Pull data from…",3,null],[4,"PrivateOffstreetParking","","If a building doesn\'t have anything from…",null,null],[13,"FixedPerBldg","","",4,null],[5,"convert","","",null,[[["options",3],["timer",3]],["rawmap",3]]],[5,"use_amenities","","",null,[[["rawmap",3],["vec",3],["timer",3]]]],[5,"use_elevation","","",null,[[["rawmap",3],["timer",3]]]],[0,"clip","","",null,null],[5,"clip_map","convert_osm::clip","",null,[[["rawmap",3],["timer",3]]]],[0,"extract","convert_osm","",null,null],[3,"OsmExtract","convert_osm::extract","",null,null],[12,"roads","","Unsplit roads",5,null],[12,"traffic_signals","","Traffic signals to the direction they apply (or just true…",5,null],[12,"osm_node_ids","","",5,null],[12,"simple_turn_restrictions","","(ID, restriction type, from way ID, via node ID, to way ID)",5,null],[12,"complicated_turn_restrictions","","(relation ID, from way ID, via way ID, to way ID)",5,null],[12,"amenities","","(location, amenity)",5,null],[5,"extract_osm","","",null,[[["rawmap",3],["timer",3],["options",3]],["osmextract",3]]],[5,"is_road","","",null,[[["options",3],["tags",3]]]],[5,"is_bldg","","",null,[[["tags",3]]]],[5,"get_bldg_amenities","","",null,[[["tags",3]],[["vec",3],["amenity",3]]]],[5,"get_area_type","","",null,[[["tags",3]],[["option",4],["areatype",4]]]],[0,"osm_geom","convert_osm","Utilities for extracting concrete geometry from OSM objects.",null,null],[5,"get_multipolygon_members","convert_osm::osm_geom","",null,[[["relationid",3],["relation",3],["document",3]],["vec",3]]],[5,"glue_multipolygon","","Take a bunch of partial PolyLines and attempt to glue them…",null,[[["relationid",3],["vec",3],["timer",3],["ring",3],["option",4]],[["vec",3],["polygon",3]]]],[5,"glue_to_boundary","","",null,[[["polyline",3],["ring",3]],[["option",4],["polygon",3]]]],[5,"multipoly_geometry","","",null,[[["relationid",3],["relation",3],["document",3]],[["string",3],["result",4],["polygon",3]]]],[0,"parking","convert_osm","",null,null],[5,"apply_parking","convert_osm::parking","",null,[[["rawmap",3],["timer",3],["options",3]]]],[5,"use_parking_hints","","",null,[[["rawmap",3],["string",3],["timer",3]]]],[5,"use_offstreet_parking","","",null,[[["rawmap",3],["string",3],["timer",3]]]],[5,"apply_private_offstreet_parking","","",null,[[["rawmap",3],["privateoffstreetparking",4]]]],[17,"DIRECTED_ROAD_THICKNESS","","",null,null],[0,"reader","convert_osm","",null,null],[3,"Document","convert_osm::reader","",null,null],[12,"gps_bounds","","",6,null],[12,"nodes","","",6,null],[12,"ways","","",6,null],[12,"relations","","",6,null],[3,"Node","","",null,null],[12,"pt","","",7,null],[12,"tags","","",7,null],[3,"Way","","",null,null],[12,"nodes","","",8,null],[12,"pts","","",8,null],[12,"tags","","",8,null],[3,"Relation","","",null,null],[12,"tags","","",9,null],[12,"members","","Role, member",9,null],[5,"read","","",null,[[["gpsbounds",3],["timer",3]],[["result",4],["document",3],["box",3]]]],[5,"read_tags","","",null,[[["node",3]],[
"dump_map":{"doc":"","i":[[5,"main","dump_map","",null,[[]]]],"p":[]},\
"dump_scenario":{"doc":"","i":[[5,"main","dump_scenario","",null,[[]]]],"p":[]},\
"experiment":{"doc":"","i":[[5,"main","experiment","",null,[[]]],[0,"animation","","",null,null],[3,"Animator","experiment::animation","",null,null],[12,"time","","",0,null],[12,"active","","",0,null],[12,"draw_current","","",0,null],[3,"Effect","","",null,null],[12,"start","","",1,null],[12,"end","","",1,null],[12,"orig","","",1,null],[12,"center","","",1,null],[12,"lerp_scale","","",1,null],[3,"SnowEffect","","",null,null],[12,"time","","",2,null],[12,"rng","","",2,null],[12,"flakes","","",2,null],[12,"draw","","",2,null],[3,"Snowflake","","",null,null],[12,"start","","",3,null],[12,"top_left","","",3,null],[11,"new","","",0,[[["eventctx",3]],["animator",3]]],[11,"add","","",0,[[["duration",3],["pt2d",3],["geombatch",3]]]],[11,"event","","",0,[[["eventctx",3]]]],[11,"draw","","",0,[[["gfxctx",3]]]],[11,"update","","",1,[[["geombatch",3],["time",3]]]],[11,"new","","",2,[[["eventctx",3]],["snoweffect",3]]],[11,"spawn_new","","",2,[[["eventctx",3]]]],[11,"update","","",2,[[["eventctx",3]]]],[11,"event","","",2,[[["eventctx",3]]]],[11,"draw","","",2,[[["gfxctx",3]]]],[0,"controls","experiment","",null,null],[3,"InstantController","experiment::controls","",null,null],[3,"RotateController","","",null,null],[12,"angle","","",4,null],[17,"HACK","","",null,null],[8,"Controller","","",null,null],[10,"displacement","","",5,[[["eventctx",3],["speed",3]]]],[11,"new","","",6,[[],["instantcontroller",3]]],[11,"new","","",4,[[],["rotatecontroller",3]]],[0,"game","experiment","",null,null],[3,"Game","experiment::game","",null,null],[12,"panel","","",7,null],[12,"controls","","",7,null],[12,"minimap","","",7,null],[12,"animator","","",7,null],[12,"snow","","",7,null],[12,"sleigh","","",7,null],[12,"state","","",7,null],[12,"over_bldg","","",7,null],[3,"SleighState","","",null,null],[12,"config","","",8,null],[12,"score","","",8,null],[12,"energy","","",8,null],[12,"houses","","",8,null],[12,"depot","","",8,null],[12,"cost_to_house","","",8,null],[12,"upzones_used","","",8,null],[12,"upzoned_depots","","",8,null],[12,"draw_all_depots","","",8,null],[12,"draw_todo_houses","","",8,null],[12,"draw_done_houses","","",8,null],[12,"energyless_arrow","","",8,null],[3,"OverBldg","","",null,null],[12,"0","","",9,null],[3,"EnergylessArrow","","",null,null],[12,"draw","","",10,null],[12,"started","","",10,null],[12,"last_update","","",10,null],[4,"BldgState","","",null,null],[13,"Undelivered","","",11,null],[13,"Depot","","",11,null],[13,"Done","","",11,null],[5,"make_bar","","",null,[[["eventctx",3],["colorscale",3]],["widget",3]]],[17,"ZOOM","","",null,null],[11,"new","","",7,[[["eventctx",3],["simpleapp",3],["config",3]],[["box",3],["state",8]]]],[11,"update_panel","","",7,[[["eventctx",3]]]],[11,"upzone","","",7,[[["eventctx",3],["simpleapp",3],["buildingid",3]]]],[11,"new","","",8,[[["config",3],["parcelmetadata",3],["eventctx",3],["simpleapp",3]],["sleighstate",3]]],[11,"recalc_depots","","",8,[[["eventctx",3],["simpleapp",3]]]],[11,"recalc_deliveries","","",8,[[["eventctx",3],["simpleapp",3]]]],[11,"present_dropped","","",8,[[["eventctx",3],["simpleapp",3],["buildingid",3]],["option",4]]],[11,"recharge","","",8,[[["duration",3],["buildingid",3]]]],[11,"has_energy","","",8,[[]]],[11,"get_upzones","","(upzones_free, next_upzone_pct)",8,[[]]],[11,"all_depots","","",8,[[],[["vec",3],["buildingid",3]]]],[11,"key","","",9,[[["pt2d",3],["simpleapp",3],["sleighstate",3]],[["option",4],["buildingid",3]]]],[11,"value","","",9,[[["eventctx",3],["simpleapp",3],["buildingid",3]],["overbldg",3]]],[11,"new","","",10,[[["eventctx",3],["time",3]],["energylessarrow",3]]],[11,"update","","",10,[[["vec",3],["buildingid",3],["eventctx",3],["simpleapp",3],["time",3],["pt2d",3]]]],[0,"levels","experiment","",null,null],[3,"Config","experiment::levels","",null,null],[12,"title","","",12,null],[12,"map","","",12,null],[12,"start_depot","","",12,null],[12,"minimap_zoom","","",12,null],[12,"normal_speed","","",12,null],[12,"tired_speed","","",12,null],[12,"recharge_rate","","",12,null],[12,"max_energy","","",12,null],[12,"upzone_rate","","",12,null],[3,"TitleScreen",
"extract_cities":{"doc":"Extracts all cities from a large .osm file.","i":[[5,"main","extract_cities","",null,[[]]]],"p":[]},\
"fifteen_min":{"doc":"","i":[[5,"main","fifteen_min","",null,[[]]],[0,"isochrone","","",null,null],[3,"Isochrone","fifteen_min::isochrone","Represents the area reachable from a single building.",null,null],[12,"start","","The center of the isochrone",0,null],[12,"constraints","","What mode of travel we\'re using",0,null],[12,"draw","","Colored polygon contours, uploaded to the GPU and ready…",0,null],[12,"time_to_reach_building","","How far away is each building from the start?",0,null],[12,"amenities_reachable","","Per category of amenity (defined by…",0,null],[5,"draw_isochrone","","",null,[[["hashmap",3],["simpleapp",3]],["geombatch",3]]],[11,"new","","",0,[[["eventctx",3],["simpleapp",3],["pathconstraints",4],["buildingid",3]],["isochrone",3]]],[11,"path_to","","",0,[[["map",3],["buildingid",3]],[["path",3],["option",4]]]],[0,"viewer","fifteen_min","This is a tool to experiment with the concept of 15-minute…",null,null],[3,"Viewer","fifteen_min::viewer","This is the UI state for exploring the isochrone/walkshed…",null,null],[12,"panel","","",1,null],[12,"highlight_start","","",1,null],[12,"isochrone","","",1,null],[12,"hovering_on_bldg","","",1,null],[3,"HoverOnBuilding","","",null,null],[12,"tooltip","","",2,null],[12,"drawn_route","","",2,null],[5,"draw_star","","Draw a star on the start building.",null,[[["pt2d",3],["eventctx",3]],["drawable",3]]],[5,"build_panel","","",null,[[["eventctx",3],["simpleapp",3],["building",3],["isochrone",3]],["panel",3]]],[6,"HoverKey","","(building, scale factor)",null,null],[11,"random_start","","Start with a random building",1,[[["eventctx",3],["simpleapp",3]],[["state",8],["box",3]]]],[11,"new","","",1,[[["eventctx",3],["simpleapp",3],["buildingid",3]],[["state",8],["box",3]]]],[11,"key","","",2,[[["eventctx",3],["simpleapp",3]],["option",4]]],[11,"value","","",2,[[["eventctx",3],["simpleapp",3],["isochrone",3]],["hoveronbuilding",3]]],[11,"from","fifteen_min::isochrone","",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]],[["any",8],["box",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","fifteen_min::viewer","",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]],[["any",8],["box",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,"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]],[["any",8],["box",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,"event","","",1,[[["eventctx",3],["simpleapp",3]],[["transition",4],["simpleapp",3]]]],[11,"draw","","",1,[[["gfxctx",3],["simpleapp",3]]]]],"p":[[3,"Isochrone"],[3,"Viewer"],[3,"HoverOnBuilding"]]},\
"game":{"doc":"","i":[[5,"main","game","",null,[[]]],[5,"setup_app","","",null,[[["option",4],["eventctx",3],["flags",3],["options",3],["option",4],["string",3],["gameplaymode",4]]]],[0,"app","","",null,null],[3,"App","game::app","The top-level data that lasts through the entire game, no…",null,null],[12,"primary","","",0,null],[12,"cs","","",0,null],[12,"opts","","",0,null],[12,"per_obj","","",0,null],[12,"session","","Static data that lasts the entire session. Use sparingly.",0,null],[3,"ShowLayers","","",null,null],[12,"show_buildings","","",1,null],[12,"show_parking_lots","","",1,null],[12,"show_intersections","","",1,null],[12,"show_lanes","","",1,null],[12,"show_areas","","",1,null],[12,"show_labels","","",1,null],[3,"ShowEverything","","",null,null],[12,"layers","","",2,null],[3,"Flags","","",null,null],[12,"sim_flags","","",3,null],[12,"live_map_edits","","If true, all map edits immediately apply to the live…",3,null],[3,"PerMap","","All of the state that\'s bound to a specific map.",null,null],[12,"map","","",4,null],[12,"draw_map","","",4,null],[12,"sim","","",4,null],[12,"agents","","",4,null],[12,"current_selection","","",4,null],[12,"current_flags","","",4,null],[12,"last_warped_from","","",4,null],[12,"sim_cb","","",4,null],[12,"dirty_from_edits","","If we ever left edit mode and resumed without restarting…",4,null],[12,"has_modified_trips","","Any ScenarioModifiers in effect?",4,null],[12,"unedited_map","","Sometimes we need the map before any edits have been…",4,null],[12,"layer","","",4,null],[12,"suspended_sim","","Only filled out in edit mode. Stored here once to avoid…",4,null],[12,"prebaked","","Only exists in some gameplay modes. Must be carefully…",4,null],[12,"scenario","","The most recent Scenario loaded from a file. Don\'t depend…",4,null],[3,"SessionState","","",null,null],[12,"tutorial","","",5,null],[12,"high_scores","","",5,null],[12,"info_panel_tab","","",5,null],[3,"PerObjectActions","","",null,null],[12,"click_action","","",6,null],[3,"FindDelayedIntersections","","",null,null],[12,"halt_limit","","",7,null],[12,"report_limit","","",7,null],[12,"currently_delayed","","",7,null],[6,"Transition","","",null,null],[8,"ShowObject","","",null,null],[10,"show","","",8,[[["id",4]]]],[10,"layers","","",8,[[],["showlayers",3]]],[11,"new","","",0,[[["eventctx",3],["flags",3],["options",3]],["app",3]]],[11,"has_prebaked","","",0,[[],["option",4]]],[11,"prebaked","","",0,[[],["analytics",3]]],[11,"set_prebaked","","",0,[[["option",4]]]],[11,"draw","","",0,[[["gfxctx",3],["drawoptions",3],["showobject",8]]]],[11,"recalculate_current_selection","","Assumes some defaults.",0,[[["eventctx",3]]]],[11,"mouseover_unzoomed_roads_and_intersections","","",0,[[["eventctx",3]],[["option",4],["id",4]]]],[11,"mouseover_unzoomed_intersections","","",0,[[["eventctx",3]],[["option",4],["id",4]]]],[11,"mouseover_unzoomed_buildings","","",0,[[["eventctx",3]],[["option",4],["id",4]]]],[11,"mouseover_unzoomed_everything","","",0,[[["eventctx",3]],[["option",4],["id",4]]]],[11,"mouseover_debug_mode","","",0,[[["showobject",8],["eventctx",3]],[["option",4],["id",4]]]],[11,"calculate_current_selection","","",0,[[["showobject",8],["eventctx",3]],[["option",4],["id",4]]]],[11,"get_renderables_back_to_front","","",0,[[["bounds",3],["showobject",8],["prerender",3],["agentcache",3]],[["renderable",8],["vec",3]]]],[11,"clear_everything","","Ensure the map edits are blank, reset the simulation, and…",0,[[["eventctx",3]]]],[11,"click_on_intersection","","If an intersection was clicked, return its ID.",0,[[["into",8],["eventctx",3],["string",3]],[["intersectionid",3],["option",4]]]],[11,"click_on_lane","","If a lane was clicked, return its ID.",0,[[["into",8],["eventctx",3],["string",3]],[["laneid",3],["option",4]]]],[11,"new","","",1,[[],["showlayers",3]]],[11,"new","","",2,[[],["showeverything",3]]],[11,"map_loaded","","",4,[[["map",3],["colorscheme",3],["sim",3],["flags",3],["eventctx",3],["options",3],["timer",3]],["permap",3]]],[11,"clear_sim","","Returns whatever was there",4,[[],["sim",3]]],[11,"calculate_uned
"geojson_to_osmosis":{"doc":"","i":[[5,"main","geojson_to_osmosis","Reads GeoJSON input from STDIN, extracts a polygon from…",null,[[],[["result",4],["box",3]]]],[5,"extract_boundaries","","",null,[[["geojson",4]],[["result",4],["vec",3],["box",3]]]]],"p":[]},\
"geom":{"doc":"","i":[[3,"Angle","geom","An angle, stored in radians.",null,null],[12,"0","","",0,null],[3,"Bounds","","Represents a rectangular boundary of `Pt2D` points.",null,null],[12,"min_x","","",1,null],[12,"min_y","","",1,null],[12,"max_x","","",1,null],[12,"max_y","","",1,null],[3,"GPSBounds","","Represents a rectangular boundary of `LonLat` points.…",null,null],[12,"min_lon","","",2,null],[12,"min_lat","","",2,null],[12,"max_lon","","",2,null],[12,"max_lat","","",2,null],[3,"Circle","","A circle, defined by a center and radius.",null,null],[12,"center","","",3,null],[12,"radius","","",3,null],[3,"Distance","","A distance, in meters. Can be negative.",null,null],[12,"0","","",4,null],[3,"Duration","","A duration, in seconds. Can be negative.",null,null],[12,"0","","",5,null],[3,"FindClosest","","A quad-tree to quickly find the closest points to some…",null,null],[12,"geometries","","",6,null],[12,"quadtree","","",6,null],[3,"LonLat","","Represents a (longitude, latitude) point.",null,null],[12,"longitude","","",7,null],[12,"latitude","","",7,null],[3,"InfiniteLine","","",null,null],[12,"0","","",8,null],[12,"1","","",8,null],[3,"Line","","A line segment.",null,null],[12,"0","","",9,null],[12,"1","","",9,null],[3,"Percent","","Most of the time, [0, 1]. But some callers may go outside…",null,null],[12,"0","","",10,null],[3,"Polygon","","",null,null],[12,"points","","",11,null],[12,"indices","","Groups of three indices make up the triangles",11,null],[12,"rings","","If the polygon has holes, explicitly store all the rings…",11,null],[3,"Triangle","","",null,null],[12,"pt1","","",12,null],[12,"pt2","","",12,null],[12,"pt3","","",12,null],[3,"PolyLine","","",null,null],[12,"pts","","",13,null],[12,"length","","",13,null],[3,"HashablePt2D","","This represents world space, NOT LonLat.",null,null],[12,"x_nan","","",14,null],[12,"y_nan","","",14,null],[3,"Pt2D","","This represents world-space in meters.",null,null],[12,"inner_x","","",15,null],[12,"inner_y","","",15,null],[3,"Ring","","Maybe a misnomer, but like a PolyLine, but closed.",null,null],[12,"pts","","",16,null],[3,"Speed","","In meters per second. Can be negative.",null,null],[12,"0","","",17,null],[3,"Histogram","","",null,null],[12,"count","","",18,null],[12,"histogram","","",18,null],[12,"min","","",18,null],[12,"max","","",18,null],[3,"Time","","In seconds since midnight. Can\'t be negative.",null,null],[12,"0","","",19,null],[3,"UnitFmt","","Specifies how to stringify different geom objects.",null,null],[12,"round_durations","","Round `Duration`s to a whole number of seconds.",20,null],[12,"metric","","Display in metric; US imperial otherwise.",20,null],[4,"ArrowCap","","",null,null],[13,"Triangle","","",21,null],[4,"Statistic","","",null,null],[13,"Min","","",22,null],[13,"Mean","","",22,null],[13,"P50","","",22,null],[13,"P90","","",22,null],[13,"P99","","",22,null],[13,"Max","","",22,null],[5,"trim_f64","","Reduce the precision of an f64. This helps ensure…",null,[[]]],[0,"angle","","",null,null],[3,"Angle","geom::angle","An angle, stored in radians.",null,null],[12,"0","","",0,null],[18,"ZERO","geom","",0,null],[11,"new_rads","","",0,[[],["angle",3]]],[11,"degrees","","Create an angle in degrees.",0,[[],["angle",3]]],[11,"opposite","","Invert the direction of this angle.",0,[[],["angle",3]]],[11,"invert_y","","",0,[[],["angle",3]]],[11,"rotate_degs","","Rotates this angle by some degrees.",0,[[],["angle",3]]],[11,"normalized_radians","","Returns [0, 2pi)",0,[[]]],[11,"normalized_degrees","","Returns [0, 360)",0,[[]]],[11,"shortest_rotation_towards","","Logically this returns [-180, 180], but keep in mind when…",0,[[["angle",3]],["angle",3]]],[11,"approx_eq","","True if this angle is within some degrees of another,…",0,[[["angle",3]]]],[11,"reorient","","I don\'t know how to describe what this does. Use for…",0,[[],["angle",3]]],[0,"bounds","","",null,null],[3,"Bounds","geom::bounds","Represents a rectangular boundary of `Pt2D` points.",null,null],[12,"min_x","","",1,null],[12,"min_y","","",1,null],[12,"max_x","","",1,null],[12,"max_y"
"headless":{"doc":"","i":[[3,"MAP","headless","",null,null],[12,"__private_field","","",0,null],[3,"SIM","","",null,null],[12,"__private_field","","",1,null],[3,"LOAD","","",null,null],[12,"__private_field","","",2,null],[3,"FinishedTrip","","",null,null],[12,"id","","",3,null],[12,"duration","","",3,null],[12,"distance_crossed","","",3,null],[12,"mode","","",3,null],[12,"capped","","",3,null],[3,"Delays","","",null,null],[12,"per_direction","","",4,null],[3,"Throughput","","",null,null],[12,"per_direction","","",5,null],[3,"AgentPositions","","",null,null],[12,"agents","","",6,null],[3,"AgentPosition","","",null,null],[12,"vehicle_type","","None for pedestrians",7,null],[12,"pos","","The agent\'s current position. For pedestrians, this is…",7,null],[12,"distance_crossed","","The distance crossed so far by the agent, in meters. There…",7,null],[12,"person","","None for buses",7,null],[3,"RoadThroughput","","",null,null],[12,"counts","","",8,null],[3,"TrafficSignalState","","",null,null],[12,"current_stage_idx","","",9,null],[12,"remaining_time","","",9,null],[12,"accepted","","",9,null],[12,"waiting","","",9,null],[3,"LoadSim","","",null,null],[12,"scenario","","",10,null],[12,"modifiers","","",10,null],[12,"edits","","",10,null],[12,"rng_seed","","",10,null],[12,"opts","","",10,null],[5,"main","","",null,[[]]],[5,"serve_req","","",null,[[["body",3],["request",3]]]],[5,"handle_command","","",null,[[["vec",3],["hashmap",3],["sim",3],["map",3],["loadsim",3]],[["result",4],["string",3],["box",3]]]],[5,"export_geometry","","",null,[[["intersectionid",3],["map",3]],["geojson",4]]],[5,"export_all_geometry","","",null,[[["map",3]],["geojson",4]]],[11,"setup","","",10,[[["timer",3]]]],[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,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["box",3]],[["any",8],["box",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","","",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]],[["any",8],["box",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","","",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]],[["any",8],["box",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","","",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]],[["any",8],["box",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]],[["any"
"import_traffic":{"doc":"","i":[[3,"Input","import_traffic","",null,null],[12,"scenario_name","","",0,null],[12,"people","","",0,null],[5,"main","","",null,[[]]],[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,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["box",3]],[["any",8],["box",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,"deserialize","","",0,[[],["result",4]]]],"p":[[3,"Input"]]},\
"importer":{"doc":"It\'s assumed that the importer is run with the current…","i":[[3,"Job","importer","",null,null],[12,"city","","",0,null],[12,"osm_to_raw","","",0,null],[12,"raw_to_map","","",0,null],[12,"scenario","","",0,null],[12,"city_overview","","",0,null],[12,"skip_ch","","",0,null],[12,"keep_bldg_tags","","",0,null],[12,"only_map","","",0,null],[12,"oneshot","","",0,null],[12,"oneshot_clip","","",0,null],[12,"oneshot_drive_on_left","","",0,null],[12,"oneshot_dont_infer_sidewalks","","",0,null],[5,"main","","",null,[[]]],[5,"oneshot","","",null,[[["option",4],["string",3]]]],[0,"berlin","","",null,null],[3,"Record","importer::berlin","",null,null],[12,"raumid","","",1,null],[12,"e_e","","",1,null],[5,"input","","",null,[[["importerconfiguration",3],["timer",3]]]],[5,"osm_to_raw","","",null,[[["timer",3],["importerconfiguration",3]]]],[5,"correlate_population","","",null,[[["timer",3]]]],[5,"distribute_residents","","",null,[[["map",3],["timer",3]]]],[0,"configuration","importer","",null,null],[3,"ImporterConfiguration","importer::configuration","",null,null],[12,"curl","","",2,null],[12,"osmconvert","","",2,null],[12,"unzip","","",2,null],[12,"gunzip","","",2,null],[12,"gunzip_args","","",2,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,[[["asref",8],["osstr",3]]]],[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…",3,null],[12,"map_config","","",3,null],[12,"onstreet_parking","","",3,null],[12,"public_offstreet_parking","","",3,null],[12,"private_offstreet_parking","","",3,null],[12,"elevation","","If provided, pull elevation data from this SRTM file. The…",3,null],[12,"include_railroads","","OSM railway=rail will be included as light rail if so.…",3,null],[11,"osm_to_raw","","",3,[[["timer",3],["importerconfiguration",3],["mapname",3]]]],[0,"leeds","importer","",null,null],[5,"input","importer::leeds","",null,[[["importerconfiguration",3]]]],[5,"osm_to_raw","","",null,[[["timer",3],["importerconfiguration",3]]]],[0,"london","importer","",null,null],[5,"input","importer::london","",null,[[["importerconfiguration",3]]]],[5,"osm_to_raw","","",null,[[["timer",3],["importerconfiguration",3]]]],[0,"seattle","importer","",null,null],[3,"TripRecord","importer::seattle","",null,null],[12,"shape_id","","",4,null],[12,"trip_id","","",4,null],[3,"StopTimeRecord","","",null,null],[12,"trip_id","","",5,null],[12,"arrival_time","","",5,null],[5,"input","","",null,[[["importerconfiguration",3],["timer",3]]]],[5,"osm_to_raw","","",null,[[["timer",3],["importerconfiguration",3]]]],[5,"adjust_private_parking","","",null,[[["map",3],["scenario",3]]]],[5,"add_gtfs_schedules","","This import from GTFS:",null,[[["map",3]]]],[5,"match_parcels_to_buildings","","Match OSM buildings to parcels, scraping the number of…",null,[[["map",3],["timer",3]]]],[0,"utils","importer","",null,null],[5,"download","importer::utils","",null,[[["importerconfiguration",3]]]],[5,"download_kml","","",null,[[["gpsbounds",3],["timer",3]]]],[5,"osmconvert","","",null,[[["string",3],["importerconfiguration",3]]]],[5,"raw_to_map","","",null,[[["mapname",3],["timer",3]],["map",3]]],[11,"from","importer","",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]],[["any",8],["box",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::berlin","",1,[[]]],[11,"into","","",1,[[]]],[11,"b
"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. If…",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 the…",1,null],[12,"attributes","","Arbitrary key/value pairs associated with this object; no…",1,null],[3,"ParcelMetadata","","Extra information about the parcels of land that buildings…",null,null],[12,"per_bldg","","If multiple buildings lie within one parcel, only one of…",2,null],[3,"Parcel","","",null,null],[12,"num_housing_units","","How many units of housing are here. Apartments,…",3,null],[5,"load","","Parses a .kml file and returns ExtraShapes. Objects will…",null,[[["gpsbounds",3],["timer",3]],[["result",4],["box",3],["extrashapes",3]]]],[5,"recurse","","",null,[[["node",3],["btreemap",3],["gpsbounds",3],["vec",3]],[["box",3],["result",4]]]],[5,"parse_pt","","",null,[[],[["option",4],["lonlat",3]]]],[11,"load_csv","","Parses a .csv file and returns ExtraShapes. Each record…",0,[[["gpsbounds",3],["timer",3]],[["result",4],["box",3],["extrashapes",3]]]],[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,"vzip","","",0,[[]]],[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,"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,"vzip","","",2,[[]]],[11,"from","","",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,"clone","","",1,[[],["extrashape",3]]],[11,"fmt","","",1,[[["formatter",3]],["result",6]]],[11,"serialize","","",0,[[],["result",4]]],[11,"serialize","","",1,[[],["result",4]]],[11,"serialize","","",2,[[],["result",4]]],[11,"serialize","","",3,[[],["result",4]]],[11,"deserialize","","",0,[[],["result",4]]],[11,"deserialize","","",1,[[],["result",4]]],[11,"deserialize","","",2,[[],["result",4]]],[11,"deserialize","","",3,[[],["result",4]]]],"p":[[3,"ExtraShapes"],[3,"ExtraShape"],[3,"ParcelMetadata"],[3,"Parcel"]]},\
"map_editor":{"doc":"","i":[[3,"App","map_editor","",null,null],[12,"model","","",0,null],[3,"MainState","","",null,null],[12,"state","","",1,null],[12,"panel","","",1,null],[12,"popup","","",1,null],[12,"last_id","","",1,null],[4,"State","","",null,null],[13,"Viewing","","",2,null],[13,"MovingIntersection","","",2,null],[13,"MovingBuilding","","",2,null],[13,"MovingRoadPoint","","",2,null],[13,"CreatingRoad","","",2,null],[13,"PreviewIntersection","","",2,null],[5,"preview_intersection","","",null,[[["model",3],["nodeid",3],["eventctx",3]],["drawable",3]]],[5,"preview_all_intersections","","",null,[[["model",3],["eventctx",3]],["drawable",3]]],[5,"main","","",null,[[]]],[0,"model","","",null,null],[3,"Model","map_editor::model","",null,null],[12,"map","","",3,null],[12,"showing_pts","","",3,null],[12,"world","","",3,null],[12,"include_bldgs","","",3,null],[12,"intersection_geom","","",3,null],[4,"ID","","",null,null],[13,"Building","","",4,null],[13,"Intersection","","",4,null],[13,"Road","","",4,null],[13,"RoadPoint","","",4,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]]]],[17,"INTERSECTION_RADIUS","","",null,null],[17,"BUILDING_LENGTH","","",null,null],[11,"blank","","",3,[[],["model",3]]],[11,"import","","",3,[[["string",3],["eventctx",3]],["model",3]]],[11,"export_to_osm","","",3,[[]]],[11,"compute_bounds","","",3,[[],["bounds",3]]],[11,"describe_obj","","",3,[[["id",4]],["text",3]]],[11,"intersection_added","","",3,[[["nodeid",3],["eventctx",3]]]],[11,"create_i","","",3,[[["pt2d",3],["eventctx",3]]]],[11,"move_i","","",3,[[["pt2d",3],["nodeid",3],["eventctx",3]]]],[11,"delete_i","","",3,[[["nodeid",3]]]],[11,"road_added","","",3,[[["eventctx",3],["originalroad",3]]]],[11,"road_deleted","","",3,[[["originalroad",3]]]],[11,"create_r","","",3,[[["nodeid",3],["eventctx",3]]]],[11,"delete_r","","",3,[[["originalroad",3]]]],[11,"road_object","","",3,[[["originalroad",3]],[["id",4],["object",3]]]],[11,"show_r_points","","",3,[[["eventctx",3],["originalroad",3]]]],[11,"stop_showing_pts","","",3,[[["originalroad",3]]]],[11,"move_r_pt","","",3,[[["pt2d",3],["eventctx",3],["originalroad",3]]]],[11,"delete_r_pt","","",3,[[["eventctx",3],["originalroad",3]]]],[11,"insert_r_pt","","",3,[[["pt2d",3],["eventctx",3],["originalroad",3]],[["option",4],["id",4]]]],[11,"clear_r_pts","","",3,[[["eventctx",3],["originalroad",3]]]],[11,"bldg_added","","",3,[[["osmid",4],["eventctx",3]]]],[11,"create_b","","",3,[[["pt2d",3],["eventctx",3]],["id",4]]],[11,"move_b","","",3,[[["pt2d",3],["osmid",4],["eventctx",3]]]],[11,"delete_b","","",3,[[["osmid",4]]]],[0,"world","map_editor","",null,null],[3,"Object","map_editor::world","",null,null],[12,"id","","",5,null],[12,"geometry","","",5,null],[3,"WorldObject","","",null,null],[12,"unioned_polygon","","",6,null],[12,"draw","","",6,null],[12,"quadtree_id","","",6,null],[3,"World","","",null,null],[12,"objects","","",7,null],[12,"quadtree","","",7,null],[12,"current_selection","","",7,null],[8,"ObjectID","","",null,null],[10,"zorder","","",8,[[]]],[11,"new","","",5,[[["color",3],["polygon",3]],["object",3]]],[11,"new","","",7,[[],["world",3]]],[11,"draw","","",7,[[["gfxctx",3],["fn",8]]]],[11,"handle_mouseover","","",7,[[["eventctx",3]]]],[11,"force_set_selection","","",7,[[]]],[11,"get_selection","","",7,[[],["option",4]]],[11,"add","","",7,[[["object",3],["eventctx",3]]]],[11,"delete","","",7,[[]]],[11,"new","map_editor","",1,[[["eventctx",3]]]],[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,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["box",3]],[["any",8],["box",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","","",1,[[]
"map_gui":{"doc":"This crate contains common code for applications that draw…","i":[[3,"Cached","map_gui","Store a cached key/value pair, only recalculating when the…",null,null],[12,"contents","","",0,null],[3,"SimpleApp","","Simple app state that just renders a static map, without…",null,null],[12,"map","","",1,null],[12,"draw_map","","",1,null],[12,"cs","","",1,null],[12,"opts","","",1,null],[12,"current_selection","","",1,null],[4,"ID","","",null,null],[13,"Road","","",2,null],[13,"Lane","","",2,null],[13,"Intersection","","",2,null],[13,"Building","","",2,null],[13,"ParkingLot","","",2,null],[13,"Car","","",2,null],[13,"Pedestrian","","",2,null],[13,"PedCrowd","","",2,null],[13,"BusStop","","",2,null],[13,"Area","","",2,null],[0,"colors","","A color scheme groups colors used for different map,…",null,null],[3,"ColorScheme","map_gui::colors","",null,null],[12,"scheme","","",3,null],[12,"hovering","","",3,null],[12,"panel_bg","","",3,null],[12,"section_bg","","",3,null],[12,"inner_panel","","",3,null],[12,"day_time_slider","","",3,null],[12,"night_time_slider","","",3,null],[12,"selected","","",3,null],[12,"current_object","","",3,null],[12,"perma_selected_object","","",3,null],[12,"bottom_bar_id","","",3,null],[12,"bottom_bar_name","","",3,null],[12,"fade_map_dark","","",3,null],[12,"gui_style","","",3,null],[12,"dialog_bg","","",3,null],[12,"minimap_cursor","","",3,null],[12,"driving_lane","","",3,null],[12,"bus_lane","","",3,null],[12,"parking_lane","","",3,null],[12,"bike_lane","","",3,null],[12,"sidewalk","","",3,null],[12,"sidewalk_lines","","",3,null],[12,"general_road_marking","","",3,null],[12,"road_center_line","","",3,null],[12,"light_rail_track","","",3,null],[12,"private_road","","",3,null],[12,"unzoomed_highway","","",3,null],[12,"unzoomed_arterial","","",3,null],[12,"unzoomed_residential","","",3,null],[12,"normal_intersection","","",3,null],[12,"stop_sign","","",3,null],[12,"stop_sign_pole","","",3,null],[12,"signal_protected_turn","","",3,null],[12,"signal_permitted_turn","","",3,null],[12,"signal_banned_turn","","",3,null],[12,"signal_box","","",3,null],[12,"signal_spinner","","",3,null],[12,"signal_turn_block_bg","","",3,null],[12,"very_slow_intersection","","",3,null],[12,"slow_intersection","","",3,null],[12,"normal_slow_intersection","","",3,null],[12,"void_background","","",3,null],[12,"map_background","","",3,null],[12,"unzoomed_interesting_intersection","","",3,null],[12,"residential_building","","",3,null],[12,"commerical_building","","",3,null],[12,"building_outline","","",3,null],[12,"parking_lot","","",3,null],[12,"grass","","",3,null],[12,"water","","",3,null],[12,"median_strip","","",3,null],[12,"unzoomed_car","","",3,null],[12,"unzoomed_bike","","",3,null],[12,"unzoomed_bus","","",3,null],[12,"unzoomed_pedestrian","","",3,null],[12,"agent_colors","","",3,null],[12,"route","","",3,null],[12,"turn_arrow","","",3,null],[12,"brake_light","","",3,null],[12,"bus_body","","",3,null],[12,"bus_label","","",3,null],[12,"train_body","","",3,null],[12,"ped_head","","",3,null],[12,"ped_foot","","",3,null],[12,"ped_preparing_bike_body","","",3,null],[12,"ped_crowd","","",3,null],[12,"bike_frame","","",3,null],[12,"parked_car","","",3,null],[12,"good_to_bad_red","","",3,null],[12,"good_to_bad_green","","",3,null],[12,"bus_layer","","",3,null],[12,"edits_layer","","",3,null],[12,"parking_trip","","",3,null],[12,"bike_trip","","",3,null],[12,"bus_trip","","",3,null],[12,"before_changes","","",3,null],[12,"after_changes","","",3,null],[4,"ColorSchemeChoice","","",null,null],[13,"Standard","","",4,null],[13,"NightMode","","",4,null],[13,"SAMGreenDay","","",4,null],[13,"SAMDesertDay","","",4,null],[13,"BAP","","",4,null],[13,"OSM","","",4,null],[13,"Starcat","","",4,null],[13,"Textured","","",4,null],[13,"MapboxLight","","",4,null],[13,"MapboxDark","","",4,null],[13,"FadedZoom","","",4,null],[13,"NegativeSpace","","",4,null],[5,"modulo_color","","",null,[[["vec",3]],["color",3]]],[5,"hex","","",null,[[],["color",3]]],[11,"choices","","",4,[[],[["vec",3],["choice",3]]]],[11,"new","","",3,[[["eventc
"map_model":{"doc":"`map_model` describes the world where simulations occur.…","i":[[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,"regions","","The individual maps",0,null],[3,"EditEffects","","",null,null],[12,"changed_roads","","",1,null],[12,"changed_intersections","","",1,null],[12,"added_turns","","",1,null],[12,"deleted_turns","","",1,null],[3,"EditRoad","","",null,null],[12,"lanes_ltr","","",2,null],[12,"speed_limit","","",2,null],[12,"access_restrictions","","",2,null],[3,"MapEdits","","Represents changes to a map. Note this isn\'t serializable…",null,null],[12,"edits_name","","",3,null],[12,"commands","","A stack, oldest edit is first. The same intersection may…",3,null],[12,"merge_zones","","If false, adjacent roads with the same AccessRestrictions…",3,null],[12,"changed_roads","","Derived from commands, kept up to date by update_derived",3,null],[12,"original_intersections","","",3,null],[12,"changed_routes","","",3,null],[12,"proposal_description","","Some edits are included in the game by default, in…",3,null],[12,"proposal_link","","",3,null],[3,"PermanentMapEdits","","MapEdits are converted to this before serializing.…",null,null],[12,"map_name","","",4,null],[12,"edits_name","","",4,null],[12,"version","","",4,null],[12,"commands","","",4,null],[12,"merge_zones","","If false, adjacent roads with the same AccessRestrictions…",4,null],[12,"proposal_description","","Edits without these are player generated.",4,null],[12,"proposal_link","","The link is optional even for proposals",4,null],[3,"MapConfig","","",null,null],[12,"driving_side","","If true, driving happens on the right side of the road…",5,null],[12,"bikes_can_use_bus_lanes","","",5,null],[12,"inferred_sidewalks","","If true, roads without explicitly tagged sidewalks may…",5,null],[3,"Area","","Areas are just used for drawing.",null,null],[12,"id","","",6,null],[12,"area_type","","",6,null],[12,"polygon","","",6,null],[12,"osm_tags","","",6,null],[12,"osm_id","","The importing process also automatically creates some…",6,null],[3,"AreaID","","",null,null],[12,"0","","",7,null],[3,"Amenity","","A business located inside a building.",null,null],[12,"names","","",8,null],[12,"amenity_type","","",8,null],[12,"osm_tags","","Depending on options while importing, these might be…",8,null],[3,"Building","","A building has connections to the road and sidewalk, may…",null,null],[12,"id","","",9,null],[12,"polygon","","",9,null],[12,"levels","","",9,null],[12,"address","","",9,null],[12,"name","","",9,null],[12,"orig_id","","",9,null],[12,"label_center","","Where a text label should be centered to have the best…",9,null],[12,"amenities","","",9,null],[12,"bldg_type","","",9,null],[12,"parking","","",9,null],[12,"osm_tags","","Depending on options while importing, these might be…",9,null],[12,"sidewalk_pos","","The building\'s connection for pedestrians is immutable.…",9,null],[12,"driveway_geom","","Goes from building to sidewalk",9,null],[3,"BuildingID","","",null,null],[12,"0","","",10,null],[3,"NamePerLanguage","","None corresponds to the native name",null,null],[12,"0","","",11,null],[3,"BusRoute","","",null,null],[12,"id","","",12,null],[12,"full_name","","",12,null],[12,"short_name","","",12,null],[12,"gtfs_trip_marker","","",12,null],[12,"osm_rel_id","","",12,null],[12,"stops","","",12,null],[12,"start","","May be a border or not. If not, is long enough for buses…",12,null],[12,"end_border","","",12,null],[12,"route_type","","",12,null],[12,"spawn_times","","Non-empty, times in order for one day when a vehicle…",12,null],[12,"orig_spawn_times","","Explicitly store whatever the original was, since this…",12,null],[3,"BusRouteID","","",null,null],[12,"0","","",13,null],[3,"BusStop","","",null,null],[12,"id","","",14,null],[12,"name","","",14,null],[12,"driving_pos","","These may be on different roads entirely, like for light…",14,null],[12,"sidewalk_pos","","",14,null],[12,"is_train_stop",""
"osm_viewer":{"doc":"","i":[[5,"main","osm_viewer","",null,[[]]],[0,"viewer","","",null,null],[3,"Viewer","osm_viewer::viewer","",null,null],[12,"top_panel","","",0,null],[12,"fixed_object_outline","","",0,null],[12,"minimap","","",0,null],[12,"businesses","","",0,null],[3,"BusinessSearch","","",null,null],[12,"counts","","",1,null],[12,"show","","",1,null],[12,"highlight","","",1,null],[12,"hovering_on_amenity","","",1,null],[11,"new","","",0,[[["eventctx",3],["simpleapp",3]],[["state",8],["box",3]]]],[11,"recalculate_top_panel","","",0,[[["eventctx",3],["simpleapp",3],["option",4],["widget",3]]]],[11,"calculate_tags","","",0,[[["eventctx",3],["simpleapp",3]],["widget",3]]],[11,"new","","",1,[[["eventctx",3],["simpleapp",3]],["businesssearch",3]]],[11,"update","","",1,[[["eventctx",3],["simpleapp",3]]]],[11,"hovering_on_amenity","","",1,[[["eventctx",3],["simpleapp",3],["string",3],["option",4]]]],[11,"render","","",1,[[["eventctx",3]],["widget",3]]],[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,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["box",3]],[["any",8],["box",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,"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]],[["any",8],["box",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,"event","","",0,[[["eventctx",3],["simpleapp",3]],[["transition",4],["simpleapp",3]]]],[11,"draw_baselayer","","",0,[[],["drawbaselayer",4]]],[11,"draw","","",0,[[["gfxctx",3],["simpleapp",3]]]]],"p":[[3,"Viewer"],[3,"BusinessSearch"]]},\
"parking_mapper":{"doc":"","i":[[5,"main","parking_mapper","",null,[[]]],[0,"mapper","","",null,null],[3,"ParkingMapper","parking_mapper::mapper","",null,null],[12,"panel","","",0,null],[12,"draw_layer","","",0,null],[12,"show","","",0,null],[12,"selected","","",0,null],[12,"data","","",0,null],[3,"ChangeWay","","",null,null],[12,"panel","","",1,null],[12,"draw","","",1,null],[12,"osm_way_id","","",1,null],[12,"data","","",1,null],[12,"show","","",1,null],[4,"Show","","",null,null],[13,"TODO","","",2,null],[13,"Done","","",2,null],[13,"DividedHighways","","",2,null],[13,"UnmappedDividedHighways","","",2,null],[13,"OverlappingStuff","","",2,null],[4,"Value","","",null,null],[13,"BothSides","","",3,null],[13,"NoStopping","","",3,null],[13,"RightOnly","","",3,null],[13,"LeftOnly","","",3,null],[13,"Complicated","","",3,null],[5,"generate_osmc","","",null,[[["btreemap",3],["timer",3]],[["box",3],["result",4]]]],[5,"find_divided_highways","","",null,[[["simpleapp",3]],[["roadid",3],["hashset",3]]]],[5,"find_overlapping_stuff","","",null,[[["simpleapp",3],["timer",3]],[["vec",3],["polygon",3]]]],[11,"new","","",0,[[["eventctx",3],["simpleapp",3]],[["state",8],["box",3]]]],[11,"make","","",0,[[["eventctx",3],["simpleapp",3],["show",4],["btreemap",3],["wayid",3],["value",4]],[["state",8],["box",3]]]],[11,"new","","",1,[[["eventctx",3],["simpleapp",3],["hashset",3],["show",4],["btreemap",3],["value",4],["wayid",3]],[["state",8],["box",3]]]],[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,"vzip","","",0,[[]]],[11,"into_any","","",0,[[["box",3]],[["any",8],["box",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,"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]],[["any",8],["box",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,"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,"vzip","","",2,[[]]],[11,"into_any","","",2,[[["box",3]],[["any",8],["box",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","","",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,"vzip","","",3,[[]]],[11,"into_any","","",3,[[["box",3]],[["any",8],["box",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,"clone","","",2,[[],["show",4]]],[11,"clone","","",3,[[],["value",4]]],[11,"eq","","",2,[[["show",4]]]],[11,"eq","","",3,[[["value",4]]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"event","","",0,[[["eventctx",3],["simpleapp",3]],[["transition",4],["simpleapp",3]]]],[11,"draw","","",0,[[["gfxctx",3],["simpleapp",3]]]],[11,"event","","",1,[[["eventctx",3],["simpleapp",3]],[["transition",4],["simpleapp",3]]]],[11,"draw","","",1,[[["gfxctx",3],["simpleapp",3]]]]],"p":[[3,"ParkingMapper"],[3,"ChangeWay"],[4,"Show"],[4,"Value"]]},\
"random_scenario":{"doc":"","i":[[5,"main","random_scenario","",null,[[]]]],"p":[]},\
"sim":{"doc":"The sim crate runs a traffic simulation on top of the…","i":[[3,"DrawCarInput","sim","",null,null],[12,"id","","",0,null],[12,"waiting_for_turn","","",0,null],[12,"status","","",0,null],[12,"show_parking_intent","","",0,null],[12,"on","","Front of the car",0,null],[12,"partly_on","","Possibly the rest",0,null],[12,"label","","",0,null],[12,"body","","",0,null],[3,"DrawPedCrowdInput","","",null,null],[12,"low","","",1,null],[12,"high","","",1,null],[12,"members","","",1,null],[12,"location","","",1,null],[3,"DrawPedestrianInput","","",null,null],[12,"id","","",2,null],[12,"pos","","",2,null],[12,"facing","","",2,null],[12,"waiting_for_turn","","",2,null],[12,"preparing_bike","","",2,null],[12,"waiting_for_bus","","",2,null],[12,"on","","",2,null],[3,"UnzoomedAgent","","",null,null],[12,"id","","",3,null],[12,"pos","","",3,null],[12,"person","","None means a bus.",3,null],[12,"parking","","True only for cars currently looking for parking. I don\'t…",3,null],[3,"Analytics","","As a simulation runs, different pieces emit Events. The…",null,null],[12,"road_thruput","","",4,null],[12,"intersection_thruput","","",4,null],[12,"traffic_signal_thruput","","",4,null],[12,"demand","","Most fields in Analytics are cumulative over time, but…",4,null],[12,"bus_arrivals","","",4,null],[12,"passengers_boarding","","For each passenger boarding, how long did they wait at the…",4,null],[12,"passengers_alighting","","",4,null],[12,"started_trips","","",4,null],[12,"finished_trips","","Finish time, ID, mode, trip duration if successful (or…",4,null],[12,"trip_intersection_delays","","Records how long was spent waiting at each turn…",4,null],[12,"lane_speed_percentage","","Records the average speed/maximum speed for each lane If…",4,null],[12,"trip_log","","",4,null],[12,"intersection_delays","","Only for traffic signals. The u8 is the movement index…",4,null],[12,"parking_lane_changes","","Per parking lane or lot, when does a spot become filled…",4,null],[12,"parking_lot_changes","","",4,null],[12,"alerts","","",4,null],[12,"record_anything","","For benchmarking, we may want to disable collecting data.",4,null],[3,"TripPhase","","",null,null],[12,"start_time","","",5,null],[12,"end_time","","",5,null],[12,"path","","Plumb along start distance",5,null],[12,"has_path_req","","",5,null],[12,"phase_type","","",5,null],[3,"BorderSpawnOverTime","","",null,null],[12,"num_peds","","",6,null],[12,"num_cars","","",6,null],[12,"num_bikes","","",6,null],[12,"percent_use_transit","","",6,null],[12,"start_time","","",6,null],[12,"stop_time","","",6,null],[12,"start_from_border","","",6,null],[12,"goal","","",6,null],[3,"ExternalPerson","","",null,null],[12,"origin","","",7,null],[12,"trips","","",7,null],[3,"ExternalTrip","","",null,null],[12,"departure","","",8,null],[12,"destination","","",8,null],[12,"mode","","",8,null],[3,"IndividTrip","","",null,null],[12,"depart","","",9,null],[12,"destination","","",9,null],[12,"mode","","",9,null],[12,"purpose","","",9,null],[12,"cancelled","","",9,null],[12,"modified","","Did a ScenarioModifier affect this?",9,null],[3,"PersonSpec","","",null,null],[12,"orig_id","","Just used for debugging",10,null],[12,"origin","","The first trip starts here",10,null],[12,"trips","","Each trip starts at the destination of the previous trip",10,null],[3,"Scenario","","A Scenario describes all the input to a simulation.…",null,null],[12,"scenario_name","","",11,null],[12,"map_name","","",11,null],[12,"people","","",11,null],[12,"only_seed_buses","","None means seed all buses. Otherwise the route name must…",11,null],[3,"ScenarioGenerator","","",null,null],[12,"scenario_name","","",12,null],[12,"only_seed_buses","","",12,null],[12,"spawn_over_time","","",12,null],[12,"border_spawn_over_time","","",12,null],[3,"SimFlags","","SimFlags specifies a simulation to setup.",null,null],[12,"load","","A path to some file.",13,null],[12,"modifiers","","",13,null],[12,"rng_seed","","",13,null],[12,"opts","","",13,null],[3,"SpawnOverTime","","",null,null],[12,"num_agents","","",14,null],[12,"start_time",""
"tests":{"doc":"Integration tests","i":[[5,"main","tests","",null,[[],[["result",4],["box",3]]]],[5,"test_map_importer","","Test the map pipeline by importing simple, handcrafted…",null,[[],[["result",4],["error",3]]]],[5,"import_map","","Run the contents of a .osm through the full map importer…",null,[[["string",3]],["map",3]]],[5,"dump_turn_goldenfile","","Verify what turns are generated by writing (from lane, to…",null,[[["map",3]],[["result",4],["error",3]]]],[5,"smoke_test","","Simulate an hour on every map.",null,[[],[["result",4],["error",3]]]],[5,"dump_route_goldenfile","","Describe all public transit routes and keep under version…",null,[[["map",3]],[["result",4],["error",3]]]],[5,"check_proposals","","Verify all edits under version control can be correctly…",null,[[],[["string",3],["result",4]]]],[5,"test_lane_changing","","Verify lane-chaging behavior is overall reasonable, by…",null,[[["map",3]],[["string",3],["result",4]]]]],"p":[]},\
"traffic_seitan":{"doc":"","i":[[5,"main","traffic_seitan","",null,[[]]],[5,"run","","",null,[[["sim",3],["timer",3],["map",3],["xorshiftrng",3]]]],[5,"alter_turn_destinations","","",null,[[["sim",3],["mapedits",3],["map",3],["xorshiftrng",3]]]],[5,"nuke_random_parking","","",null,[[["xorshiftrng",3],["mapedits",3],["map",3]]]]],"p":[]},\
"updater":{"doc":"","i":[[5,"main","updater","",null,[[]]],[5,"download","","",null,[[["string",3]]]],[5,"just_compare","","",null,[[]]],[5,"upload","","",null,[[["string",3]]]],[5,"generate_manifest","","",null,[[],["manifest",3]]],[5,"must_run_cmd","","",null,[[["command",3]]]],[5,"rm","","",null,[[]]],[5,"curl","","",null,[[]]],[17,"MD5_BUF_READ_SIZE","","",null,null]],"p":[]},\
"widgetry":{"doc":"WidgetsIf none of these do what you need, implementing a…","i":[[3,"Drawable","widgetry","Geometry that\'s been uploaded to the GPU once and can be…",null,null],[12,"vert_array","","",0,null],[12,"vert_buffer","","",0,null],[12,"elem_buffer","","",0,null],[12,"num_indices","","",0,null],[12,"gl","","",0,null],[3,"Canvas","","",null,null],[12,"cam_x","","",1,null],[12,"cam_y","","",1,null],[12,"cam_zoom","","",1,null],[12,"cursor","","",1,null],[12,"window_has_cursor","","",1,null],[12,"drag_canvas_from","","",1,null],[12,"drag_just_ended","","",1,null],[12,"window_width","","",1,null],[12,"window_height","","",1,null],[12,"map_dims","","",1,null],[12,"invert_scroll","","",1,null],[12,"touchpad_to_move","","",1,null],[12,"edge_auto_panning","","",1,null],[12,"keys_to_pan","","",1,null],[12,"gui_scroll_speed","","",1,null],[12,"covered_areas","","",1,null],[12,"keys_held","","",1,null],[3,"Color","","",null,null],[12,"r","","",2,null],[12,"g","","",2,null],[12,"b","","",2,null],[12,"a","","",2,null],[3,"LinearGradient","","",null,null],[12,"line","","",3,null],[12,"stops","","",3,null],[3,"Texture","","",null,null],[12,"0","","",4,null],[3,"GfxCtx","","",null,null],[12,"inner","","",5,null],[12,"uniforms","","",5,null],[12,"screencap_mode","","",5,null],[12,"naming_hint","","",5,null],[12,"canvas","","",5,null],[12,"prerender","","",5,null],[12,"style","","",5,null],[12,"num_draw_calls","","",5,null],[12,"num_forks","","",5,null],[3,"Prerender","","",null,null],[12,"inner","","",6,null],[12,"assets","","",6,null],[12,"num_uploads","","",6,null],[12,"scale_factor","","",6,null],[3,"EventCtx","","",null,null],[12,"fake_mouseover","","",7,null],[12,"input","","",7,null],[12,"canvas","","",7,null],[12,"prerender","","",7,null],[12,"style","","",7,null],[12,"updates_requested","","",7,null],[3,"GeomBatch","","A mutable builder for a group of colored polygons.",null,null],[12,"list","","",8,null],[12,"autocrop_dims","","",8,null],[3,"UserInput","","",null,null],[12,"event","","",9,null],[12,"event_consumed","","",9,null],[12,"lctrl_held","","",9,null],[3,"Settings","","",null,null],[12,"window_title","","",10,null],[12,"dump_raw_events","","",10,null],[12,"scale_factor","","",10,null],[12,"window_icon","","",10,null],[12,"loading_tips","","",10,null],[3,"ScreenDims","","ScreenDims is in units of logical pixels, as opposed to…",null,null],[12,"width","","",11,null],[12,"height","","",11,null],[3,"ScreenPt","","ScreenPt is in units of logical pixels, as opposed to…",null,null],[12,"x","","",12,null],[12,"y","","",12,null],[3,"ScreenRectangle","","ScreenRectangle is in units of logical pixels, as opposed…",null,null],[12,"x1","","",13,null],[12,"y1","","",13,null],[12,"x2","","",13,null],[12,"y2","","",13,null],[3,"Style","","",null,null],[12,"outline_thickness","","",14,null],[12,"outline_color","","",14,null],[12,"panel_bg","","",14,null],[12,"hotkey_color","","",14,null],[12,"hovering_color","","",14,null],[12,"loading_tips","","",14,null],[3,"Text","","",null,null],[12,"lines","","",15,null],[12,"bg_color","","",15,null],[3,"TextSpan","","",null,null],[12,"text","","",16,null],[12,"fg_color","","",16,null],[12,"size","","",16,null],[12,"font","","",16,null],[12,"underlined","","",16,null],[3,"Warper","","",null,null],[12,"started","","",17,null],[12,"line","","",17,null],[12,"cam_zoom","","",17,null],[3,"Autocomplete","","",null,null],[12,"choices","","",18,null],[12,"tb","","",18,null],[12,"menu","","",18,null],[12,"current_line","","",18,null],[12,"chosen_values","","",18,null],[3,"Btn","","",null,null],[3,"MultiButton","","",null,null],[12,"draw","","",19,null],[12,"hitboxes","","",19,null],[12,"hovering","","",19,null],[12,"top_left","","",19,null],[12,"dims","","",19,null],[3,"Checkbox","","",null,null],[12,"enabled","","",20,null],[12,"btn","","",20,null],[12,"other_btn","","",20,null],[3,"CompareTimes","","",null,null],[12,"draw","","",21,null],[12,"max","","",21,null],[12,"top_left","","",21,null],[12,"dims","","",21,null],[3,"FanChart","","",null,null],[12,"draw","","",22,null],[12,"top_le
"widgetry_demo":{"doc":"","i":[[3,"App","widgetry_demo","",null,null],[3,"Demo","","",null,null],[12,"controls","","",0,null],[12,"timeseries_panel","","",0,null],[12,"scrollable_canvas","","",0,null],[12,"texture_demo","","",0,null],[12,"elapsed","","",0,null],[5,"main","","",null,[[]]],[5,"setup_texture_demo","","",null,[[["eventctx",3],["texture",3]],["drawable",3]]],[5,"setup_scrollable_canvas","","",null,[[["eventctx",3]],["drawable",3]]],[5,"make_controls","","",null,[[["eventctx",3]],["panel",3]]],[11,"new","","",0,[[["eventctx",3]],["demo",3]]],[11,"make_timeseries_panel","","",0,[[["eventctx",3]],["panel",3]]],[11,"redraw_stopwatch","","",0,[[["eventctx",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]],[["any",8],["box",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","","",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]],[["any",8],["box",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,"event","","",0,[[["eventctx",3],["app",3]],[["app",3],["transition",4]]]],[11,"draw","","",0,[[["gfxctx",3],["app",3]]]]],"p":[[3,"Demo"],[3,"App"]]}\
}');
addSearchOptions(searchIndex);initSearch(searchIndex);