Commit Graph

1084 Commits

Author SHA1 Message Date
Dustin Carlino
e5d9d80c14 make sim stepping way more precise, doing minimal amount of time
advancement in the innermost layer

tested by making sure prebaked results don't budge
2020-02-28 14:52:41 -08:00
Dustin Carlino
e19f88cd40 experiment with finding sources of gridlock, exposed as a new heatmap 2020-02-26 12:13:28 -08:00
Dustin Carlino
0ee45bd0e7 track total time agents spend blocked vs moving. be more precise with
tracking blocked_since in the FSMs.
2020-02-26 09:56:57 -08:00
Dustin Carlino
db69dbd4df fix the active agents calculation. buckets... don't make any sense. 2020-02-20 17:50:42 -08:00
Dustin Carlino
d29839fa27 display a plot of activity over the day. the windowing is incorrect! but
it's some kind of start
2020-02-20 15:11:50 -08:00
Dustin Carlino
848347a9b5 change up agent meters 2020-02-19 08:23:06 -08:00
Dustin Carlino
d112707261 more info about trips to/from bldgs and intersections [rebuild] 2020-02-18 15:15:31 -08:00
Dustin Carlino
0f0924ac56 restore an old debug tool to spot what agents are blocking an intersection. optional mode to avoid some gridlock... seemingly working for a few cases, but breaking other stuff, so disabled. 2020-02-18 08:40:05 -08:00
Dustin Carlino
d56803a12a include ongoing trips in measured trip times. adjust wording of
"finished trips" things.
2020-02-17 15:58:27 -08:00
Dustin Carlino
d292e29ad0 get the game crate running in wasm. bundle in lots of data files, fake out a few more IO things, glue timer println's to console log 2020-02-15 16:44:06 -08:00
Dustin Carlino
9a9619ec32 moving game assets to data/system, to more easily bundle in wasm
[rebuild]
2020-02-15 16:19:23 -08:00
Dustin Carlino
b2c92ab8f9 upstreaming some changes for wasm here
- use instant crate
- bring in the wasm ezgui backend and necessary setup tweaks
- upgrade stdweb

but no map editor build magic yet
2020-02-14 14:28:25 -08:00
Dustin Carlino
1f0b225b6b cleaning up trip_details 2020-02-12 16:17:41 -08:00
Dustin Carlino
691dcdfbbc also revamp panels for other objects, except for the trip details part 2020-02-12 12:22:43 -08:00
Dustin Carlino
b033c4f720 round of quick fixes to avoid crashes 2020-02-11 16:13:42 -08:00
Dustin Carlino
a3149d2219 no_edits -> untitled edits 2020-02-06 13:15:09 -08:00
Dustin Carlino
872cd0cba6 'save as' feature for map edits. autosave otherwise. 2020-02-06 12:31:06 -08:00
Dustin Carlino
91234bf49a slow day. prototype a dot map from scenarios 2020-02-04 16:30:44 -08:00
Dustin Carlino
79de16a840 get the sim crate to build to wasm. a small step towards #21 2020-01-30 17:28:52 -08:00
Dustin Carlino
b2216bb482 not all lanes have to be the same width. make sidewalks a bit thinner. 2020-01-28 17:26:14 -08:00
Dustin Carlino
8a966395af prevent a crash with spawning agents around intersections. tiny tutorial tweaks 2020-01-28 14:33:55 -08:00
Dustin Carlino
8d3f58f214 whoa, time_limited_step always jumped too much 2020-01-28 09:07:09 -08:00
Dustin Carlino
07995fb060 starting a tutorial for bus lanes too 2020-01-27 12:38:51 -08:00
Dustin Carlino
426ebdc606 let vehicles spawn on all lanes from a border. lets the bike tutorial have a better solution 2020-01-27 11:54:36 -08:00
Dustin Carlino
2747ca5181 bike trips were counting as driving trips 2020-01-27 11:01:02 -08:00
Dustin Carlino
5f82c855ed slidey windows for thruput plots 2020-01-25 14:19:03 -08:00
Dustin Carlino
a45405055a start a tutorial stage to justify bike lanes 2020-01-24 16:04:58 -08:00
Dustin Carlino
89e27b5e3d associate cars with owner buildings 2020-01-24 13:10:24 -08:00
Dustin Carlino
95a84fd26a tweaking rustfmt options; the long literal string vecs in tutorial look awful 2020-01-21 15:20:02 -08:00
Dustin Carlino
e9d40fe494 just kidding, use two counters in meters panel 2020-01-19 15:34:53 -08:00
Dustin Carlino
7ce3d5dd24 adjust agent meters panel (move info button there, display (un)finished
trips more succinctly)
2020-01-19 15:20:19 -08:00
Dustin Carlino
ad49e37706 gracefully exit info panels for agents that go away 2020-01-16 16:13:21 -08:00
Dustin Carlino
f85ca54a44 bail out of spawning parked cars if we're totally out of space. still
horribly slow in maps without enough onstreet parking.

