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
Dustin Carlino
20b79038f4
dont clone bounds by default
2018-11-21 14:55:26 -08:00
Dustin Carlino
ca95c58b3b
fix a path trace bug for paths with one step, but no geometry
2018-11-21 10:00:40 -08:00
Dustin Carlino
f3c76c4416
hack around accel_to_stop_in_dist problem, for now
2018-11-21 09:39:26 -08:00
Dustin Carlino
e2d2660b38
reproducing the bike accel_to_stop problem
2018-11-21 09:35:11 -08:00
Dustin Carlino
b22cfe7c9b
gets tests to at least build again, by commenting out some of them
2018-11-20 14:36:11 -08:00
Dustin Carlino
7278719a04
consolidating all of the road query methods
2018-11-20 13:36:10 -08:00
Dustin Carlino
37c5a1ddb5
lookup sidewalk properly when bike reaches end
2018-11-18 19:10:14 -08:00
Dustin Carlino
30a03d3159
fix ped<->bike animation
2018-11-18 17:08:59 -08:00
Dustin Carlino
b618842ad2
WIP woops, found a bug with bike_reached_end
2018-11-18 17:02:30 -08:00
Dustin Carlino
fb298e4706
animate bike parking better
2018-11-18 16:53:11 -08:00
Dustin Carlino
044a25fce2
give up on Sim being Eq; settle for PartialEq, get rid of all of the annoying 'ignore this field' hacks. also getting rid of unnecessary PartialEq impls in map_model
2018-11-18 16:28:43 -08:00
Dustin Carlino
71d4df2e6d
save editor view when sim 'gracefully' blows up
2018-11-18 15:16:39 -08:00
Dustin Carlino
99d0d27837
adjust debug logs
2018-11-18 15:03:02 -08:00
Dustin Carlino
a863283571
different parser for ticks from filenames
2018-11-18 14:54:36 -08:00
Dustin Carlino
0df92bab75
debug from the most recent but relevant savestate
2018-11-17 20:10:00 -08:00
Dustin Carlino
889214ccdf
splitting off just the scheduling portion of spawn. no more
...
recalculating paths!
2018-11-17 18:41:53 -08:00
Dustin Carlino
6dbdfcb18b
proper enum for vehicle type
2018-11-17 17:38:10 -08:00
Dustin Carlino
343aeba3b6
deleted some aging code only used for tests that definitely needs overhaul anyway
2018-11-17 17:28:19 -08:00
Dustin Carlino
9084f0060b
PathRequest instead of massive confusing tuples. also can now use bike lanes from spawn layer
2018-11-17 17:12:03 -08:00
Dustin Carlino
0b53b2e44f
make bike from border work by adding a bit in spawn
2018-11-17 07:34:06 -08:00
Dustin Carlino
d7efdfc86d
rendering bikes differently
2018-11-16 14:51:41 -08:00
Dustin Carlino
3036511c9e
another darn bike/parking lane case, unrelated
2018-11-16 14:34:01 -08:00
Dustin Carlino
1e43f33939
render peds preparing bikes
2018-11-16 14:28:36 -08:00
Dustin Carlino
5db8b4edb6
make finished bikes become peds
2018-11-16 14:14:36 -08:00
Dustin Carlino
b9770dc4bd
plumbing through the commands in spawn, finally...
2018-11-16 13:40:14 -08:00
Dustin Carlino
705adfcf08
representing the preparing-to-bike state in walking sim
2018-11-16 12:07:26 -08:00
Dustin Carlino
a2a6b16fdc
plumbing biking option from scenario all the way down... incomplete
2018-11-16 11:31:27 -08:00
Dustin Carlino
fb2ec0bcd0
plumbing some bits for bikes
2018-11-16 10:38:05 -08:00
Dustin Carlino
ee9f2a0430
make a vehicle type for bikes and introduce a cap speed
2018-11-16 09:44:04 -08:00
Dustin Carlino
952e97d942
starting to write down an enum for the massive FSM revamp. having more
...
reservations about going this direction.
2018-11-15 18:58:03 -08:00
Dustin Carlino
febf3a1cad
saving and loading synthetic models
2018-11-14 10:54:07 -08:00
Dustin Carlino
88334d50ca
WIP rewriting pathfinding natively in terms of PathSteps
2018-11-13 14:06:52 -08:00
Dustin Carlino
a002e034d7
splitting out physics types
2018-11-13 11:48:35 -08:00
Dustin Carlino
6b5a012038
organizing sim drawing things
2018-11-13 11:38:35 -08:00
Dustin Carlino
11c2bbd11e
grouping sim query methods
2018-11-13 11:32:17 -08:00
Dustin Carlino
af7785d6a3
always send along CarState in DrawCarInput, removing an annoying query method
2018-11-13 10:57:28 -08:00
Dustin Carlino
b2e3f25393
moving RNG helpers from sim to abstutil
2018-11-13 10:50:54 -08:00
Dustin Carlino
df5a151f8b
rearranging some sim code into make/
2018-11-13 10:39:42 -08:00
Dustin Carlino
ecae90eb8a
refactor scenario instantiate
2018-11-13 10:11:32 -08:00
Dustin Carlino
462539b558
spawning cars at a border
2018-11-13 08:50:12 -08:00
Dustin Carlino
62182e6736
make cars end at borders properly by slightly extending the protocol for routers
2018-11-12 21:05:50 -08:00
Dustin Carlino
7214cd43d2
model cars finishing at a border... with a hack. :(
2018-11-12 20:51:13 -08:00
Dustin Carlino
98620ece6b
sending some peds to border nodes, testing it
2018-11-12 17:20:09 -08:00
Dustin Carlino
7f62537085
oops. border could have been represented in sidewalkspot. merge the madness.
2018-11-12 17:01:49 -08:00
Dustin Carlino
257d051585
update walking model to handle ending at a border
2018-11-12 16:45:33 -08:00
Dustin Carlino
70c1fae4f1
encoding ability to go to a border node in scenarios
2018-11-12 16:02:14 -08:00
Dustin Carlino
8e7021e958
update walking model to handle starting at a border
2018-11-12 15:34:09 -08:00
Dustin Carlino
0c95122576
encoding spawn-peds-at-border in scenario layer
2018-11-12 14:11:50 -08:00
Dustin Carlino
7cf6aa0eeb
new_trip API was needlessly complicated; ditched start/end_bldg
2018-11-12 13:39:26 -08:00
Dustin Carlino
f577cc9948
consolidate the panic/unwind code
2018-11-12 11:20:26 -08:00
Dustin Carlino
474d92f5db
modeling border nodes in map, control, sim, editor layers
2018-11-11 14:49:27 -08:00
Dustin Carlino
40cc81ca6f
make intersection policies handle one agent with multiple turns
2018-11-10 15:39:02 -08:00
Dustin Carlino
7ddbd753f4
storing neighborhoods as GPS
2018-11-09 14:12:20 -08:00
Dustin Carlino
9ba9acb3d2
modeling bus lanes
2018-11-07 13:50:22 -08:00
Dustin Carlino
c6cd36071c
make the large maps still work: fixes to bus route verification and
...
degenerate stop sign handling
2018-11-06 12:39:27 -08:00
Dustin Carlino
02f24bfe15
removing annoying duplicated fields in Turn
2018-11-06 09:29:50 -08:00
Dustin Carlino
9f0d3b610a
introducing TurnType
2018-11-05 18:42:33 -08:00
Dustin Carlino
bd96b4ff5f
storing src/dst intersection with Road directly
2018-11-05 17:39:23 -08:00
Dustin Carlino
9cb1337785
starting a rewrite of the code to find turns between sidewalks, based on
...
road adjacencies. needs a few more intermediate steps.
2018-11-05 17:15:54 -08:00
Dustin Carlino
aa23d76243
simplify API: PathStep is Copy
2018-11-05 14:37:26 -08:00
Dustin Carlino
d69804e485
fixing chokepoints plugin by looking at paths
2018-11-04 15:25:48 -08:00
Dustin Carlino
376f9bd3c5
new, simple implementation of trace_route and lots of deleted old code
2018-11-04 08:27:35 -08:00
Dustin Carlino
df6628e5b5
preps for filling out pathfind impl
2018-11-03 20:57:58 -07:00
Dustin Carlino
d4dc5fc658
percolating changes to sim layer slowly...
2018-11-03 20:46:41 -07:00
Dustin Carlino
58025c027d
fixing trace_route with contraflow on last step
2018-11-03 12:29:00 -07:00
Dustin Carlino
6ecfac0bd3
precomputing canonical pt per trip, since so much stuff kinda cares about it
2018-11-01 17:05:15 -07:00
Dustin Carlino
db34ddb2b7
changing the activity plugin to show a heatmap of what's currently in view
2018-11-01 16:07:48 -07:00
Dustin Carlino
b593d3f5cf
WIP plugin to highlight lanes with movement
2018-11-01 14:42:43 -07:00
Dustin Carlino
b7e184eeca
adjusting scripts to convert OSM polygons
2018-10-29 15:53:04 -07:00
Dustin Carlino
f8f2ea3f95
switching to a simpler GPS<->Pt2D scheme that's bijective
2018-10-29 15:01:15 -07:00
Dustin Carlino
bb9c98b54e
splitting into two Bounds types
2018-10-29 14:16:30 -07:00
Dustin Carlino
cc9f0289ab
exporting polygons in the osmosis format... wait, may need to change the
...
coordinate system first. let's first refactor bounds to be more careful
about existing code.
2018-10-29 12:29:11 -07:00
Dustin Carlino
949529b780
adding some initial neighborhood summary for an a/b test
2018-10-29 11:24:01 -07:00