Commit Graph

435 Commits

Author SHA1 Message Date
Dustin Carlino
8e715de098 simplify UI state a bit... dont plumb around extra KML shapes to display. if we load an A/B test or different map edits, no need to preserve the KML; its for one-off debugging. 2018-12-13 11:13:33 -08:00
Dustin Carlino
9d653b103d starting a python script to find ColorScheme calls 2018-12-12 16:14:24 -08:00
Dustin Carlino
e29ff690f8 move PluginCtx 2018-12-12 13:58:02 -08:00
Dustin Carlino
dd859ba76d clean up interaction between UI and get_objects_onscreen a bit 2018-12-12 12:27:45 -08:00
Dustin Carlino
6cc7399b89 draw full turns using sharp bends if needed 2018-12-11 15:19:35 -08:00
Dustin Carlino
a65b097e12 working on new intersection merging logic for one hardcoded road...
deleting stuff, changing references, compacting IDs
2018-12-11 14:10:35 -08:00
Dustin Carlino
42788363ab more prep for merging intersections... make an intermediate HalfMap structure 2018-12-11 12:49:57 -08:00
Dustin Carlino
de5c02a6c4 preps for merging intersections again... notes and not passing Map
during first few phases of construction
2018-12-11 12:26:21 -08:00
Dustin Carlino
56d3c81d82 easily watch logs as a slow test runs 2018-12-09 13:43:06 -08:00
Dustin Carlino
e71fa25229 moving sim_controls into SimMode, expressing it as a Paused/Running state 2018-12-08 13:51:31 -08:00
Dustin Carlino
b92303ecab avoiding overlapping keys in ViewMode 2018-12-08 12:19:16 -08:00
Dustin Carlino
e604d3866c rewrite turn cycler; it was confusing because it used to cycle through turns over time 2018-12-07 11:45:42 -08:00
Dustin Carlino
6a32166452 rewrite lots of stuff with NLL! \o/ 2018-12-06 12:47:20 -08:00
Dustin Carlino
91b2b07fbd remove more extern crate's; import macros directly 2018-12-06 11:22:12 -08:00
Dustin Carlino
dc450a1959 moving search into view 2018-12-06 10:02:11 -08:00
Dustin Carlino
6a317aea33 moving warp into ViewMode 2018-12-06 09:47:51 -08:00
Dustin Carlino
63c80405f5 neighborhood summary part of ViewMode 2018-12-06 09:39:01 -08:00
Dustin Carlino
0b39be0d1a moving each of the Modes into that directory's mod.rs 2018-12-06 09:34:10 -08:00
Dustin Carlino
5b6cdf24bd making a View mode, with mostly ambient/stackable plugins 2018-12-05 21:13:36 -08:00
Dustin Carlino
7cac74457c debug mode -- pt2, the stateful and ambient plugins 2018-12-05 19:17:29 -08:00
Dustin Carlino
d8492b7e17 bundling together a debug mode too -- pt1, the easy transient plugins 2018-12-05 18:22:18 -08:00
Dustin Carlino
96df555107 refactor edit plugins to not need an inactive state 2018-12-05 17:02:27 -08:00
Dustin Carlino
da46544e99 bundling exclusive editor-like plugins together in one meta plugin,
edit_mode
2018-12-05 16:28:15 -08:00
Dustin Carlino
f5201bbfa6 WIP thinking about running tutorial mode 2018-12-05 13:40:21 -08:00
Dustin Carlino
7a10378b00 make UI handle loading new maps with no buildings to focus on 2018-12-05 11:47:58 -08:00
Dustin Carlino
546213e82b couple together crosswalks in stop sign editor 2018-12-05 11:01:01 -08:00
Dustin Carlino
545b96a74a also suppress stop sign icon when relevant 2018-12-05 10:11:57 -08:00
Dustin Carlino
43fa67177d plumbing generic things in ezgui runner 2018-12-04 10:20:08 -08:00
Dustin Carlino
f68fe3fd11 adding some gifs to the front page 2018-12-03 21:34:49 -08:00
Dustin Carlino
1567664b43 dont draw signal box when selecting 2018-12-03 21:04:37 -08:00
Dustin Carlino
76e02897d0 experimenting with bezier curves for left and right turns. they look
great!
2018-12-02 20:06:29 -08:00
Dustin Carlino
503c3c2ca9 warping to turns, with an easily typeable name 2018-12-01 14:29:20 -08:00
Dustin Carlino
ac39985f8f smarter traffic signal cycles for four-ways... still breaks, but decent
progress
2018-12-01 13:12:11 -08:00
Dustin Carlino
609c731fa0 implement yielding in traffic signals. pretty untested. 2018-11-30 12:28:32 -08:00
Dustin Carlino
f6562e97ea moving around code in control layer a bit 2018-11-30 11:13:02 -08:00
Dustin Carlino
ecc5a6efb1 make some percentage of walking trips use transit, if it's reasonable.
haven't observed it working yet.
2018-11-29 14:53:11 -08:00
Dustin Carlino
3f635e74c3 making a variant of pathfinding that can abort a walking trip early and
use transit
2018-11-29 12:09:54 -08:00
Dustin Carlino
d529b006cb philosophizing on discrete-event sim. disable intersection merging; it's
mostly incorrect and needs lots more thought.
2018-11-29 08:38:28 -08:00
Dustin Carlino
e755aeb4ef merging intersections for a hardcoded set of short roads 2018-11-28 09:19:36 -08:00
Dustin Carlino
5c3ca41722 associate buses with trips, so some UI plugins can handle them 2018-11-27 14:33:35 -08:00
Dustin Carlino
149758d5ae use traffic signal data from new kml, not old shp that's no longer online 2018-11-27 13:10:51 -08:00
Dustin Carlino
c2783ab56e making a new Position tuple and equiv_dist_along 2018-11-27 09:55:37 -08:00
Dustin Carlino
8509b46b0b print how much time all tests took 2018-11-26 16:12:18 -08:00
Dustin Carlino
fcf7ea161c prototyping a better rust test runner that captures output in files
and prints results nicely
2018-11-23 14:51:14 -08:00
Dustin Carlino
2e8cd7ff7a dont spawn bikes on highway border nodes 2018-11-23 11:03:45 -08:00
Dustin Carlino
1fd6c17ff5 get rid of the output param primary_plugins hack 2018-11-22 15:57:37 -08:00
Dustin Carlino
b2c976b439 make Sim or TimeTravel be able to serve up Draw agents 2018-11-22 14:46:28 -08:00
Dustin Carlino
ced04798b4 basic controls for time travel, showing state in OSD 2018-11-22 11:53:35 -08:00
Dustin Carlino
29e1f3f6c0 starting a plugin to scrape agents... 2018-11-22 11:38:00 -08:00
Dustin Carlino
81c2333b2d initial notes on time travel 2018-11-21 12:15:31 -08:00
Dustin Carlino
7278719a04 consolidating all of the road query methods 2018-11-20 13:36:10 -08:00
Dustin Carlino
b618842ad2 WIP woops, found a bug with bike_reached_end 2018-11-18 17:02:30 -08:00
Dustin Carlino
044a25fce2 give up on Sim being Eq; settle for PartialEq, get rid of all of the annoying 'ignore this field' hacks. also getting rid of unnecessary PartialEq impls in map_model 2018-11-18 16:28:43 -08:00
Dustin Carlino
889214ccdf splitting off just the scheduling portion of spawn. no more
recalculating paths!
2018-11-17 18:41:53 -08:00
Dustin Carlino
343aeba3b6 deleted some aging code only used for tests that definitely needs overhaul anyway 2018-11-17 17:28:19 -08:00
Dustin Carlino
9084f0060b PathRequest instead of massive confusing tuples. also can now use bike lanes from spawn layer 2018-11-17 17:12:03 -08:00
Dustin Carlino
0b53b2e44f make bike from border work by adding a bit in spawn 2018-11-17 07:34:06 -08:00
Dustin Carlino
d7efdfc86d rendering bikes differently 2018-11-16 14:51:41 -08:00
Dustin Carlino
3036511c9e another darn bike/parking lane case, unrelated 2018-11-16 14:34:01 -08:00
Dustin Carlino
1e43f33939 render peds preparing bikes 2018-11-16 14:28:36 -08:00
Dustin Carlino
7e571618be deal with unrelated bus/parking lane problem that cropped up 2018-11-16 14:20:41 -08:00
Dustin Carlino
5db8b4edb6 make finished bikes become peds 2018-11-16 14:14:36 -08:00
Dustin Carlino
b9770dc4bd plumbing through the commands in spawn, finally... 2018-11-16 13:40:14 -08:00
Dustin Carlino
a2a6b16fdc plumbing biking option from scenario all the way down... incomplete 2018-11-16 11:31:27 -08:00
Dustin Carlino
fb2ec0bcd0 plumbing some bits for bikes 2018-11-16 10:38:05 -08:00
Dustin Carlino
ee9f2a0430 make a vehicle type for bikes and introduce a cap speed 2018-11-16 09:44:04 -08:00
Dustin Carlino
952e97d942 starting to write down an enum for the massive FSM revamp. having more
reservations about going this direction.
2018-11-15 18:58:03 -08:00
Dustin Carlino
8f15eccf8d exclude cul-de-sacs 2018-11-13 14:13:41 -08:00
Dustin Carlino
88334d50ca WIP rewriting pathfinding natively in terms of PathSteps 2018-11-13 14:06:52 -08:00
Dustin Carlino
e9352aca40 fix random stuff that stopped building (but not tests) 2018-11-12 21:30:11 -08:00
Dustin Carlino
257d051585 update walking model to handle ending at a border 2018-11-12 16:45:33 -08:00
Dustin Carlino
7cf6aa0eeb new_trip API was needlessly complicated; ditched start/end_bldg 2018-11-12 13:39:26 -08:00
Dustin Carlino
474d92f5db modeling border nodes in map, control, sim, editor layers 2018-11-11 14:49:27 -08:00
Dustin Carlino
f243048c45 drawing border nodes differently 2018-11-10 16:57:01 -08:00
Dustin Carlino
eabef19ed4 clipping OSM ways in osmosis differently, and hacking around a traffic
signal at a border node
2018-11-08 11:25:32 -08:00
Dustin Carlino
58dcdb4985 detangle the two tooltip_lines variants; it makes more sense in each renderable 2018-11-07 14:44:15 -08:00
Dustin Carlino
9c75514925 draw turn restrictions when relevant. needs tuning later 2018-11-06 14:47:39 -08:00
Dustin Carlino
c6cd36071c make the large maps still work: fixes to bus route verification and
degenerate stop sign handling
2018-11-06 12:39:27 -08:00
Dustin Carlino
dc70d4eb9a was overthinking turn-making... going back to something simple 2018-11-06 08:59:27 -08:00
Dustin Carlino
9f0d3b610a introducing TurnType 2018-11-05 18:42:33 -08:00
Dustin Carlino
bd96b4ff5f storing src/dst intersection with Road directly 2018-11-05 17:39:23 -08:00
Dustin Carlino
9cb1337785 starting a rewrite of the code to find turns between sidewalks, based on
road adjacencies. needs a few more intermediate steps.
2018-11-05 17:15:54 -08:00
Dustin Carlino
aa23d76243 simplify API: PathStep is Copy 2018-11-05 14:37:26 -08:00
Dustin Carlino
d4dc5fc658 percolating changes to sim layer slowly... 2018-11-03 20:46:41 -07:00
Dustin Carlino
74c60709a3 WIP starting the great Path refactor... changing the API, but not impl,
of pathfind
2018-11-03 14:48:50 -07:00
Dustin Carlino
58025c027d fixing trace_route with contraflow on last step 2018-11-03 12:29:00 -07:00
Dustin Carlino
161081da6d simplify intersection polygon code a bit, then handle the degenerate cases 2018-11-01 13:10:28 -07:00
Dustin Carlino
c22ec98259 get_bounds for PolyLine 2018-10-31 08:31:16 -07:00
Dustin Carlino
7bb1bab755 pulling sidewalk width from KML 2018-10-30 14:15:57 -07:00
Dustin Carlino
a6bc3ed2a0 progress for KML parsing 2018-10-30 13:18:24 -07:00
Dustin Carlino
f8f2ea3f95 switching to a simpler GPS<->Pt2D scheme that's bijective 2018-10-29 15:01:15 -07:00
Dustin Carlino
cc9f0289ab exporting polygons in the osmosis format... wait, may need to change the
coordinate system first. let's first refactor bounds to be more careful
about existing code.
2018-10-29 12:29:11 -07:00
Dustin Carlino
f011f8f56d making hierarchial progress timer to replace flamegraphs. using in many,
but not all, places
2018-10-28 16:40:37 -07:00
Dustin Carlino
898e036c7e the great color scheme refactor! 2018-10-24 19:18:37 -07:00
Dustin Carlino
580ab797de catching simulation panics in the UI, to print some debug info before dying 2018-10-24 13:19:13 -07:00
Dustin Carlino
118b676220 wait, where did the parcels all go? 2018-10-23 13:27:16 -07:00
Dustin Carlino
144fa638d0 reduce import list in ui 2018-10-22 10:57:37 -07:00
Dustin Carlino
fd2b77f958 splitting UI plugins into another struct 2018-10-21 19:09:22 -07:00
Dustin Carlino
80121df78c rename data/maps to data/raw_maps 2018-10-20 08:25:49 -07:00
Dustin Carlino
a3984ca9ec bringing in some docs from an old branch 2018-10-18 17:00:46 -07:00
Dustin Carlino
5d010d2580 make a/b test work again... neighborhoods can be kind of poorly defined 2018-10-18 15:44:35 -07:00
Dustin Carlino
d6253a1721 dont draw stop sign on degenerate intersections 2018-10-18 15:28:34 -07:00
Dustin Carlino
94863b7bcc bring in footways... actually disable it, they'll need more work 2018-10-18 12:20:54 -07:00
Dustin Carlino
35566543f1 briefly play around with cpuprofiler and gperftools 2018-10-18 10:54:04 -07:00
Dustin Carlino
b25046bd67 removing old, weird controls for interactively spawning stuff in the UI 2018-10-17 13:06:40 -07:00
Dustin Carlino
98914ce208 peds only use the car associated with their building 2018-10-17 10:34:02 -07:00
Dustin Carlino
0d33a25d44 calm down DiffWorlds, not every agent has a trip -- buses and parked cars, namely 2018-10-17 10:10:22 -07:00
Dustin Carlino
7919b0bd8d associating cars with an owner 2018-10-16 17:28:03 -07:00
Dustin Carlino
2c110a58f9 starting a very basic plugin to show differences between trips in parallel worlds 2018-10-16 14:48:41 -07:00
Dustin Carlino
14c341d86a shuffle parked cars to use without offsetting the RNG 2018-10-16 11:50:16 -07:00
Dustin Carlino
77786c9483 forking RNGs to keep SeedParking consistent 2018-10-16 11:39:16 -07:00
Dustin Carlino
bc48b3189f generate trips to spawn before seeding parking spots, to make trip IDs line up better... 2018-10-14 18:53:39 -07:00
Dustin Carlino
80f6eb95b4 brainstorming edit-invariant trips. initial work to reference TripIDs,
which are independent of mode.
2018-10-14 14:01:03 -07:00
Dustin Carlino
f7f9b5ab70 plugin to find and show chokepoints 2018-10-13 15:24:14 -07:00
Dustin Carlino
4672994777 fixed one problem with ped trace_route... walking model is so complicated. >< 2018-10-09 17:43:22 -07:00
Dustin Carlino
dcbf373896 constructing traces way more directly. still broken for peds. :( 2018-10-09 16:14:48 -07:00
Dustin Carlino
2aa47bbd51 grouping UI state that's bound to a certain map+edits 2018-10-08 14:08:20 -07:00
Dustin Carlino
ad37e595f0 scarier colors. :P 2018-10-07 13:23:31 -07:00
Dustin Carlino
8f88d58952 adding a quadtree to halloween demo, by copying lots of code 2018-10-07 13:07:44 -07:00
Dustin Carlino
403ef7d0ec also move the buildings 2018-10-07 12:51:27 -07:00
Dustin Carlino
b14df8a090 starting new halloween experiment... just rendering thick roads 2018-10-06 13:45:10 -07:00
Dustin Carlino
478d12aecb plumb car properties between driving and parking sims. seems simpler... 2018-10-05 12:35:32 -07:00
Dustin Carlino
7b718b4621 bundling all map edits together 2018-10-02 15:48:10 -07:00
Dustin Carlino
4f3afa3894 very primitively tracking trip times, only showing in headless 2018-09-28 07:19:16 -07:00
Dustin Carlino
c1427a044c dont lose logs in editor 2018-09-27 14:57:01 -07:00
Dustin Carlino
fa1d7e8182 WIP instantiating a scenario 2018-09-27 11:47:29 -07:00
Dustin Carlino
09c3b017b9 logging in map layer too 2018-09-23 14:15:24 -07:00
Dustin Carlino
a53dd51ec4 filling out logging in editor crate 2018-09-23 14:01:03 -07:00
Dustin Carlino
6c7d4185b3 proper logging from the editor layer 2018-09-22 20:12:24 -07:00
Dustin Carlino
f9e0b6facc adding a scrollable log buffer widget 2018-09-21 14:09:20 -07:00
Dustin Carlino
f6ddd8aeaa adding categories to unimportant actions, arranging them in a tree 2018-09-21 13:16:46 -07:00
Dustin Carlino
f1f0683026 prompts on top of menus, too 2018-09-21 08:08:34 -07:00
Dustin Carlino
1d7417e851 display text entry boxes in the middle of the screen, not as part of the bottom OSD 2018-09-20 18:55:44 -07:00
Dustin Carlino
b57fec18d5 messing around slightly with the experimental gfx crate 2018-09-18 07:47:03 -07:00
Dustin Carlino
18a5a2f2f8 remove parcels too far from sidewalks 2018-09-16 16:54:35 -07:00
Dustin Carlino
5348ed6c7b organizing design notes a bit 2018-09-16 16:35:48 -07:00
Dustin Carlino
7911146063 organizing docs a bit 2018-09-16 16:15:08 -07:00
Dustin Carlino
67ef04b3c2 unifying tooltip handling a bit 2018-09-16 15:57:23 -07:00
Dustin Carlino
966d7bb03d adding Areas to map and UI; not instantiating them yet 2018-09-16 13:25:31 -07:00
Dustin Carlino
e4339436fc make bus stops a separate layer to render. easy! 2018-09-15 19:58:25 -07:00
Dustin Carlino
74ad9d0819 split bus stops into their own first-class object in the map model layer 2018-09-15 19:02:10 -07:00
Dustin Carlino
35141dee40 at last, the satisfying collapsing of all the boilerplate color functions 2018-09-15 16:52:37 -07:00
Dustin Carlino
008c63cd1a passing ctx to both plugins and renderers, so we can debug lanes 2018-09-15 14:56:21 -07:00
Dustin Carlino
269642a984 give plugins a better way to express color 2018-09-14 22:18:49 -07:00
Dustin Carlino
c08477a9e9 draw lane details with generic quadtree, based on render options 2018-09-14 13:18:02 -07:00
Dustin Carlino
772ab784a7 generic quadtree support for show_turn_icons 2018-09-14 13:01:28 -07:00
Dustin Carlino
4a46990457 generic quadtree - initial round. broke some features, will add them
back in next.
2018-09-14 12:44:10 -07:00
Dustin Carlino
5303087fa2 making DrawCar implement renderable 2018-09-13 22:33:58 -07:00
Dustin Carlino
b3d2a5c5be WIP making DrawPed implement Renderable 2018-09-13 22:15:03 -07:00
Dustin Carlino
48a47ff013 make parcels selectable too 2018-09-13 14:14:10 -07:00