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
e99def9124
Switch all error handling to anyhow. Nothing consumes our code as a
...
library yet, so this is a step forward from string errors. Manually
tested how errors show up (including the nice with_context bit).
2021-01-05 11:35:03 -08:00
Dustin Carlino
d529ae2e5c
Upgrade usvg and rand
2021-01-04 09:19:54 -08:00
Dustin Carlino
2945913fb3
Upgrade rand
2021-01-03 19:48:03 -08:00
Dustin Carlino
5c04923dff
Split abstio crate out from abstutil. #253
...
widgetry, geom, and abstutil may wind up on crates.io in some form to
let other projects use widgetry. abstio has A/B Street-specific tricks
for reading data on native/web. Note widgetry still depends on abstio,
will figure out how to clean that up next.
2021-01-02 10:28:00 -08:00
Dustin Carlino
0b8c86e2c8
Adjust the threshold for what counts as a straight vs right turn from 10
...
degrees to 30 degrees. It works around the issue in #428 , but it doesn't
solve the root cause there, so the unit test is also adjusted to provide
a way to solve the harder problem.
Regenerated all maps accordingly. Many traffic signals tended to
improve, with a straight turn marked protected, instead of permitted as
a "right turn."
2020-12-18 12:06:16 -08:00
Dustin Carlino
c256c5ebee
Get a small unit testable repro of #428
2020-12-17 11:11:17 -08:00
Dustin Carlino
915e12ff7e
Remove PersonID from Scenario; the simulation will assign IDs sequentially. They're redundant. #258
...
Slightly reduces scenario file size, and simpler code to construct
scenarios.
2020-11-18 14:13:25 -08:00
Dustin Carlino
4ab98b1477
Compact the schedule in Scenario by just storing each TripEndpoint. #258
...
The schedule validation changes slightly. No-op trips between the same
origin/destination are now an error and get filtered out.
huge_seattle scenario goes from 129MB to 110MB with the redundant
endpoints removed.
2020-11-18 11:13:09 -08:00
Dustin Carlino
8d80668a56
The big cutover: a Scenario's trips are now just start/endpoints and mode, not the old SpawnTrip structure with a bunch of different cases and details picked out. #258
...
Not regenerating scenarios yet...
2020-11-17 16:28:52 -08:00
Dustin Carlino
0599d4b47b
Whittle down places constructing SpawnTrip manually. #258
2020-11-17 14:10:47 -08:00
Dustin Carlino
5ea3c2ba6f
Remove support for remote trips, and stop plumbing off-map locations. A
...
remote trip goes between two locations off-map, specified just by a GPS
coordinate. The trips aren't simulated at all. They were originally
added to support Orestis's pandemic model, to handle transmission
off-map in shared buildings. This work has died off, there are no other
anticipated use cases for remote trips, and they complicate bigger
refactorings. #258
This also has the nice side effect of substantially reducing scenario
size -- huge_seattle from 177MB to 147MB. That unused metadata was
expensive!
2020-11-17 10:14:23 -08:00
Dustin Carlino
22cef74aec
Always allow blocking a degenerate intersection. Visually inspected on
...
the lane-changing test map. #382
Also abandon sim.run_until_done; the only caller was the LC test, and it
uses 30s steps inappropriately anyway.
2020-11-12 11:34:17 -08:00
Dustin Carlino
7854823c28
Change the to/from permanent map edits APIs to be a little more ergonomic
2020-11-12 10:13:32 -08:00
Dustin Carlino
4b557fa6de
Bring in fresh OSM for Seattle. Because it's so annoying to manually
...
repair proposals when roads change upstream, make the test dump a
repaired file before failing. Manually inspect/amend that.
2020-11-11 15:16:06 -08:00
Dustin Carlino
aa966d7533
Upgrade a bunch of dependencies
2020-11-11 12:02:53 -08:00
Dustin Carlino
3e7c0e51c4
Set up a test scenario for lane-changing to reproduce #382 . The same
...
problems aren't quite captured, but it's a start.
2020-11-11 11:33:47 -08:00
Dustin Carlino
a3bcf5181c
Make the map editor be able to produce synthetic .osm, and use it to
...
create a map exemplifying the lane-changing problems of #382 .
2020-11-11 10:44:45 -08:00
Dustin Carlino
ac6eff31ef
Rename some maps to remove the now-redundant city. #326
2020-11-05 15:24:02 -08:00
Dustin Carlino
cda586dfc9
Cleanup by moving some methods to belong to MapName. #326
2020-11-05 14:18:13 -08:00
Dustin Carlino
4f2cda8d53
Reorganize data/system/ files by city! The only interesting change is
...
abstutil::path_all_maps becoming abstutil::list_all_maps. #326
2020-11-05 14:05:48 -08:00
Dustin Carlino
576e64e246
Consolidate integration tests from the map_tests crate and some of the
...
stuff smushed into game for some reason
2020-11-05 12:42:52 -08:00
Dustin Carlino
f20b7912eb
nuke tests and the custom runner. I've never managed to use this regularly, it constantly makes refactoring more annoying, and validation gets expressed in more direct ways by other processes. will revive at some point properly with a better plan.
2020-03-12 14:12:59 -07:00
Dustin Carlino
6e8846bf85
bring back elevation data before the hackathon. manual revert of 35b7c18df9
2020-03-11 11:08:49 -07: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
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
d9a68332e5
make all crates build (sim.save became mut)
2019-12-18 16:31:10 -08:00
Dustin Carlino
c3348957c1
group data/input/osm
2019-12-03 12:25:33 -08:00
Dustin Carlino
0e99f40150
merge data/shapes and data/input. stop keeping around raw .kmls. adjust
...
gitignore to make it easier to spot defunct files in my repo
2019-12-03 11:55:54 -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
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
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
7400659820
ah, update fixes to remove synthetic field
2019-11-06 11:30:59 -08:00
Dustin Carlino
6f50cbaa30
finishing the big cutover from stable to original IDs. main path works,
...
now looking at map editor
2019-10-28 12:40:09 -07:00
Dustin Carlino
75e155fec6
filter out parking lanes without any sidewalks at all nearby (and also
...
warn about them)
2019-10-26 17:53:09 -07:00
Dustin Carlino
1e903c6cee
pass a flag to disable using mapfixes, since it's annoying to keep temporarily deleting these
2019-10-25 10:09:47 -07:00
Dustin Carlino
2313b06995
DISABLED: apply sidewalk hints, same as parking. need to sort out what
...
should happen with parking without sidewalks
2019-10-23 13:00:42 -07:00
Dustin Carlino
9cab5bf903
prep before bringing in king county sidewalks. clean up lane type
...
calculation, move motorway/parking filter earlier. stop bringing in
street signs.
2019-10-23 09:35:41 -07:00
Dustin Carlino
393eaff249
compacting SimOptions and SimFlags
2019-10-01 14:22:00 -07:00
Dustin Carlino
f18fc72265
finish structopt removal
2019-09-18 17:29:34 -07:00
Dustin Carlino
dd02010614
switched to my own CLI parsing in convert_osm, away from structopt. compilation time down from 6.7s to 4.5s, and parsing is more clear now!
2019-09-18 16:37:22 -07:00
Dustin Carlino
83834f7d40
actually, deferring remove_disconnected has problems.. still need to remove cul-de-sacs early. also, remove the two synthetic maps... will make them again from scratch once the raw_data format is stable. unused in the meantime.
2019-09-17 10:47:47 -07:00
Dustin Carlino
43c2c72e71
importing street sign dataset to override bad parking categories from blockface. the signs look overeager... so disabling
2019-09-08 17:23:53 -07:00
Dustin Carlino
36f4ccecb6
do the last-minute work of gluing a ped to an available car
2019-09-05 13:39:19 -07:00
Dustin Carlino
6d7d3d4a43
warp to car parked in garage, without having to define a DrawCar for it
2019-09-02 11:42:29 -07:00
Dustin Carlino
408078247c
fix fix_map_geom. the grand raw_data simplification is now over!
2019-08-26 17:40:10 -07:00
Dustin Carlino
1936f5f75e
match offstreet parking KML to buildings
2019-08-25 14:00:25 -07:00
Dustin Carlino
a5b73c060a
make savestate_every a flag again
2019-08-16 13:34:38 -07:00
Dustin Carlino
3cebc3cc44
try using freeform policy at all intersections, to see how it affects gridlock
2019-08-16 11:17:27 -07:00
Dustin Carlino
96db77e8b2
stop importing traffic signal data from king county. OSM's data is higher-quality and already attached to specific nodes.
2019-08-15 14:19:11 -07:00
Dustin Carlino
4e83f492d8
upgrade rand, get rid of now unneeded serde1 feature, in hopes of fixing feature mismatch between deps
2019-08-15 12:14:35 -07:00
Dustin Carlino
77c01580f1
refactoring path references...
2019-08-04 17:11:33 -07:00
Dustin Carlino
6bb5ed4407
parking lane overrides in hints. removing parking from much of 23rd.
...
more involved than I anticipated, because the override changes road
width and forces us to recalc intersection polygons
2019-07-01 14:14:18 -05:00
Dustin Carlino
7a49c585cf
remove building_type and stop reading the residential permit shapefile
2019-06-18 14:58:57 -07:00
Dustin Carlino
0adeac1d53
remove the single point associated with intersections, now that we're
...
actually going to be mucking with geometry. it wasnt doing anything
useful anyway. also a round of clippy.
2019-06-12 10:10:04 -07:00
Dustin Carlino
35b7c18df9
remove elevation from map model. never been used, no anticipated need for it
2019-06-12 07:25:31 -07:00
Dustin Carlino
4e2d16af29
consistently using file extensions of .json and .bin, merging duplicate abstutil io functions accordingly
2019-06-11 14:30:11 -07:00
Dustin Carlino
5ab5b7b3d3
actually apply scenario name when instantiating to sim run name, so savestates look nice. fix find next/prev savestate to not require exact current match -- why did I ever do that?
2019-06-06 11:55:49 -07:00
Dustin Carlino
a816a3d0be
defining a better set of pre-converted maps. disabling fix_ramps in most
...
cases.
2019-05-16 16:22:52 -07:00
Dustin Carlino
ba71d2d5e6
dont be so confusing with CarAppearing in interactive commands -- dont retry if there's not room
2019-05-12 15:06:12 -07:00
Dustin Carlino
a4f6a773a9
fix up time limits for headless/tests. fix a few tests now that peds
...
walk slowly.
2019-05-08 20:05:52 -07:00
Dustin Carlino
73ae88bd98
adjust how periodic savestating happens to prep for truly variable timesteps
2019-05-08 12:36:46 -07:00
Dustin Carlino
d207c3c33a
rip out parcels entirely; unused for long time and no anticipated uses
2019-04-11 11:40:37 -07:00
Dustin Carlino
3ea3ea199a
completely remove most traces of MapEdits. quietly disconnect some
...
editor plugins
2019-03-18 15:37:02 -07:00
Dustin Carlino
7422877bcb
handle ending while clipping into stuff
2019-03-17 18:48:24 -07:00
Dustin Carlino
440ff358cd
option to headless to 'draw' everything, flush out all bugs
2019-03-17 18:13:30 -07:00
Dustin Carlino
5ca359998c
upgrade some dependencies and list data source licenses in README
2019-03-11 16:04:47 -07:00
Dustin Carlino
5013cae4f9
fixing tests
2019-03-08 12:19:05 -08:00
Dustin Carlino
9d1bb00fbd
adding a test for bikes
2019-03-02 17:22:41 -08:00
Dustin Carlino
0f71ee5210
make peds leave bus
2019-03-01 22:33:15 -08:00
Dustin Carlino
9c916e5d11
make sure buses dont block a sim from being considered done
2019-03-01 15:39:34 -08:00
Dustin Carlino
8d9a44fd76
making sure to call TripManager and publish events for most transitions
2019-02-28 19:07:40 -08:00
Dustin Carlino
05ffb18fbc
publishing an event to make the parking tests work
2019-02-28 10:54:03 -08:00
Dustin Carlino
e6ff4481e7
do ID allocation more up-front
2019-02-27 14:29:45 -08:00
Dustin Carlino
84c1a94f49
implement test helper for seeding parked cars
2019-02-27 13:23:13 -08:00
Dustin Carlino
50451b6120
make tests build again. cleanup sim::load
2019-02-27 13:16:28 -08:00
Dustin Carlino
76ee37c077
get rid of Tick externally
2019-02-26 14:21:57 -08:00
Dustin Carlino
42c7c21246
removing many external dependencies on Tick. moving time parsing to
...
Duration.
2019-02-26 14:09:08 -08:00
Dustin Carlino
09af9e6cda
removing the log crate completely. remove the DisplayLogs plugin, since
...
it's unused and unclear how it should work going forwards
2019-02-20 11:56:54 -08:00
Dustin Carlino
1848387ef0
starting to organize warnings in a much more reasonable way.
2019-02-20 10:08:02 -08:00
Dustin Carlino
b8eec25116
store Polygon in Building natively
2019-02-12 12:28:12 -08:00
Dustin Carlino
6da48c28c1
making small_seattle fully convert, with some less messy hacks. added it
...
as a test!
2019-02-11 16:13:29 -08:00
Dustin Carlino
8693bbc1e3
import residential building dataset
2019-02-10 19:24:34 -08:00
Dustin Carlino
ec01207369
try upgrading rand and serde again
2019-02-10 15:57:28 -08:00
Dustin Carlino
177f639f7b
make sure bikes can actually start moving
2019-02-03 22:38:21 -08:00
Dustin Carlino
7b045146da
ah, there are speeds low enough to round off to zero distance when applied with the timestep. systematically get rid of EPSILON_SPEED.
2019-02-03 18:10:29 -08:00
Dustin Carlino
7519fdf584
using strong Distance types in many more places
2019-01-30 15:54:54 -08:00
Dustin Carlino
0c6f7c424d
removing dimensioned from last few crates
2019-01-30 14:29:42 -08:00
Dustin Carlino
2a70efde5f
simplify: slice can fail. all the callers dont have to check for EPSILON_DIST
...
(also, disable not-so-useful geom unit tests that use randomness)
2019-01-29 18:53:04 -08:00
Dustin Carlino
e274fd9652
making ped_uses_transit test bit more robust by picking bldgs from the bus stops
2019-01-29 17:13:07 -08:00
Dustin Carlino
25e863dfc6
disable tests that've not worked in quite some time and dont seem to be important
2019-01-29 13:49:06 -08:00
Dustin Carlino
2e982ec827
making an infinite line type, to be less confusing
2019-01-28 18:28:05 -08:00
Dustin Carlino
191b87f148
dealing with geom bugs occurring on bigger maps
2019-01-28 15:11:13 -08:00
Dustin Carlino
07397c642a
rephrase trim_to_pt way more understandably
2019-01-26 15:05:34 -08:00
Dustin Carlino
76dc85d5c8
remove unnecessarily boxed closures, and use generics instead
2019-01-17 15:22:31 -08:00
Dustin Carlino
3422877d3d
adding a stable ID for raw roads and intersections. way easier to refer to things in the midst of deletions.
2019-01-17 11:10:05 -08:00
Dustin Carlino
e8e119dbbf
remove all the polyline shifting/polygon variants that might fail
2019-01-15 15:25:00 -08:00
Dustin Carlino
9590ee7e78
preps for Pt2D with 1cm resolution... immutable PolyLine, helper for
...
pt-pt distance
2019-01-12 19:13:16 -08:00
Dustin Carlino
daa55026ae
making shift left/right for polyline too
2019-01-12 14:13:15 -08:00
Dustin Carlino
caf4006837
explicitly making shift right/left for Line
2019-01-12 13:48:14 -08:00
Dustin Carlino
41e487bbcc
time limit on completion tests
2019-01-11 11:28:42 -08:00
Dustin Carlino
c09fa98f57
upgrade a few dependencies
2019-01-11 10:55:58 -08:00
Dustin Carlino
1d9f3320fa
implementing draw_line and draw_rounded_line directly
2018-12-22 13:58:45 -08:00
Dustin Carlino
bec3e58563
actually clear out line in test results
2018-12-21 09:28:02 -08:00
Dustin Carlino
cdc9c58ab4
start tutorial mode centered on the right thing. improve map label API by returning references.
2018-12-18 09:57:51 -08:00
Dustin Carlino
ebc5419f9a
jump to previous/next savestate
2018-12-09 17:47:54 -08:00
Dustin Carlino
897833e446
hacking around bug where cars follow too closely.
2018-12-09 14:20:03 -08:00
Dustin Carlino
56d3c81d82
easily watch logs as a slow test runs
2018-12-09 13:43:06 -08:00
Dustin Carlino
caae9bcc36
clippy pt3
2018-12-09 11:33:24 -08:00
Dustin Carlino
f48757c5e7
clippy pt2
2018-12-08 19:56:54 -08:00
Dustin Carlino
b7edc07580
moving a few inlined unit tests to my test framework. didnt spot these before.
2018-12-06 12:59:08 -08:00
Dustin Carlino
e3f9bcd1b6
fix parking tests; i adjusted the spot length a few days ago
2018-12-06 12:10:53 -08:00
Dustin Carlino
375a923a9d
try removing most extern crate's
2018-12-06 11:00:13 -08:00
Dustin Carlino
f64f411093
upgrade all crates to 2018 in Cargo.toml. this requires switching to
...
crate:: paths everywhere. not yet fiddling with 'extern crate's
2018-12-06 10:57:31 -08:00
Dustin Carlino
6a0cd7f71e
rust 2018: run the new fmt, delete the unneeded script
2018-12-06 10:05:50 -08:00
Dustin Carlino
4d7c1203a6
the great control layer merge
2018-11-30 13:52:50 -08:00
Dustin Carlino
14097bebfc
moving BusRouteID to map_model layer from sim
2018-11-29 12:38:06 -08:00
Dustin Carlino
e606ab79fa
adjust ped_uses_bus test; need a bit more time for the bus to reach the final stop
2018-11-28 13:27:14 -08:00
Dustin Carlino
e150ce3aef
new test to make sure raw->map conversion is also deterministic, not just convert_osm
2018-11-28 09:36:42 -08:00
Dustin Carlino
149758d5ae
use traffic signal data from new kml, not old shp that's no longer online
2018-11-27 13:10:51 -08:00
Dustin Carlino
5406593843
fix ped_uses_bus test
2018-11-27 12:34:19 -08:00
Dustin Carlino
93dd6b1c17
fix an old path in the map_conversion test
2018-11-27 10:11:10 -08:00
Dustin Carlino
8509b46b0b
print how much time all tests took
2018-11-26 16:12:18 -08:00
Dustin Carlino
cb4c5079a6
woops, forgot to hook up logging in tests
2018-11-26 14:46:27 -08:00
Dustin Carlino
f26de57039
revive the other transit test
2018-11-26 14:36:59 -08:00
Dustin Carlino
118d87fc66
get a transit test passing again, and make debugging bus stops in the UI a little easier
2018-11-26 13:56:35 -08:00
Dustin Carlino
b260de1d50
make test output stuff clickable inside urxvt
2018-11-26 12:27:06 -08:00
Dustin Carlino
88ad929644
revive the other parking test. add option to always show savestate
2018-11-26 11:31:45 -08:00
Dustin Carlino
56c885e7ab
revive the first parking test. make helpers to look up labeled stuff from synthetic maps. make helpers to seed specific parked cars and start certain trips again.
2018-11-26 11:22:17 -08:00
Dustin Carlino
6fbb22d9e4
port over the last two tests, partly
2018-11-25 08:57:33 -08:00
Dustin Carlino
d5ce679b38
cleaning up runner output
2018-11-24 11:43:38 -08:00
Dustin Carlino
fe9f974c73
optionally associate a test with a sim savestate for easy repro / watching in UI
2018-11-24 11:30:43 -08:00
Dustin Carlino
1e62059815
print test results as they happen
2018-11-24 10:29:11 -08:00
Dustin Carlino
d5e0a6fc49
put test results in different directories and remove successful logs
2018-11-24 10:18:04 -08:00
Dustin Carlino
03712f65d5
filter tests by name
2018-11-24 10:09:47 -08:00
Dustin Carlino
cec29beda5
moving two sim tests over to the new runner
2018-11-23 16:11:27 -08:00
Dustin Carlino
878889133a
running just fast/slow tests in runner, and making the helper script
...
invoke the new runner
2018-11-23 15:53:28 -08:00
Dustin Carlino
ff0e921c15
grouping tests with suite name
2018-11-23 15:19:51 -08:00
Dustin Carlino
5de255b55b
printing test progress live, timing things
2018-11-23 15:14:27 -08:00
Dustin Carlino
e8dc01fd98
moving convert_osm test to new runner
2018-11-23 15:07:08 -08:00
Dustin Carlino
9f0b2ea756
more test runner niceness: color
2018-11-23 15:01:24 -08:00
Dustin Carlino
fcf7ea161c
prototyping a better rust test runner that captures output in files
...
and prints results nicely
2018-11-23 14:51:14 -08:00