Dustin Carlino
2a103d0a21
also group raw_maps in data/input
2019-12-03 12:06:49 -08:00
Dustin Carlino
a043a9ba05
clean up more of abstutil path/filesystem API
2019-12-03 09:59:43 -08:00
Dustin Carlino
720f9b8b30
similar for writing
2019-12-02 20:41:09 -08:00
Dustin Carlino
808c3da141
panic early with a nice error if we cant read a binary or json file
2019-12-02 20:35:20 -08:00
Dustin Carlino
3267ec4068
switch some UI stuff to use new analytics, get rid of the old FinishedTrips cruft. remove the a/b test scoreboard for now; not sure what info is needed, and a/b test mode is a bit dormant anyway now
2019-12-02 14:55:47 -08:00
Dustin Carlino
a0956995c9
start to display more detailed breakdown of active agents
2019-12-02 14:44:03 -08:00
Dustin Carlino
27213995e5
split out a histogram for percentages. for now, duplicate code
2019-12-02 14:19:50 -08:00
Dustin Carlino
f483d7ea85
some analytics on how long people spend parking. need a histogram still
2019-12-02 12:15:38 -08:00
Dustin Carlino
00403332b2
more accurate end positions on driving phases
2019-12-01 15:25:21 -08:00
Dustin Carlino
ae272c27fd
show bus ride as trip phase
2019-12-01 15:13:16 -08:00
Dustin Carlino
ea378c25f3
recording parking phase
2019-12-01 13:54:48 -08:00
Dustin Carlino
dbd83d0805
draw trip phase paths as traces, not with road colorer, to get that vital detail
2019-11-29 14:58:56 -08:00
Dustin Carlino
8a93265a4b
draw phases of a trip route
2019-11-29 14:04:09 -08:00
Dustin Carlino
8d34759b7c
start tracking and debugging phases of a trip
2019-11-29 13:15:10 -08:00
Dustin Carlino
3d614ed763
helper for duration to make real-time seconds
2019-11-27 13:16:49 -08:00
Dustin Carlino
2c49d68a0f
last lingering cleanups for Duration / Time types
2019-11-27 13:12:19 -08:00
Dustin Carlino
c6bfab7cde
cutover scenrio-layer stuff to use Time
2019-11-27 12:50:52 -08:00
Dustin Carlino
a5dab493cd
cutover internal sim time to Time
2019-11-27 12:40:49 -08:00
Dustin Carlino
819e27aa5d
cutover sim time (via the API) to time
2019-11-27 11:49:57 -08:00
Dustin Carlino
e109c6b5a4
switch sim analytics to use Time
2019-11-27 11:06:57 -08:00
Dustin Carlino
3ca998b08e
properly fix the crashing border intersection
2019-11-23 20:27:00 -08:00
Dustin Carlino
640fcae07e
temporary workarounds for the hackathon, will revert later
2019-11-23 12:03:23 -08:00
Dustin Carlino
3ee73d40f0
guarantee protected turns actually get first dibs in the scheduler
2019-11-22 18:56:39 -08:00
Dustin Carlino
1145bbc8e6
overhaul ControlTrafficSignal to natively understand TurnGroups. but
...
it... didn't solve the problem of a left turn yield going first?!
2019-11-22 18:42:44 -08:00
Dustin Carlino
715fc80e04
make stop signs and traffic signals behave a bit more correctly -- protected turns get first dibs. problem is now that we need to make turn groups be the primitive, so conflict makes more sense
2019-11-22 16:14:04 -08:00
Dustin Carlino
aa1d7faa00
prototyping turn grouping for editing and understanding traffic signals.
...
half-baked, but worth moving forwards. starting to rip out old turn icon
stuff (oops, accidentally squished into this commit)
2019-11-21 15:09:57 -08:00
Dustin Carlino
f39bb7c6cb
center pedestrians on bldg front paths, and group them into crowds when
...
appropriate
2019-11-21 09:57:01 -08:00
Dustin Carlino
81dc3b6fea
report trip mode accurately for peds trying to drive!
2019-11-20 17:30:00 -08:00
Dustin Carlino
aa4805cfeb
some tools to debug why prebaked analytics arent matching
2019-11-20 17:01:12 -08:00
Dustin Carlino
8b76c2d6e6
stop crashing in downtown -- change pointless bike trip to walking
2019-11-19 18:33:07 -08:00
Dustin Carlino
ba2206d02a
be able to start and end bike trips on bike lanes. use driving
...
blackholes for now.
2019-11-19 14:10:02 -08:00
Dustin Carlino
463ed7022e
small fixes/cleanups to map layer:
...
- print highest cost in heatmap over all turns
- rm defunct label support for roads/bldgs
- trim out unused methods from Map
- making spawner go through sim layer to get paths, consolidating a bit
2019-11-18 10:33:36 -08:00
Dustin Carlino
accc344054
use scoreboard tool to show comparison for all trips
2019-11-15 13:19:57 -08:00
Dustin Carlino
22397b93a7
NOW ban bikes from motorways. popdat trip filtering needed to handle
...
some impossible-to-fulfill requests involving borders
2019-11-15 10:48:33 -08:00
Dustin Carlino
f73e0c15af
clean up dupe logic in popdat for figuring out path from a trip. instead just repeat the main path used in simulation layer
2019-11-15 10:32:49 -08:00
Dustin Carlino
8ed42e9fb6
can_use can ban bikes from highways... disabled because it's breaking
...
psrc scenario, about to dig in
2019-11-15 10:11:31 -08:00
Dustin Carlino
59913d79e9
also switch some border-related methods to use PathConstraints
2019-11-14 20:37:03 -08:00
Dustin Carlino
2dea662fa0
rip out old methods in map for filtering turns
2019-11-14 20:24:54 -08:00
Dustin Carlino
4c9975f8b0
be a little more precise with PathRequest
2019-11-14 19:18:22 -08:00
Dustin Carlino
c0eeb8848a
still start a scenario, even if theres not enough room for all the parked cars or if some bike trips are impossible
2019-11-11 17:00:45 -08:00
Dustin Carlino
1ff80b2e20
start figuring out what impact edits have on trips in a scenario. also,
...
count trips with the first path failing as aborted.
2019-11-11 14:14:19 -08:00
Dustin Carlino
b24100caba
collect and draw info on road throughput per some bucket of time. much
...
work needed.
2019-11-10 14:38:26 -08:00
Dustin Carlino
5bb8e0a83b
overhaul stop signs. can only toggle which roads have a stop sign or
...
not. no more granular control of individul turns
2019-11-09 14:20:31 -08:00
Dustin Carlino
7b2a0b87b3
just use 3 turn priorities, interpret them a bit differently.
...
temporarily kinda breaking stop signs
2019-11-09 13:35:55 -08:00
Dustin Carlino
965037ce77
mvp of visualizing interactive sources/sinks
2019-11-08 13:16:22 -08:00
Dustin Carlino
8fa813f5c2
match agents spawning somewhere on a lane as a border intersection, so trip counting works. much simpler than the full refactor attempted in another branch.
2019-11-08 12:23:55 -08:00
Dustin Carlino
b7dd4d5ec0
stop flipping colors of cars based on stuck/moving when zoomed in
2019-11-08 09:38:38 -08:00
Dustin Carlino
6a5b312a07
same for correct end lanes
2019-11-07 16:32:26 -08:00
Dustin Carlino
b0dde63e57
make bulk spawner use correct start lanes
2019-11-07 16:16:04 -08:00
Dustin Carlino
e82abafb70
change gridlock score to use number of finished trips
2019-11-07 08:59:29 -08:00
Dustin Carlino
c326017883
make sim analytics invariant of the step() sizes called. prebaked vs
...
live sims were artifically different.
2019-11-06 12:31:13 -08:00
Dustin Carlino
1a28768df3
displaying bus delay data over time. needs work, but solid start to a
...
general plotting mechanism
2019-11-05 13:00:51 -08:00
Dustin Carlino
c54842faff
get rid of DurationStats, just beef up DurationHistogram slightly
2019-11-04 14:31:40 -08:00
Dustin Carlino
ec956f5b13
turning PrebakedResults into just sim analytics
2019-11-04 14:24:06 -08:00
Dustin Carlino
974ad24ec3
refactoring some TripMode enum stuff
2019-11-04 13:51:25 -08:00
Dustin Carlino
7eeebb72ec
displaying different bus arrival info, and experimenting with storing the data differently. no prebaking yet.
2019-11-04 10:41:50 -08:00
Dustin Carlino
8d32671834
dont spawn buses by default in scenarios
2019-11-04 09:59:52 -08:00
Dustin Carlino
7c6f2c62b6
compare faster trips by baseline over time
2019-11-03 17:17:47 -08:00
Dustin Carlino
3ba33e4bd0
add some initial info on trips to/from different locations to info panel
2019-11-02 16:34:10 -07:00
Dustin Carlino
facd9c68b3
remove old gridlock detector, in favor of a tool to find the front of a
...
chain of blockage
2019-11-01 15:31:26 -07:00
Dustin Carlino
d187332734
prototype a new challenge to create gridlock
2019-11-01 09:59:39 -07:00
Dustin Carlino
abf14e1fac
track when map edits are dirty
2019-10-31 14:51:35 -07:00
Dustin Carlino
ef01501509
overhaul finished trips graph. record times in order, build the graph later
2019-10-31 13:46:26 -07:00
Dustin Carlino
1d5064ca1b
track all bus arrivals, show distribution. track total number of
...
passengers per route
2019-10-29 22:11:56 -07:00
Dustin Carlino
a5892daedb
add a new lane type for road closures
2019-10-29 17:04:57 -07:00
Dustin Carlino
75e155fec6
filter out parking lanes without any sidewalks at all nearby (and also
...
warn about them)
2019-10-26 17:53:09 -07:00
Dustin Carlino
ee02ff9944
display when a bus last served a stop. move some of these analytics to
...
be owned by sim
2019-10-26 12:33:00 -07:00
Dustin Carlino
1e903c6cee
pass a flag to disable using mapfixes, since it's annoying to keep temporarily deleting these
2019-10-25 10:09:47 -07:00
Dustin Carlino
2d02f90d9b
another easy one -- one phase per road
2019-10-22 14:29:58 -07:00
Dustin Carlino
c9db056c3a
start representing shared left turn lanes. nothing uses them yet,
...
just draw them (without the left turn markings)
2019-10-21 16:14:16 -07:00
Dustin Carlino
c9a6f0a7d8
call out agents that've been blocked in an intersection for a while.
...
this is basically a fast gridlock detector
2019-10-20 12:49:25 -07:00
Dustin Carlino
8c826a870c
try waking up people at intersections in waiting-order, for proper fairness
2019-10-19 21:41:53 -07:00
Dustin Carlino
d04b6a240e
when trip starts from a garage, dont walk down the front path uselessly first
2019-10-19 20:18:06 -07:00
Dustin Carlino
f78b11d633
(temporarily) filter out driveways too close to either end of the road.
...
get cars unparking from driveways properly.
2019-10-19 19:10:59 -07:00
Dustin Carlino
28bb1ba194
interactively spawn a parked car in a garage
2019-10-19 17:17:33 -07:00
Dustin Carlino
5b9a8dd914
seeding buses more robustly. spot fixes to maps to prevent regressions
2019-10-19 16:54:54 -07:00
Dustin Carlino
7020544073
show which bus a ped is waiting for
2019-10-19 16:00:55 -07:00
Dustin Carlino
f1f951fc1c
Revert "distinguish parked cars that have a trip scheduled or not"
...
This reverts commit dba7ced094
.
Is slow, not so useful. Could implement more intelligently, but not
worthwhile yet.
2019-10-19 15:24:40 -07:00
Dustin Carlino
a4b24c2643
speed up some stuff indirectly used in bus locations to not be so terrible
2019-10-19 15:00:36 -07:00
Dustin Carlino
6989c72aa1
show location of all buses serving a route
2019-10-19 13:40:24 -07:00
Dustin Carlino
44e74d1ed3
trips from border to a bldg make that bldg own the car, so it can be reused. vastly reduces the number of aborted trips in the full montlake run
2019-10-18 12:50:48 -07:00
Dustin Carlino
d6a9e0e541
just one copy of the code to calculate parked car seeding per bldg, in popdat. remove variant in scenario manager
2019-10-18 11:47:03 -07:00
Dustin Carlino
dba7ced094
distinguish parked cars that have a trip scheduled or not
2019-10-17 14:54:30 -07:00
Dustin Carlino
012d5bdd1d
make parking/unparking on offside shift the correct direction.
...
theoretically also handle unparking from a driveway, but cant test that
easily yet...
2019-10-17 14:40:27 -07:00
Dustin Carlino
5e41a607fd
adjust starting pos of parked cars going to offside driving lane
2019-10-17 14:11:07 -07:00
Dustin Carlino
b28874d5bc
find trips using a parked car later
2019-10-16 18:54:28 -07:00
Dustin Carlino
03d31477af
make sim handle parking lanes on off-side of a oneway. ostensibly.
...
haven't forced a test case yet
2019-10-16 17:55:22 -07:00
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