Commit Graph

1140 Commits

Author SHA1 Message Date
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