Commit Graph

1288 Commits

Author SHA1 Message Date
Dustin Carlino
faedffae99 finally flushed out one of the common crashes: shifting some car bodies
to make wheels breaks sometimes. just skip the wheels.
2020-07-11 17:10:36 -07:00
Dustin Carlino
07ed1fec95 more polyline work... get rid of Warn<>. extremely spammy and hasn't
been helpful in ages.
2020-07-11 15:17:16 -07:00
Dustin Carlino
f8b8c501ae tighten up more PL scariness 2020-07-11 14:51:25 -07:00
Dustin Carlino
cce624edd8 start the big one: Polyline::new 2020-07-11 13:42:19 -07:00
Dustin Carlino
0593aa52d9 more caution in Line API 2020-07-11 13:05:34 -07:00
Dustin Carlino
98c6f46c78 the first real big change: Line::new always returns Option 2020-07-11 12:37:38 -07:00
Dustin Carlino
4919fbf90f autodetect ICs across the whole map, not just when there are complex
turn restrictions

and... enable the new "run the red light" after starting an uber-turn. I
can get to 6am on downtown with a few simple edits now.
2020-07-10 17:39:25 -07:00
Dustin Carlino
7ab78d543a ignore red lights in the middle of an uber-turn. currently disabled
until a few more things are in place, but this is headed in the right
direction. [rebuild]
2020-07-10 16:03:22 -07:00
Dustin Carlino
4c8ad5a8da determine if a vehicle is currently performing an uber-turn, without
modifying the low-level PathSteps. also make sure to not try LCing when
going into one.

on the cusp of being able to treat complicated intersections as one...
2020-07-10 12:40:51 -07:00
Dustin Carlino
98ca2341c8 adjust params on the people generator for #154 2020-07-09 13:48:49 -07:00
Dustin Carlino
ead4a99682 prototype a better random traffic generator 2020-07-09 13:04:41 -07:00
Dustin Carlino
4340ad585b convert the rest of usize IDs to u32. savings:
maps: 645mb -> 625mb
scenarios: 431mb -> 390mb (before all the u32 optimizations, this as
500mb!!!)
prebaked: 80mb -> 73mb

and while I'm at it, grab fresh OSM, with lots of manual lane fixes,
especially near divided highways
2020-07-09 11:43:34 -07:00
Dustin Carlino
a2623bfd6a wait wait, the light rail cars are way longer. wiki says one car is about 30m, so using double cars for now 2020-07-08 14:38:03 -07:00
Dustin Carlino
7c0aaed370 the first link light rail has left the staton. #numtot 2020-07-08 14:29:02 -07:00
Dustin Carlino
14010e3be2 transform trip mode, filtering on existing mode and departure time range 2020-07-08 10:46:23 -07:00
Dustin Carlino
9f72b3dd51 cleanup after the relative dir fix, and add support for hardcoding the
data dir, for #137
2020-07-07 12:14:02 -07:00
Dustin Carlino
6919c24bf8 detect the data/ dir more intelligently. fixes #73. still need to
- consider collapsing the directory structure in the releases
- fix wasm

