Commit Graph

308 Commits

Author SHA1 Message Date
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
Dustin Carlino
78d09fdb6d make toggleable layer stuff just another plugin 2018-09-13 12:01:53 -07:00
Dustin Carlino
a059bccfd5 making more plugins initiate themselves, instead of UI doing it 2018-09-13 11:57:18 -07:00
Dustin Carlino
853665406b killing the selection plugin 2018-09-13 11:28:33 -07:00
Dustin Carlino
799eeec73d moving all logic out of selection plugin 2018-09-13 10:32:01 -07:00
Dustin Carlino
839ded2eed moving hider into its own module 2018-09-13 09:51:44 -07:00
Dustin Carlino
1f8a73fb6e going through and checking definitions of active plugins 2018-09-13 09:41:51 -07:00
Dustin Carlino
05219623bd one active plugin at a time. easy. 2018-09-13 09:21:47 -07:00
Dustin Carlino
5fb8408a4e just move plugin event handlers to a list of closures 2018-09-12 23:10:27 -07:00
Dustin Carlino
147901790c first lift sim out of sim ctrl 2018-09-12 17:43:58 -07:00
Dustin Carlino
04a25bd489 refactor selection plugin at last 2018-09-12 16:58:21 -07:00
Dustin Carlino
855258ac97 moving turn cycling logic out of SelectionState 2018-09-12 16:20:13 -07:00
Dustin Carlino
9d96eb1741 making a renderable trait, making everything implement it. killed a few
colors.
2018-09-11 13:42:53 -07:00
Dustin Carlino
571aa2f786 split out experimental playground GUI stuff into its own crate 2018-09-09 19:16:41 -07:00
Dustin Carlino
64d4117c0c moving GUI runner to ezgui 2018-09-09 18:50:36 -07:00
Dustin Carlino
013b3e11c5 pathfinding using bus stops, unused, and not the right interface yet 2018-09-09 14:03:20 -07:00
Dustin Carlino
6bff2113be more OSM types so medium map doesn't immediately crash. trying to fix
bad polyline projection in another branch, but don't have it working yet
2018-09-08 10:15:38 -07:00
Dustin Carlino
87a33a6c78 replaced parts of the polygon ear clipping and seemingly fixed all the
problems!
2018-09-07 15:03:28 -07:00
Dustin Carlino
99fe9f170c fixing up tests 2018-09-07 14:08:36 -07:00
Dustin Carlino
e02ec325de simpler gtfs parsing 2018-09-06 16:48:28 -07:00
Dustin Carlino
1d732c5a3b WIP load gtfs 2018-09-06 14:59:02 -07:00
Dustin Carlino
c5c00d5740 record stack traces 2018-09-06 13:32:35 -07:00
Dustin Carlino
0276dd54aa starting to capture stack traces at runtime 2018-09-05 16:37:18 -07:00
Dustin Carlino
e99d9944e4 using failure crate in sim 2018-09-05 15:21:04 -07:00
Dustin Carlino
a2c7b8b5bd fixing warping peds and preventing it from happening again 2018-09-05 14:22:47 -07:00
Dustin Carlino
fbcc2a9094 unifying WorldView and AgentInfo 2018-09-05 13:10:29 -07:00
Dustin Carlino
8547b18650 WIP figuring out why just yielding at stop signs breaks things 2018-09-05 11:57:06 -07:00
Dustin Carlino
55b02e6c5c making a sample ped using the bus 2018-09-04 11:49:22 -07:00
Dustin Carlino
a74bfe6c92 making peds leave the bus 2018-09-04 11:18:27 -07:00
Dustin Carlino
bc9b559701 making the multi-leg trips handle transitions correctly 2018-09-04 10:31:52 -07:00
Dustin Carlino
9d01183a7e introducing some proper multi-leg trips 2018-09-04 10:16:34 -07:00
Dustin Carlino
0205eb8978 splitting out a trip manager from the spawner 2018-08-31 14:13:55 -07:00
Dustin Carlino
c1f87395cc unused, WIP code for peds to wait for, board, deboard buses 2018-08-31 11:23:30 -07:00
Dustin Carlino
c685a80a98 moving state to transit model, making router get directives from it 2018-08-30 15:00:52 -07:00
Dustin Carlino
63a8171370 recording events that happen each tick 2018-08-30 11:03:58 -07:00
Dustin Carlino
44f02273be starting a transit sim state, so we know when a bus is at a stop, so we can unit test it. ;) 2018-08-29 23:42:16 -07:00
Dustin Carlino
bb15bdb4d4 extracting out router for cars. along the way, kinda rearranging how
mutability and views work
2018-08-28 12:02:52 -07:00
Dustin Carlino
a9bb71c59f modeling and rendering bus stops 2018-08-27 15:06:13 -07:00
Dustin Carlino
fe8a28ff34 savestate regularly 2018-08-27 13:21:31 -07:00
Dustin Carlino
269235d1e1 writing savestates in a consistent place 2018-08-27 11:10:02 -07:00
Dustin Carlino
c3d7595fc3 (slightly) smarter stop sign assignment 2018-08-24 12:46:09 -07:00
Dustin Carlino
f36c94c730 render individual points from extra KML, and refactor some circle helpers 2018-08-23 15:17:37 -07:00
Dustin Carlino
f141329e85 moving some types in the sim layer around, now that the dust has settled 2018-08-23 13:56:49 -07:00
Dustin Carlino
2a12c338cf fixing up the parking test... had to deal with horizontal/vertical lines
for the building front path stuff
2018-08-23 10:37:17 -07:00
Dustin Carlino
7745678794 make the spawner deal with trips and transitions... big revamp for it 2018-08-23 10:11:56 -07:00
Dustin Carlino
0a944f9864 making peds be able to start/end at a parking spot as well. nothing
tells them to start/end at parking yet, though
2018-08-23 07:58:18 -07:00
Dustin Carlino
3fba70a9a9 make pedestrians start aligned with building paths. almost ready to make
them travel along the front path
2018-08-22 13:43:11 -07:00
Dustin Carlino
00056e6e81 require a front path for buildings, by ignoring street names 2018-08-22 11:33:29 -07:00
Dustin Carlino
19727cdcaf adjusting intersection policy to not deadlock? 2018-08-22 09:30:33 -07:00
Dustin Carlino
b87af4b303 digging into stuck kinematics. seemingly unblocks completion test! 2018-08-20 15:34:55 -07:00
Dustin Carlino
7f29e5d285 making car length vary, and adjusting parking model in response 2018-08-20 12:31:39 -07:00
Dustin Carlino
917c3c3ed5 WIP storing per-car properties like accel somewhere 2018-08-20 11:27:11 -07:00
Dustin Carlino
bf52822e37 wrote a few tests of parking 2018-08-19 18:07:28 -07:00
Dustin Carlino
af8a583f77 moving spawning of parked cars to a dedicated place 2018-08-16 15:10:26 -07:00
Dustin Carlino
0edd4c6eff oops, bug where parking spots were too close to the start 2018-08-16 12:50:46 -07:00
Dustin Carlino
6693147a99 WIP making driving cars park at a specific spot 2018-08-15 15:29:49 -07:00
Dustin Carlino
511aab4483 representing departing vehicles 2018-08-15 11:53:04 -07:00
Dustin Carlino
432c9644fc slightly different speed limits 2018-08-09 13:14:30 -07:00
Dustin Carlino
a3caf09cda count agents as stopped if their speed is super tiny 2018-08-08 10:53:10 -07:00
Dustin Carlino
be4ffc8d31 only draw turn icons in editor mode 2018-08-05 14:24:38 -07:00
Dustin Carlino
7611be90ab trying enums with delegation... 2018-08-04 12:26:58 -07:00
Dustin Carlino
c2306ef47a forking aorta driving model from parametric one... 2018-08-04 08:03:55 -07:00
Dustin Carlino
87d040f061 first making driving stuff private, before making a second driving model 2018-08-03 14:32:08 -07:00
Dustin Carlino
67c81df83f draw stopping buffer for cars 2018-08-02 11:15:47 -07:00
Dustin Carlino
1348db1288 different colors for cars and peds 2018-08-01 15:06:23 -07:00
Dustin Carlino
5ad6f53607 use new dimensioned version, letting us serialize maps and clean up
hacks elsewhere
2018-08-01 14:05:38 -07:00
Dustin Carlino
890f6541af turns between sidewalks were getting conflated after the TurnID change; adding parent intersection fixes it. should fix ped warping problem. 2018-08-01 13:31:14 -07:00
Dustin Carlino
ec38ccc11e refactoring common code in intersections 2018-08-01 11:38:35 -07:00
Dustin Carlino
3941621127 draw ped waiting for a turn 2018-07-31 20:31:41 -07:00
Dustin Carlino
6cc8489dfa reduce some visibility 2018-07-30 15:01:41 -07:00
Dustin Carlino
7205e6d926 lifting intersection sim state out of driving 2018-07-30 14:39:15 -07:00
Dustin Carlino
19133adad8 fixed the broken savestating; custom multimap serialization was just
plain wrong
2018-07-30 13:30:30 -07:00
Dustin Carlino
c9b890e44c hash to btree, for easier comparison in serializtion 2018-07-29 16:58:41 -07:00
Dustin Carlino
cce85994f6 dont need a sort anymore... actually, can't run the determinism test
right now
2018-07-29 15:51:06 -07:00
Dustin Carlino
1cf2ca435e display cars/peds at low zoom levels in intersections 2018-07-28 11:21:46 -07:00
Dustin Carlino
ac0f580ef1 adjust when color picker runs, to avoid a key conflict 2018-07-28 11:12:28 -07:00
Dustin Carlino
f732335ed8 parallelizing pathfinding for pedestrians 2018-07-27 15:51:44 -07:00
Dustin Carlino
3fa06fd032 dont repeat keypress manually in OSD message 2018-07-26 14:28:01 -07:00
Dustin Carlino
d5f002e35c incoming/outgoing roads made no sense. oops. 2018-07-26 13:42:27 -07:00
Dustin Carlino
de54b917bc changing turns to have IDs thatll be stable across edits 2018-07-25 19:01:47 -07:00
Dustin Carlino
3ed1bba5c9 fixing encapsulation and delegation of stuff in sim layer 2018-07-25 18:36:04 -07:00
Dustin Carlino
3e72f39121 planning how to do live road edits 2018-07-25 18:19:39 -07:00
Dustin Carlino
c321c07bd7 make map use road edits when loading from scratch 2018-07-24 16:06:25 -07:00
Dustin Carlino
120e7c5db1 plumb through UI controls for road edits 2018-07-24 15:43:01 -07:00
Dustin Carlino
9fbf48c495 defining the basic data model for some road edits 2018-07-24 12:30:56 -07:00
Dustin Carlino
0bfcae6aa6 WIP making intersections know in/out roads too, using for simpler turn-making 2018-07-24 11:13:08 -07:00
Dustin Carlino
7d187bcceb ripping out other_side too 2018-07-24 10:56:23 -07:00
Dustin Carlino
83d5e75e43 store children in road, and stop storing some state in lane and query it instead 2018-07-24 09:23:23 -07:00
Dustin Carlino
549aa75d9c lifted unshifted pts to road 2018-07-24 08:59:01 -07:00
Dustin Carlino
4bf72b36c8 removing osm metadata from lanes now 2018-07-24 08:18:47 -07:00
Dustin Carlino
62139c1abc introducing road structures, with a copy of OSM metadata 2018-07-24 07:39:26 -07:00
Dustin Carlino
4207b2cacf rename existing roads to lanes 2018-07-23 20:24:53 -07:00
Dustin Carlino
52d5c5b69b bike lane turns 2018-07-23 14:03:13 -07:00
Dustin Carlino
3017728515 introducing bike lanes! no turns yet 2018-07-23 10:56:45 -07:00
Dustin Carlino
7ee8ef0d8d cleaning up after polyline trimming 2018-07-23 10:05:20 -07:00
Dustin Carlino
a52b966b03 make some more pedestrian paths possible by forcing turns even when line trimming fails 2018-07-23 08:39:58 -07:00
Dustin Carlino
14eac3c486 compute bounds at the better time 2018-07-22 18:53:35 -07:00
Dustin Carlino
70c571c9bc fixed the disconnected partition removal algorithm; it was just plain wrong 2018-07-22 18:28:14 -07:00
Dustin Carlino
36bfa9cfdf be able to relate lanes to orig road idx, for debugging 2018-07-22 17:18:13 -07:00
Dustin Carlino
82fb302ddd fixing nondeterministic map conversion 2018-07-22 17:14:07 -07:00
Dustin Carlino
1c85188a64 WIP removing disconnected chunks of map. leaves orphaned intersections
still, so disabled.
2018-07-22 16:31:31 -07:00
Dustin Carlino
7d1ec62a1d organizing convert_osm code slightly 2018-07-20 11:52:45 -07:00
Dustin Carlino
51fa14d934 parsing shapefiles again for traffic signals 2018-07-20 11:27:57 -07:00
Dustin Carlino
22b1e70707 info on parked cars and peds in OSD 2018-07-14 13:53:32 -05:00
Dustin Carlino
e5de791fa7 starting to model pedestrians. spawn and draw them. 2018-07-11 15:06:31 -07:00
Dustin Carlino
9c21dae3d9 making turns for crosswalks. had to rethink how turns work slightly. 2018-07-11 12:10:56 -07:00
Dustin Carlino
9ca0682108 handle lanes with no turns 2018-07-10 12:10:12 -07:00
Dustin Carlino
5ffa4ba7c7 centering parked cars in their spots 2018-07-09 16:08:23 -07:00
Dustin Carlino
282f20e438 drawing parked cars 2018-07-09 14:17:33 -07:00
Dustin Carlino
db54420ede fixing all tests 2018-07-09 13:52:08 -07:00
Dustin Carlino
0e6111e86a being able to find sibling lanes 2018-07-09 12:30:39 -07:00
Dustin Carlino
d3bcbe1da2 lots of the logic to start a parked car 2018-07-09 11:59:40 -07:00
Dustin Carlino
bf68be8870 moving the sim state that's driving-specific 2018-07-09 11:07:54 -07:00
Dustin Carlino
bde37d666b split out some of the driving-only code 2018-07-09 10:36:17 -07:00
Dustin Carlino
ddb30734c6 refactoring DrawCar 2018-07-09 10:17:20 -07:00
Dustin Carlino
8b908d2744 calculating the number of parking spots 2018-07-09 09:16:12 -07:00
Dustin Carlino
c033f51da2 make cars pathfind to their destination 2018-07-08 15:40:39 -07:00
Dustin Carlino
f3f3bfd1e9 impl basic A* on roads 2018-07-08 14:37:56 -07:00
Dustin Carlino
c6ebab1e9c move some sim code 2018-07-08 14:00:03 -07:00
Dustin Carlino
0e4ff75286 setting up an intersection test in experimental 2018-07-07 10:48:46 -07:00
Dustin Carlino
d6a7274835 organizing TODOs 2018-07-06 15:07:52 -07:00
Dustin Carlino
79f58155d9 make floodfiller own its state completely 2018-07-06 13:38:15 -07:00
Dustin Carlino
18132e3c8b consistently having one(ish) plugin do stuff at a time 2018-07-06 12:25:43 -07:00
Dustin Carlino
e2aabeb0e9 refactoring drawing primitives into GfxCtx 2018-07-06 11:04:18 -07:00
Dustin Carlino
8f244438c1 plumbing window_size with canvas 2018-07-06 10:26:35 -07:00
Dustin Carlino
445a1925eb making geom validation interactive 2018-07-06 08:47:56 -07:00
Dustin Carlino
dee6c97f4c draw stop sign in intersections too 2018-07-04 14:05:21 -07:00
Dustin Carlino
c58b91ee4d cleaning up intersection colors 2018-07-04 13:29:46 -07:00