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