Dustin Carlino
322fb81a9d
Add more (still disabled) heuristics for automatically merging short roads. Look for roads between dual carriageways. #457
2021-01-16 10:24:03 -08:00
Dustin Carlino
df16c30b77
Add shoulders for foot traffic on separate cycleways. #330
...
For the moment, this is the simplest way to allow foot traffic. This
breaks down in places like
https://www.openstreetmap.org/way/49207928 , where the road gets an
inferred sidewalk and the separate cycleway on each side is
bidirectional with shoulders on each side.
Down to 71 cancelled trips in the baseline for cyipt/actdev#32 .
2021-01-16 09:30:22 -08:00
Dustin Carlino
2837808206
Let the updater diff a single file to see if it's changed. Easier than md5sum and grepping data/MANIFEST.
2021-01-16 09:05:19 -08:00
Dustin Carlino
0a353f67f8
When importing external scenario data for cyipt/actdev#32 , snap border endpoints based on the allowed modes of each border. Without this, some driving trips snap to the cycleway next to a road.
...
212 cancelled trips (that immediately failed) down to 140.
2021-01-15 21:45:42 -08:00
Dustin Carlino
87f13a0d0c
Improve crosswalk rendering, by orienting each dash perpendicular to the line of the crosswalk. This wasn't true for some degenerate intersections where the turn first crosses part of the sidewalk. #457
2021-01-15 21:15:10 -08:00
Dustin Carlino
3cdbe74948
Use a queue to merge short roads, instead of a potentially quadratic scan. #114
2021-01-15 20:52:11 -08:00
Dustin Carlino
8ec1e5a807
Automatically merge roads based on the inferred length. For now, the
...
threshold is hardcoded to 0 to disable this, but it can be more easily
changed when experimenting locally.
I tried this out in a few maps manually and saw that it helps sometimes,
but breaks strangely other times. My plan is to work through the bugs
that result and eventually enable this for all imports. #114
2021-01-15 16:53:12 -08:00
Dustin Carlino
48a60c965b
For extremely short roads (under 2 meters after calculating intersection
...
geometry), don't generate crosswalks or stop signs. In reality, these
usually represent the middle of a complicatd intersection. Ideally these
cases would be merged into a single intersection, but before that's
feasible, at least improve some of the inferred things nearby. #457
2021-01-15 15:32:01 -08:00
Dustin Carlino
3fc349844b
Introduce traffic signal plans that change at defined points in time. Make the changes at the permanent JSON level only. #447
2021-01-15 10:02:13 -08:00
Dustin Carlino
6ba1cfe8a1
Import Detroit for #452
2021-01-14 18:06:52 -08:00
Dustin Carlino
909ebe35a2
Refactor the cyipt/actdev#32 scenario importer. Expressing in terms of OD is cleaner.
2021-01-14 17:48:17 -08:00
Dustin Carlino
3143b57b19
When importing external scenario data, snap points outside the map boundary to the nearest border.
...
Now the desire lines for cyipt/actdev#32 import without errors.
2021-01-14 17:32:44 -08:00
Dustin Carlino
a7f3e998b7
Start to generate two simple scenario from actdev desire lines. https://github.com/cyipt/actdev/issues/32
2021-01-14 10:31:21 -08:00
Dustin Carlino
8928256909
Enable the scenario modifiers UI for all scenarios in sandbox mode, not just the Soundcast-based ones. No reason not to do this earlier; I originally was working on this tool for a specific purpose.
2021-01-14 09:28:28 -08:00
Dustin Carlino
e233012ee8
Use a full modal to select a scenario. During the button UI audit, we
...
realized a dropdown doesn't make sense. A larger panel gives room to
explain what the choices mean.
2021-01-14 09:05:44 -08:00
Dustin Carlino
0be06d04f9
Switch to maintained version of earcutr.
...
Since we have to regenerate everything anyway, also start importing
landuse=meadow areas for #449 .
2021-01-14 08:29:49 -08:00
Robin Lovelace
4696134871
Change dropdown menu title, close #453
2021-01-14 08:23:57 -08:00
Dustin Carlino
7ffb2d108f
Treat cyclepaths as lower priority at intersections with regular roads,
...
to more realistically guess stop signs. #330 , #450
2021-01-13 16:56:55 -08:00
Dustin Carlino
d49c6c5d7d
Refactor the logic of distributing N people to K buildings. This was
...
duplicated between the Berlin importer and the new census-based popdat
crate, and I suspect some form of it might get used for the actdev
integration. #424
2021-01-13 11:18:51 -08:00
Dustin Carlino
38fa22d4b2
Include the importer in the release again -- I accidentally stopped
...
about a month ago and noticed in #452
2021-01-13 10:52:07 -08:00
Dustin Carlino
ff598f21a3
Add a new layer to star buildings. Autosave it. While trying out changes
...
for #446 in the UI, I kept losing track of the two buildings I'm
focusing on. A player-defined list of shortcuts seems generally helpful.
2021-01-12 19:22:50 -08:00
Dustin Carlino
549a625d57
Parse times more like what people expect -- 07:30 is 7h30m, not 7m30s
2021-01-12 12:49:07 -08:00
Dustin Carlino
f680de73aa
Remove London from screenshot testing, and use Cambridge instead. #449
...
This will make it easier to visually track the progress improving the
import. Originally London was added to have one left-hand driving map
under the test, but Cambridge works for that too, and it also includes
separate cycleways.
Also fix a crash when trying to draw very very tiny arrows.
2021-01-12 12:30:21 -08:00
Dustin Carlino
c5ae753f20
Return agent properties for cars waiting to spawn at a border, rather than crash when asked. #392
2021-01-12 12:04:07 -08:00
Dustin Carlino
a1988f269c
Based on importer config, try using separate cyclepaths directly. #330
...
Small adjustments to unzoomed rendering and stop sign placement.
Regenerate all maps because of the format change, but only Cambridge
changes. Since we're doing this anyway, also pull in leisure=garden.
2021-01-12 11:13:45 -08:00
Dustin Carlino
243a4b3410
Fix cycleway:left with left-hand driving. #449
2021-01-12 09:41:51 -08:00
Dustin Carlino
4e3af638e7
Import landuse=recreation_ground as a park. Noticed Rainier Playfield missing.
2021-01-11 21:23:02 -08:00
Dustin Carlino
ddc49e14b4
Add a signal editor tool to adjust the timing to some approximation of https://nacto.org/publication/urban-street-design-guide/intersection-design-elements/traffic-signals/signal-cycle-lengths/ for #446
2021-01-11 17:16:01 -08:00
Dustin Carlino
92423ef932
Fix previous change -- forgot to move a draw call into the conditional. For some reason, the problem is only reproducible in release mode on S3, not when serving locally.
...
Ahhh typo in the URL -- it happens when specifying a bad map name.
2021-01-11 16:02:50 -08:00
Dustin Carlino
556a8345bf
Sometimes loading a map on the web tries to draw the previous state when the stack only has one. Not totally sure why, but avoid crashing.
2021-01-11 15:21:27 -08:00
Dustin Carlino
ba2bbab2ae
When inferring sidewalks on one-ways, don't forget to consider the driving side.
2021-01-11 15:07:22 -08:00
Dustin Carlino
b4cee2d6f9
Start importing parts of Cambridge for https://github.com/cyipt/actdev/issues/26 .
...
I did
https://dabreegster.github.io/abstreet/howto/new_city.html#including-the-city-to-ab-street-more-permanently ,
using
https://github.com/cyipt/actdev/blob/main/data-small/study_area_trumpington-test.geojson
2021-01-11 14:23:52 -08:00
Dustin Carlino
8ac74f6dee
When a driving trip from on-map to off-map is cancelled with live map
...
edits, remove the parked car, to mimic the person driving off-map. #312
2021-01-11 14:05:26 -08:00
Dustin Carlino
a34a776b2d
Allow manually specified signals to become out-of-date when dealing with edits. b487678ee0
was too strict -- we only want to detect out-of-date config when importing the map, not when editing!
2021-01-11 13:43:38 -08:00
Dustin Carlino
9f72de9434
Fix initial camera loading for game, broken in b4e72debcf
. Booleans are hard.
2021-01-11 10:32:51 -08:00
Dustin Carlino
0eda6307cd
Defer creating TripSpec until the trip actually starts. #258
...
This speeds up scenario instantiation (because picking a bus to use can
be spread out over time) and is a step towards simplifying the spawning
code. Starting downtown goes from 12.8s to 2.2s.
All vehicles spawning at a border now regress to using the 1st valid
lane, instead of random. Now that the choice is made when the trip
starts, this could later be improved to pick the least loaded lane.
Now regenerate everything.
2021-01-10 18:55:38 -08:00
Dustin Carlino
65ee007ece
Close a roundabout in lakeslice that keeps causing gridlock. Not regenerating yet.
2021-01-10 18:21:37 -08:00
Dustin Carlino
084a8941ab
Woops, the include_dir change yesterday broke manually specified traffic
...
signals. Also they weren't being fully validated, so added that paranoia
check.
2021-01-10 18:19:12 -08:00
Dustin Carlino
5af0e7da24
new release
2021-01-10 12:20:23 -08:00
Dustin Carlino
0542edc61e
Don't crash when a trip succeeds now, but not in the prebaked results. [rebuild] [release]
2021-01-10 12:13:02 -08:00
Dustin Carlino
b4e72debcf
Make the game crate also start by asynchronously loading any map, in the common case of starting with a map as an argument. #344
...
Now we can remove montlake.bin from the wasm also, bringing game down to
just 18MB!!!
2021-01-09 15:51:03 -08:00
Dustin Carlino
b1dda3628f
Start all UI apps except for game by loading a map using the async interface. This lets someone on the web immediately start with any map based on URL params. And it's one step towards removing the montlake file from being hardcoded in the wasm. #344
...
Demo: http://0.0.0.0:8000/?salzburg/maps/south.bin when running the 15m
tool locally
2021-01-09 14:45:33 -08:00
Dustin Carlino
fa9565e22b
Stop bundling Seattle's city.bin file in wasm. Always load that file asynchronously from HTTP if needed. #344
...
This also happens to fix showing city overview maps in other regions.
2021-01-09 13:15:27 -08:00
Dustin Carlino
dff6d6004d
On the web, use URL query parameters as the command-line arguments. This
...
is a step towards initializing with any map. #344
As a demo, running locally, http://0.0.0.0:8000/?--dev&--color_scheme=night%20mode now works
2021-01-09 13:02:39 -08:00
Dustin Carlino
26f3726abd
gzip two large SVG character files to trims down wasm size more for #377 . game from 31MB to 24MB!
...
I didn't have to do anything to gunzip, because usvg is such a magical
crate that it already has flate2 support baked in.
2021-01-09 09:26:41 -08:00
Dustin Carlino
2972fef609
Trim wasm size for #377
...
- Remove one of Holly's characters, since it's still unused
- Exclude assets/music
game from 54MB down to 31MB
2021-01-08 17:41:53 -08:00
Dustin Carlino
64d5f487b1
Add address/business search to 15m. #393
2021-01-08 15:55:14 -08:00
Dustin Carlino
fea3ebbe5b
Change the city picker UI to show cities on the left. After clicking one, open up the overview for that city.
2021-01-08 15:51:22 -08:00
Dustin Carlino
6e3ce1d9ee
Stop generating footways and service road KML files out of Seattle. They're only used for debugging, and not actively. For cities with multiple maps, the order of importing maps causes the files to get overwritten anyway.
2021-01-08 09:44:38 -08:00
Dustin Carlino
afceb5e268
Adjust Leeds import: #444
...
- stretch central polygon a bit to avoid crash when clipping
https://www.openstreetmap.org/way/511767781
- rename polygons ("center" to "huge", and removing the "leeds_" prefix
from the others)
- generate a region overview from the huge map
- only import/match collision data on the huge map
2021-01-08 09:29:45 -08:00