Dustin Carlino
f6865fac43
Get rid of ID::Trip, not sure why that ever made sense
2019-10-14 13:57:37 -07:00
Dustin Carlino
85ff33e72d
basic, but working, impl of cars lane-changing opportunistically
2019-10-13 14:30:20 -07:00
Dustin Carlino
05b953d639
split sim summary onto two nice lines
2019-10-11 13:25:41 -07:00
Dustin Carlino
2edb275d3c
rename cycle -> phase, match the literature
2019-10-09 15:27:25 -07:00
Dustin Carlino
b40b26def8
dont draw agents when unzoomed and showing some kind of heatmap
2019-10-04 16:07:07 -07:00
Dustin Carlino
1a10e8982a
basic heatmap showing busiest roads and intersections. have to revive
...
Sim Events kind of.
2019-10-04 15:33:26 -07:00
Dustin Carlino
a85d7fffcd
let yields go at a traffic signal when the priorities are blocked. wake up waiting agents a little more granularly.
2019-10-04 11:51:25 -07:00
Dustin Carlino
393eaff249
compacting SimOptions and SimFlags
2019-10-01 14:22:00 -07:00
Dustin Carlino
6f75cf32eb
mvp of graphing finished trips over time
2019-10-01 14:09:17 -07:00
Dustin Carlino
3fd73af32b
fix edge case crash when spawning agents interactively
2019-10-01 12:44:26 -07:00
Dustin Carlino
db4db7e0d9
very basic tool to point out intersections with the most contention
2019-09-30 11:39:55 -07:00
Dustin Carlino
2e5649bf7e
show count of aborted trips in scoreboard too
2019-09-29 19:19:51 -07:00
Dustin Carlino
909ce857fb
count aborted trips with active agent counter better
2019-09-29 14:44:09 -07:00
Dustin Carlino
35892aee61
just abort a trip if theres literally no room for a car to park.
2019-09-27 14:11:26 -07:00
Dustin Carlino
0ae0a88abb
actually, serialize MapFixes as json for now. will switch to binary when this is large later, but for now, this is easier to handle schema changes and debug.
2019-09-19 14:39:31 -07:00
Dustin Carlino
3eb9acf0aa
plumb parking lane hints around through tags too; simplifies a few places
2019-09-19 13:30:07 -07:00
Dustin Carlino
fbb7d8ac96
cleaning up CmdArgs usage
2019-09-19 10:42:16 -07:00
Dustin Carlino
f18fc72265
finish structopt removal
2019-09-18 17:29:34 -07:00
Dustin Carlino
0543cb015e
fix an awesome parking contention bug
2019-09-15 14:10:54 -07:00
Dustin Carlino
72c391fe15
clean up stuck/vanish case for drivers, now that parking blackholes have been fixed
2019-09-15 13:46:40 -07:00
Dustin Carlino
1f2c4e3797
make route viewer also handle mode changes and trips ending
2019-09-15 13:07:58 -07:00
Dustin Carlino
8d8237a40e
making sure we only consider appropriate lane types for parking searches
2019-09-15 10:11:13 -07:00
Dustin Carlino
b757efd644
verify vehicles dont wind up on nonsense lane types...
2019-09-14 14:10:41 -07:00
Dustin Carlino
fb3e4e5177
cancel turn requests when deleting a car forcibly
2019-09-08 15:21:15 -07:00
Dustin Carlino
19135c7461
debug feature to kill off a stuck car
2019-09-07 13:46:47 -07:00
Dustin Carlino
caaf0954ab
rename the main editor crate to game -- map editing is just a tiny piece ;)
2019-09-07 13:09:09 -07:00
Dustin Carlino
68269530fe
refactor intersection type checks
2019-09-07 12:34:39 -07:00
Dustin Carlino
219a6feacd
rework trip start/end
2019-09-07 12:26:00 -07:00
Dustin Carlino
c5fd22ae81
refactor sim->editor metadata for unzoomed/zoomed agents
2019-09-07 12:01:45 -07:00
Dustin Carlino
8bf4711053
abort trips using parked cars if they dont work out
2019-09-05 17:37:36 -07:00
Dustin Carlino
36f4ccecb6
do the last-minute work of gluing a ped to an available car
2019-09-05 13:39:19 -07:00
Dustin Carlino
cf7d847f32
some of the plumbing to make psrc trips dynamically use a parked car, when possible. very
...
complicated impl. should blow up when one of these trips actually
starts.
2019-09-05 13:01:46 -07:00
Dustin Carlino
8a05e59865
shuffle spots per road, so we dont start with an eerily even line of cars
2019-09-05 10:54:19 -07:00
Dustin Carlino
048976a256
spawn a specific number of parked cars per bldg for a scenario. dont use
...
them yet.
2019-09-05 09:45:02 -07:00
Dustin Carlino
ccdae6e54b
show total parking spots available
2019-09-04 14:56:50 -07:00
Dustin Carlino
e35709fc51
calculate number of parked cars needed for PSRC trips in a very
...
primitive way
2019-09-04 13:58:48 -07:00
Dustin Carlino
528010f308
render cars on driveways a little better
2019-09-02 22:34:01 -07:00
Dustin Carlino
6d7d3d4a43
warp to car parked in garage, without having to define a DrawCar for it
2019-09-02 11:42:29 -07:00
Dustin Carlino
d404d938f6
browse cars parked in garage more easily
2019-09-02 11:08:01 -07:00
Dustin Carlino
fcc3863dab
proper walking connections after parking in a garage, debug support for
...
cars parked in a bldg
2019-09-01 21:25:31 -07:00
Dustin Carlino
814313df98
make cars start parking in garages. parking animation is wrong and trip
...
connections wrong, that'll come next.
2019-08-31 12:41:23 -07:00
Dustin Carlino
03b685673b
remove two unused deps caught by cargo-udeps
2019-08-30 15:06:45 -07:00
Dustin Carlino
abe4d218f0
adding new type of ParkingSpot to sim layer. not glued to everything
...
yet.
2019-08-30 14:16:34 -07:00
Dustin Carlino
7fffb8d6e5
use modalmenu, not logscroller, for scenario and a/b test info. remove
...
logscroller from public ezgui api
2019-08-24 14:53:26 -07:00
Dustin Carlino
e983e754d2
cars and bikes parking werent actually freeing reserved space... doh
2019-08-23 16:26:55 -07:00
Dustin Carlino
0451f9919e
make time_limited_step snappier, so we block less long when we can't run fast nuff
2019-08-23 13:52:21 -07:00
Dustin Carlino
f58519d723
dont try to start biking on a blackhole
2019-08-23 12:51:43 -07:00
Dustin Carlino
17136509cf
the parking redirects dont have to be before the lane... they can also be after. just nearby is the goal. this fixes a few more aborted trips
2019-08-23 12:30:25 -07:00
Dustin Carlino
b644f1d86d
dont seed parked cars in blackholes
2019-08-23 10:06:22 -07:00
Dustin Carlino
9f897ef094
removing ezgui inline color parsing. pretty much unused, isn't helping
...
compile time. also fixing clippy issues
2019-08-22 13:38:16 -07:00
Dustin Carlino
bb70594c65
be more clear when following an agent and similar fail due to temporary mode-change vs trip being done/aborted
2019-08-21 15:20:39 -07:00
Dustin Carlino
f012660da7
floodfill and pathfind to a free parking spot, instead of randomly picking one turn at a time
2019-08-21 00:01:28 -07:00
Dustin Carlino
f9376cddcb
dont leak unfinished trips when things cant spawn
2019-08-19 15:05:10 -07:00
Dustin Carlino
f62965b5e2
small refactor: rename time param -> now. more clear and will help the Duration / Instant split later.
2019-08-19 14:56:07 -07:00
Dustin Carlino
7001139dc0
fix div by 0 bug with percent_dist_crossed for empty paths
2019-08-19 14:41:56 -07:00
Dustin Carlino
0ba3ab92ed
fix very, very, very dumb block-the-box bug. >_<
2019-08-19 14:32:15 -07:00
Dustin Carlino
2fe2559f67
new colorscheme showing trip time so far
2019-08-19 14:14:19 -07:00
Dustin Carlino
f3f4f98290
also use AgentColorScheme for zoomed color
2019-08-19 14:00:12 -07:00
Dustin Carlino
be71aa42fc
remove old unused get_unzoomed_agents, always return details. may be a little slower than the other, but it's worthwhile to prioritize optimizing the richer representation instead of maintaining awkward dupe code
2019-08-18 15:08:02 -07:00
Dustin Carlino
dd28afcd29
making all AgentColorScheme values work the same, with the same caching
2019-08-18 15:05:22 -07:00
Dustin Carlino
9d58ee12a4
properly merging nearby pedestrians by intervals of dist_along
2019-08-18 14:32:07 -07:00
Dustin Carlino
d0d7bb79e3
color unzoomed agents by distance remaining
2019-08-16 16:25:27 -07:00
Dustin Carlino
a9267c76c7
debug tooltip showing how far an agent has traveled and how much
...
remains. seems to have small perf impact on initially calculating paths.
:(
2019-08-16 15:43:20 -07:00
Dustin Carlino
bbc4492205
be able to toggle off block-the-box protection. initial findings:
...
sometimes the protection makes things worse!
2019-08-16 13:59:07 -07:00
Dustin Carlino
a5b73c060a
make savestate_every a flag again
2019-08-16 13:34:38 -07:00
Dustin Carlino
3cebc3cc44
try using freeform policy at all intersections, to see how it affects gridlock
2019-08-16 11:17:27 -07:00
Dustin Carlino
4e83f492d8
upgrade rand, get rid of now unneeded serde1 feature, in hopes of fixing feature mismatch between deps
2019-08-15 12:14:35 -07:00
Dustin Carlino
a3cd03a5bc
rephrase time_since_last_turn as time_spent_blocked, so things like pedestrians walking on long roads don't show up as spurious gridlockedness
2019-08-13 14:26:45 -07:00
Dustin Carlino
4c7c9156d0
label buses with route number!
2019-08-13 12:50:14 -07:00
Dustin Carlino
6950c22394
simplify rules for starting a turn through a stop sign. should retain priority, but be opportunistic when higher-ranked agents are actually blocked
2019-08-12 14:43:13 -07:00
Dustin Carlino
784e076aff
fixes for 'dont block the box'... handle cars vanishing at borders
2019-08-12 14:14:15 -07:00
Dustin Carlino
51cfd49a43
unstick a poor pedestrian who couldn't cross a SharedSidewalkCorner in
...
the signal time. be reasonably loud when a turn is impossible to finish
in the cycle duration.
2019-08-12 12:37:29 -07:00
Dustin Carlino
a37b3fe58c
part 1 of of 'dont block the box'. disabled, because something's broken,
...
but a solid start.
2019-08-11 19:24:13 -07:00
Dustin Carlino
b8489cbea8
switched sim scheduler to a proper BinaryHeap + tracker for valid time
...
of a command. approximately 3x speedup in release mode -- simulating
midnight -> 5am for full psrc day on 23rd goes from ~30s to ~9s!!!
further optimization definitely possible
2019-08-09 16:09:13 -07:00
Dustin Carlino
758c5494d8
remove old unused deps
2019-08-09 13:34:40 -07:00
Dustin Carlino
950fb65bea
visually expose time since last completed turn
2019-08-07 10:37:25 -07:00
Dustin Carlino
04566efbd9
tracking time since last turn completed. want to expose this in the
...
unzoomed view, but major perf regression from plumbing it back...
2019-08-06 15:57:15 -07:00
Dustin Carlino
c64243cd4f
remove slow, useless ShowActivity plugin
2019-08-06 15:22:51 -07:00
Dustin Carlino
bf5c45cd72
menu to load any savestate
2019-08-06 13:18:34 -07:00
Dustin Carlino
1ff4933f6a
unblock agents at stop signs in a few cases
2019-08-06 11:56:46 -07:00
Dustin Carlino
e5850dcc7b
fix crash in trip_status for border trips
2019-08-06 09:45:44 -07:00
Dustin Carlino
77c01580f1
refactoring path references...
2019-08-04 17:11:33 -07:00
Dustin Carlino
27e933fbf8
replace small_spawn with something to instantiate any scenario for the map
2019-08-04 08:18:53 -07:00
Dustin Carlino
4a9a40c09f
cycle indices got out of sync easily. no need to store them at all.
2019-08-02 16:25:22 +02:00
Dustin Carlino
334081b844
very basic tool to explore an agent's full trip
2019-06-27 11:58:55 -07:00
Dustin Carlino
ab088479dd
use bincode, not json, for savestates. add loading screens around saving/loading
2019-06-27 09:56:04 -07:00
Dustin Carlino
284a0f8c69
dont start crossing a traffic signal if the timer will run out. optimistically move at full speed.
2019-06-20 15:36:31 -07:00
Dustin Carlino
5a3862dda0
expunge the concept of traffic signals being in overtime. not realistic to how people drive, the current rules allow progress without impacting safety. also disable gridlock detection -- noisy results, easier to visually spot, and slow.
2019-06-19 14:51:09 -07:00
Dustin Carlino
1835155a47
dont recalculate pathfinder after every map edit; just once at the end
2019-06-18 14:28:14 -07:00
Dustin Carlino
b2874193ec
limit the amount of realtime spent on sim step when running live. that way, if speed is too high, the UI doesnt seem to just freeze
2019-06-14 12:28:13 -07:00
Dustin Carlino
0acfc84c3c
browse trips in scoreboard
2019-06-13 17:19:50 -07:00
Dustin Carlino
8b5690c1a4
now actually plumbing data for scoreboard
2019-06-13 14:46:28 -07:00
Dustin Carlino
e0edc4851d
starting a blank scoreboard for sandbox mode. removing old defunct attempts at
...
score stuff first...
2019-06-13 14:06:35 -07:00
Dustin Carlino
4e2d16af29
consistently using file extensions of .json and .bin, merging duplicate abstutil io functions accordingly
2019-06-11 14:30:11 -07:00
Dustin Carlino
3ab49fd795
use a loading screen and timer when jumping forward large amounts
2019-06-10 12:32:54 -07:00
Dustin Carlino
c76738a678
upgraded to rustc 1.35, fixing a few cases of https://github.com/rust-lang/rust/issues/59159
2019-06-09 14:09:27 -07:00
Dustin Carlino
8eb03b81c3
remove edits_name from SimFlags and refactor loading MapEdits by name. fixes bug where quitting an a/b test breaks loading other maps by retaining edits_name
2019-06-08 16:32:10 -07:00
Dustin Carlino
d0de5d8bd6
make sim.get_stats actually fast; why was I ever doing the other way?
2019-06-08 13:05:29 -07:00
Dustin Carlino
7d4df3df8e
do a/b test setup in one loading screen timer
2019-06-07 11:04:16 -07:00
Dustin Carlino
c29769a6b4
print bus stops and routes nicely in OSD
2019-06-06 15:31:59 -07:00
Dustin Carlino
5ab5b7b3d3
actually apply scenario name when instantiating to sim run name, so savestates look nice. fix find next/prev savestate to not require exact current match -- why did I ever do that?
2019-06-06 11:55:49 -07:00
Dustin Carlino
df88486b5e
better default for run name when there are scenarios
2019-06-05 17:23:04 -07:00
Dustin Carlino
4f6cb2db60
fixed bug with UpdateLaggyHead's blind retry
2019-06-05 17:08:45 -07:00
Dustin Carlino
0923bfd1ac
write scenarios in binary, not json. -shrug-
2019-06-05 13:32:02 -07:00
Dustin Carlino
b2ad0b5ae7
converting PSRC trips to a repeatable scenario. along the way,
...
parallelizing and refactoring a bit of psrc stuff
2019-06-05 12:58:06 -07:00
Dustin Carlino
c8846b9e74
color unzoomed agents by mode, not stuckness
2019-06-04 18:38:26 -07:00
Dustin Carlino
12d981c654
speed up initial trip spawning by not constantly maintaining an in-order priority queue
2019-06-04 17:37:53 -07:00
Dustin Carlino
69a7b92499
make headless use something custom, remove Benchmark. oops, and also convert ab test mode to SpeedControls.
2019-06-04 16:15:46 -07:00
Dustin Carlino
46bf806b49
make loading screens more accurately portray what's happening, by adjusting timers
2019-06-03 11:50:34 -07:00
Dustin Carlino
661fedaa28
fix PSRC trips with borders on larger maps
2019-06-01 18:41:45 -07:00
Dustin Carlino
314489c63f
overhaul unzoomed agent rendering -- just colored circles
2019-06-01 10:13:17 -07:00
Dustin Carlino
142f84a232
display passengers on a bus in debug mode. also sort PSRC trips by
...
departure time to make later viz a little easier to follow
2019-05-31 13:52:14 -07:00
Dustin Carlino
c65bb09801
dont allow spawning random agents after seeding psrc trips
2019-05-27 18:00:28 -07:00
Dustin Carlino
72ac85f540
stability round: loading ballard broke, spawning PSRC trips in most maps hit little bugs
2019-05-27 10:45:53 -07:00
Dustin Carlino
0e298c756f
make it a bit easier to jump to the time when trips are actually
...
starting. and prepping popdat for release
2019-05-26 21:31:44 -07:00
Dustin Carlino
40efcc7b05
generalize a parallelize method for timers, use for all trip viz
2019-05-25 19:35:35 -07:00
Dustin Carlino
bc69a6b4d4
spawn as many trips from PSRC as possible
2019-05-25 18:34:50 -07:00
Dustin Carlino
ef60359cc8
spawn trips from data. not working yet; hitting a problem with
...
sidewalk->bike lane on oneways
2019-05-25 18:22:07 -07:00
Dustin Carlino
1cdbe0ea81
refactor parallelized pathfinding and use it in trip viz too
2019-05-24 12:50:01 -07:00
Dustin Carlino
f674527ef2
interpolate along route for trip viz
2019-05-24 12:28:57 -07:00
Dustin Carlino
6819889f49
draw car blinkers for everybody Queued too
2019-05-15 15:05:45 -07:00
Dustin Carlino
75d1cdd3b9
slightly improve traffic signal runtime: Priority > Yield
2019-05-13 15:47:25 -07:00
Dustin Carlino
ba71d2d5e6
dont be so confusing with CarAppearing in interactive commands -- dont retry if there's not room
2019-05-12 15:06:12 -07:00
Dustin Carlino
b9f80f3e0f
make cars pause at stop signs properly
2019-05-12 08:50:46 -07:00
Dustin Carlino
8bd4ab72d4
draw full stop sign octagon when editing a single intersection
2019-05-10 15:23:31 -07:00
Dustin Carlino
8e949d5fa9
make --num_agents work exactly when specified
2019-05-09 10:51:07 -07:00
Dustin Carlino
a4f6a773a9
fix up time limits for headless/tests. fix a few tests now that peds
...
walk slowly.
2019-05-08 20:05:52 -07:00
Dustin Carlino
fce5d0f6dc
animate pedestrian feet smoothly regardless of sim speed
2019-05-08 18:34:41 -07:00
Dustin Carlino
60eea9b413
change sim API to step forward by a variable duration, not a fixed timestep. adjust UI callers accordingly. some bugs introduced, but solid start
2019-05-08 17:44:01 -07:00
Dustin Carlino
73ae88bd98
adjust how periodic savestating happens to prep for truly variable timesteps
2019-05-08 12:36:46 -07:00
Dustin Carlino
89b74b9137
random ped speeds. lots of plumbing needed to implement this. :\
2019-05-07 10:54:58 -07:00
Dustin Carlino
d66b0cb511
in most causes, dont have route previews cover half of peds
2019-05-06 19:19:20 -07:00
Dustin Carlino
fd6155ef0e
make peds travel at a realistic speed
2019-05-06 18:51:16 -07:00
Dustin Carlino
95b664e394
one fixed bike length. makes rendering easier, and having different lengths is pretty useless
2019-05-06 18:06:49 -07:00
Dustin Carlino
b060a3ecc2
giving pedestrians more shape
2019-05-06 12:45:52 -07:00
Dustin Carlino
103e7f28ca
combine TripLeg::Bike and ::Drive, fixing a bug and simplifying some cases
2019-05-06 11:21:29 -07:00
Dustin Carlino
3ba56a76fb
fix a panic with bike parking
2019-05-06 11:00:41 -07:00
Dustin Carlino
f31f46e483
draw peds on one side of the sidewalk
2019-05-05 23:18:24 -07:00
Dustin Carlino
e25af2e450
remove sim's dependency on ezgui and hopefully speed up draw_unzoomed in the process
2019-05-01 19:32:39 -07:00
Dustin Carlino
1fabf29747
start the sandbox mode, just with sim controls. remove unused sim score
...
plugin.
2019-04-25 12:22:12 -07:00
Dustin Carlino
beba58924c
pedestrian turn arrows
2019-04-19 15:35:51 -07:00
Dustin Carlino
dc2649ad59
fix some crashes when spawning agents
2019-04-18 18:42:52 -07:00
Dustin Carlino
5ed6f2256e
also spawn peds around an intersection
2019-04-16 13:37:30 -07:00
Dustin Carlino
7885477e59
a round of clippy
2019-04-15 18:54:19 -07:00
Dustin Carlino
834384fb10
remove the Trace type rename; serves no purpose. also the unused
...
stopping_buffer; no more lookahead
2019-04-11 10:27:28 -07:00
Dustin Carlino
c25d544fe2
fixing edits_name in map paths and also supporting Windows backslashes in paths
2019-04-10 11:22:36 -07:00
Dustin Carlino
20e41fa2b4
cleaning up unused data in ParkingSpotGeometry
2019-04-10 10:37:16 -07:00
Dustin Carlino
27fc74c05a
implement a stop sign-ish policy
2019-04-10 10:22:13 -07:00
Dustin Carlino
da3152a0e7
revamp road editor plugin. recalculate DrawMap changes. fixing some
...
apply_edits bugs
2019-03-18 18:53:32 -07:00
Dustin Carlino
3f47c00e03
slowly reintroduce MapEdits, just with lane type overrides. load and
...
"apply" them
2019-03-18 16:40:27 -07:00
Dustin Carlino
3ea3ea199a
completely remove most traces of MapEdits. quietly disconnect some
...
editor plugins
2019-03-18 15:37:02 -07:00
Dustin Carlino
f99a20163d
rip out stubbed MapEdits stuff in sim layer, letting basic UI for
...
editing work again. only let UI plugins work if sim is empty.
2019-03-18 13:36:46 -07:00
Dustin Carlino
c7dc028601
Display for Traversable
2019-03-18 13:21:57 -07:00
Dustin Carlino
1a395d7e4f
clean up dead code
2019-03-17 20:31:48 -07:00
Dustin Carlino
7422877bcb
handle ending while clipping into stuff
2019-03-17 18:48:24 -07:00
Dustin Carlino
440ff358cd
option to headless to 'draw' everything, flush out all bugs
2019-03-17 18:13:30 -07:00
Dustin Carlino
ef4a4b18cf
handle short lanes for get_car_positions
2019-03-17 18:04:25 -07:00
Dustin Carlino
96785a3c5c
oops, considering somebody out of the way slightly early wasnt actually safe, it turns out
2019-03-17 17:55:24 -07:00
Dustin Carlino
652e01ba87
deal with short lanes. also dont mark turn_finished until the car is
...
totally out the intersection.
2019-03-17 17:13:28 -07:00
Dustin Carlino
b8c15b5ced
different formulation, where follower of laggy leader immediately at end of queue when laggy leader is out of the way. make get_car_positions recurse. great start!
2019-03-16 15:26:37 -07:00
Dustin Carlino
c40c4fdff4
eager impl to not hit the back of cars. no handling of short lanes, and
...
follower waits before starting to cross the end of a lane.
2019-03-16 14:53:46 -07:00
Dustin Carlino
db536a04d5
refactor an exact_slice for polylines
2019-03-15 14:02:43 -07:00
Dustin Carlino
961b70d1f4
kind of improved draw_unzoomed, except there are just tons of weird
...
situations to represent
2019-03-15 13:39:25 -07:00
Dustin Carlino
88c9630f7a
check for gridlock every 5m and savestate when it happens
2019-03-15 12:17:35 -07:00
Dustin Carlino
dd198bb37f
overly conservative gridlock detection, triggered kind of manually
2019-03-15 12:10:47 -07:00
Dustin Carlino
1ba7e5d325
woops, not so easy to figure out a proper retry for room_at_end
2019-03-14 16:05:07 -07:00
Dustin Carlino
e482e10666
show agent state in tooltips
2019-03-14 14:36:46 -07:00
Dustin Carlino
17ef2c5a3a
separate Queued and WaitingToTurn states for cars. populate
...
waiting_to_turn in DrawCar
2019-03-13 15:14:49 -07:00
Dustin Carlino
15f6981b1d
make tests pull events new way, stop returning from step(). fix termion
...
and test runner.
2019-03-12 13:29:58 -07:00
Dustin Carlino
505b0a9496
store events in Sim, not a plugin. switch tutorial mode.
2019-03-12 13:23:39 -07:00
Dustin Carlino
5711e343e8
spawn cars around an intersection
2019-03-12 11:06:42 -07:00
Dustin Carlino
5ca359998c
upgrade some dependencies and list data source licenses in README
2019-03-11 16:04:47 -07:00
Dustin Carlino
5bba5ce31e
track num_active_trips to speedup is_done query
2019-03-08 16:02:56 -08:00
Dustin Carlino
8f5dd61ce5
handle cars with one-step routes
2019-03-08 15:57:20 -08:00
Dustin Carlino
7adf7d4e27
print what paths fail in trip transitions, fix a tiny parking sim bug
2019-03-08 12:52:37 -08:00
Dustin Carlino
5013cae4f9
fixing tests
2019-03-08 12:19:05 -08:00
Dustin Carlino
6fd021be91
filter out nonsense trips
2019-03-08 11:06:55 -08:00
Dustin Carlino
1eebea8001
cutting over to new graph search in some cases. adding support for
...
one-step walking paths.
2019-03-08 10:47:39 -08:00
Dustin Carlino
08e54612b8
cache bus routes
2019-03-06 18:16:08 -08:00
Dustin Carlino
a975d0efd4
print progress while calculating paths in parallel
2019-03-06 17:41:28 -08:00
Dustin Carlino
4ae478a7a5
smarter estimate about cars queued on last step... but disabled it :(
2019-03-05 18:12:32 -08:00
Dustin Carlino
ce340f5668
more frequent status updates, based on real time passing, not sim time
2019-03-05 17:10:27 -08:00
Dustin Carlino
063fb85155
amp up BLIND_RETRY to something reasonable for the remaining, difficult cases. fix a race condition where a bus blips through the Queued state. and deal with idling state causing queued followers
2019-03-05 16:57:27 -08:00
Dustin Carlino
84d24da73d
decent retries for intersections
2019-03-05 15:32:36 -08:00
Dustin Carlino
2a7da98a09
give some control of retries to intersections
2019-03-05 14:32:33 -08:00
Dustin Carlino
1d0dca77b8
woops, was still advancing time in 0.1s chunks
2019-03-05 14:02:39 -08:00
Dustin Carlino
bc9a9aa360
histogram of how far events are in the future
2019-03-05 13:43:49 -08:00
Dustin Carlino
3567f2451f
count active agents better
2019-03-05 10:08:06 -08:00
Dustin Carlino
194d3b3b57
keep simple state when roaming for parking
2019-03-05 10:00:05 -08:00
Dustin Carlino
0bcb18b4b0
handle unreachable case
2019-03-05 09:36:48 -08:00
Dustin Carlino
0c824e8d0d
flag to headless to control sim size, roughly
2019-03-05 09:30:39 -08:00
Dustin Carlino
f866c99758
add some basic stats for how many events go through, how many are EPSILON in the future
2019-03-05 09:17:36 -08:00
Dustin Carlino
3047c67e2b
modest speedup using binary search
2019-03-04 21:08:45 -08:00
Dustin Carlino
b69c01ea5f
preps to swap out scheduler priority queue impl
2019-03-04 20:50:36 -08:00
Dustin Carlino
88ce753243
making one PriorityQueue for all of sim, doing dispatch
2019-03-04 14:56:38 -08:00
Dustin Carlino
434a4aa019
cutover driving sim to events!
2019-03-04 14:11:27 -08:00
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
Dustin Carlino
c808d60fd5
woops, can't just scrape active agents
2018-11-22 14:57:57 -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