Commit Graph

639 Commits

Author SHA1 Message Date
Dustin Carlino
b58a4097b5 changing PriorityQueue to emit one item at a time 2019-03-04 13:12:38 -08:00
Dustin Carlino
6f0dffdc75 move all driving sim to per-car updates, by calculating distances only
when needed
2019-03-04 13:04:23 -08:00
Dustin Carlino
0cfbc2f7da move the code to advance Queued head cars to next turn/lane into the
main per-car loop
2019-03-04 12:15:16 -08:00
Dustin Carlino
8e7cc2c11e delete peds inline 2019-03-04 11:03:15 -08:00
Dustin Carlino
b52e7bd991 lift Idling handler to the loop that's trivially event-based 2019-03-04 10:47:20 -08:00
Dustin Carlino
385a9044db store requests to intersections, as a prep for notifying them when to retry 2019-03-03 20:01:38 -08:00
Dustin Carlino
d8ad1675dc handle sim running too damn fast ;) 2019-03-03 19:05:57 -08:00
Dustin Carlino
2ac973f245 properly update followers that're Crossing and become unblocked 2019-03-03 18:41:45 -08:00
Dustin Carlino
ab52e9ac38 stop returning borrows from get_car_positions 2019-03-03 18:19:12 -08:00
Dustin Carlino
b1dff917c9 make a new WaitingToTurn state for peds 2019-03-03 17:50:13 -08:00
Dustin Carlino
92fd802f83 vague cleanup before making driving sim be event-based 2019-03-03 16:05:17 -08:00
Dustin Carlino
5f08bfca0c store Cars in DrivingSimState, not Queue 2019-03-03 15:12:25 -08:00
Dustin Carlino
f2b0468b8b speed up tests by loading precomputed map 2019-03-03 14:40:59 -08:00
Dustin Carlino
348c7b2b35 making walking sim be (mostly) event-based 2019-03-03 14:39:39 -08:00
Dustin Carlino
8f3b2b8224 extract out a priority queue helper, still slow impl 2019-03-03 14:22:25 -08:00
Dustin Carlino
9d1bb00fbd adding a test for bikes 2019-03-02 17:22:41 -08:00
Dustin Carlino
bcb0268f7a refactoring TripManager 2019-03-01 22:43:27 -08:00
Dustin Carlino
0f71ee5210 make peds leave bus 2019-03-01 22:33:15 -08:00
Dustin Carlino
313841b9de make peds board buses 2019-03-01 22:09:33 -08:00
Dustin Carlino
9c916e5d11 make sure buses dont block a sim from being considered done 2019-03-01 15:39:34 -08:00
Dustin Carlino
81d604367e make buses cycle between stops. move the waiting at stop state to
CarState, since idling in Queued doesn't make sense
2019-03-01 15:25:42 -08:00
Dustin Carlino
c99d9f5138 bringing back skeleton of transit sim... 2019-03-01 13:30:41 -08:00
Dustin Carlino
5f6d7e1b66 fix sim nondet test failure by using BTreeMap in my MultiMap 2019-03-01 12:16:52 -08:00
Dustin Carlino
8d9a44fd76 making sure to call TripManager and publish events for most transitions 2019-02-28 19:07:40 -08:00
Dustin Carlino
05ffb18fbc publishing an event to make the parking tests work 2019-02-28 10:54:03 -08:00
Dustin Carlino
e6ff4481e7 do ID allocation more up-front 2019-02-27 14:29:45 -08:00
Dustin Carlino
84c1a94f49 implement test helper for seeding parked cars 2019-02-27 13:23:13 -08:00
Dustin Carlino
50451b6120 make tests build again. cleanup sim::load 2019-02-27 13:16:28 -08:00
Dustin Carlino
dd6921323d delete a little commented out code 2019-02-27 12:24:57 -08:00
Dustin Carlino
54935ab5de draw unzoomed cars, color peds preparing bikes 2019-02-27 12:23:15 -08:00
Dustin Carlino
c6f64cbec5 clean up imports and visibility in sim 2019-02-27 12:19:38 -08:00
Dustin Carlino
f6a6bb888e cleanup crate dependencies, fix spawning car from lane, reduce
mutability of debug_car
2019-02-27 12:06:29 -08:00
Dustin Carlino
11c549331e finally, the big cutover! editor and headless work. tests dont compile. 2019-02-27 11:53:45 -08:00
Dustin Carlino
8e522e13dc prepping helpers to spawn ala carte trips 2019-02-27 11:25:13 -08:00
Dustin Carlino
be797e7e6f rearrange sim crate code to prep for easier cutover 2019-02-27 09:38:52 -08:00
Dustin Carlino
350428b6e9 impl remaining Sim methods 2019-02-27 09:33:49 -08:00
Dustin Carlino
b3b4f82f45 rename CarState enum 2019-02-26 16:41:32 -08:00
Dustin Carlino
b0abf7abff make time private in Sim, force clear API 2019-02-26 14:23:59 -08:00
Dustin Carlino
76ee37c077 get rid of Tick externally 2019-02-26 14:21:57 -08:00
Dustin Carlino
42c7c21246 removing many external dependencies on Tick. moving time parsing to
Duration.
2019-02-26 14:09:08 -08:00
Dustin Carlino
d5181f6bf8 own time inside of Sim 2019-02-26 13:08:56 -08:00
Dustin Carlino
b6eb62aa62 give commands to spawn peds, but don't do anything with them yet 2019-02-23 11:48:42 -08:00
Dustin Carlino
6673807422 bring in parking code and some structures needed for it. dont use it yet. switch to Vehicle. 2019-02-22 11:09:33 -08:00
Dustin Carlino
a45b4510b6 speed up neighborhood<->building and road matching during scenario instantiation 2019-02-21 11:33:56 -08:00
Dustin Carlino
e4ef1ec79d removing log from sim 2019-02-20 11:22:51 -08:00
Dustin Carlino
c2791a6ead using Warn in all of geom 2019-02-20 10:36:58 -08:00
Dustin Carlino
46fb2c94b5 implement DrawAgents 2019-02-20 08:11:03 -08:00
Dustin Carlino
ad16247695 active agents per road in unzoomed mode 2019-02-16 17:55:02 -08:00
Dustin Carlino
2578219610 skip spawning vehicles when they wont fit in the requested spot. improve
some error messages related to spawning and add a timer for an
apparently very slow step
2019-02-16 11:51:42 -08:00
Dustin Carlino
ec01207369 try upgrading rand and serde again 2019-02-10 15:57:28 -08:00
Dustin Carlino
51399e19ed organize convert_osm lib better. also make clippy build everything
again.
2019-02-10 15:52:21 -08:00
Dustin Carlino
f6a53797f0 manually glueing together some fixed intervals 2019-02-06 22:53:43 -08:00
Dustin Carlino
3bf4807364 thoughts on a different simulation model and a plugin skeleton to play
with it
2019-02-06 19:14:19 -08:00
Dustin Carlino
f454c691f0 making a profiler to breakdown what parts of sim are slowest 2019-02-05 14:04:03 -08:00
Dustin Carlino
6b29a2a38d fixing issues with bikes spawning close to intersections, by making the
bound be really conservative
2019-02-05 09:56:07 -08:00
Dustin Carlino
6b3a77c9ec solve the problem with bikes entering too short 2019-02-04 21:05:43 -08:00
Dustin Carlino
17a0b57644 squeeze in vehicle type to CarID, for debugging convenience 2019-02-04 20:26:22 -08:00
Dustin Carlino
acc298a6ab dont spawn under vehicle length... but hmm, seeing another problem. need
easier debugging first.
2019-02-04 19:16:17 -08:00
Dustin Carlino
91ae32cd4a dont spawn in front of turning agents 2019-02-04 18:32:55 -08:00
Dustin Carlino
84df699927 remove hack for cars winding up too close. if this is still happening, let's solve using the Intent stuff in a different way. 2019-02-04 15:49:39 -08:00
Dustin Carlino
be1735d715 just skip bike trips that are silly loops 2019-02-04 15:32:46 -08:00
Dustin Carlino
a0aed4f200 fix bugs where cars couldnt loop around to reach a building earlier on
the same lane
2019-02-04 14:58:27 -08:00
Dustin Carlino
09193d5f51 be able to spawn cars from buildings too 2019-02-04 13:58:23 -08:00
Dustin Carlino
13698cdb20 small fixes... debug buildings, spawn from headless, timer for
instantiating a scenario
2019-02-04 11:56:54 -08:00
Dustin Carlino
793410aa16 make peds on_exit intersections when they try to chain two turns. ALL
TESTS PASS.
2019-02-04 09:14:32 -08:00
Dustin Carlino
177f639f7b make sure bikes can actually start moving 2019-02-03 22:38:21 -08:00
Dustin Carlino
2f812e6265 correct slight overshooting. investigate a bus reaching a stop with
non-zero speed
2019-02-03 18:47:47 -08:00
Dustin Carlino
7b045146da ah, there are speeds low enough to round off to zero distance when applied with the timestep. systematically get rid of EPSILON_SPEED. 2019-02-03 18:10:29 -08:00
Dustin Carlino
bfd0465a3d track the intent of chosen acceleration, to see why overshooting is happening 2019-02-03 09:41:29 -08:00
Dustin Carlino
f9ccecad26 fix spawning of vehicles on borders 2019-02-02 14:25:50 -08:00
Dustin Carlino
e330061b91 undo rendering hacks for tiny cars at borders, without fixing the spawning problem yet 2019-02-02 14:16:15 -08:00
Dustin Carlino
bc4ba647bc caching Renderables for agents 2019-02-01 15:10:35 -08:00
Dustin Carlino
3451b65823 lazily compute SimStats 2019-02-01 14:31:35 -08:00
Dustin Carlino
58c4cb5e1b dont look up full SimStats unless needed 2019-02-01 13:45:37 -08:00
Dustin Carlino
0a79b354b2 remove ability to create Map from InitialMap, now that we have a separate debugger 2019-02-01 11:09:22 -08:00
Dustin Carlino
097d1591e1 load previous/next initial map. refactor this functionality for sim
savestates
2019-02-01 11:03:57 -08:00
Dustin Carlino
0346166304 starting a generic viewer that works with InitialMap 2019-01-31 16:33:43 -08:00
Dustin Carlino
48a5556f17 improving debuggability of merged maps by printing intersections to look at 2019-01-31 14:54:30 -08:00
Dustin Carlino
2282c5658d make geom types Ord now 2019-01-31 14:29:47 -08:00
Dustin Carlino
b9e96618da stop abusing max distance for path tracing. disable some newly brokenish stuff 2019-01-31 13:09:15 -08:00
Dustin Carlino
23db7cc646 try really dumb trimming... it works :O 2019-01-31 08:53:30 -08:00
Dustin Carlino
7519fdf584 using strong Distance types in many more places 2019-01-30 15:54:54 -08:00
Dustin Carlino
3e00789960 allow a NaN in kinematics 2019-01-30 15:02:12 -08:00
Dustin Carlino
ac2b8f5a9a switch to new units in sim... and editor, darnit, accidentally ammended
commit
2019-01-30 14:19:48 -08:00
Dustin Carlino
2a70efde5f simplify: slice can fail. all the callers dont have to check for EPSILON_DIST
(also, disable not-so-useful geom unit tests that use randomness)
2019-01-29 18:53:04 -08:00
Dustin Carlino
ca058331e5 fixing path trace cases that wind up with points too squished together 2019-01-29 16:23:01 -08:00
Dustin Carlino
6aaa55891e saving lots of InitialMaps... and manually loading one at a time 2019-01-28 09:42:28 -08:00
Dustin Carlino
a25f358295 hacking around top menu issue mostly 2019-01-23 16:19:32 -08:00
Dustin Carlino
1e7b8f2dfc end interactive trips at border nodes 2019-01-21 13:53:24 -08:00
Dustin Carlino
c87c7b32ae make interactive driving trips still end at a building 2019-01-21 12:21:26 -08:00
Dustin Carlino
4b42f70da4 actually spawning walking trips... 2019-01-21 11:59:59 -08:00
Dustin Carlino
f018158aa3 remove copyright comment from remaining files 2019-01-20 13:57:55 -08:00
Dustin Carlino
0c32faa40c moving neighborhood to map_model crate, so convert_osm can stop depending on sim 2019-01-17 15:29:00 -08:00
Dustin Carlino
76dc85d5c8 remove unnecessarily boxed closures, and use generics instead 2019-01-17 15:22:31 -08:00
Dustin Carlino
e8e119dbbf remove all the polyline shifting/polygon variants that might fail 2019-01-15 15:25:00 -08:00
Dustin Carlino
daa55026ae making shift left/right for polyline too 2019-01-12 14:13:15 -08:00
Dustin Carlino
41e487bbcc time limit on completion tests 2019-01-11 11:28:42 -08:00
Dustin Carlino
c09fa98f57 upgrade a few dependencies 2019-01-11 10:55:58 -08:00
Dustin Carlino
eefd9abdc6 render cars using slice 2019-01-10 17:11:34 -08:00
Dustin Carlino
3f2a7d6e68 display when a traffic signal is in overtime 2018-12-14 12:01:00 -08:00
Dustin Carlino
a8ee229793 fix traffic signal bugs letting TurnPriority::Banned cars in on a cycle 2018-12-14 11:40:18 -08:00
Dustin Carlino
28d025103c show accepted agents when hovering over an intersection 2018-12-14 11:29:14 -08:00
Dustin Carlino
577e674e51 setting up a scenario for the first tutorial (commit 1,000!) 2018-12-11 10:14:21 -08:00
Dustin Carlino
e76dede109 label synthetic intersections 2018-12-10 15:59:48 -08:00
Dustin Carlino
dbfd410b0a force synthetic intersections into being border nodes too 2018-12-10 15:45:34 -08:00
Dustin Carlino
4018f1bbf6 dealing with a bike stuck trying to end a trip near the end of a lane 2018-12-10 14:27:03 -08:00
Dustin Carlino
dcd60dce88 dealing with c1483, who's overshooting a weird ending at 0m along a lane 2018-12-10 14:02:30 -08:00
Dustin Carlino
79e9e24cf6 few tiny rewrites now that we have NLL 2018-12-09 18:26:32 -08:00
Dustin Carlino
9ef7e68421 work around the poor sucker who's trying to park, but winds up on 520. 2018-12-09 18:25:03 -08:00
Dustin Carlino
ebc5419f9a jump to previous/next savestate 2018-12-09 17:47:54 -08:00
Dustin Carlino
b1d76b62ba include trip goal in agent tooltip, to figure out what c1470 is up to 2018-12-09 14:55:16 -08:00
Dustin Carlino
897833e446 hacking around bug where cars follow too closely. 2018-12-09 14:20:03 -08:00
Dustin Carlino
caae9bcc36 clippy pt3 2018-12-09 11:33:24 -08:00
Dustin Carlino
f48757c5e7 clippy pt2 2018-12-08 19:56:54 -08:00
Dustin Carlino
ab86835611 initially playing with clippy... pt1 2018-12-08 18:21:56 -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
b7edc07580 moving a few inlined unit tests to my test framework. didnt spot these before. 2018-12-06 12:59:08 -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
375a923a9d try removing most extern crate's 2018-12-06 11:00:13 -08:00
Dustin Carlino
f64f411093 upgrade all crates to 2018 in Cargo.toml. this requires switching to
crate:: paths everywhere. not yet fiddling with 'extern crate's
2018-12-06 10:57:31 -08:00
Dustin Carlino
927d8e8f25 fixing warnings caught by cargo fix 2018-12-06 10:15:51 -08:00
Dustin Carlino
6a0cd7f71e rust 2018: run the new fmt, delete the unneeded script 2018-12-06 10:05:50 -08:00
Dustin Carlino
afea20cf1b rearrange parking model data to speed things up more 2018-12-03 11:59:21 -08:00
Dustin Carlino
96ca681979 speeding up time travel plugin by pulling all agents, not iterating map elements 2018-12-03 11:45:21 -08:00
Dustin Carlino
ac00e24dda woops, agent_to_trip isn't defined for parked cars 2018-12-03 10:57:00 -08:00
Dustin Carlino
4d7c1203a6 the great control layer merge 2018-11-30 13:52:50 -08:00
Dustin Carlino
609c731fa0 implement yielding in traffic signals. pretty untested. 2018-11-30 12:28:32 -08:00
Dustin Carlino
73b2d0ac24 ah, was forgeting multiple ped turns in sequence 2018-11-30 08:47:46 -08:00
Dustin Carlino
87a357d67c adjusting pathfinding costs, trying to figure out why walking routes are awful 2018-11-29 16:47:04 -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
14097bebfc moving BusRouteID to map_model layer from sim 2018-11-29 12:38:06 -08:00
Dustin Carlino
17262063a1 following logic wasn't considering length of lead vehicle properly?
adjusted code a bit, but still seeing a violation
2018-11-28 14:27:12 -08:00
Dustin Carlino
6bdb28cced oops, bike starting at border was using a router to car-style park 2018-11-28 13:53:36 -08:00
Dustin Carlino
211019efd2 no more VanishAtDeadEnd. if it's happening, let's notice it. 2018-11-28 13:42:40 -08:00
Dustin Carlino
34f8e93bad dont need pt_and_angle, just pt of Positions 2018-11-28 13:14:49 -08:00
Dustin Carlino
bdd07a7246 woops, missed a should-be caller of equiv_pos 2018-11-28 13:13:12 -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
c2783ab56e making a new Position tuple and equiv_dist_along 2018-11-27 09:55:37 -08:00
Dustin Carlino
d0beb7f41e simplify get_draw_blah API by just having one call for traversable. simplify inner walking state 2018-11-26 15:53:04 -08:00
Dustin Carlino
cd8d9adec4 radical speedup and simplification to driving state: only store SimQueues for active lanes/turns 2018-11-26 15:40:22 -08:00
Dustin Carlino
f26de57039 revive the other transit test 2018-11-26 14:36:59 -08:00
Dustin Carlino
56c885e7ab revive the first parking test. make helpers to look up labeled stuff from synthetic maps. make helpers to seed specific parked cars and start certain trips again. 2018-11-26 11:22:17 -08:00
Dustin Carlino
6fbb22d9e4 port over the last two tests, partly 2018-11-25 08:57:33 -08:00
Dustin Carlino
cec29beda5 moving two sim tests over to the new runner 2018-11-23 16:11:27 -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
9368c42c6e improve error message for cars too close, and add error dumping to headless 2018-11-23 10:03:33 -08:00
Dustin Carlino
b55d609c37 fix a bug where car drives from border to a parking spot 2018-11-23 09:02:09 -08:00
Dustin Carlino
e6b1188874 add some debugging to kinematics and... seemingly solve the
stop-too-late bug, by arbitrarily increasing the time allowed for a
stop.
2018-11-22 19:53:08 -08:00