"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","","",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,"Timer","","Hierarchial magic",null,null],[12,"results","","",11,null],[12,"stack","","",11,null],[12,"outermost_name","","",11,null],[12,"notes","","",11,null],[12,"warnings","","",11,null],[12,"errors","","",11,null],[12,"sink","","",11,null],[4,"Parallelism","","",null,null],[13,"Fastest","","Use all CPUs",12,null],[13,"Polite","","Use half of CPUs",12,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","","",null,[[["string",3],["timer",3]],[["deserializeowned",8],["box",3],["result",4]]]],[5,"find_prev_file","","Keeps file extensions",null,[[["string",3]],[["string",3],["option",4]]]],[5,"find_next_file","","",null,[[["string",3]],[["string",3],["option",4]]]],[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]],[["string",3],["vec",3]]]],[5,"file_exists","","",null,[[["string",3],["into",8]]]],[5,"list_dir","","Returns full paths",null,[[["string",3]],[["string",3],["vec",3]]]],[5,"slurp_file","","",null,[[],[["result",4],["box",3],["vec",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,[[["string",3],["into",8]]]],[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]],[["deserializeowned",8],["string",3],["result",4]]]],[5,"from_binary","","Deserializes an object from the bincode format.",null,[[["vec",3]],[["deserializeowned",8],["box",3],["result",4]]]],[5,"from_binary_reader","","Deserializes an object from the bincode format, from a…",null,[[["
"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,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"type_id","","",2,[[],["typeid",3]]],[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,[[["timer",3],["vec",3],["rawmap",3]]]],[5,"use_elevation","","",null,[[["timer",3],["rawmap",3]]]],[0,"clip","","",null,null],[5,"clip_map","convert_osm::clip","",null,[[["timer",3],["rawmap",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,[[["options",3],["timer",3],["rawmap",3]],["osmextract",3]]],[5,"is_road","","",null,[[["tags",3],["options",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,[[["relation",3],["relationid",3],["document",3]],["vec",3]]],[5,"glue_multipolygon","","Take a bunch of partial PolyLines and attempt to glue them…",null,[[["option",4],["timer",3],["ring",3],["relationid",3],["vec",3]],[["polygon",3],["vec",3]]]],[5,"glue_to_boundary","","",null,[[["ring",3],["polyline",3]],[["polygon",3],["option",4]]]],[5,"multipoly_geometry","","",null,[[["relation",3],["relationid",3],["document",3]],[["polygon",3],["string",3],["result",4]]]],[0,"parking","convert_osm","",null,null],[5,"apply_parking","convert_osm::parking","",null,[[["options",3],["timer",3],["rawmap",3]]]],[5,"use_parking_hints","","",null,[[["string",3],["timer",3],["rawmap",3]]]],[5,"use_offstreet_parking","","",null,[[["string",3],["timer",3],["rawmap",3]]]],[5,"apply_private_offstreet_parking","","",null,[[["privateoffstreetparking",4],["rawmap",3]]]],[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]],[["box",3],["document",3],["result",4]]]],[5,"read_tags","","",null,[[["node",3]],[
"game":{"doc":"","i":[[5,"main","game","",null,[[["cmdargs",3]]]],[5,"setup_app","","",null,[[["flags",3],["options",3],["string",3],["option",4],["eventctx",3],["gameplaymode",4],["option",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,"unzoomed_agents","","",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,"num_agents","","Number of agents to generate when requested. If…",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,"current_selection","","",4,null],[12,"current_flags","","",4,null],[12,"last_warped_from","","",4,null],[12,"sim_cb","","",4,null],[12,"show_zorder","","",4,null],[12,"zorder_range","","",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],[8,"ShowObject","","",null,null],[10,"show","","",8,[[["id",4]]]],[10,"layers","","",8,[[],["showlayers",3]]],[11,"new","","",0,[[["flags",3],["options",3],["eventctx",3]],["app",3]]],[11,"has_prebaked","","",0,[[],["option",4]]],[11,"prebaked","","",0,[[],["analytics",3]]],[11,"set_prebaked","","",0,[[["option",4]]]],[11,"map_switched","","",0,[[["timer",3],["sim",3],["eventctx",3],["map",3]]]],[11,"draw","","",0,[[["showobject",8],["drawoptions",3],["gfxctx",3]]]],[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_buildings","","",0,[[["eventctx",3]],[["option",4],["id",4]]]],[11,"mouseover_unzoomed_everything","","",0,[[["eventctx",3]],[["option",4],["id",4]]]],[11,"mouseover_debug_mode","","",0,[[["eventctx",3],["showobject",8]],[["option",4],["id",4]]]],[11,"calculate_current_selection","","",0,[[["eventctx",3],["showobject",8]],[["option",4],["id",4]]]],[11,"get_renderables_back_to_front","","",0,[[["prerender",3],["agentcache",3],["bounds",3],["showobject",8]],[["vec",3],["renderable",8]]]],[11,"change_color_scheme","","Change the color scheme. Idempotent. Return true if there…",0,[[["eventctx",3],["colorschemechoice",4]]]],[11,"clear_everything","","Ensure the map edits are blank, reset the simulation, and…",0,[[["eventctx",3]]]],[11,"new","","",1,[[],["showlayers",3]]],[11,"new","","",2,[[],["showeverything",3]]],[11,"map_loaded","","",4,[[["flags",3],["colorscheme",3],["sim",3],["timer",3],["eventctx",3],["map",3],["options",3]],["permap",3]]],[11,"clear_sim","","Returns whatever was there",4,[[],["sim",3]]],[11,"calculate_unedited_map","","Ifneeded,makessureth
"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]],[["box",3],["result",4],["vec",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,"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,[[["sim",3],["vec",3],["hashmap",3],["map",3],["loadsim",3]],[["string",3],["result",4],["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,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[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]],[["rc",3],["any",8]]]],[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,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[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]],[["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,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[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]],[["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,"from","","",3,[[]]],[11,"into","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[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]],[["rc",3],["any",8]]]],[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,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"into_any","","",4,[[["box",3]],[["any",8],["box",3]]]],[11,"into_any_rc",""
"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,[[["string",3],["option",4]]]],[0,"berlin","","",null,null],[3,"Record","importer::berlin","",null,null],[12,"raumid","","",1,null],[12,"e_e","","",1,null],[5,"input","","",null,[[["timer",3],["importerconfiguration",3]]]],[5,"osm_to_raw","","",null,[[["timer",3],["importerconfiguration",3]]]],[5,"correlate_population","","",null,[[["timer",3]]]],[5,"distribute_residents","","",null,[[["timer",3],["map",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,[[["importerconfiguration",3],["timer",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,[[["scenario",3],["map",3]]]],[5,"add_gtfs_schedules","","",null,[[["map",3]]]],[0,"utils","importer","",null,null],[5,"download","importer::utils","",null,[[["importerconfiguration",3]]]],[5,"download_kml","","",null,[[["timer",3],["gpsbounds",3]]]],[5,"osmconvert","","",null,[[["string",3],["importerconfiguration",3]]]],[5,"raw_to_map","","",null,[[["timer",3],["mapname",3]],["map",3]]],[11,"from","importer","",0,[[]]],[11,"into","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[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]],[["rc",3],["any",8]]]],[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,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"type_id"
"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],[5,"load","","Parses a .kml file and returns ExtraShapes. Objects will…",null,[[["gpsbounds",3],["timer",3]],[["extrashapes",3],["box",3],["result",4]]]],[5,"recurse","","",null,[[["node",3],["gpsbounds",3],["btreemap",3],["vec",3]],[["box",3],["result",4]]]],[5,"parse_pt","","",null,[[],[["lonlat",3],["option",4]]]],[11,"load_csv","","Parses a .csv file and returns ExtraShapes. Each record…",0,[[["gpsbounds",3],["timer",3]],[["extrashapes",3],["box",3],["result",4]]]],[11,"from","","",0,[[]]],[11,"into","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[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":"","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,"info_key_held","","",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]],[["error",3],["result",4]]]],[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,[[["eventctx",3],["pt2d",3]]]],[11,"move_i","","",3,[[["nodeid",3],["pt2d",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]],[["object",3],["id",4]]]],[11,"show_r_points","","",3,[[["eventctx",3],["originalroad",3]]]],[11,"stop_showing_pts","","",3,[[["originalroad",3]]]],[11,"move_r_pt","","",3,[[["eventctx",3],["originalroad",3],["pt2d",3]]]],[11,"delete_r_pt","","",3,[[["eventctx",3],["originalroad",3]]]],[11,"insert_r_pt","","",3,[[["eventctx",3],["originalroad",3],["pt2d",3]],[["option",4],["id",4]]]],[11,"clear_r_pts","","",3,[[["eventctx",3],["originalroad",3]]]],[11,"bldg_added","","",3,[[["eventctx",3],["osmid",4]]]],[11,"create_b","","",3,[[["eventctx",3],["pt2d",3]],["id",4]]],[11,"move_b","","",3,[[["eventctx",3],["pt2d",3],["osmid",4]]]],[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,[[["polygon",3],["color",3]],["object",3]]],[11,"new","","",7,[[],["world",3]]],[11,"draw","","",7,[[["fn",8],["gfxctx",3]]]],[11,"handle_mouseover","","",7,[[["eventctx",3]]]],[11,"force_set_selection","","",7,[[]]],[11,"get_selection","","",7,[[],["option",4]]],[11,"add","","",7,[[["eventctx",3],["object",3]]]],[11,"delete","","",7,[[]]],[11,"new","map_editor","",1,[[["eventctx",3]]]],[11,"from","","",0,[[]]],[11,"into","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[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]],[["rc",3],["any",8]]]],[11,"as_any","","",0,[[],["any",8]]],[11,"as_any_mut","","",0,[[],["any",8]]],[11,"into_any_arc","","",0,[[["arc",3]],[["arc",3],[
"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",""
"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",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","","After we restore from a savestate, don\'t record anything.…",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,"id","","",10,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. - a savestate: restore the simulation…",13,null],[12,"modifiers","","",13,null],[12,"rng_seed","","",13,null],[12,"opts","","",13,null],[3,"SpawnOverTime","","",null,null],[12
"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,[[],[["error",3],["result",4]]]],[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]],[["error",3],["result",4]]]],[5,"smoke_test","","Simulate an hour on every map.",null,[[],[["error",3],["result",4]]]],[5,"dump_route_goldenfile","","Describe all public transit routes and keep under version…",null,[[["map",3]],[["error",3],["result",4]]]],[5,"check_proposals","","Verify all edits under version control can be correctly…",null,[[],[["result",4],["string",3]]]],[5,"test_lane_changing","","Verify lane-chaging behavior is overall reasonable, by…",null,[[["map",3]],[["result",4],["string",3]]]]],"p":[]},\
"widgetry":{"doc":"Widgets","i":[[3,"Drawable","widgetry","",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,"lctrl_held","","",1,null],[12,"lshift_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_left","","",22,null],[12,"dims","","",22,null],[3,"Filler","","",null,null],[12,"