Commit Graph

339 Commits

Author SHA1 Message Date
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
Dustin Carlino
92f8aeff1e drawing a traffic signal, no good colors yet 2018-07-04 13:22:15 -07:00
Dustin Carlino
fb24efe1f1 fix bbox for bldgs to include path 2018-07-03 17:57:19 -07:00
Dustin Carlino
73455017c2 depicting stop signs very primitively 2018-07-03 17:15:03 -07:00
Dustin Carlino
2f9ff9d069 refactoring road markings 2018-07-03 17:02:20 -07:00
Dustin Carlino
33fdab17dd project plan 2018-07-03 15:00:12 -07:00
Dustin Carlino
f1024792e4 validate geometry doesn't overlap for a rendered map 2018-07-03 14:43:53 -07:00
Dustin Carlino
cacf3aea62 halve the number of lanes from OSM for two-ways 2018-07-03 09:42:17 -07:00
Dustin Carlino
46b159ae8f be able to hide stuff temporarily 2018-06-29 12:23:24 -07:00
Dustin Carlino
5a6ea9bf7e handle motorways and roads with a known number of driving lanes 2018-06-29 11:41:26 -07:00
Dustin Carlino
f9c1b3b526 WIP representing polyline shifting failure 2018-06-29 11:17:39 -07:00
Dustin Carlino
fe53536024 prototyping crosswalks 2018-06-29 10:30:36 -07:00
Dustin Carlino
a082fbb511 moving stuff to geom crate 2018-06-28 20:35:00 -07:00
Dustin Carlino
34e7f11cda get rid of vecmath 2018-06-28 19:46:21 -07:00
Dustin Carlino
8e1f9b79f0 PolyLine struct 2018-06-28 18:02:14 -07:00
Dustin Carlino
7f09f22bcf making a line struct 2018-06-28 17:14:27 -07:00
Dustin Carlino
ff526a6854 split out HashablePt2D 2018-06-28 13:55:43 -07:00
Dustin Carlino
69d6c4ab43 organizing map making code a little 2018-06-27 13:58:11 -07:00
Dustin Carlino
849a132a6a dashed white lines on big roads 2018-06-27 12:48:11 -07:00
Dustin Carlino
5e362cdfc5 multiple driving lanes on big roads, and simplifying LaneSpecs 2018-06-26 14:46:27 -07:00
Dustin Carlino
02d7053239 trying to fix the general case... maybe detecting the problem. giving up
for now.
2018-06-26 14:09:53 -07:00
Dustin Carlino
f5fc04a14e WIP debugging bad polygons. seemingly fixed one pt inversion case that
happens only on the first pt.
2018-06-26 13:23:56 -07:00
Dustin Carlino
50aa53e9a9 drawing parking markings too 2018-06-26 11:11:34 -07:00
Dustin Carlino
736d143b30 draw sidewalk marks 2018-06-26 10:36:24 -07:00
Dustin Carlino
82bac55275 use cbor for maps 2018-06-26 09:45:01 -07:00
Dustin Carlino
43536743a8 warp plugin, and making text entry handle numbers 2018-06-26 09:05:14 -07:00
Dustin Carlino
091d1ef98d handle parallel line intersection, which was making bigger maps break 2018-06-26 08:36:18 -07:00
Dustin Carlino
8de92c095a OSM tags as a hash, now that serialization is easy 2018-06-26 07:35:34 -07:00
Dustin Carlino
bc92c3ca8d replacing the pb with serde stuff 2018-06-25 18:56:57 -07:00
Dustin Carlino
fcec05cdfa rm old thick line stuff at last 2018-06-25 16:16:40 -07:00
Dustin Carlino
e1e3abbb28 fixed turns that vanished 2018-06-25 15:42:04 -07:00
Dustin Carlino
5a9bc56c32 center lines are finally gone 2018-06-25 15:34:21 -07:00
Dustin Carlino
94e8f7a4bf switch to new polygons for cars. seems to work. 2018-06-25 14:01:55 -07:00
Dustin Carlino
7c747ea9ee working on calculating start/end crossings explicitly 2018-06-25 13:48:30 -07:00
Dustin Carlino
6cad6c7394 working on the line trimming logic. seems to do something? 2018-06-25 13:11:55 -07:00
Dustin Carlino
2451244344 splitting out a mapmaking fxn 2018-06-25 12:03:34 -07:00
Dustin Carlino
f9db14fed7 slightly less chaos in the roundabout 2018-06-25 11:19:08 -07:00
Dustin Carlino
2eb0193fb3 slight fixup to drawmap ctor 2018-06-25 10:32:17 -07:00
Dustin Carlino
1242ec5297 WIP transforming gps to screen space earlier 2018-06-25 09:40:37 -07:00
Dustin Carlino
ee90ce1ed8 cleaning up redundant extern crates 2018-06-25 09:14:44 -07:00
Dustin Carlino
ba310cbd45 removing geom crate, using just map model 2018-06-25 09:00:43 -07:00
Dustin Carlino
d9e46c5960 splitting map model into more modules 2018-06-25 08:08:38 -07:00
Dustin Carlino
3e33162779 polygons for a polyline. the simple method somehow didn't work, not sure
why!
2018-06-24 16:49:00 -07:00
Dustin Carlino
3270d9f1ba messing around with the multiline drawing. moving point, labeling
points, using line intersection to find a decent join point.
2018-06-23 14:52:18 -07:00
Dustin Carlino
0327432f2f adding a second UI for experimenting 2018-06-23 10:27:30 -07:00
Dustin Carlino
d54bce01ac make plugins track their own active state 2018-06-22 10:35:35 -07:00
Dustin Carlino
03df50c96e fill in parcel interior with color 2018-06-19 14:24:30 -07:00
Dustin Carlino
3838a1c4ac extra lanes on one-ways 2018-06-19 13:39:10 -07:00
Dustin Carlino
4da2136dee mostly fix curved roads, needed a different quad to fill in the gap 2018-06-19 12:14:53 -07:00
Dustin Carlino
592f284be3 fix center lines for two-ways 2018-06-19 10:28:08 -07:00
Dustin Carlino
854eee4fd0 rendering parking lanes for two-ways... 2018-06-19 09:54:21 -07:00
Dustin Carlino
ef78902f9a slowly moving away from depending on other_side in Road, and declaring LaneType stuff 2018-06-19 09:03:26 -07:00
Dustin Carlino
91920c3e1d dont reach into DrawRoad's polygon directly from DrawIntersection 2018-06-18 14:46:11 -07:00
Dustin Carlino
a15e4e473b collecting notes on modeling lanes 2018-06-18 12:31:47 -07:00
Dustin Carlino
808e0f26fa planning for lanes 2018-05-16 19:40:53 -07:00
Dustin Carlino
118b253cba organizing next steps 2018-04-22 09:24:46 -07:00
Dustin Carlino
9f3fd72417 changing f64 time to u32 ticks. this gets rid of the custom serde stuff
and lets us compare full sim states
2018-04-14 15:29:18 -07:00
Dustin Carlino
065c2ce9ba Importing everything since the initial import 2018-04-10 17:51:37 -07:00
Dustin Carlino
1863289f6d Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00