[rebuild]
2020-07-07 11:09:35 -07:00
Dustin Carlino
d52a0e8a35 new scenario mod: force everyone to make a mode change 2020-07-06 16:29:51 -07:00
Dustin Carlino
d987879389 gracefully handle editing the currently active traffic signal phase live in the challenge mode 2020-07-05 14:18:00 -07:00
Dustin Carlino
5427d8ea40 also express lane type changes using the new approach 2020-07-05 14:04:49 -07:00
Dustin Carlino
6e8eef8d09 start refactoring how edits are validated. need to deal with lane types
next
2020-07-05 13:20:19 -07:00
Dustin Carlino
505311a93f improve the signal synchronization a bit for #8. hardcode a few small
intersections to make the downtown map make more progress. make it
easier to copy OSM node IDs.
2020-07-04 08:53:13 -07:00
Dustin Carlino
2c7440b03f start representing access restrictions by mode 2020-06-30 13:15:57 -07:00
Dustin Carlino
2b50e7969c refactor position 2020-06-29 20:55:36 -07:00
Dustin Carlino
c97bd0fe4b some cleanup after #106. unbreak importer 2020-06-28 11:13:35 -07:00
phimuemue
a675e72d25
Avoid collect et al (#106)
* Avoid unconditional collect in get_lane_types

* Introduce Road::children(fwds)

Simplifies direction-aware lane retrieval.

* Simplify all_lanes

* Avoid unneeded collect

* Avoid some Vec copying

* Avoid unconditional collect

* Avoid some collect

* Avoid clone

* Avoid collect

* Avoid collect

* Avoid collect

* Avoid collect

* Avoid collect

* Avoid collect

Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2020-06-28 11:00:09 -07:00
Dustin Carlino
bb3da1f8eb Make a very primitive form of adaptive traffic signal phases. It should
be easier to write better policies now; this mostly does the work of
changing the map model and UI to handle variable timing. A small step
towards #91
2020-06-28 10:20:47 -07:00
Dustin Carlino
a6b90d00d8 very simple modifier to cancel all trips for some percentage of people 2020-06-27 14:20:25 -07:00
Dustin Carlino
90b556ac1f carve out a way to modify the weekday scenario in the UI. express the 5 day repeat using this 2020-06-27 11:56:45 -07:00
Dustin Carlino
b3a480b4c1 clean up old trip positions from Sim. implement the all-route debugger
in a more straightforward way
2020-06-25 09:20:54 -07:00
Dustin Carlino
bc6482c522 include camera state and edits in the crash report. would make it easier to repro #98 and #72 2020-06-25 09:02:50 -07:00
Dustin Carlino
2630fabf83 link to fixed windows build, and make a few small adjustments 2020-06-23 12:57:06 -07:00
Dustin Carlino
f5385b83df restore raw throughput counts deleted in
ca33695431, flagged off, for further
exploration of compressed representations. also, apparently lakeslice
prebaked results have been missing for a while due to dropbox snafu! fix
2020-06-19 11:04:07 -07:00
Dustin Carlino
bc8f352600 when people are riding a bus, map them to the bus instead of just crashing 2020-06-18 11:23:09 -07:00
Dustin Carlino
26cdde056c fix throughput and delay max_x and disable comparison by default 2020-06-17 15:05:31 -07:00
Dustin Carlino
d437152be4 add an intro story cutscene to motivate the whole game [rebuild] 2020-06-13 20:44:46 -07:00
Dustin Carlino
42ea64a680 changing parking seeding to fill in private spots first. makes progress
in larger maps. i made sure the optimize challenge is still interesting
after this change.
2020-06-13 15:14:23 -07:00
Dustin Carlino
c20a8ea36b tuning plot appearance: labels, grid, titles, bg and outline 2020-06-12 12:12:01 -07:00
Dustin Carlino
14c7518787 break down delay by agent 2020-06-12 11:37:12 -07:00
Dustin Carlino
be3b93625d dont compute pathfinding upfront by default. [rebuild] 2020-06-11 12:20:51 -07:00
Dustin Carlino
0cff318d0a start a layer to compare delay. needs work. 2020-06-10 11:04:48 -07:00
Dustin Carlino
a96b77ba3f more granular profiling 2020-06-09 18:56:33 -07:00
Dustin Carlino
cb829558b4 adjust jump-to-time UI 2020-06-09 15:58:52 -07:00
Dustin Carlino
287d56efd9 generalizing the old gridlock checker. removing unused savestate_every
support. reimpl it later using the callbacks if needed.
2020-06-09 14:29:35 -07:00
Dustin Carlino
2445bddeb9 prepping to work on sim step 2020-06-09 12:39:31 -07:00
Dustin Carlino
fafcf57240 make most offstreet spots private 2020-06-06 18:37:20 -07:00
Dustin Carlino
b15664727d flesh out info panels for parking lots 2020-06-06 14:23:47 -07:00
Dustin Carlino
65b500509e make peds use front paths for parking lots too 2020-06-06 14:04:09 -07:00
Dustin Carlino
a643f039ad most of the sim changes to use parking lots! need to work on pedestrians
using the front paths
2020-06-06 13:42:39 -07:00
Dustin Carlino
6482772b73 lots of bug fixes in spawner involving borders, invalidating paths when
changing modes
2020-06-03 13:37:34 -07:00
Dustin Carlino
aceadef79f refactoring some trip spawning stuff from importer, using it in the new agent spawner too 2020-06-01 17:37:54 -07:00
Dustin Carlino
855d8f4d22 update glutin, winit, glium now that a fix for linux startup time is upstreamed in glutin. and a few other packages too. ditch geo-offset dependency, since it uses old versions and isn't being used yet 2020-06-01 09:18:17 -07:00
Dustin Carlino
b7790dca40 start doing screenshot diff tests for udistrict and downtown too 2020-05-29 08:00:59 -07:00
Dustin Carlino
95efd40053 new osm with lots of parking fixes and a vital new turn restriction.
23rd now finishes!
2020-05-20 10:54:22 -07:00
Dustin Carlino
ddf6de5f59 stop dependending directly on serde_derive 2020-05-19 15:06:32 -07:00
Dustin Carlino
d257535a7c grab new OSM, try to get mt baker running. rainier is just a mess. 2020-05-16 17:32:01 -07:00
Dustin Carlino
1c3073d0e2 work on getting the udistrict to run better. add options to handle
outliers in the heatmap
2020-05-15 16:46:12 -07:00
Dustin Carlino
ca33695431 get rid of raw thruput_stats. in-game throughput plots are a little
different now, but everything's still usable, and this takes us down
from 342MB + 39MB to 74MB + 11MB for prebaked data! include lakeslice
prebaked results in releases now [rebuild]
2020-05-15 15:07:42 -07:00
Dustin Carlino
a0a7cb1c4e start cleaing up thruput stats. remove the ability to change window size 2020-05-15 14:25:10 -07:00
Dustin Carlino
95a0f2f620 working on west seattle 2020-05-14 12:03:19 -07:00
Dustin Carlino
f6bd936c53 grab fresh osm. also keep some intermediate files, to make some binary
format changes less of a disruption
2020-05-13 22:55:05 -07:00
Dustin Carlino
dbf4b15959 start to figure out where to compress Analytics [rebuild] 2020-05-10 16:08:45 -07:00
Dustin Carlino
5ae94168f6 fix mt baker a little, at least get the north half of i90 included. lots
of jams along rainier.
2020-05-10 15:49:24 -07:00
Dustin Carlino
82876647b2 record throughput for border intersections too 2020-05-10 15:03:20 -07:00
Dustin Carlino
182f5139a5 rip out old mapfixes code. pure OSM is more maintainable. keep map_editor for drawing synthetic maps and debugging raw maps 2020-05-10 10:39:08 -07:00
Dustin Carlino
86f01f2736 starting to export edits in a longer-lasting format. getting some
round-trip code set up, not handling stop signs or lane edits yet
2020-05-06 11:45:42 -07:00
Dustin Carlino
6696049b09 note in trip panel when a path isnt possible anymore 2020-05-06 09:54:58 -07:00
Dustin Carlino
e1c827ed24 adjust signal timing and workaround an intersection with unrealistically
large geometry, and... lakeslice runs!
2020-05-05 20:29:50 -07:00
Dustin Carlino
ed5b35ffd9 differential throughput layer. what routing diversions are happening? 2020-05-05 11:55:30 -07:00
Dustin Carlino
6877189da7 actually, allow disconnecting some parking via edits 2020-05-04 15:33:18 -07:00
Dustin Carlino
1f10882dbc new layer to show backpressure 2020-05-02 17:08:00 -07:00
Dustin Carlino
02c5b6617b dismantle importing for neighborhoods. long unused. just retain a simple
osmosis polygon editor.
2020-05-01 14:11:41 -07:00
Dustin Carlino
270c7d0712 just small cleanups. taking a break from gridlock / map quality for a while. 2020-05-01 11:50:35 -07:00
Dustin Carlino
01bd4aec6f clean up some fallout from the grand data refreshening. mostly
robustifying tutorials/challenges by using IDs stable across map updates
2020-05-01 10:54:43 -07:00
Dustin Carlino
5d8d8805a8 unstick my favorite intersection (and a few roundabouts) 2020-04-30 13:49:14 -07:00
Dustin Carlino
7a0b9cd09a squeeze a little performance by using entry API in scheduler 2020-04-30 11:24:57 -07:00
Dustin Carlino
1814857319 park closer to buildings 2020-04-30 10:36:58 -07:00
Dustin Carlino
e1a40e0b97 make a variant of the trip table that shows parking overhead 2020-04-30 09:36:57 -07:00
Dustin Carlino
2570db2501 update some lights and allow a little more box-blocking. making it to
5pm on lakeslice, no regressions elsewhere. officially cutover to
nofixes version of 23rd
2020-04-29 17:20:33 -07:00
Dustin Carlino
71ab388b47 for laggy heads, dynamically expand the blocked_by graph with the next car in the queue
and fix a bug where agents disappearing in a border didn't clean up
blocked_by immediately
2020-04-29 16:40:28 -07:00
Dustin Carlino
50ab88d3bb woops, when a cycle is detected, sometimes two cars start going. 23rd
without fixes NOW COMPLETES :O
2020-04-29 15:27:02 -07:00
Dustin Carlino
4634205448 make the turn-conflict detector factor in blockages due to agents at the
front of an at-capacity queue
2020-04-29 14:49:31 -07:00
Dustin Carlino
c0b5ead639 display the blocked_by graph in debug mode 2020-04-29 12:34:09 -07:00
Dustin Carlino
787d5f13d3 only consider cars in the blocked_by graph. pedestrians can't get stuck in a turn. they're nimble. 2020-04-29 11:47:01 -07:00
Dustin Carlino
1ff1414cd5 reorganize intersection code to plumb less 2020-04-29 11:29:35 -07:00
Dustin Carlino
a2533244a4 temporarily? hardcode some exceptions to dont-block-the-box to make some
progress on 23rd

and tiny little cleanups
2020-04-29 11:14:53 -07:00
Dustin Carlino
a311750493 remove code for the extremely defunct a/b test mode. just a refactoring burden at this point. 2020-04-27 20:54:25 -07:00
Dustin Carlino
077035aacb better offstreet parking rendering: don't jitter the parking icon, face
the correct direction unparking, make the driveway line extend from the
sidewalk line
2020-04-27 17:29:20 -07:00
Dustin Carlino
fe84b81e85 trip table: another sortable column, filter by type, pagination 2020-04-27 14:40:56 -07:00
Dustin Carlino
e2cbb7a3e4 enable the new gridlock cycle breaker by default; it's helping immensely and doesnt seem to have problems 2020-04-27 11:18:36 -07:00
Dustin Carlino
77918358f1 restore the commute challenges [rebuild] 2020-04-26 14:05:00 -07:00
Dustin Carlino
193ff2344a require a particular directed road for spawning from borders 2020-04-26 12:35:07 -07:00
Dustin Carlino
0eaf33ff46 stop generating RNGs from entropy. use the prebaked seed by default. allow explicitly changing the rng, but no use for that yet 2020-04-26 11:38:32 -07:00
Dustin Carlino
3f48b4bf22 simplify stuff in analytics, removing a major bottleneck in the everyone_weekday scenario 2020-04-25 21:42:29 -07:00
Dustin Carlino
1ecea0a88f delete old code for scoring things in currently inactive challenge
modes. counting ongoing trips is complicated from a player perspective
and also expensive in analytics. has the nice side-effect of forcing me
to make one of the tutorial levels more robust
2020-04-25 21:29:48 -07:00
Dustin Carlino
275d1f846b make remote trips work properly. plumb through events for them. 2020-04-25 16:47:32 -07:00
Dustin Carlino
725e9e4532 generate a scenario purely with off-map trips. problems running it, but
good start.
2020-04-25 15:18:27 -07:00
Dustin Carlino
2c774224ce ahhh the free offstreet spots were not being generated at ALL correctly 2020-04-25 12:54:51 -07:00
Dustin Carlino
2b0a1c2447 parked cars and info panels: center on them, be explicit about being
parked inside, list owned vehicles better, say how many spots are free
2020-04-25 12:15:49 -07:00
Dustin Carlino
3ee2c91a10 plumb OffMapLocation through events 2020-04-24 23:07:13 -07:00
Dustin Carlino
34c61ce007 plumb OffMapLocation a little further into the sim. give the player a
little info about off-map locations.
2020-04-24 22:41:51 -07:00
Dustin Carlino
dd1c9f936d plumb through exact off-map locations from popdat->scenario 2020-04-24 22:05:33 -07:00
Dustin Carlino
55e0d2a364 overhauling offstreet parking model:
- almost all buildings can have a few spots
- render things a little differently
- increase paranoia of buildings that can have driveways, to avoid many
complicated simulation issues
2020-04-24 12:50:22 -07:00
Dustin Carlino
855bba7cc8 more alert locations. use to easily jump to cars entering/exiting
parking inside buildings.
2020-04-23 20:23:39 -07:00
Dustin Carlino
597ee6c47e use Event::Alert instead of random println's, and make better controls for handling these 2020-04-23 16:09:32 -07:00
Dustin Carlino
cce4fbe80d do a little more cleanup when trips are aborted 2020-04-23 14:27:25 -07:00
Dustin Carlino
a25751ea43 add more sanity checks for schedules, because every other map is
crashing

and fix the problem -- SpawnTrip -> TripSpec MUST succeed. auto-abort
some trips, to still warp the person to the right spot.
2020-04-23 13:20:25 -07:00
Dustin Carlino
6594de3000 remove a hack from multi-day trips and stumble upon the people needing
10 cars

also prebake data again
2020-04-23 12:37:21 -07:00
Dustin Carlino
6e31eb76e4 one person might need multiple cars. urgh.
marathon of a change. it... seems correct.
2020-04-23 11:50:06 -07:00
Dustin Carlino
51dbc90ae7 prevent a race with two trips starting. temporarily patch around the
doppel-car problem in a consistent way
2020-04-22 21:50:08 -07:00
Dustin Carlino
11d106e26a associate vehicles with people, not trips 2020-04-22 19:57:25 -07:00
Dustin Carlino
e1d34558b7 associate ped speed with people, not trips. remove redundant gunk from
some of the triplegs and specs and such
2020-04-22 18:53:13 -07:00
Dustin Carlino
9c4798a694 enforce person-continuity in pandemic sim 2020-04-22 16:52:23 -07:00
Dustin Carlino
36ed6395e6 some fixes for interactively spawned agents. merge back into master!!! 2020-04-22 16:34:26 -07:00
Dustin Carlino
c4c61cf7d9 recording and communicating delayed starts 2020-04-22 16:16:17 -07:00
Dustin Carlino
cb053baf49 remove the unused code to cancel future trips. need to think through exactly how this should work. 2020-04-22 15:32:16 -07:00
Dustin Carlino
0657469b4a warp the car to the destination for aborted trips 2020-04-22 15:25:38 -07:00
Dustin Carlino
6ef3a180a3 start to simplify the dynamic nabbing of parked cars 2020-04-22 14:39:02 -07:00
Dustin Carlino
1dcdec0a43 when a trip is aborted, warp the person to their destination. get rid of the concept of Limbo.
except for aborted trips (which warp the person to their destination),
people now have continuity! </end breakage>
2020-04-22 13:27:33 -07:00
Dustin Carlino
00c8d65b60 dont start trips if the person isnt finished with the last trip. start
the delayed trip as soon as the person is freed up.
2020-04-22 12:13:10 -07:00
Dustin Carlino
ede4c682f4 adding a new layer of indirection to defer spawning peds/cars, and
instead just start trips
2020-04-22 11:34:32 -07:00
Dustin Carlino
2a98f4ea27 Person now has a fixed pedestrian, car, and bike ID. <start massive breakage> 2020-04-22 09:43:03 -07:00
Dustin Carlino
22a83184fb spawner asks for agent IDs from trips, instead of computing itself 2020-04-22 08:47:59 -07:00
Dustin Carlino
7ac8c00c5d trivial cleanup: UsingParkedCar is unused 2020-04-22 08:23:43 -07:00
Dustin Carlino
1d8ee5f2a5 slightly improve the blocked_by internals 2020-04-21 16:15:08 -07:00
Dustin Carlino
90b2ce9b1f trim last steps of a laggy head. don't insist on all-or-nothing. makes
progress towards eliminating bad gridlock
2020-04-21 15:06:38 -07:00
Dustin Carlino
c7e14a78fc delete the clear_laggy_head_early experiment. i think i understand the real problem, and this makes the next change harder. 2020-04-21 13:42:09 -07:00
Dustin Carlino
ca03d92a01 improve the gridlock buster. get rid of false positives from failing to
dedupe requests, and only trigger for cycles involving the original
agent
2020-04-21 13:29:39 -07:00
Dustin Carlino
067cc5b307 plumb through alerts from the sim that pause the UI, use for gridlock 2020-04-21 12:17:01 -07:00
Dustin Carlino
09e9e52042 starting an idea to allow conflicting turns when there's a cycle. bad
implementation and not working yet, but flagged off
2020-04-21 11:32:22 -07:00
Dustin Carlino
a39d19f36a remove the tiny fraction of people with non-continuous schedules from
the PSRC scenarios
2020-04-20 17:55:26 -07:00
Dustin Carlino
0574d4316c add some stuff to match people in scenarios with the raw input 2020-04-20 16:52:54 -07:00
Dustin Carlino
8b975f5083 validation was wrong, and also panicking is bad right now 2020-04-20 16:12:09 -07:00
Dustin Carlino
c89a4c6bb9 validate scenarios are continuous. they... aren't, so disable the
validation. :P
2020-04-20 15:32:31 -07:00
Dustin Carlino
40eed3f116 show parking utilization of a single lane over time 2020-04-20 11:30:19 -07:00
Dustin Carlino
50cca5ce5e when clicking on a building, show the "closest" parking spot 2020-04-20 10:51:18 -07:00
Dustin Carlino
5cf0b72bac avoid a few crashes, mostly involving trips that were aborted in the
baseline
2020-04-19 12:40:21 -07:00
Dustin Carlino
d80513235d defer choosing a starting lane for borders in scenarios, to respond to lane edits 2020-04-19 10:51:23 -07:00
Dustin Carlino
6c75a67050 draw some arrows [rebuild] 2020-04-16 19:31:50 -07:00
Dustin Carlino
14b38f917e add a link from person->their parked car, and show the percentage of
population with a car
2020-04-16 13:19:17 -07:00
Dustin Carlino
ec409742e7 work around parking leak for multi-day scenarios 2020-04-15 16:36:56 -07:00
Dustin Carlino
97d31fe682 remove the fixed end-of-day; make it easier to jump to times in multi-day scenarios 2020-04-15 16:26:01 -07:00
Dustin Carlino
a104088ccd pt2: rest of sim layer, which forces the UI changes too 2020-04-15 15:48:16 -07:00
Dustin Carlino
35c193eebc associated parked cars with people, not buildings
pt1: scenario layer
2020-04-15 15:01:49 -07:00
Dustin Carlino
b7be5aa804 filter trip summaries by modes, better scatter plot tooltip 2020-04-15 13:41:16 -07:00
Dustin Carlino
bde09a08e4 scatter plot: move to ezgui, add a grid, interactive cursor 2020-04-14 12:50:16 -07:00
Dustin Carlino
bf2f2eccfd monochrome scale for delay, and more info on the bike lane layer 2020-04-13 15:30:56 -07:00
Dustin Carlino
97a2434e1b work around infinite cycle of laggy heads. #30 2020-04-12 15:54:46 -07:00
Dustin Carlino
aa765f70ed cargo +nightly fmt 2020-04-11 19:07:48 -07:00
Orestis
c811c7e044
New state-machine-like pandemicmodel (#47)
* started porting to new algo. init done

* continuing adaptation

* conitnuing the work

* added state machine model. needs testing now

* updated pèandemic model with state machine

* removed mod

* removed warnings

* added dead

* removed useless stuff

* adapted game too
2020-04-11 19:06:29 -07:00
Dustin Carlino
b7eda16443 move experimental stuff off the trip results page. start deleting old
dashboard stuff.
2020-04-11 14:58:40 -07:00
Dustin Carlino
ddd98d315e remove the old trip histogram, make room for cleaning it up 2020-04-10 12:15:24 -07:00
Dustin Carlino
69a8b88583 experimenting with new summaries of trip diffs 2020-04-10 11:44:47 -07:00
Dustin Carlino
bced89ce85 less dumb choices for nearest parking spot, ordering by distance and not number of lanes 2020-04-09 14:20:12 -07:00
Dustin Carlino
ff093e79f4 pick the closest parked car when dynamically reserving 2020-04-09 14:02:56 -07:00
Dustin Carlino
ff68a77979 have to fork rng again to prevent ped speeds from changing. wow. 2020-04-09 13:02:10 -07:00
Dustin Carlino
a1b24b1a29 wire in info on commuter's trips 2020-04-08 18:26:59 -07:00
Dustin Carlino
3e49134088 track blocked time for finished trips, make a way to find people with
high blocked times
2020-04-08 15:50:25 -07:00
Dustin Carlino
7e07448098 in trip panels, show comparison to trip time in baseline 2020-04-08 12:33:15 -07:00
Dustin Carlino
9591699463 start working on cancelling future trips. uncovered a few bugs, but this
is a step forwards
2020-04-08 10:38:26 -07:00
Dustin Carlino
22ea48a355 repeat a weekday scenario many times to experiment with longer-term pandemic modelling 2020-04-06 15:20:29 -07:00
Dustin Carlino
3e462cda90 cargo fmt, mostly just to trigger [rebuild] 2020-04-05 18:20:19 -07:00
Orestis
ec29ade70e
Pandemic modeling (#46)
* i think I managed to add a field that analyses who stands at a bus stop

* draining the people at waiting a bus stop in analytics and resturning the stopid, pedestrianid and times of arrival and leave

* trying to add sccache to see if it speeds up the compil

* small update

* need libm to have the erf function

* added pandemic stuff

* must check probabilities bug with them

* removed explicit sane state and refactored probas to correct bug. looks to be working. added info about pandemic situation

* moved the code of transition E/I/R

* i think its working now. every time we check for a dt around t0 + tinf

* updated value

* removed warning from mutable_borrow_reservation_conflict

* updated comments

* started adpting code

* refactoring models

* game compiles. must still adapt overla

* corrected bug

* added count of different catergories of people

* added quarantined state to see how it work but nothing implemented yet. trying to generalize a bit parameters

* made the model a bit more generic. not there yet though

* corrected bug

* rustfmt

* Update game/src/common/overlays.rs

Co-Authored-By: Dustin Carlino <dabreegster@gmail.com>

* Update sim/src/pmodel/mod.rs

Co-Authored-By: Dustin Carlino <dabreegster@gmail.com>

* Update sim/src/pandemic.rs

Co-Authored-By: Dustin Carlino <dabreegster@gmail.com>

* corrected compilation error. and bug

* modified the dir structure

Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2020-04-05 13:41:37 -07:00
Dustin Carlino
2ef76b5e7c generate nicer active agent area diagram, use in jump-to-time 2020-04-05 13:10:31 -07:00
Dustin Carlino
2d4095fd8d except for layout/style, I think the trip/agent panels now have the
right information
2020-04-03 13:02:23 -07:00
Dustin Carlino
88bad05d39 clean up agent properties. lots of tweaks needed, but i'm exhausted 2020-04-02 21:36:19 -07:00
Dustin Carlino
51a81fc74d handle people being in the same building, bus stop, and bus in one
uniform way. also the first unit tests in an amusingly long time
2020-04-02 16:08:20 -07:00
Dustin Carlino
29c86d656d plumb more info in sim events. this will allow for some consolidated pandemic modeling 2020-04-02 15:12:46 -07:00
Dustin Carlino
c12775e5ea change the pandemic model to be a first-class, optional part of Sim 2020-04-02 14:30:18 -07:00
Dustin Carlino
1e63078096 pandemic model ideas:
- use a priority queue to handle events more sanely
- seed with all people
2020-04-02 13:38:14 -07:00
Dustin Carlino
ef90c6935c use the locate header button to follow/unfollow people 2020-04-01 15:50:11 -07:00
Dustin Carlino
70875d104d Scenario should just have specific trips. split a different structure for generating Scenarios. has the happy side effect of removing lots of weird old spawning code, duplicated checks 2020-04-01 13:50:36 -07:00
Dustin Carlino
62b49ad884 refactor: properly generic histogram, and remove unnecessary boilerplate
from Plot. Rust generics are so awesome.
2020-03-31 20:57:50 -07:00
Dustin Carlino
2181d8a56d two sanity refactors
- btreeset macro
- switch to "ID #123" by default
2020-03-31 16:40:07 -07:00
Dustin Carlino
f733763f73 get trip panel closer to the new design. start trying to use fixed size
panels [rebuild]
2020-03-31 15:46:46 -07:00
Dustin Carlino
c49fc20a88 checkbox to toggle running the pandemic model in the population map 2020-03-31 10:33:59 -07:00
Dustin Carlino
b16aceaa9a be more precise with building entry/exit events. they can also happen when a car parks inside a building's garage. also emit events at the start of day to get rid of the weird initial case. 2020-03-30 22:31:36 -07:00
Dustin Carlino
7f35d06c96 prototyping an example of finding overlapping time indoors by "infected"
agents
2020-03-30 22:12:48 -07:00
Dustin Carlino
5bb5e70000 plumb PersonID in some events, to make it easier to do analysis about people spending time indoors 2020-03-30 09:36:02 -07:00
Dustin Carlino
fff8c8ae9d try a huge cutover to the new info panel organization. few implemented,
going to do this in another branch
2020-03-27 10:37:26 -07:00
Dustin Carlino
ce180f7228 merge TripStart and TripEnd 2020-03-25 13:42:33 -07:00
Dustin Carlino
f89fcb9b93 stop associating trips with buses. it makes no sense. 2020-03-25 13:18:16 -07:00
Dustin Carlino
0bed515bc6 more info about inactive trips 2020-03-25 12:22:19 -07:00
Dustin Carlino
dad4c9bef2 more fluidly glue together agents, trips, people 2020-03-24 22:47:06 -07:00
Dustin Carlino
e22727ee98 reorganizing info panel code, splitting into modules 2020-03-23 14:25:16 -07:00
Dustin Carlino
4df64b4c83 remove last users of ModalMenu. so long, (some variant of) the original widget. 2020-03-22 20:59:44 -07:00
Dustin Carlino
d7886fa85b move person counters to population panel 2020-03-22 10:34:32 -07:00
Dustin Carlino
3045f99266 stop plumbing back unused agent metadata from sim, now that ACS is gone 2020-03-21 13:13:46 -07:00
Dustin Carlino
760ee795e7 scrap intersection delay, make a new road-or-intersection delay, based just on waiting turns 2020-03-19 08:34:02 -07:00
Dustin Carlino
87e605a119 prototype a live dot map in debug mode 2020-03-18 19:17:54 -07:00
Dustin Carlino
41ce8fe8f3 force trips per person to be time ordered 2020-03-18 14:01:03 -07:00
Dustin Carlino
e47d5f7917 fix parking markings and where pedestrians walk for left-hand maps for #27 2020-03-17 10:09:44 -07:00
Dustin Carlino
8f285be4fe jump from agent or trip to person, and from person to building and trips 2020-03-13 18:41:49 -07:00
Dustin Carlino
7775546a7e really awkward manual way of going from building to people inside 2020-03-13 12:36:55 -07:00
Dustin Carlino
10a8466d5d represent people in sim layer, track their state transitions 2020-03-12 16:28:47 -07:00
Dustin Carlino
5c8529a201 argh, fix bug in prev commit. seed_parked_car happens in the middle of the TripSpawner existing. 2020-03-12 15:53:06 -07:00
Dustin Carlino
87e9431f91 rearrange people/trips in the Scenario layer 2020-03-12 15:38:58 -07:00
Dustin Carlino
d852d69535 make TripSpawner a temporary setup object, not something permanently stored in Sim 2020-03-12 15:00:50 -07:00
Dustin Carlino
78407dd529 upgrade to rust 1.42 for better unwrap() errors and use of matches! 2020-03-12 12:55:48 -07:00
Dustin Carlino
4eae0c8394 trip timeline shows relative duration of each phase [rebuild] 2020-03-06 08:58:52 -08:00
Dustin Carlino
bd2cb6ddd1 first steps towards representing people, not just trips 2020-03-05 17:28:57 -08:00
Dustin Carlino
cc1ee8384a enum for trip phases 2020-03-03 12:42:51 -08:00
Dustin Carlino
08cd956faa filling out the trip timeline a bit more 2020-03-03 12:12:42 -08:00
Dustin Carlino
52eba43522 stop and warp to gridlock in jump-to-time 2020-02-28 15:19:37 -08:00
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