also fix the name of github artifacts [rebuild]
2020-01-16 11:27:15 -08:00
Dustin Carlino
f28029c69f dont crash when peds are waiting for a bus that isnt spawned, and dont walk in place while waiting 2020-01-13 09:21:23 -08:00
Dustin Carlino
53f33a31e4 hide IDs unless in dev mode 2020-01-09 11:50:56 -06:00
Dustin Carlino
c049221743 add a timeline showing bus location 2020-01-08 13:59:01 -06:00
Dustin Carlino
0439e05e4e start a panel for showing live passenger delay 2020-01-04 10:52:25 -06:00
Dustin Carlino
05888357ea generalize that into a prebaked analytics thing. undo the previous
thing. (i forgot even live stuff should be in analytics)
2020-01-04 10:30:57 -06:00
Dustin Carlino
fd2fbf6a5e info panel for bus stop has number of people waiting currently, time spent waiting 2020-01-04 10:11:22 -06:00
Dustin Carlino
3755d9b858 proper clone for Sim 2019-12-24 14:47:07 -08:00
Dustin Carlino
fbbb59f6a5 add option to preview traffic signal edits with the live sim results 2019-12-24 14:34:50 -08:00
Dustin Carlino
e46ae7d734 fix #29 -- make sure when looking for parking on the same lane, dont go
backwards
2019-12-19 16:15:43 -08:00
Dustin Carlino
585cdfea63 express pedestrian pathfinding costs as time. this lets us more realistically model riding a bus as a time cost. as a nice side-effect, computing the CH for the walk_with_transit graph for huge_seattle drops from 10 minutes to 25s. 2019-12-19 12:41:53 -08:00
Dustin Carlino
75fa084884 fixing one instance of #28 and making it a bit easier to debug next time 2019-12-19 12:07:20 -08:00
Dustin Carlino
d9a68332e5 make all crates build (sim.save became mut) 2019-12-18 16:31:10 -08:00
Dustin Carlino
959a89e81c dont serialize paths of yet-to-be-spawned stuff. drastically reduces savestate size. 2019-12-17 18:08:59 -08:00
Dustin Carlino
a1ff95e80a exploring the feasibility of recording prebaked savestates (to use for
quick previews in edit mode). reduced size of savestates significantly
by ommitting analytics...
2019-12-17 16:36:29 -08:00
Dustin Carlino
b1da0f0284 get rid of unzoomed_radius, used to highlight agents stuck in intersections. there are better gridlock debug tools now, and this complicates the minimap 2019-12-16 18:51:29 -08:00
Dustin Carlino
201c0edaab moving some debug info from the info panel to the console log 2019-12-12 16:09:01 -08:00
Dustin Carlino
dc2cc81249 make Timer methods and ModalMenu take &str or String 2019-12-12 10:25:48 -08:00
Dustin Carlino
ee598b6ae4 round of clippy. not fixing everything. 2019-12-11 16:17:15 -08:00
Dustin Carlino
2afa2ef43f experimenting with tracking and visualizing demand at traffic signals 2019-12-09 15:23:30 -08:00
Dustin Carlino
954ac97a9f started a histogram to show relative trip durations for fixing traffic
signals. lots of work needed.
2019-12-09 12:50:55 -08:00
Dustin Carlino
3a745f563a make cars briefly pause before doing a yield turn at signals 2019-12-07 13:34:13 -08:00
Dustin Carlino
7434ff44e1 hide savestating controls in debug mode. they interact poorly with map edits. 2019-12-07 09:38:06 -08:00
Dustin Carlino
89a3d1cf5f one generic prebake method to rule them all 2019-12-06 13:45:15 -08:00
Dustin Carlino
1753a40a25 prebake results for tutorial levels too, really manually. load prebaked
results more manually, since it now depends on map and scenario.
2019-12-04 16:36:01 -08:00
Dustin Carlino
e4ab4739df squeezing in a challenge for the first traffic signal tutorial.
prototyping some new abstractions for specifying demand.
2019-12-04 15:12:18 -08:00
Dustin Carlino
3501aa6d72 reviving some way of saving and using purely synthetic maps. creating a
few for the traffic signal tutorial.
2019-12-04 12:19:17 -08:00
Dustin Carlino
a654f7ddc7 be able to show intersection delay over time 2019-12-04 11:15:10 -08:00
Dustin Carlino
d0cdf2412d record intersection delays in analytics 2019-12-04 10:48:36 -08:00
Dustin Carlino
db8bc73ddd finally grouping system data too. forgot some data/input things... 2019-12-03 12:22:59 -08:00
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