Commit Graph

5004 Commits

Author SHA1 Message Date
Michael Kirk
db5b1622ad
preserve whitespace (#304)
* maintain  whitespace in text (except trailing)

Note, until https://github.com/RazrFalcon/resvg/issues/317 is addressed,
trailing space does not affect the size of the text bounding box.

* remove space-holders now that spacing is preserved
2020-08-28 16:26:00 -07:00
Michael Kirk
b67701c414
show sim time and speed (#301) 2020-08-28 14:37:40 -07:00
Dustin Carlino
f662d9e34f Get rid of PartialEq on all of the Sim structs. It was originally there for a unit test that simulations are deterministic, but that test is long gone. (Determinism is now tested a bit more indirectly, but usefully, by looking for diffs to prebaked results. It could also be done by diffing serialized Sims.) 2020-08-28 14:26:22 -07:00
Dustin Carlino
0eb1309ace Add an API to get back all of the map edits so far 2020-08-28 14:09:44 -07:00
Michael Kirk
e5620aeb10 configurable "jump to delay" 2020-08-28 13:20:05 -07:00
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