Dustin Carlino
d8d2877c14
Fix bike lane importing on Bell St. To prevent this from gridlocking
...
lakeslice (which is still quite sensitive to tiny changes in demand
data), manually retime a signal.
2020-08-27 20:51:49 -07:00
Dustin Carlino
696c6c6d9e
Fix crash in edit mode
2020-08-27 19:38:54 -07:00
Dustin Carlino
87cb44200f
Prevent a crash when scaling polygons down. Experienced while watching the current demand panel. I swear I've fixed this before, but apparently not
2020-08-27 18:56:28 -07:00
Dustin Carlino
f5b867848c
Fix links in mdbook
2020-08-27 14:39:54 -07:00
Dustin Carlino
75610e2109
Split managed.rs into widgets/mod.rs and widgets/panel.rs ( #253 )
2020-08-27 12:23:43 -07:00
Dustin Carlino
de6a12e472
After much deliberation, rename Composite -> Panel ( #253 )
2020-08-27 12:12:44 -07:00
Dustin Carlino
2935d2379b
Mechanical rename of ezgui -> widgetry, a much better name to enchant the Rust community. #253 [rebuild]
2020-08-27 10:37:04 -07:00
Dustin Carlino
57b5791f1f
Refactor a helper to produce EditCmd::ChangeRoad. Looked at doing the
...
same for ChangeIntersection, but not sure it's worth it.
2020-08-27 10:25:18 -07:00
Dustin Carlino
e283b8944a
Restore the ability to see individually changed lanes. Give up on the
...
"revert" button for lanes; it was always kind of confusing.
2020-08-27 09:36:00 -07:00
Dustin Carlino
1c98dd55b7
Simplify original_roads by recomputing from OSM data
2020-08-27 09:36:00 -07:00
Dustin Carlino
b6ab06d51a
Remove the old EditCmds. Realizing the new ChangeRoad does have some
...
gaps with detecting changes to individual lanes in the UI, though...
2020-08-27 09:36:00 -07:00
Dustin Carlino
30bfe93b5c
Produce the new EditCmd::ChangeRoad in the UI. Tested the scenario that
...
caused #113 (change lane types, reverse some lane, save edits, load from
scratch) -- now it works!
2020-08-27 09:36:00 -07:00
Dustin Carlino
aacb17297d
Introduce a consolidated EditCmd::ChangeRoad. Unused so far, and not
...
handling backwards compatibility yet. One step towards fixing #113 and
2020-08-27 09:36:00 -07:00
Dustin Carlino
1c27ba39c7
Upgrade to Rust 1.46. Not using any of its features yet, though
...
https://blog.rust-lang.org/2020/08/27/Rust-1.46.0.html#track_caller
could be helpful. [rebuild]
2020-08-27 09:31:59 -07:00
Dustin Carlino
651b4f5ec9
Some code style cleanups after #296
2020-08-27 09:10:39 -07:00
Kyle Huston
90cf38a522
Fail importer immediately if dependencies are missing and make gunzip etc. configurable ( #296 )
...
* Read ImporterConfiguration from .toml file if present. Also check for presence of dependency programs.
* Actually use config.osmconvert instead of hard-coded 'osmconvert'
* Add curl to checked dependencies
* Don't require all fields to be present in importer.toml configuration. Fill in defaults.
* Remove unneeded slice
* Use json for importer config and use serde(default) attribute to simplify application of defaults
* Extract re_dependencies_callable from main.rs and remove dependency on Job
* Revert change to abstutil, use struct-level default attribute
* Add importer.json to .gitignore
* Make gunzip_args string instead of Option<string>
2020-08-27 09:06:14 -07:00
Dustin Carlino
59b14426bb
Improve shared left turn lane markings and reorg some docs
2020-08-26 12:35:29 -07:00
Dustin Carlino
a5430f04ce
Er, forgot to upload the regenerated maps
2020-08-26 10:44:38 -07:00
Dustin Carlino
4e25a22cd0
actually, tel aviv has lots of street parking, so randomly assign 50% [rebuild]
2020-08-26 10:33:29 -07:00
Dustin Carlino
8b7ad86647
Regularly import Tel Aviv!
2020-08-26 10:25:45 -07:00
Dustin Carlino
8c1686c25f
Add a tool to screenshot all of the maps currently under diff testing. This tiny bit of automation saves me some manual labor.
2020-08-26 09:41:03 -07:00
Dustin Carlino
83a5df7886
Add an API for the Xi'an group to get agent positions
2020-08-26 09:22:33 -07:00
Dustin Carlino
75933f686d
At last, powered by the tight feedback loop of unit tests, bring in some
...
two-way cycletracks from OSM!
2020-08-25 16:35:17 -07:00
Dustin Carlino
3d6fb16db1
Finally hit the point where unit testing lane_specs_ltr is necessary...
2020-08-25 15:23:59 -07:00
Dustin Carlino
112a29625f
Prepare get_lane_specs_ltr to support two-way cycletracks from OSM...
...
and bring in fresh OSM, with some of the cycletracks tagged properly
2020-08-25 14:02:17 -07:00
Dustin Carlino
95c43f8e1c
Finally replace the underlying storage in Road
2020-08-25 12:08:54 -07:00
Dustin Carlino
6919e4eace
Working on kicking the old children out of the house (that is,
...
map_model). But give in and create an adapter to derive the old thing
from the new thing. The remaining callers are hard to port over to
lanes_ltr.
2020-08-25 12:08:54 -07:00
Dustin Carlino
376cf1292a
And more. Now all the deprecated stuff is locked down to map_model, and
...
it's pretty much related to map construction and edits
2020-08-25 12:08:54 -07:00
Dustin Carlino
b6a4657dbb
Whittle down more deprecated Road stuff
2020-08-25 12:08:54 -07:00
Dustin Carlino
aa3bd5073b
Make some new methods on Road to handle child lanes from left-to-right,
...
not split by direction. Update many callers, and lock down the
visibility of the old methods.
Tested a few maps manually to make sure there's no behavioral diff. Only
problem right now is the z-order of adjacent lanes covering up half of
the white stripe sometimes. Have some ideas to fix that later, and not
_super_ important in the meantime.
2020-08-25 12:08:54 -07:00
Dustin Carlino
219622311d
Add dev unverified workaround to mac instructions
2020-08-25 12:04:01 -07:00
Dustin Carlino
b99996c5be
Oh no, the install URLs on the instructions page weren't actually links
2020-08-25 08:44:32 -07:00
Dustin Carlino
4005adecf8
Refactor: create a Direction enum, in preparation for two-way cycletracks on one side of a road.
2020-08-24 13:30:13 -07:00
Dustin Carlino
20d81cd453
Start bringing in cycletracks as bike lanes. Stop interpreting :left to
...
mean the backwards direction. Not handling two-way cycletracks yet.
2020-08-24 11:20:41 -07:00
Dustin Carlino
0ee6bcbfcb
Fix intersection geometry in cases where two road edges intersect at
...
multiple points. This was already handled when the roads went between
the same intersections, but I found a case in Ballard where the roads
are just really close to each other. Screenshot diff empty in Krakow,
but still related to #243
2020-08-24 10:25:08 -07:00
Dustin Carlino
b41b52d7bd
fix crash in debug mode when opening info panels
2020-08-24 09:01:27 -07:00
Dustin Carlino
bf57c26278
Documenting the trip transitions right now, partly as brainstorming for refactoring
2020-08-23 14:10:52 -07:00
Dustin Carlino
dc5bd7f904
new release
2020-08-23 12:09:45 -07:00
Dustin Carlino
6b7747c37a
Overhaul lane markings:
...
- Cut off the one-way markings before the end of the road, to stop stomping over turn markings
- Draw turn arrows to every road, not each lane
- Only draw turn arrows when a lane is restricted from going to some
outbound lane. At most intersections, all turns are legal, so don't draw
anything.
[rebuild]
2020-08-23 12:00:25 -07:00
Dustin Carlino
0fd40bd04e
Explicitly mark buildings with private off-street parking from OSM. 2ebf463635
added parking icons to all buildings with > 10 spots, but this makes the downtown map look ridiculous. The intention was to show the tagged buildings, so just go do that.
2020-08-23 11:09:00 -07:00
Dustin Carlino
8aff945bbf
Manually fix the Burke Gilman proposal, broken by OSM IDs changing upstream. Give up on restoring the superblock one; I can't find an old release where it's working properly. I drew it originally from a few different sources that I didn't write down. Now that CHAZ/CHOP happened, maybe it could be redrawn later to document what that was like.
2020-08-23 10:40:30 -07:00
Dustin Carlino
70dd9fcad1
Switch to 'reserving' the congestion cap when starting a trip, not when entering the road. In the initial tests, all the drivers rush for a road at once. They all pass the check initially, then violate it when they reach it. It's a little more reasonable to enforce the cap earlier, even though we can't really predict when the car will reach the zone, so the time is a little off.
2020-08-23 09:54:39 -07:00
Dustin Carlino
6250cb8393
Be more specific about access restrictions in info panel. For capped roads, print the value and current counter.
2020-08-23 09:41:12 -07:00
Dustin Carlino
ca8af784c7
Add an explicit version number to the edits schema
2020-08-23 09:22:41 -07:00
Dustin Carlino
8a05a88f0c
Refactor the plumbing of different parts of Sim. More context at
...
https://old.reddit.com/r/rust/comments/idjcua/passing_all_other_fields_of_a_struct_to_one/ .
2020-08-22 21:46:57 -07:00
Dustin Carlino
83c0a31e62
show roads with changed access restrictions in edits layer
2020-08-22 20:27:04 -07:00
Dustin Carlino
66151e8aa4
Dump route goldenfiles during the smoke-test, so that it's run when all
...
data is regenerated. (Ideally screenshots would also be automated, but
that's a little trickier.)
_NOW_ regenerate all data! The only diff anywhere is the binary map
format, so there's confidence the last few commits haven't changed
anything.
2020-08-22 10:53:05 -07:00
Dustin Carlino
8165312426
Start the Dijkstra's impl, forking from the implementation in Zone. No
...
support for transit or zones yet. Simplify the CH building process now.
2020-08-22 10:22:11 -07:00
Dustin Carlino
5528f19f87
Split pathfinder struct into an enum to make room for a variation that
...
just does Dijkstra's. This has a few uses:
- When you import with --skip_ch, the resulting map will still work,
just more slowly
- For congestion capping experiments, we sometimes want to route around
a zone. Regenerating the contraction hierarchy for every combination
of zone being open/closed is likely more complex and expensive than
just falling back to A* for trips that cut through at least one closed
zone.
Not regenerating yet
2020-08-22 09:54:02 -07:00
Dustin Carlino
3afdb3f7e2
The JSON format for the map edits changes occasionally. Be backwards
...
compatible with old edits, automatically transforming them to match the
new format. Part of #216 and necessary to work on #234 .
2020-08-22 09:14:01 -07:00