Dustin Carlino
f31c4ec7fb
New tool to union two scenarios. One use case is manually defining some
...
new trips, then seeing the impact they'll have on the normal weekday
scenario. So how much externality would be caused by a bunch of new
trips if some building is built?
Demo showing the whole flow: https://youtu.be/adpED0KGQ7Q . Why do those
few trips at the beginning impact some later trips so much? Who knows.
Likely parking spots get gobbled up.
2020-08-19 17:49:39 -07:00
Dustin Carlino
d427893843
Model parking lots with extra un-renderable spots. This fixes #150 , lots
...
without aisles, and #265 , multi-story garages.
2020-08-19 17:19:54 -07:00
Dustin Carlino
a6a454d326
Add a tool to import external traffic demand data. The format and way of
...
calling the tool (not in the importer?) are just experiments right now.
2020-08-17 12:32:09 -07:00
Dustin Carlino
e5f7136f27
parallelize the proletariat robot activity model for #154 [rebuild]
2020-08-16 17:33:12 -07:00
Dustin Carlino
bef3434ac8
adjust the most egregious traffic signals downtown
2020-08-15 18:35:14 -07:00
Dustin Carlino
92d121ecd4
restore lakeslice to former glory, by allowing blocking-the-box at two intersections that're smushed together. had something like this a while ago, but I thought it became unnecessary when working on uber-turns a few weeks ago
2020-08-15 17:52:23 -07:00
Dustin Carlino
5bede4aca2
Start some initial UI for tuning offset of multiple intersections
2020-08-14 20:50:13 -07:00
Dustin Carlino
3f86af0dc0
Add back some primitive control for signal offset at a single
...
intersection. Interpret the value in the simulation layer again (it was
removed around bb3da1f8eb
or so due to
being unused).
2020-08-14 20:50:13 -07:00
Dustin Carlino
e6c1d960ec
In traffic=none mode, allow recording (most of) the manually specified
...
trips as a Scenario to later re-run. This is useful for quickly defining
"test cases" for development, and it's a start to a UI for letting
players specify (and eventually share) traffic patterns they define.
2020-08-14 18:53:39 -07:00
Dustin Carlino
25ee39af89
Prepare to flag-guard an experiment to handle uber-turns differently
...
when allowing a car to start a turn. It causes
https://github.com/dabreegster/abstreet/pull/276#discussion_r470269394
and also the lakeslice scenario to gridlock (a regression that began a
few weeks ago). But keep the flag on for now, to keep the montlake
scenaro running at least.
https://dabreegster.github.io/abstreet/trafficsim/gridlock.html has
notes about the many different causes and in-progress fixes for
gridlock. This experiment hasn't been explained very well yet, but
roughly it treats a cluster of traffic signals as one, so that once a
vehicle gains access through the first light, they guarantee immediate
access through the entire sequence. This interacts with the "don't block
the box" behavior (don't start a turn if you might get stuck in the
intersection) strangely.
While attempting to get this rollback to work, I also had to manually
redraw the traffic lights for a few manually specified intersections.
They became out-of-date a few weeks ago when I cleaned up the OSM
geometry upstream and the referenced IDs changed, and I hadn't bothered
to re-time the signals. Luckily, with the new multi-signal editor,
redrawing the timing was much easier than originally!
Regenerated all data and lots of bus routes vanished. Plan to get back
to that project soon.
2020-08-14 11:33:25 -07:00
Dustin Carlino
11cefb118a
And the same thing for OriginalIntersection
...
Actually, don't need to regenerate map data. Thanks to the magic of
zero-cost wrapper types, the binary format is the same.
2020-08-13 11:48:13 -07:00
Dustin Carlino
31e8c654d2
prototype directional traffic signal demand viz over time
2020-08-10 13:19:47 -07:00
Dustin Carlino
d1e9e38e82
refactor for #231 : use typed OSM IDs everywhere, dedupe URL code
...
have to regen, the binary format has changed
2020-08-08 16:09:36 -07:00
Dustin Carlino
e35c69f6f3
ezgui Wizard (and its pet Cloneable)
...
Here lies a weird coroutine experiment
09/20/2018 - 08/07/2020
2020-08-07 14:04:41 -07:00
Dustin Carlino
00e8b8a8c2
work around ballard map crashing from tiny border. i tried valiantly to
...
extend short borders, but it can't be done in convert_osm clip. has to
happen later when trimming and making intersection geometry. too much of
a headache right now.
west seattle and krakow still broken because of short borders.
also grab fresh osm
2020-08-04 15:25:49 -07:00
Dustin Carlino
bcbf229eb7
rip out all users of the old find_closest_lane for #176 .
...
- this gives offside support to bus/sidewalk matching, getting 11 more
routes working in krakow
2020-08-03 17:56:58 -07:00
Dustin Carlino
f73516d183
start representing bus spawn rates explicitly
2020-08-03 13:12:02 -07:00
Dustin Carlino
fa0a73053b
spawn cars a little farther along borders, to avoid a rendering crash
2020-08-03 11:24:53 -07:00
Dustin Carlino
940d2265c0
spawning buses at 0.01m on a non-border lane can break, because other cars approach, and the buffer distance gets broken. instead, spawn the buses a few lanes away, if needed. fixes #260
...
now only ~400 agents left in lakeslice by end!
2020-08-03 11:08:21 -07:00
Dustin Carlino
bea6e2edf2
snap bus stop driving positions at least 0.1m away from the start of the
...
lane, to handle buses spawning at the start
not regenerating everything yet
2020-08-03 09:04:16 -07:00
Dustin Carlino
3cd28cb44f
fix buses not starting at a border. they were skipping the first stop, that's why there were so many stranded agents in lakeslice. still some buses failing to spawn, causing some more stranded
2020-08-01 18:53:40 -07:00
Dustin Carlino
c31d876f61
oh no, the new biking_connection is crashing in a few maps, where some of the separated bike trails are still missing. gracefully degrade. this is getting convoluted again, filed #258 to cleanup.
2020-08-01 10:26:44 -07:00
Dustin Carlino
2f76c7ac12
powered by a clear head and fresh blackberries, fix #64
2020-07-31 19:58:44 -07:00
Dustin Carlino
f7df49f512
fix a rendering bug with shifting cars for parking. ALMOST handle parking lane on opposite side of a driving lane, but there's a crash i cant understand, so disabled. #64
2020-07-31 17:39:04 -07:00
Dustin Carlino
ae31739dea
almost support off-side parking lanes. only remaining bug is cars
...
ignoring parking spots if the parking lane is in the opposite direction.
workaround is to reverse the lane. dealing with that bug next though.
part of #64 and #176 . fixes #109
2020-07-31 16:23:58 -07:00
Dustin Carlino
d7968713fc
don't need to explicitly store parking blackhole redirect, just a bit.
...
and have a separate bit for bikes. use that to handle bikes going to
borders. finally closes #221 , progress on #176 .
2020-07-31 15:43:15 -07:00
Dustin Carlino
5c506f726c
total overhaul to building<->bike connections for #221 and #176 . bikes
...
will start/stop directly in front of a building driveway, when possible.
still need to handle the case when the bikeable position isn't connected
to most to the graph (for buildings accessible only by footway and for
things around the border)
2020-07-31 14:28:40 -07:00
Dustin Carlino
d22aa87139
rearrange Building internals for #176 . edits can affect building
...
connections to driving/biking. just store the immutable stuff -- whether
there's parking in the building, the connection to the sidewalk, and the
physical driveway line. compute all the rest dynamically, so it responds
to edits without effort.
shouldn't be major behavior changes yet (besides maybe fixing some bugs
involving edits)
2020-07-31 12:49:33 -07:00
Dustin Carlino
03796fcd66
introduce the tiny walkable shoulder lane type. pathfinding penalty,
...
rendering adjustments. #176
the SharedSidewalkCorner geometry looks bad, but acceptable for now.
2020-07-30 13:42:36 -07:00
Dustin Carlino
edb1cb87cd
Make all vehicles, including buses, start with ~0 length when spawning
...
from borders and gradually appear. This looks more realistic and lets
more trips succeed, especially buses spawning at short borders.
This fixes #220 in a hopefully simpler way. Extending the geometry of
incoming roads is possible, but it may look visually overwhelming,
because two border intersections could sometimes overlap.
2020-07-28 11:39:57 -07:00
Dustin Carlino
6a11a13d36
fix the remainder?! of pathfinding bugs for #190 . have to make sure the
...
candidate route has the stops in the correct order. now people correctly
ride a bus off-map!
regen everything now!
2020-07-27 12:36:46 -07:00
Dustin Carlino
74bf6e0974
get riding off-map to work for #190 .
...
- handle living streets that allow buses in berlin
- don't connect LeaveMap nodes to anything else; people were getting
creative and using them as shortcuts to effectively warp to a border,
then come back into the map
- make should_use_transit understand transfers (and still just return
the first leg)
- warp to bus routes by ID
still at least one weird bug left, seen in krakow. working on it next,
trying to keep these commits "small." not regenerating maps quite yet.
2020-07-27 10:37:21 -07:00
Dustin Carlino
2239059961
UI fixes discovered during riding buses off-map
...
- speed limit dropdown crash
- link to bus route from bus stop panel, not some currently running bus
- show number of waiting people per stop in route panel and route dash
2020-07-27 08:19:14 -07:00
Dustin Carlino
e79e186784
ALMOST make people ride the bus off-map, for #190 . the pathfinding
...
gymnastics isn't quite right. still want to commit this though, with it
disabled.
found a few bugs along the way...
2020-07-27 07:54:33 -07:00
Dustin Carlino
f056080106
fix area under curve on jump-to-time when active agents isnt 0 at end of day. also... fail loudly when we make it to the end of the day and too many active agents are left. at some point lakeslice broke and I didnt notice. :( ... but actually it's just a crowd of people waiting on a bus that isnt managing to spawn.
2020-07-26 22:50:45 -07:00
Dustin Carlino
a4e09ca91f
add border stop/start to route info panel. move the route drawing there, stop being a weird layer.
2020-07-26 13:13:48 -07:00
Dustin Carlino
adbbc8764a
much smarter opportunistic lane-changing. almost got #217 . but we don't
...
do opportunistic LCing when approaching an uber-turn, so we need to use
these costs when building the CH also...
2020-07-23 12:39:00 -07:00
Dustin Carlino
9757750bfa
gather penalties based on sim state too. #217
2020-07-23 10:58:25 -07:00
Dustin Carlino
328cbcd1f1
stop melting my laptop when generating scenarios
2020-07-23 09:15:25 -07:00
Dustin Carlino
56a892f789
improve error for parking seeding. closes #224
2020-07-22 12:19:18 -07:00
Dustin Carlino
d2e8dc95d1
split the new traffic generation code out into its own file. it'll make
...
iterating on #227 easier
2020-07-22 11:20:48 -07:00
Dustin Carlino
38b8557c82
bring in living streets from OSM, interpreting them as normal roads with
...
access restrictions. makes old town in krakow look much better and
brings in stay healthy streets in seattle. also commit some code related
to footways that isn't exercised yet.
2020-07-21 17:18:56 -07:00
Dustin Carlino
435b4ce8fb
track passengers boarding/alighting. further rearrange stop/bus/route
...
info panels
2020-07-21 08:55:07 -07:00
Dustin Carlino
28d0469d10
filter out random border no-op trips. they crash poor berlin
2020-07-20 16:16:01 -07:00
Dustin Carlino
9be94f9a70
don't spawn bikes on tiny lanes, it causes queue spillover
2020-07-20 10:38:56 -07:00
Dustin Carlino
042145ef1b
start cleaning up bus info panels. the delay between stop measurement has never been clear, and i'm not sure if it's what we even want to measure. and use route shortname in titles.
2020-07-20 09:14:41 -07:00
Dustin Carlino
ec9ba28891
stop using simsearch for matching road names. it has odd behavior when the query is just a few charactes, and it often has the wrong results after typing most of a name. just use simple string containment for now.
2020-07-20 08:36:32 -07:00
Mateusz Konieczny
66287ccda6
further work on #154 - better trip generator ( #211 )
...
* further work on #154 - better trip generator
use single trip mode selection function
(still extremely primitive, based on a distance)
border-to-border traffic is now more varied
rewrite TODOs
* stylistic improvements
2020-07-20 08:26:16 -07:00
Dustin Carlino
a837c79500
better errors when failing to spawn. it's either the starting lane is
...
too small for the vehicle, or there's no appropriate lane type at the
border. closes #206
2020-07-19 13:33:36 -07:00
Dustin Carlino
68d3c5b340
intersection delay is broken down by agent type, not trip mode
2020-07-19 13:22:08 -07:00
Dustin Carlino
233b662bfa
actually count transit passengers in throughput analytics
2020-07-19 13:10:24 -07:00
Mateusz Konieczny
3c9bb0f706
add transit traffic for #154 ( #207 )
...
for now solely cars, next step would be having function deciding on trip mode based on distance and using it also here
note #206 , this code may be buggy though at least sometimes transit traffic works
next potential step - some distribution of transit traffic over day
2020-07-19 12:36:39 -07:00
Dustin Carlino
523eb690f5
refactor tripinfo struct
2020-07-18 07:46:58 -07:00
Dustin Carlino
6d27547b6a
prep for hackathon. make the block map a sandbox dashboard, work off of a live sim. [rebuild]
2020-07-18 07:22:18 -07:00
Dustin Carlino
db00c18536
use AgentType, not TripMode, in throughput
2020-07-17 16:39:16 -07:00
Dustin Carlino
c08fd4ae7e
UsingBike trips always start at a building
2020-07-17 15:56:58 -07:00
Dustin Carlino
e06faa3c33
make an AgentType enum, stop abusing TripMode. a small first step,
...
showing agent meters properly
2020-07-17 15:13:36 -07:00
Dustin Carlino
a86fb5c73d
upgrade to rust 1.45 after fixing an issue in fastpaths [rebuild]
2020-07-17 12:54:14 -07:00
Dustin Carlino
82dd1fd01a
spawn a new bus for every route every hour
2020-07-16 11:58:09 -07:00
Dustin Carlino
8a70e105e8
make buses actually start/end at borders [rebuild]
2020-07-16 10:11:43 -07:00
Dustin Carlino
d15a842e43
Revert "new rust version. finally strip_prefix is available!"
...
This reverts commit d16ac9713a
.
I'm seeing mysterious brokenness with fast_paths:
https://github.com/easbar/fast_paths/issues/20
Reverting so I can get work done
2020-07-16 08:59:16 -07:00
Dustin Carlino
d16ac9713a
new rust version. finally strip_prefix is available!
...
include berlin and krakow by default in the release, since they're small
and it'll make some collaboration easier [rebuild]
2020-07-16 08:41:28 -07:00
Dustin Carlino
acc82b4f06
dont crash on info panels after buses are done
2020-07-15 16:39:27 -07:00
Dustin Carlino
ff8a62c9e2
retry spawning buses
2020-07-15 15:41:20 -07:00
Dustin Carlino
891a1746d6
try to figure out border endpts for routes for #190 . just visualize
...
them, dont enforce connectivity yet. so many problems...
regenerate stuff, to unbreak map binary format
2020-07-15 15:35:57 -07:00
Dustin Carlino
91a9a9a1bc
start revamping bus route data model for #190 . routes are one-way. make
...
buses appear at the first stop and vanish at the last.
not regenerating anything yet
2020-07-15 13:15:32 -07:00
Dustin Carlino
ccf0b2f647
improve car/bike zordering when crossing z levels
2020-07-15 10:04:47 -07:00
Dustin Carlino
5806e60eec
represent cancelled trips differently than aborted trips
2020-07-15 09:11:01 -07:00
Dustin Carlino
eeb70030c2
clean up old experiments from the intersection geometry code.
...
imperceptible changes to some (already broken) intersections.
also grab fresh osm and a new traffic signal
2020-07-14 17:41:56 -07:00
Dustin Carlino
614354271a
see modified trips in the table and info panels
2020-07-14 16:10:50 -07:00
Dustin Carlino
7341c0189a
plumb through which trips (and people) are affected by an experiment. no
...
UI exposure yet.
2020-07-14 14:49:04 -07:00
Dustin Carlino
7cd0c77068
plot scheduled arrival rate at borders. downtown is crazy.
2020-07-14 12:57:58 -07:00
Dustin Carlino
d31ead5788
clearly show cars just cruising around trying to park, so it's
...
abundantly clear when parking availability is squeezed. need to change
the minimap legend now.
2020-07-14 09:33:10 -07:00
Mateusz Konieczny
6b337c10ec
drop unneded todo ( #194 )
2020-07-14 07:42:36 -07:00
Dustin Carlino
f76b40b8f7
remove old hacks that disabled different checks on certain intersections. new progress fixes the gridlock in a more general way
2020-07-13 15:33:32 -07:00
Dustin Carlino
46789847a7
offstreet parking blocks the road for less time. seeing unrealistic
...
gridlock near the huge parking lots downtown from this
and fix a bug with spawning bike trips. never OK to silently not
schedule a trip, because it breaks the schedule continuity
2020-07-13 15:17:14 -07:00
Dustin Carlino
b68e233125
trying to handle gridlock near tiny roads for #114 . treat the entire
...
sequence as one thing to lock -- don't start it until it's clear, and
prevent new conflicting turns once started. disable block-the-box
protection inside.
I'm not sure this is helping at all yet. maybe it's just more complex.
2020-07-13 12:30:24 -07:00
Dustin Carlino
b058d5d926
cargo fmt and regenerate map data
2020-07-13 10:11:48 -07:00
Mateusz Konieczny
885fdefb5d
playing with processing modifications ( #183 )
...
* WIP set up plumbing for calculating building info in the Raw layer and using it later for #154
* WIP playing with processing modifications
* experiment with some possibilities for tag processing
* fix an embarassing typo
* enable busses in work-home traffic
* refactor, add multiuse
* seed more parking in Kraków
* parse integers properly - thanks for a help!
* rebalance generated trips
* add hack providing some background traffic
more realistic traffic
even mess realistic people
* attempt to further reduce parking deficit
* add TODO
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2020-07-13 09:56:05 -07:00
Dustin Carlino
35a63af590
don't lane-change unnecessarily
2020-07-12 10:42:28 -07:00
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
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