Commit Graph

1544 Commits

Author SHA1 Message Date
Dustin Carlino
13402b7745 get xi'an to import. detect all geometry problems upfront. 2020-08-03 08:12:27 -07:00
Dustin Carlino
60147597d6 change PathConstraints in floodfiller, to more easily debug bike
disconnectedness in udistrict
2020-08-03 07:41:10 -07:00
Dustin Carlino
bfc5236152 fix crash with duplicate full route names on one bus stop [rebuild] 2020-08-02 08:36:40 -07:00
Dustin Carlino
c31d876f61 oh no, the new biking_connection is crashing in a few maps, where some of the separated bike trails are still missing. gracefully degrade. this is getting convoluted again, filed #258 to cleanup. 2020-08-01 10:26:44 -07:00
Dustin Carlino
1b993544ab print logs from fast_paths 2020-08-01 08:27:09 -07:00
Dustin Carlino
f7df49f512 fix a rendering bug with shifting cars for parking. ALMOST handle parking lane on opposite side of a driving lane, but there's a crash i cant understand, so disabled. #64 2020-07-31 17:39:04 -07:00
Dustin Carlino
ae31739dea almost support off-side parking lanes. only remaining bug is cars
ignoring parking spots if the parking lane is in the opposite direction.
workaround is to reverse the lane. dealing with that bug next though.

part of #64 and #176. fixes #109
2020-07-31 16:23:58 -07:00
Dustin Carlino
d7968713fc don't need to explicitly store parking blackhole redirect, just a bit.
and have a separate bit for bikes. use that to handle bikes going to
borders. finally closes #221, progress on #176.
2020-07-31 15:43:15 -07:00
Dustin Carlino
5c506f726c total overhaul to building<->bike connections for #221 and #176. bikes
will start/stop directly in front of a building driveway, when possible.

still need to handle the case when the bikeable position isn't connected
to most to the graph (for buildings accessible only by footway and for
things around the border)
2020-07-31 14:28:40 -07:00
Dustin Carlino
d22aa87139 rearrange Building internals for #176. edits can affect building
connections to driving/biking. just store the immutable stuff -- whether
there's parking in the building, the connection to the sidewalk, and the
physical driveway line. compute all the rest dynamically, so it responds
to edits without effort.

shouldn't be major behavior changes yet (besides maybe fixing some bugs
involving edits)
2020-07-31 12:49:33 -07:00
Dustin Carlino
ec52adce77 dont infer parking on roads in krakow that dont allow pedestrians 2020-07-31 10:33:59 -07:00
Dustin Carlino
71b68cc639 don't assume off-side sidewalks on dual_carriageway=yes. don't infer
parking on tiny roads. fixes some geometry in krakow. #230

(unrelated: add a debug layer to show parking blackholes, to work on
bike connections)
(also unrelated: better error message for #256)
2020-07-31 10:07:29 -07:00
Dustin Carlino
8385799844 workaround #240 by deterministically building the parking layer. the
proper fix is to record zorder for parking lots and buildings from OSM
tags. ColorDiscrete would need to understand this. I'll leave that for
later.
2020-07-30 15:36:46 -07:00
Dustin Carlino
03796fcd66 introduce the tiny walkable shoulder lane type. pathfinding penalty,
rendering adjustments. #176

the SharedSidewalkCorner geometry looks bad, but acceptable for now.
2020-07-30 13:42:36 -07:00
Dustin Carlino
3af929f830 refactor to prep to represent shoulders as tiny sidewalks. #176 2020-07-30 10:06:57 -07:00
Dustin Carlino
0a417bb450 color roads under construction in unzoomed mode based on the underlying road type.
technically this affects stop sign placement, but not wort regenerating
maps yet.
2020-07-28 13:49:39 -07:00
Dustin Carlino
2b9123d261 fix border intersection geometry when the road is too short. closes #251
while regenerating, also pick up landuse=grass as a park area. noticed
missing in krakow.
2020-07-28 13:41:12 -07:00
Dustin Carlino
e1e265db14 tighten up Polygon constructors to enforce an outer ring... in most
cases now.
2020-07-27 14:03:55 -07:00
Dustin Carlino
6a11a13d36 fix the remainder?! of pathfinding bugs for #190. have to make sure the
candidate route has the stops in the correct order. now people correctly
ride a bus off-map!

regen everything now!
2020-07-27 12:36:46 -07:00
Dustin Carlino
74bf6e0974 get riding off-map to work for #190.
- handle living streets that allow buses in berlin
- don't connect LeaveMap nodes to anything else; people were getting
  creative and using them as shortcuts to effectively warp to a border,
  then come back into the map
- make should_use_transit understand transfers (and still just return
  the first leg)
- warp to bus routes by ID

still at least one weird bug left, seen in krakow. working on it next,
trying to keep these commits "small." not regenerating maps quite yet.
2020-07-27 10:37:21 -07:00
Dustin Carlino
e79e186784 ALMOST make people ride the bus off-map, for #190. the pathfinding
gymnastics isn't quite right. still want to commit this though, with it
disabled.

found a few bugs along the way...
2020-07-27 07:54:33 -07:00
Dustin Carlino
2ec9c6620f get san jose to import [rebuild] 2020-07-26 15:58:14 -07:00
Dustin Carlino
fe41928cc8 explicitly allow osm highway types, instead of trying to deny stuff.
part of #231. handles construction much better.
2020-07-25 17:06:09 -07:00
Dustin Carlino
eb4acdc2f6 split parking lot code from building code, for #231 2020-07-25 07:09:43 -07:00
Dustin Carlino
37630439d1 make the LC penalty understand when not all lanes go to the target road.
and bring in a few more osm fixes for marginal way. [rebuild]
2020-07-23 16:41:52 -07:00
Dustin Carlino
88380550b6 just commit the new walking turn code, to stop rebasing 2020-07-23 15:37:29 -07:00
Dustin Carlino
f66af5ad49 list all edits in the loader. only try to validate them after selection. display clear error if loading fails. #113 2020-07-23 15:27:24 -07:00
Dustin Carlino
61b5441bd8 also apply some of the new lane choice penalties to CH pathfinding for #217. this is necessary, because we wont opportunistically LC around an uber turn. validated near montlake/520.
also bring in fresh osm with some south seattle fixes... [rebuild]
2020-07-23 14:42:20 -07:00
Dustin Carlino
dd3f3d14ab add a signal policy for half signals, inadvertently brought in by fe94357332. update a signal in south seattle.
will regenerate in the next change
2020-07-23 13:52:49 -07:00
Dustin Carlino
adbbc8764a much smarter opportunistic lane-changing. almost got #217. but we don't
do opportunistic LCing when approaching an uber-turn, so we need to use
these costs when building the CH also...
2020-07-23 12:39:00 -07:00
Dustin Carlino
d278739f49 fix shameful bug introduced in f1ef02b907. regenerate all data, with fresh krakow osm 2020-07-23 11:51:19 -07:00
Dustin Carlino
23a1b1a397 calculate and visualize penalties for turns that cut over lots of lanes. a step towards #217 2020-07-23 10:20:16 -07:00
Dustin Carlino
328cbcd1f1 stop melting my laptop when generating scenarios 2020-07-23 09:15:25 -07:00
Dustin Carlino
f1ef02b907 store Tags in map_model objects, to reap its benefits anywhere in the codebase. serialization format doesnt change! 2020-07-23 07:43:50 -07:00
Dustin Carlino
5d2b770258 Model living streets a bit more carefully.
- don't infer parking lanes there
- sidewalks on both side of a one-way
- handle maxspeed with kmph
- no maxspeed on living_street is 20 kmph

still not regenerating maps
2020-07-22 13:09:35 -07:00
Dustin Carlino
404b6e589b import railway=rail as light rail track. nothing should really use it, but it helps visually recognize areas with lots of notable railways. railways under construction not included yet, so some of the lines in krakow just sort of end.
not regenerating maps yet
2020-07-22 11:35:04 -07:00
Dustin Carlino
38b8557c82 bring in living streets from OSM, interpreting them as normal roads with
access restrictions. makes old town in krakow look much better and
brings in stay healthy streets in seattle. also commit some code related
to footways that isn't exercised yet.
2020-07-21 17:18:56 -07:00
Dustin Carlino
bbe06c6075 randomly distribute residents to buildings in the planning area for #119 2020-07-21 14:00:59 -07:00
Dustin Carlino
94935f7ae8 radically simpler vehicle turn creation:
- just generate every combo of turns from incoming->outgoing
- stop doing all of the weird bike->bike restrictions. that gets handled
  anyway in later layers like pathfinding costs, opportunistic LCing,
  and picking valid starting lanes
- rely on OSM for filtering out left/right turns from multiple lanes
- why was it useful at all to distinguish Straight from LCing turns?
  scrap that

has the effect of eliminating a class of bugs where a driving lane is
sandwiched between lots of bus lanes and wasn't winding up with an
in/outbound turn
2020-07-21 13:04:34 -07:00
Dustin Carlino
1ae29881ba i forgot that there was an isochrone experiment. plug it up to contours. 2020-07-21 07:23:33 -07:00
Dustin Carlino
35b761ec21 get sydney to import 2020-07-20 20:54:08 -07:00
Dustin Carlino
b35122b328 start to organize turn creation code. just split driving/walking to
start; they don't share any logic
2020-07-20 10:56:22 -07:00
Dustin Carlino
2f2245e90f add service roads for buses. closes #203 [rebuild] 2020-07-19 15:29:13 -07:00
Dustin Carlino
d9d4e5448e consolidate some gridlock problems/solutions in markdown, for #114 2020-07-17 13:38:09 -07:00
Dustin Carlino
a86fb5c73d upgrade to rust 1.45 after fixing an issue in fastpaths [rebuild] 2020-07-17 12:54:14 -07:00
Dustin Carlino
1c39de50f7 use earcutr for polygon triangulation. this finally allows for
multipolygons with holes!
2020-07-16 15:33:01 -07:00
Dustin Carlino
ccf213ded9 fix pioneer square station snapping. rust-geo's FindClosest has a bug.
>_<
2020-07-16 13:22:05 -07:00
Dustin Carlino
8a70e105e8 make buses actually start/end at borders [rebuild] 2020-07-16 10:11:43 -07:00
Dustin Carlino
f59ca734e2 also scrape stop->platform associations from stop_areas. fixes cap hill light rail stop finally for #190! the pioneer square south stop is seemingly still messed up 2020-07-15 22:17:45 -07:00
Dustin Carlino
d94c03392f keep the first contiguous run of stops inside the boundary for #190 2020-07-15 21:16:36 -07:00
Dustin Carlino
7a1081971d pretty darn robust border matching: by path distance, not some VFD crow.
for #190
2020-07-15 19:04:24 -07:00
Dustin Carlino
b942510f67 slightly better border matching for buses. dont count on any ordering in
the route relation. include intersections that get copied as
possibilities.
2020-07-15 17:27:09 -07:00
Dustin Carlino
fb44451621 better errors making routes. also consider role=forward/backward for
border matching.
2020-07-15 15:55:43 -07:00
Dustin Carlino
891a1746d6 try to figure out border endpts for routes for #190. just visualize
them, dont enforce connectivity yet. so many problems...

regenerate stuff, to unbreak map binary format
2020-07-15 15:35:57 -07:00
Dustin Carlino
b626eb12ad better errors when matching stops/platforms fails. need to use stop_area
in convert_osm layer.
2020-07-15 13:51:16 -07:00
Dustin Carlino
91a9a9a1bc start revamping bus route data model for #190. routes are one-way. make
buses appear at the first stop and vanish at the last.

not regenerating anything yet
2020-07-15 13:15:32 -07:00
Dustin Carlino
f7c8031eda slightly better error for outdated traffic sigs 2020-07-15 09:15:38 -07:00
Dustin Carlino
3f44a2c2af collapse signals with redundant phases, for #8. and fresh osm with a
flurry of fixes last night
2020-07-15 08:53:03 -07:00
Dustin Carlino
eeb70030c2 clean up old experiments from the intersection geometry code.
imperceptible changes to some (already broken) intersections.

also grab fresh osm and a new traffic signal
2020-07-14 17:41:56 -07:00
Dustin Carlino
2c27c89796 correctly detect the current tab, even when inner settings change. also
make tab per object type sticky, so you can (for example) click arrivals
on one border, then click a different border and be on the same tab!
2020-07-14 13:37:13 -07:00
Dustin Carlino
a5cf34ff59 refactor the osm tags helper 2020-07-14 09:03:37 -07:00
Dustin Carlino
0f82c21560 - manually fix a few crazy signals downtown.
- interpret tags to make 3rd Ave bus-only. cars technically allowed
  sometimes, but bus-only is more accurate for now.
- also remove austin from bundled maps. maintaining it has a cost, and
  the point was just to have at least one non-seattle city kept up to
  date.  krakow now satisfies that.
2020-07-13 13:40:46 -07:00
Dustin Carlino
85b45caf1a stop warning for roads without names if they use 'noname=yes'. related
to #147
2020-07-13 10:40:45 -07:00
Dustin Carlino
b058d5d926 cargo fmt and regenerate map data 2020-07-13 10:11:48 -07:00
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
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
0c283d0da7 finish up the grand geom stabilization with ring and some docs.
regenerated everything from scratch. one effect is more parking
blockface gets matched onto border roads, but that's fine.
2020-07-11 16:05:26 -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
0dd3199f7a cut down variations of pt2d<->gps. mostly we want to forcibly convert.
possible semantic change: soundcast border matching now includes ALL
borders, even if the center is slightly OOB
2020-07-11 12:02:12 -07:00
Dustin Carlino
f8ace3c0ab per-city config to let bikes use bus lanes, for #184
while I'm regenerating maps anyway, grab fresh seattle osm with more
lane fixes. and parallelize a slow point matching step -- 10x speedup
for austin
2020-07-11 11:08:23 -07:00
Dustin Carlino
c20e370139 parse OSM bus/psv lanes better. towards #168. need to handle
https://wiki.openstreetmap.org/wiki/Key:lanes:psv next
2020-07-10 20:31:49 -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
585ba4f137 when sidewalks=separate, don't put sidewalks on both sides of a one-way.
this is a complete guess, but seemingly a better one for some sample
cases in seattle and krakow. helps with #178.

also opt krakow into screenshot diff testing; it has enough different
things happening that it's worth watching more carefully how importing
changes affect it.
2020-07-09 18:53:15 -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
4cb35c6e3b fix parking aisle matching; need to use the center to match it to the closest lot 2020-07-09 10:22:53 -07:00
Dustin Carlino
29ecc44158 fix deadend geometry for cases where the left/right side of a road change after trimming the center points 2020-07-09 10:21:00 -07:00
Dustin Carlino
3370aae83b don't spawn new traffic on the screensaver every time we bounce off the
screen edge. the scenario generator starts person IDs from 0, so was
breaking. fixes #172
2020-07-09 10:08:58 -07:00
Dustin Carlino
438bc39b86 handle cycleway:both, for #168 2020-07-08 17:59:30 -07:00
Dustin Carlino
d94c993b9b debug #113 2020-07-08 16:18:54 -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
4f9bea7f19 don't be afraid of multi-lane roundabouts. fixes #166 2020-07-08 11:56:20 -07:00
Dustin Carlino
865522ed19 use a quadtree to speed up parking aisle matching. huge_seattle from 58s to... 0.5s. I'll take it. ;) 2020-07-08 09:40:41 -07:00
Dustin Carlino
b91d6365e0 dont put sidewalks on a roundabout that's explicitly tagged. fixes #165
this actually disconnects the boyer roundabout (which is tagged
correctly in OSM, but not using the separate sidewalks yet). fine for
now, might add a temporary override later
2020-07-08 09:36:35 -07:00
Dustin Carlino
94512d95b9 change LaneID from usize to u32. savings:
scenarios: 458MB -> 431MB
maps: 676MB -> 638MB
prebaked: 85MB -> 80MB

also fix #163
2020-07-08 08:47:02 -07:00
Dustin Carlino
187c8ad4c5 consider again the possibility of merging some degenerate roads 2020-07-07 21:39:42 -07:00
Dustin Carlino
9a27f6d3dd cleanup the old abstutil Error 2020-07-07 17:09:51 -07:00
Dustin Carlino
3eb8db3f75 interpret OSM center lines as the physical center of the road (excluding
sidewalks), not as the divider between the two directions. this
dramatically changes geometry everywhere for the better.

thanks to
https://wiki.openstreetmap.org/wiki/Proposed_features/placement for
clear explanations. will be looking next at interpreting this tag.

also temporarily removing screenshots, because uploading individual
files and waiting for dropbox to sync isn't sustainable
2020-07-07 15:52:51 -07:00
Dustin Carlino
302363541f better error message for the common case of map data 2020-07-07 13:14:33 -07:00
Dustin Carlino
f20e993817 print OSM IDs more usefully 2020-07-07 13:04:32 -07:00
Dustin Carlino
d551ef8bb2 filter out bus stops that're out of order along a single road -- probably OSM issues. encountered in #119. also adjust dev docs for windows for #157 2020-07-07 12:30:59 -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
476e0e101f easy wins: make BuildingID u32, not usize. maps from 680MB to 676MB.
scenarios from 500MB to 458MB.

considered going down to u16, but pretty sure there are already maps
with >65k buildings
2020-07-06 17:55:02 -07:00
Dustin Carlino
fbff30a869 fix some epsilon issues with deadends and walking turns to get entire
krakow map to import. closes #143
2020-07-06 14:24:31 -07:00
Dustin Carlino
cac35319b2 handle off-side bike lanes on oneway roads. fixes #140 2020-07-06 14:03:22 -07:00
Dustin Carlino
1dcc7456db stop attempting to parse OSM turn restriction types. not doing anything useful with them yet anyway, and it causes friction importing new maps. fixes #142 2020-07-06 13:26:23 -07:00
Dustin Carlino
82345767c9 store a bitset of access restrictions per road. derive zones from this only for editing and pathfinding. this unblocks editing zones 2020-07-06 13:09:49 -07:00
Dustin Carlino
c3858b9cdd mark construction lanes appropriately. this broke when adapting to the new tagging on the west seattle bridge, but there are some roads tagged this way in krakow.
(not regenerating all the maps yet, expecting to do more work on this
today)
2020-07-06 07:43:42 -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
804896cfda relax some old requirements for bus stops not being on the same lane. i
dont remember what the old issue was. this fixes some light rail stops
downtown, because multiple stops are along a single light rail lane.
2020-07-05 12:34:46 -07:00
Dustin Carlino
8b7658c48f dont crash when closing a traffic signal with disconnected sidewalks 2020-07-04 18:08:54 -07:00
Dustin Carlino
181de12409 woops, 72d0171300 broke signal editor by
crashing if you were missing a turn. dont validate in the middle of
editing. still seeing a problem with traffic signal -> construction
2020-07-04 17:51:45 -07:00
Dustin Carlino
3eecdeddff fix some two-step pathfinding bugs that were crashing south seattle 2020-07-04 09:37:22 -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
628ee0fa86 dirt simple method to swap the order of pairs of two-phase signals to
try to synchronize them better. towards #8. not regenerating screenshots
because it's late and there'll be more screenshot churn tomorrow anyway
2020-07-03 21:55:54 -07:00
Dustin Carlino
3a7a75e011 for the heuristically generated traffic signals, handle roads with
sidewalks on only one side. part of #8
2020-07-03 19:50:31 -07:00
Dustin Carlino
575dcfb782 snap bus vehicle/sidewalk positions to the correct side of the road and
a more appropriate lane. also fix #122
2020-07-03 19:00:20 -07:00
Dustin Carlino
ac88a96f61 use a different icon for train stops 2020-07-03 17:49:36 -07:00
Dustin Carlino
56cb59c3ac rip out gtfs code, cutover to osm. will revisit this later; gtfs and osm probably disagree on routes and stops, and gtfs has schedule. but for now, just osm. 2020-07-03 17:33:32 -07:00
Dustin Carlino
0dc42d7e19 use bus stops from OSM instead of gtfs. expose the stop name and the
driving position in the info panel. some issues with the driving
positions, but this is the way forward for light rail.
2020-07-03 15:22:13 -07:00
Dustin Carlino
1175826f3d scrape bus info from OSM into the RawMap layer. don't use it yet. 2020-07-03 12:00:42 -07:00
Dustin Carlino
ec2411fb8b experiment with isochrones. nothing yet. 2020-07-02 13:41:24 -07:00
Dustin Carlino
0a499f65e2 start changing access restrictions for an entire zone. found a way to
represent the edits. no support yet for changing what roads are in a
zone.
2020-07-02 12:15:37 -07:00
Dustin Carlino
ebe1f486f7 flatten some of the map building code 2020-07-02 10:48:05 -07:00
Dustin Carlino
3acec91f51 get berlin import working for #119. just had to allow a few more turn
restrictions previously unencountered and deal with weird geometry.
and add some hints to docs for #118.
2020-07-02 09:56:48 -07:00
Dustin Carlino
519bceaac0 organize lots of map modules under objects/ 2020-07-02 09:05:56 -07:00
Dustin Carlino
148547c622 reorganize code in map_model, since map.rs is huge.
- move Map to lib.rs, so all its private members can be directly
  populated by submodules
- move edits-related stuff to edits.rs
- move raw->map stuff to make/mod.rs
2020-07-02 08:56:09 -07:00
Dustin Carlino
72d0171300 fix #111 by delaying constructing ControlTrafficSignal from edits. also
fix time warp screen issue after the UpdateType changes [rebuild]
2020-07-01 19:34:15 -07:00
Dustin Carlino
54b4bd318e way simpler approach for two-step walking paths. fixes the silly loops. 2020-07-01 11:12:47 -07:00
Dustin Carlino
9b42d27e85 finally enable two-step pathfinding for pedestrians too. the weird hack
making this work: pedestrians will sometimes add an extra little
back-and-forth in their paths
2020-06-30 14:52:57 -07:00
Dustin Carlino
2c7440b03f start representing access restrictions by mode 2020-06-30 13:15:57 -07:00
Dustin Carlino
2b4bf1172b start a UI for modifying access restrictions of zones. mostly just the
skeleton right now
2020-06-30 12:16:08 -07:00
Dustin Carlino
2b50e7969c refactor position 2020-06-29 20:55:36 -07:00
Dustin Carlino
71b8e16448 another stab at two-step walking pathfinding. prevents all crashes, but
pretty much nothing being found
2020-06-29 20:40:41 -07:00
Dustin Carlino
2e1612c3db try to handle walking around private zones too. gluing the paths
together is buggy, giving up for now and leaving disabled
2020-06-29 16:44:45 -07:00
Dustin Carlino
694b70c438 try something simpler for two-step pathfinding. maybe some code duplication, but way easier to reason about. i think this is now correct; just need equivalent for walking trips 2020-06-29 13:50:05 -07:00
Dustin Carlino
fafda7963b handle more cases for two-step pathfinding, but still many not working.
need to pull the main path search in
2020-06-29 12:03:34 -07:00
Dustin Carlino
4cd674ca35 start two-step pathfinding for starting/ending in private zones. not
handling interior trips or walking yet. failing to find a path in many
cases, but it's a first step.
2020-06-29 11:30:00 -07:00
Dustin Carlino
a103c84a40 cluster private roads into zones. don't surface in the UI yet [rebuild] 2020-06-28 18:11:13 -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
2733d3e791 pull down fresh OSM data, with some fixes along mlk. handle west seattle
bridge being tagged differently. also note some streets in CHAZ/CHOP
disappeared, because they're tagged as pedestrian ways currently. also
forced to pull down fresh traffic signal data to keep lakeslice running
2020-06-27 22:27:03 -07:00
Dustin Carlino
ae6c099bd5 start bringing in private broadmoor roads. omit from the CH, so trips will just fail without a path for now. 2020-06-27 16:19:48 -07:00
Dustin Carlino
2881341b63 make parking lots hideable. dont snap parking and sidewalk hints to
light rail. not regenerating all the maps again yet to avoid some churn
2020-06-26 17:02:14 -07:00
Dustin Carlino
eab0988bd8 hello light rail! just import the tracks, represent as a new lane type.
make clipping handle starts and ends separately
2020-06-26 16:47:18 -07:00
Dustin Carlino
d254d49591 discard way less buildings, and match driveways away from intersections
more carefully
2020-06-25 16:34:44 -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
e586760ef7 autosave was a lie. actually do it after any edit, not just when loading new edits 2020-06-24 12:06:06 -07:00
Dustin Carlino
626636ece7 remove turn lookup. have always found myself using the src lane. edits invalidated it anyway 2020-06-23 18:36:45 -07:00
Dustin Carlino
684bf72dde recalculate stop signs when lanes change; construction->driving was
breaking the west seattle bridge. fixes #68. include a built-in proposal
to fix the bridge. ;)
2020-06-23 17:46:35 -07:00
Dustin Carlino
24835cf673 skip OSM ways with no points, and ignore junction areas. fixes #84 2020-06-23 14:32:27 -07:00
Dustin Carlino
eedf80bfef tiny tweaks from final testing:
- cutscene wording
- elide traffic tab on parking lanes
- dont crash when traffic signal data needs fixing, just warn more
loudly. this lets lanes near some signals actually be modified
2020-06-21 11:38:34 -07:00
Dustin Carlino
5a9fb4ceef starting work on a brute-force traffic signal heuristic. organizing
existing code better.
2020-06-19 13:07:42 -07:00
Dustin Carlino
dd84087398 cleaning up more layers. got rid of ::scaled finally. refactoring
percentile handling. got rid of old color scales
2020-06-16 12:51:06 -07:00
Dustin Carlino
458b44bef9 tearing down Colorer::scaled in favor of a newer, simpler thing. also
switching more layers to a monochrome gradient. just a first step...
2020-06-16 11:38:43 -07:00
Dustin Carlino
64fba66e42 add links to proposal write-ups and adjust the UI for that page 2020-06-14 13:04:28 -07:00
Dustin Carlino
16bc96c401 try adjusting the offstreet spots in downtown to be a fraction of the
initial demand
2020-06-13 15:38:04 -07:00
Dustin Carlino
7cc8c4724a start reviving the edit mode changelist. time is a flat circle? 2020-06-12 18:21:30 -07:00
Dustin Carlino
269bdc9171 dont force reset from midnight in survivor mode! 2020-06-11 16:30:31 -07:00
Dustin Carlino
863593708a tool to copy OriginalLane to clipboard. also fix wasm build breakage [rebuild] 2020-06-07 16:25:42 -07:00
Dustin Carlino
c2563ae15f fix the escort tutorial stage once and for all. fixes #52 [rebuild] 2020-06-07 12:39:14 -07:00
Dustin Carlino
8de9ba0536 stop grabbing parking lot capacity 2020-06-06 14:37:09 -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
bf426bb6d1 the last spawner bug: handle parking blackholes 2020-06-03 13:45:29 -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
96f68964e3 woops, it's been a while since i regenerated the austin maps 2020-06-03 12:16:31 -07:00
Dustin Carlino
ea6a5c0f9d encode parking spots cheaply, compute up-front 2020-06-03 11:50:46 -07:00
Dustin Carlino
b69d155812 clipping parking aisles to the lots, in most cases 2020-06-03 10:51:59 -07:00
Dustin Carlino
b9da2f2fdc pick up parking aisles that cross the polygon 2020-06-02 19:31:20 -07:00
Dustin Carlino
971ee0f819 cleaning up the parking lot rendering a bit 2020-06-02 15:59:26 -07:00
Dustin Carlino
b497a9926f start rendering parking aisles. lots of issues to cleanup, but VERY
solid start
2020-06-02 13:30:37 -07:00
Dustin Carlino
30eafea94a start representing OSM parking lots in the map model and rendering layer 2020-06-01 12:51:14 -07:00
Dustin Carlino
42a35c736a starting a city region picker 2020-05-28 14:11:34 -07:00
Dustin Carlino
0f8161f006 restore the upper bridge, but mark it under construction 2020-05-27 16:52:39 -07:00
Dustin Carlino
9c862542fc give up on fancy uber-turn icons, just use simple arrows 2020-05-27 09:38:42 -07:00
Dustin Carlino
490df9675c draw islands. in particular, harbord island! 2020-05-21 18:15:48 -07:00
Dustin Carlino
7a7f6f25d9 restore the lower bridge, bus-only. grab fresh osm, with lotsa west
seattle fixes
2020-05-21 17:53:10 -07:00
Dustin Carlino
3dba07e97c detect roads beneath bridges, lower their zorder. adjust min zoom 2020-05-21 16:31:43 -07:00
Dustin Carlino
bcd5d39626 auto detect clusters of signals, seed the UI with that 2020-05-21 10:00:57 -07:00
Dustin Carlino
cf2ce9f5dd group uber-turns similarly to turn groups. (except not handling lane
types yet)
2020-05-21 09:33:19 -07:00
Dustin Carlino
d3c4b0b26a start grouping uber-turns together, to make editing clusters of signals sane. very basic first steps. 2020-05-20 14:01:19 -07:00
Dustin Carlino
ddf6de5f59 stop dependending directly on serde_derive 2020-05-19 15:06:32 -07:00
Dustin Carlino
90bc73580d the 'has the coffee really kicked in yet' change: make the contraction hierarchy prevent illegal uber-turns. probably doesnt properly handle changing lane types inside a cluster yet. 2020-05-19 14:03:01 -07:00
Dustin Carlino
977d78775d filter for legal or illegal uber-turns 2020-05-18 18:18:46 -07:00
Dustin Carlino
e2e4ddab2f tool to visualize uber-turns 2020-05-18 17:44:46 -07:00
Dustin Carlino
65a69612e0 few adjustments to get Manhattan initially imported. not making
permanent yet
2020-05-18 11:42:44 -07:00
Dustin Carlino
e679eed6e6 some buildings come from relations 2020-05-16 16:05:34 -07:00
Dustin Carlino
9f66c38f69 optionally skip building CH during importing 2020-05-15 09:30:24 -07:00
Dustin Carlino
510e75b043 include importer in release [rebuild] 2020-05-12 11:04:18 -07:00
Dustin Carlino
d7df50ab37 make a one-command version of the importer. remove barranquilla and LA,
since they can just be handled by the oneshot tool, and arent being
actively used yet
2020-05-12 10:27:07 -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
7f867fda70 trim down map file size a bit by not storing building OSM tags, which
weren't useful anyway. 873MB for all maps down to 786MB. huge_seattle
343MB to 305MB
2020-05-08 14:46:36 -07:00
Dustin Carlino
b758c10e62 save edits before leaving final score modal 2020-05-07 12:31:36 -07:00
Dustin Carlino
5c0c133253 finally get the first community proposal baked in! 2020-05-06 16:58:09 -07:00
Dustin Carlino
07c48f612d change speed limits in the map_model layer 2020-05-06 15:18:59 -07:00
Dustin Carlino
3d16c7c626 and at last, robust lane edits 2020-05-06 12:58:31 -07:00
Dustin Carlino
138eacd48c save stop sign changes in better format 2020-05-06 12:08:53 -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
9569fd6159 filter out access=no roads. removes the old 520 entrance that's causing lots of unrealistic border traffic in lakeslice. add a map to study west seattle 2020-05-05 09:46:03 -07:00
Dustin Carlino
6877189da7 actually, allow disconnecting some parking via edits 2020-05-04 15:33:18 -07:00
Dustin Carlino
4ffabadaf2 prevent creating new parking blackholes before confirming edits. the
check is too conservative right now.
2020-05-04 15:04:39 -07:00
Dustin Carlino
ce12974434 start to reintroduce uber-turns (first attempted in 2011, in AORTA?) 2020-05-04 11:43:19 -07:00
Dustin Carlino
3a8e56f16b optionally detect when a path violates one of these complicated TRs 2020-05-03 11:43:21 -07:00
Dustin Carlino
7d2fa77323 grab turn restrictions across roads from OSM, plumb into RawMap 2020-05-03 10:41: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
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
dbc47aee7d fresh osm, finally. accept some regression, charge forward
montlake: FINE!
23rd: naw
lakeslice: regression
2020-04-30 22:37:43 -07:00
Dustin Carlino
50a5f59239 good enough. cut-off point. removing map fixes!
(leaving the code around for now)
2020-04-30 14:27:54 -07:00
Dustin Carlino
773ea6d5cf fix graph connectivity problems
- forcing a sidewalk until we can snap OSM footpaths better
- fixing 0-cost CH edges

but, uh, now montlake without fixes gridlocks again. :D
2020-04-30 12:12:36 -07:00
Dustin Carlino
0bc965f0b9 updated a few traffic signals along 23rd. have to filter out signal data
from fixed intersections, urgh
2020-04-29 12:15:22 -07:00
Dustin Carlino
734c06418a It is 5 am
And you are listening
To Los Angeles
2020-04-28 14:31:23 -07:00
Dustin Carlino
18779c10ad organizing data/input by city. (I tried organizing everything in data/,
but it's too big a change. small steps.)
2020-04-28 12:28:37 -07:00
Dustin Carlino
0aaf9a1487 workaround repeated scenario running out of parking 2020-04-28 10:12:08 -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
193ff2344a require a particular directed road for spawning from borders 2020-04-26 12:35:07 -07:00
Dustin Carlino
7eba721145 decide extra offstreet parking by an option in convert_osm. remove the old standalone binary in favor of just using importer 2020-04-25 10:36:49 -07:00
Dustin Carlino
65ef5d4149 make LonLat implement Eq 2020-04-24 21:36:52 -07:00
Dustin Carlino
55e0d2a364 overhauling offstreet parking model:
- almost all buildings can have a few spots
- render things a little differently
- increase paranoia of buildings that can have driveways, to avoid many
complicated simulation issues
2020-04-24 12:50:22 -07:00
Dustin Carlino
855bba7cc8 more alert locations. use to easily jump to cars entering/exiting
parking inside buildings.
2020-04-23 20:23:39 -07:00
Dustin Carlino
09c77ee705 creating a new map to study lake wash blvd. for now, disabling all
mapfixes.
2020-04-20 15:11:04 -07:00
Dustin Carlino
d80513235d defer choosing a starting lane for borders in scenarios, to respond to lane edits 2020-04-19 10:51:23 -07:00
Dustin Carlino
6d9695fb59 fix a bug where a crosswalk and road turn group incorrectly conflicted.
was causing a crash trying to edit traffic signals downtown
2020-04-18 19:42:48 -07:00
Dustin Carlino
c2ecd1e06d sort ascending or descending, to look at improved trips too. and fix a
bug counting lanes in a modified path
2020-04-09 14:43:09 -07:00
Dustin Carlino
f986dd8683 switch back to upstream fast_graphs, using the new 32-bit wasm-friendly
serialization. no measured performance impact. file sizes shrink!
2020-04-05 09:41:51 -07:00
Dustin Carlino
88bad05d39 clean up agent properties. lots of tweaks needed, but i'm exhausted 2020-04-02 21:36:19 -07:00
Dustin Carlino
2181d8a56d two sanity refactors
- btreeset macro
- switch to "ID #123" by default
2020-03-31 16:40:07 -07:00
Dustin Carlino
b3028fd69c adjust edit overlay color, and add an explicit reset button to edits 2020-03-21 10:12:13 -07:00
Dustin Carlino
718c6a346a more arrows for one-ways. forces some changes to edit tracking -- more
computation, less code.
2020-03-21 09:56:43 -07:00
Dustin Carlino
0bcbac1fee upgrade a few misc packages 2020-03-17 10:35:37 -07:00
Dustin Carlino
e47d5f7917 fix parking markings and where pedestrians walk for left-hand maps for #27 2020-03-17 10:09:44 -07:00
Dustin Carlino
be9671a51f more fixes for left-hand maps (#27):
- avoid a crash by deduping intersection polygon points
- make shared sidewalk corners saner by flipping order of points
- improve crosswalk determination
2020-03-16 18:27:33 -07:00
Dustin Carlino
812c7fa640 start support driving on the left, more carefully tracking all the dependencies. part of #27. lots of bugs left, but it doesn't break anything for driving on the right. 2020-03-16 17:40:12 -07:00
Dustin Carlino
1cce49648b some fixes to get Perth to import, part of #27
- filter out indoor corridors
- plumb through a flag for driving on the right/left. don't use it yet.
2020-03-16 15:20:35 -07:00
Dustin Carlino
4accd788f2 new overlay showing elevation changes. data is bad, but the overlay is decent. 2020-03-15 12:42:30 -07:00
Dustin Carlino
4634ae094b temporarily treat u-turn restrictions as left turns, for #27 2020-03-13 10:50:11 -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
377fed6ce0 cutover to the separate traffic signals repo 2020-03-10 17:08:19 -07:00
Dustin Carlino
2939dadf23 cut out the metadata and walk button mapping for now, in favor of freeform notes. 2020-03-10 16:41:37 -07:00
Dustin Carlino
c1b9684929 editing for walk buttons. doing it the straightforwardish way requires a
dependency on abstutil for Cloneable! time to try something much nicer
2020-03-05 12:51:04 -08:00
Dustin Carlino
39ff3b1310 representing beg buttons, but no data entry yet. 2020-03-04 16:38:01 -08:00
Dustin Carlino
1ad434f3d6 record some metadata about the traffic signals. bad UI for now. 2020-03-04 14:40:32 -08:00
Dustin Carlino
68cd66b1c7 import signal data and use by default 2020-03-04 13:44:40 -08:00
Dustin Carlino
d44303de5c starting a new crate with a JSON schema for traffic signals. exporting
to it.
2020-03-04 11:59:41 -08:00
Dustin Carlino
0f5ab2f410 change turn group representation to prepare for cross-map edits 2020-03-03 17:20:56 -08:00
Dustin Carlino
543d815677 use 2-phase traffic signals by default, not 4. avoids some gridlock. now
23rd actually completes just fine!
2020-02-26 14:02:21 -08:00
Dustin Carlino
34b1f342a2 fix map deserialization in wasm. 64-bit usizes in fast_paths was the problem. 2020-02-25 14:49:56 -08:00
Dustin Carlino
044eef2b43 fix traffic signal editing, broken by the EditCmd refactor 2020-02-19 09:55:50 -08:00
Dustin Carlino
8434369d94 simplify representation of intersection edits, to allow proper undoing 2020-02-18 10:45:50 -08:00
Dustin Carlino
93c159b844 convert between stop signs and traffic signals. fixes #16 2020-02-18 09:54:14 -08:00
Dustin Carlino
3555e58369 new map! tried to grab fresh OSM, but some of the old fixes broke it, so
will find a workaround tomorrow
2020-02-17 21:54:50 -08:00
Dustin Carlino
bd51208684 name intersections in info panels better, and avoid horizontal scrolling
in most?? cases
2020-02-17 17:07:25 -08:00
Dustin Carlino
691dcdfbbc also revamp panels for other objects, except for the trip details part 2020-02-12 12:22:43 -08:00
Dustin Carlino
ba089572e5 better error if a map is missing, to help with #43 2020-02-07 15:12:37 -08:00
Dustin Carlino
a3149d2219 no_edits -> untitled edits 2020-02-06 13:15:09 -08:00
Dustin Carlino
872cd0cba6 'save as' feature for map edits. autosave otherwise. 2020-02-06 12:31:06 -08:00
Dustin Carlino
0890a37ee1 carve out a section for showing off curated proposals [rebuild] 2020-02-03 18:01:49 -08:00
Dustin Carlino
6f6dda72bd better turn group blocks that handle variable lane width and
non-contiguous turn lanes. also clarify part of tutorial for #42
2020-02-01 19:11:01 -08:00
Dustin Carlino
1d13ae39c3 explain a few more things in the tutorial, improve arrows a bit
[rebuild]
2020-01-31 12:18:44 -08:00
Dustin Carlino
79de16a840 get the sim crate to build to wasm. a small step towards #21 2020-01-30 17:28:52 -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
5048c69750 scrape named amenities from OSM, match to buildings 2020-01-28 15:57:45 -08:00
Dustin Carlino
4f60d6cb77 make the all-walk conversion idempotent, and some other bugfixes to the
editor
2020-01-24 15:30:32 -08:00
Dustin Carlino
971e8ae3a5 rainy night fixes:
- skip out-of-bounds turn restrictions during map creation
- don't enter sandbox mode with a tutorial map loaded
- fix intersection demand overlay getting clobbered
- keep updating info panel even when we hover over something else
- tweak bad order in trip details info
2020-01-23 23:03:07 -08:00
Dustin Carlino
95a84fd26a tweaking rustfmt options; the long literal string vecs in tutorial look awful 2020-01-21 15:20:02 -08:00
Dustin Carlino
bc8eb8d6e0 ahhh, fix bug that made crosswalks not conflict with turns 2020-01-10 09:18:21 -06:00
Dustin Carlino
53f33a31e4 hide IDs unless in dev mode 2020-01-09 11:50:56 -06:00
Dustin Carlino
c049221743 add a timeline showing bus location 2020-01-08 13:59:01 -06:00
Dustin Carlino
38d731e2a5 adjust traffic signal diagram based on yuwen's mocks 2019-12-20 13:11:50 -08:00
Dustin Carlino
a67b1bf19a refactor Polygon::rectangle_top_left and a few more things... taking
Distance everywhere is kind of silly
2019-12-20 12:42:49 -08:00
Dustin Carlino
875ce494fe woops, was keeping around temporary driveway lines in one case 2019-12-19 16:48:52 -08:00
Dustin Carlino
585cdfea63 express pedestrian pathfinding costs as time. this lets us more realistically model riding a bus as a time cost. as a nice side-effect, computing the CH for the walk_with_transit graph for huge_seattle drops from 10 minutes to 25s. 2019-12-19 12:41:53 -08:00
Dustin Carlino
959a89e81c dont serialize paths of yet-to-be-spawned stuff. drastically reduces savestate size. 2019-12-17 18:08:59 -08:00
Dustin Carlino
e307e1f56d only need to prebake once per map+scenario 2019-12-13 13:57:27 -08:00
Dustin Carlino
16c9819a0d Check in the first manifest for data/system/, after fixing a
nondeterminism issue in fast_paths
2019-12-13 13:44:03 -08:00
Dustin Carlino
5157d87109 start tracking when data/system changes, so I know when to upload new seed data. but oops... RawMap->Map isn't deterministic. fixed one problem, working on another in fast_paths 2019-12-13 12:59:50 -08:00
Dustin Carlino
201c0edaab moving some debug info from the info panel to the console log 2019-12-12 16:09:01 -08:00
Dustin Carlino
ed2f703e85 add some logging to debug #19 2019-12-12 10:35:51 -08:00
Dustin Carlino
ee598b6ae4 round of clippy. not fixing everything. 2019-12-11 16:17:15 -08:00
Dustin Carlino
2afa2ef43f experimenting with tracking and visualizing demand at traffic signals 2019-12-09 15:23:30 -08:00
Dustin Carlino
89a3d1cf5f one generic prebake method to rule them all 2019-12-06 13:45:15 -08:00
Dustin Carlino
e4a34306b0 make pedestrian pathfinding graph use sidewalk endpoints. simpler to
construct final route, and the routes look much more realistic.
2019-12-05 14:09:03 -08:00
Dustin Carlino
3501aa6d72 reviving some way of saving and using purely synthetic maps. creating a
few for the traffic signal tutorial.
2019-12-04 12:19:17 -08:00
Dustin Carlino
a043a9ba05 clean up more of abstutil path/filesystem API 2019-12-03 09:59:43 -08:00
Dustin Carlino
6170792328 centralize a little more path building in abstutil 2019-12-02 20:49:55 -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
b533377159 come up with some building address when there are no building tags 2019-12-02 15:00:53 -08:00
Dustin Carlino
8d34759b7c start tracking and debugging phases of a trip 2019-11-29 13:15:10 -08:00
Dustin Carlino
1648b56009 fix crashes in all trip viz 2019-11-29 11:57:25 -08:00
Dustin Carlino
2c49d68a0f last lingering cleanups for Duration / Time types 2019-11-27 13:12:19 -08:00
Dustin Carlino
819e27aa5d cutover sim time (via the API) to time 2019-11-27 11:49:57 -08:00
Dustin Carlino
51bb492953 speed up import of huge_seattle by 90s by computing node order from scratch for bikes 2019-11-24 14:06:55 -08:00
Dustin Carlino
3ee73d40f0 guarantee protected turns actually get first dibs in the scheduler 2019-11-22 18:56:39 -08:00
Dustin Carlino
1145bbc8e6 overhaul ControlTrafficSignal to natively understand TurnGroups. but
it... didn't solve the problem of a left turn yield going first?!
2019-11-22 18:42:44 -08:00
Dustin Carlino
44128b3615 hanle turn groups a bit more correctly in ControlTrafficSignal... but
not yet natively
2019-11-22 12:11:04 -08:00
Dustin Carlino
17c5532aca store the turn groups in the traffic signal 2019-11-22 11:36:50 -08:00
Dustin Carlino
a3f1261557 precompute TurnGroup stuff 2019-11-22 10:55:04 -08:00
Dustin Carlino
1f972e5afb handle crosswalks too 2019-11-21 16:55:40 -08:00
Dustin Carlino
55eead8ec7 improve turn block rendering 2019-11-21 16:04:53 -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
318b467f69 add in traffic signal offset end-to-end 2019-11-21 10:18:01 -08:00
Dustin Carlino
60d59c4fc1 dont let player leave traffic sig editor with missing turns 2019-11-20 15:42:25 -08:00
Dustin Carlino
a5c517851e trying fixes again, for 23rd. i think the problem was making montlake
fixes, then more huge_seattle fixes that invalidated the montlake fixes.
it's not hard to do the last-minute border trimming, so be willing to
restart that.

but actually, also have to skip deleting intersections if roads are
connected. urgh.
2019-11-20 12:39:10 -08:00
Dustin Carlino
0e6f89f88b for now, just clobber turn restrictions when merging roads. want to move forward with fixing other maps. also remove label from previous fixes 2019-11-20 11:27:22 -08:00
Dustin Carlino
ba2206d02a be able to start and end bike trips on bike lanes. use driving
blackholes for now.
2019-11-19 14:10:02 -08:00
Dustin Carlino
c7fbaaf7e1 reset edits when leaving sandbox mode 2019-11-19 11:47:40 -08:00
Dustin Carlino
c0fea0811f analyze a bike route and warn when bike lanes arent used 2019-11-18 14:01:15 -08:00
Dustin Carlino
0c2bd1ec0c no need to clobber stop signs when lanes nearby are edited. also, er, i
bricked setting lane types -- fixed ><
2019-11-18 10:43:53 -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
c148016877 compress edits when saving 2019-11-17 18:36:07 -08:00
Dustin Carlino
bd108b8d9a redraw stop signs and traffic signals as changes happen 2019-11-17 18:05:35 -08:00
Dustin Carlino
8c2d383fd7 undo button, and displaying last 5 edits 2019-11-17 17:02:14 -08:00
Dustin Carlino
83352965b0 woops, forgot about a block of commented stuff in apply_edits. prevent
orphaning a bus stop
2019-11-17 12:44:24 -08:00
Dustin Carlino
2e2fd1d931 computing the actual set of modified stuff, using it for revert and info 2019-11-17 12:28:48 -08:00
Dustin Carlino
b670299b89 support un-closing an intersection. prevent closing borders. 2019-11-17 11:35:37 -08:00
Dustin Carlino
05ba77ba9b prototyping map edits as a sequence of commands. some existing behavior
temporarily lost. i think this is simpler, will forge ahead
2019-11-16 20:27:10 -08:00
Dustin Carlino
f840175ef4 display pathfinding cost in info panel and heatmap 2019-11-16 15:16:28 -08:00
Dustin Carlino
b8abeccb43 very basic pathfinding penalty for not using bike/bus lanes when theyre available. except it's not working! argh 2019-11-15 15:00:14 -08:00
Dustin Carlino
22397b93a7 NOW ban bikes from motorways. popdat trip filtering needed to handle
some impossible-to-fulfill requests involving borders
2019-11-15 10:48:33 -08:00
Dustin Carlino
8ed42e9fb6 can_use can ban bikes from highways... disabled because it's breaking
psrc scenario, about to dig in
2019-11-15 10:11:31 -08:00
Dustin Carlino
59913d79e9 also switch some border-related methods to use PathConstraints 2019-11-14 20:37:03 -08:00
Dustin Carlino
2dea662fa0 rip out old methods in map for filtering turns 2019-11-14 20:24:54 -08:00
Dustin Carlino
0f3191bca8 tweak pathfinding to use PathConstraints 2019-11-14 20:10:53 -08:00
Dustin Carlino
9e3f318f48 make floodfiller show reachability based on PathConstraint. start new
methods for valid turns based on PathConstraint.
2019-11-14 20:00:52 -08:00
Dustin Carlino
4c9975f8b0 be a little more precise with PathRequest 2019-11-14 19:18:22 -08:00
Dustin Carlino
1c330d856f fix the close-intersection tool. make it check that sidewalks aren't disconnected by the change. implement un-closing an intersection for construction! 2019-11-14 13:03:33 -08:00
Dustin Carlino
98ef31fa24 disabled: import and render pedestrian traffic islands. include them in
search results.
2019-11-14 10:54:11 -08:00
Dustin Carlino
53bbf4e272 manually trim a few disconnected sidewalks 2019-11-13 15:01:53 -08:00
Dustin Carlino
628111b421 show sidewalks disconnected in edit impact. prerequisite to preventing this. 2019-11-12 16:08:39 -08:00
Dustin Carlino
03d599775f clean up some crosswalks generated near roads with sidewalks only on one side 2019-11-12 15:54:47 -08:00
Dustin Carlino
65d8f9e3c6 oops, wasnt recomputing pedestrian graphs at all. but now that connectivity can change too, so... 2019-11-11 15:17:40 -08:00
Dustin Carlino
1ff80b2e20 start figuring out what impact edits have on trips in a scenario. also,
count trips with the first path failing as aborted.
2019-11-11 14:14:19 -08:00
Dustin Carlino
6fb5fd2239 start modeling intersections closed for construction. ignore impact on trips, pathfinding, etc. bugs with applying edits, but a start. 2019-11-10 15:03:06 -08:00
Dustin Carlino
0fb358b38d interpret sidewalks=separate as =both for now, so the downtown map is usable again 2019-11-10 12:19:39 -08:00
Dustin Carlino
5aecb96d8f refactor turn restriction handling in map_editor... no behavioral changes yet 2019-11-09 16:10:18 -08:00
Dustin Carlino
5bb8e0a83b overhaul stop signs. can only toggle which roads have a stop sign or
not. no more granular control of individul turns
2019-11-09 14:20:31 -08:00
Dustin Carlino
7b2a0b87b3 just use 3 turn priorities, interpret them a bit differently.
temporarily kinda breaking stop signs
2019-11-09 13:35:55 -08:00
Dustin Carlino
6a5b312a07 same for correct end lanes 2019-11-07 16:32:26 -08:00
Dustin Carlino
b0dde63e57 make bulk spawner use correct start lanes 2019-11-07 16:16:04 -08:00
Dustin Carlino
179009de32 stop coloring synthetic/original stuff in map editor. not useful now that it's normal to modify existing stuff 2019-11-06 10:16:06 -08:00
Dustin Carlino
7800ac046e WIP detecting problems applying fixes 2019-11-06 09:58:21 -08:00
Dustin Carlino
1a28768df3 displaying bus delay data over time. needs work, but solid start to a
general plotting mechanism
2019-11-05 13:00:51 -08:00
Dustin Carlino
03e2c0b3f2 one master set of fixes in huge_seattle coordinate space, then a single override per map. start over with fixes... again. for the last time?! all the tricky cases from last time work now... 2019-11-04 09:50:59 -08:00
Dustin Carlino
432995d8e5 confirm before bailing out of sandbox mode 2019-11-01 20:43:09 -07:00
Dustin Carlino
33fe2981af oh wow, traffic signal durations have been hardcoded forever. woops? 2019-11-01 14:26:27 -07:00
Dustin Carlino
f0bc8eb1fa move a validity check for border intersections up-front in map construction. be able to skip fixes in precompute scripts too 2019-10-31 15:55:02 -07:00
Dustin Carlino
abf14e1fac track when map edits are dirty 2019-10-31 14:51:35 -07:00
Dustin Carlino
11af01d0ea prevent bus routes near borders from being filtered out 2019-10-31 12:07:35 -07:00
Dustin Carlino
9995bed6ab improve dead-ends by using a shared sidewalk corner, not a crosswalk 2019-10-30 10:10:28 -07:00
Dustin Carlino
a5892daedb add a new lane type for road closures 2019-10-29 17:04:57 -07:00
Dustin Carlino
8e4bc6961b montlake is completely fixed of short roads! also turn restrictions
around 520, crosswalks over 2 one-ways, decided to use one fix file per
map
2019-10-28 19:08:44 -07:00
Dustin Carlino
ca43e6fb43 woops, wasnt deleting turn restrictions from world layer. fix up
montlake/520 once again, modulo turn restrictions
2019-10-28 16:16:25 -07:00
Dustin Carlino
1f7c113267 fix road merging. simpler now that roads only have one object
associated. require turn restrictions to be deleted first. fix the
boston area as a test
2019-10-28 14:33:10 -07: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
ea50371d64 rip out stable IDs in favor of orig IDs. the extra layer is confusing for things like MapFixes. stop modifying orig IDs when merging roads.
NOT done with this transition yet, just pushing to not lose work
2019-10-28 12:08:11 -07:00
Dustin Carlino
ecc86b6d6a revamping MapFixes. very straightforward full override of synthetic/normal stuff, including geometry. no more semantically weird hints like merging roads. some bugs left. 2019-10-27 17:15:27 -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
e881d13014 find all the short lanes, from map_editor 2019-10-26 15:01:27 -07:00
Dustin Carlino
fe14e1709b implement PartialEq on Pt2D using the old epsilon_eq. too many places in the codebase are inconsistent. 2019-10-25 12:24:18 -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
1a92590c28 some fixes become invalid as osm edits happen. print better errors so the fixes can be manually... fixed. and a script to grab fresh OSM data 2019-10-24 17:11:35 -07:00
Dustin Carlino
d8b11ca10e some right (by angle) turns cross roads; those should be straight turns 2019-10-23 14:37:00 -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
996eceea92 with the new traffic signal, add back the 520 EB onramp 2019-10-22 15:00:56 -07:00
Dustin Carlino
2d02f90d9b another easy one -- one phase per road 2019-10-22 14:29:58 -07:00
Dustin Carlino
92b15507d5 new strawman 2-phase traffic signal policy 2019-10-22 13:54:09 -07:00
Dustin Carlino
44eb13d5ee argh, there are two tags used for shared left turn lane 2019-10-21 19:31:41 -07:00
Dustin Carlino
d358f574d5 handle OSM polylines that have redundant internal nodes and cause weird shifting later (26th and gilman) 2019-10-21 19:28:31 -07:00
Dustin Carlino
c9db056c3a start representing shared left turn lanes. nothing uses them yet,
just draw them (without the left turn markings)
2019-10-21 16:14:16 -07:00
Dustin Carlino
7ead5f9281 make traffic signal diagram always be a fixed width; zoom the intersection based on that 2019-10-21 15:17:21 -07:00
Dustin Carlino
f78b11d633 (temporarily) filter out driveways too close to either end of the road.
get cars unparking from driveways properly.
2019-10-19 19:10:59 -07:00
Dustin Carlino
96a38b98b1 allow sidewalks on both sides of all oneways. dont remember where the negative case was earlier. this was causing parking->sidewalk crashes in many maps 2019-10-18 14:50:05 -07:00
Dustin Carlino
012d5bdd1d make parking/unparking on offside shift the correct direction.
theoretically also handle unparking from a driveway, but cant test that
easily yet...
2019-10-17 14:40:27 -07:00
Dustin Carlino
5e41a607fd adjust starting pos of parked cars going to offside driving lane 2019-10-17 14:11:07 -07:00
Dustin Carlino
03d31477af make sim handle parking lanes on off-side of a oneway. ostensibly.
haven't forced a test case yet
2019-10-16 17:55:22 -07:00
Dustin Carlino
10f2f6008f improve map_editor's intersection preview
- timer for setting up world
- preview all intersections
- move world to map_editor; it's too oddly specialized
- dont show circle while previewing intersection geom
- show overlapping intersection polygons
2019-10-16 15:08:22 -07:00
Dustin Carlino
413525aae5 refactor RawRoad -> initial Road 2019-10-16 10:36:39 -07:00
Dustin Carlino
1438a1490b allow parking lanes on the 'backwards' direction of oneways. they exist, still need to use them properly. 2019-10-16 10:23:29 -07:00
Dustin Carlino
a762887cf8 interpret parking tags from OSM. explicitly mark when convert_osm infers and adds these. 2019-10-15 09:49:11 -07:00
Dustin Carlino
51352d05a9 interpret OSM tags to figure out bike lanes on one side 2019-10-14 15:05:45 -07:00
Dustin Carlino
85ff33e72d basic, but working, impl of cars lane-changing opportunistically 2019-10-13 14:30:20 -07:00
Dustin Carlino
2edb275d3c rename cycle -> phase, match the literature 2019-10-09 15:27:25 -07:00
Dustin Carlino
b7b3a97a5e remove parking from SR-99 and other highways :) 2019-10-08 11:41:45 -07:00
Dustin Carlino
8d826c2f43 ah, need to rerender lane on the other side of the road for contraflow to erase dashed white lines 2019-10-08 11:32:30 -07:00
Dustin Carlino
258f3d4528 reverse lane direction as a new edit. might be a few determinism issues,
but seems to mostly work.
2019-10-07 18:04:31 -07:00
Dustin Carlino
c82e90bbec allow merging short roads with metadata changes. some fixes around
madison
2019-09-30 10:11:45 -07:00
Dustin Carlino
75b18ccfd5 plumb back better errors for not being able to make map_editor changes 2019-09-30 09:49:47 -07:00
Dustin Carlino
707a649fdd skip empty phases of generated traffic signals 2019-09-30 09:35:42 -07:00
Dustin Carlino
a539270beb dont compare GPSBounds exactly, bc floating pt serialization problems.
add a turn restriction near uw.
2019-09-30 09:24:17 -07:00
Dustin Carlino
c971a732dd more flexibly merge short roads with stop sign and traffic signal. use it to fix a stuck part of 23rd. 2019-09-29 20:50:14 -07:00
Dustin Carlino
9d237f314b dont conflict between synthetic OSM IDs created by map_editor and by map clipping 2019-09-29 12:43:02 -07:00
Dustin Carlino
b99dfce763 transform geometry in MapFixes based on GPSBounds. also have to
abandon the 520 fixes, because something odd is going on with the newer
osm import. :( IDs changed?
2019-09-29 10:17:02 -07:00
Dustin Carlino
1a7e0b0a07 fiddle with apply_fixes order to make deleting roads with restrictions work 2019-09-27 11:24:04 -07:00
Dustin Carlino
0ef002ad30 saving the turn restriction mods 2019-09-27 11:19:27 -07:00
Dustin Carlino
1a678f6e72 revamp osm turn restriction handling. capture the 'via' to disambiguate things, and match to roads way sooner. not persisting to MapFixes again. 2019-09-27 11:05:19 -07:00
Dustin Carlino
00b9fc18e3 working on intersection geometry. few disabled things. 2019-09-26 15:56:31 -07:00
Dustin Carlino
2554b08641 upgrade to rust 1.38, fix new clippy errors 2019-09-26 14:38:50 -07:00
Dustin Carlino
0961475abc some prep to make debugging intersection geometry in map_editor easier.
showing cursor pt and labeled debug lines.
2019-09-26 14:29:23 -07:00
Dustin Carlino
837de16c32 preview intersection geometry from map_editor 2019-09-25 12:20:13 -07:00
Dustin Carlino
b9df20de5c save turn restriction edits in MapFixes. some caveats. 2019-09-25 11:51:34 -07:00
Dustin Carlino
1b21f03464 cant add turn restriction btwn unconnected roads 2019-09-25 11:03:12 -07:00
Dustin Carlino
cfa21d4cc3 cant delete roads involving turn restrictions 2019-09-25 10:50:06 -07:00
Dustin Carlino
23166b1aa8 switch to turn restriction enums, so we can easily use IDs in map_editor 2019-09-24 18:58:06 -07:00
Dustin Carlino
dd9827df72 add/delete turn restrictions, without saving in fixes yet. adding is
buggy.
2019-09-24 18:35:57 -07:00
Dustin Carlino
8046f36936 working on turn restrictions in map_editor 2019-09-24 13:55:41 -07:00
Dustin Carlino
67fb1b39da filling in more validity checks for map_editor... 2019-09-24 13:24:33 -07:00
Dustin Carlino
b108f0cbc0 remove the intermediate HalfMap structure 2019-09-23 16:06:43 -07:00
Dustin Carlino
536df84844 rename raw_data layer of stuff for easier importing, disambiguation 2019-09-23 15:00:55 -07:00
Dustin Carlino
333f976721 remove dead merge code 2019-09-23 14:12:54 -07:00
Dustin Carlino
72d834b332 remove hints. MapFixes took over. 2019-09-23 14:10:50 -07:00
Dustin Carlino
18b5d1ae8f goodbye, fix_map_geom. rename synthetic crate to map_editor 2019-09-23 13:54:09 -07:00
Dustin Carlino
f06db4ecb4 remove the old hacky fix_ramps phase. underlying problem is probably pedestrian islands not being modeled properly. workarounds now possible through synthetic. 2019-09-23 12:48:55 -07:00
Dustin Carlino
1495cc2970 remove redundancy of osm IDs on raw stuff 2019-09-23 12:08:00 -07:00
Dustin Carlino
deaa555565 cutover Original{Road,Intersection} to just use OSM IDs. adjust a few
other places to ensure unique-per-map synthetic OSM IDs
2019-09-23 11:50:04 -07:00
Dustin Carlino
b2fb7e7396 adjust epsilon so huge_seattle imports again 2019-09-21 08:22:28 -07:00
Dustin Carlino
1e73baa078 start remembering osm_node_ids for intersections 2019-09-20 15:17:54 -07:00
Dustin Carlino
a130f876f9 more validations for merging short roads 2019-09-20 14:36:53 -07:00
Dustin Carlino
3a8752d2e9 less dumb raw_data mutation API. take stable IDs, which synthetic model already has and apply_fixes computes anyway 2019-09-20 14:13:08 -07:00
Dustin Carlino
9d077c8081 moving remainder of mutations from model to raw_data 2019-09-20 13:54:51 -07:00
Dustin Carlino
e1988e56e5 recording fixes inside raw map. simplifying model's way of managing all fixes 2019-09-20 13:14:28 -07:00
Dustin Carlino
b9ac8021d0 making first-class mutations on raw map, so synthetic model does less
work. not porting over the mutations not preserved by fixes yet, and
also not actually recording fixes for the moment...
2019-09-20 13:06:29 -07:00
Dustin Carlino
0ae0a88abb actually, serialize MapFixes as json for now. will switch to binary when this is large later, but for now, this is easier to handle schema changes and debug. 2019-09-19 14:39:31 -07:00
Dustin Carlino
9a58136fc1 remove two debuggers (original roads and reattempting intersection geom) from game. not useful, and this could work better in synthetic or fix_map_geom. also lets us stop copying an extra polyline in the final map 2019-09-19 14:16:50 -07:00
Dustin Carlino
1599507934 support for merging short roads in synthetic editor. the fix gets
applied later by very painfully copying logic and doing a slow thing.
2019-09-19 14:03:04 -07:00
Dustin Carlino
3eb9acf0aa plumb parking lane hints around through tags too; simplifies a few places 2019-09-19 13:30:07 -07:00
Dustin Carlino
fd273ae62d woops, i broke fix_map_geom when deferring remove_disconnected_roads.
also update install instructions to prep for hackathon
2019-09-19 11:44:52 -07:00
Dustin Carlino
fac8d4d9ff remember tag overrides for osm roads in fixes 2019-09-18 15:25:52 -07:00
Dustin Carlino
3fd74673cf edit name and speed limit of a synthetic road 2019-09-18 11:15:06 -07:00
Dustin Carlino
d86f4a6e89 separate files for groups of fixes 2019-09-18 10:48:17 -07:00
Dustin Carlino
6f1ac3969e organizing osm keys 2019-09-17 17:14:09 -07:00
Dustin Carlino
e52fa1fc1a recording and applying fixes to create new synthetic intersections and roads 2019-09-17 16:16:19 -07:00
Dustin Carlino
e32b540f54 draw boundary polygon, and deal with matching orig IDs that run right up
against the map boundary
2019-09-17 13:56:15 -07:00
Dustin Carlino
eee5981c14 stable IDs for buildings in raw layer too. stop futzing with ID problems there. 2019-09-17 13:11:08 -07:00
Dustin Carlino
33ab7d4553 a big cutover -- synthetic model is just a thin wrapper on a raw_data map. mostly everything works! 2019-09-17 12:55:33 -07:00
Dustin Carlino
0e406afe0f store name in raw map; simplifies some plumbing elsewhere 2019-09-17 10:27:32 -07:00
Dustin Carlino
18baf7ae49 remove disconnected roads from raw map later, not in convert_osm. that way, if MapFixes disconnect anything, it gets removed later 2019-09-17 09:41:38 -07:00
Dustin Carlino
030191ef31 fixed OriginalRoads, which were pretty much always wrong (not split from
the original OSM way). also handle cul-de-sacs.
2019-09-17 09:29:19 -07:00
Dustin Carlino
572c69175c apply fixes to raw_data in synthetic crate and when creating the full map model. adjusting some LonLat matches to do approx_eq. not stable yet -- sometimes we leave a road connected to something missing. 2019-09-16 12:31:15 -07:00
Dustin Carlino
3e8a825ac1 recording changes from synthetic crate 2019-09-16 10:56:45 -07:00
Dustin Carlino
8d8237a40e making sure we only consider appropriate lane types for parking searches 2019-09-15 10:11:13 -07:00
Dustin Carlino
3a5e9c5a29 make_degenerate_crosswalks broke on huge_seattle, dodge tiny lines 2019-09-14 09:37:30 -07:00
Dustin Carlino
c86c1df21a add ability to move intersections to fix_map_geom... it partly works. 2019-09-10 11:47:11 -07:00
Dustin Carlino
c4b47aeeb5 make other_crosswalk_ids aware of the degenerate intersection quadruple case, and avoid quadruple-rendering 2019-09-09 14:55:53 -07:00
Dustin Carlino
18abb85431 adjust degenerate intersections: only one crosswalk, reduce size of it 2019-09-09 12:28:19 -07:00
Dustin Carlino
68269530fe refactor intersection type checks 2019-09-07 12:34:39 -07:00
Dustin Carlino
edb85da4c4 dont connect driveway to SR-99, yo 2019-09-02 22:57:44 -07:00
Dustin Carlino
528010f308 render cars on driveways a little better 2019-09-02 22:34:01 -07:00
Dustin Carlino
1910d06bc7 infer clipping polygon from entire .osm if no polygon is specified 2019-09-02 12:37:40 -07:00
Dustin Carlino
ba2b5fc831 compute and render driveway lines 2019-08-30 12:38:07 -07:00
Dustin Carlino
ea9d01bcc1 set a modal menu's prompt just once in a few places, where that's more
convenient
2019-08-27 14:56:43 -07:00
Dustin Carlino
0a39f4bd77 get rid of the coordinates_in_world_space hack; synthetic can just directly work in Pt2Ds now 2019-08-26 15:57:28 -07:00
Dustin Carlino
9fac44e28b fix roundabout handling. clearing out hints, because many no longer
apply with the back-and-forth gps/pt2d stuff... reasonable to reset
efforts anyway, now that I'm considering patching in OSM edits instead
2019-08-26 14:40:47 -07:00
Dustin Carlino
c545e5d86e some bug with previous commit messing up roundabout handling... quick detour to only have HashablePt2D for Pt2D, never for LonLat 2019-08-26 14:10:34 -07:00
Dustin Carlino
114a76893a now raw_data::Road 2019-08-26 13:59:10 -07:00
Dustin Carlino
9156cbd434 raw_data::Intersection too 2019-08-26 11:18:39 -07:00
Dustin Carlino
ce4369be27 raw_data::Building too 2019-08-26 10:36:00 -07:00
Dustin Carlino
6af2c5c0e0 raw_data::Area up-front stores a Polygon 2019-08-25 19:28:59 -07:00
Dustin Carlino
29eb463a6f base gps_bounds off of boundary polygon only. temporarily allow some out-of-bound coordinates, and deal with them during clipping. this means the osmosis boundary polygon is required. 2019-08-25 19:07:12 -07:00
Dustin Carlino
2b9ce7fef1 nit: why did FrontPath need a reference to the bldg? never passing it around in isolation. also update map article for parking blackholes 2019-08-25 14:57:04 -07:00
Dustin Carlino
1936f5f75e match offstreet parking KML to buildings 2019-08-25 14:00:25 -07:00
Dustin Carlino
5c0fb90819 recompute parking blackholes after edits 2019-08-23 13:21:45 -07:00
Dustin Carlino
17136509cf the parking redirects dont have to be before the lane... they can also be after. just nearby is the goal. this fixes a few more aborted trips 2019-08-23 12:30:25 -07:00
Dustin Carlino
9f897ef094 removing ezgui inline color parsing. pretty much unused, isn't helping
compile time. also fixing clippy issues
2019-08-22 13:38:16 -07:00
Dustin Carlino
ed0ca15aef make sim layer use parking redirects. lots of aborted trips now fixed! 2019-08-21 15:06:49 -07:00
Dustin Carlino
3b0a228a2c also viz the SCC 2019-08-21 14:34:57 -07:00
Dustin Carlino
d05ec2958d precompute where to start parking instead. dont use yet. 2019-08-21 14:17:11 -07:00
Dustin Carlino
bf7a65770b find the largest SCC of the driving graph, use this to classify parking blackholes 2019-08-21 11:48:33 -07:00
Dustin Carlino
d24543af99 plugin to show all reachable lanes from some start, to diagnose bad turn restrictions and such 2019-08-20 14:08:05 -07:00
Dustin Carlino
bffd1ebe08 really hacky start to classifying driving lanes as parking blackholes.
reveals some turn restriction data issues...
2019-08-19 15:43:35 -07:00
Dustin Carlino
f62965b5e2 small refactor: rename time param -> now. more clear and will help the Duration / Instant split later. 2019-08-19 14:56:07 -07:00
Dustin Carlino
7001139dc0 fix div by 0 bug with percent_dist_crossed for empty paths 2019-08-19 14:41:56 -07:00
Dustin Carlino
df90fc4f50 polylabel for building numbers 2019-08-19 12:01:10 -07:00
Dustin Carlino
a9267c76c7 debug tooltip showing how far an agent has traveled and how much
remains. seems to have small perf impact on initially calculating paths.
:(
2019-08-16 15:43:20 -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
758c5494d8 remove old unused deps 2019-08-09 13:34:40 -07:00
Dustin Carlino
38ea097b26 use WizardState for some more things, making proper use of bundling state with closures! 2019-08-08 11:17:53 -07:00
Dustin Carlino
574e30b3d8 adding a new hint for extra turn restrictions 2019-08-06 14:02:34 -07:00
Dustin Carlino
b5c48fca38 fix traffic signal diagram in sandbox mode after lots of time has passed :) 2019-08-06 11:59:58 -07:00
Dustin Carlino
edfd112459 work around a bug in should_use_transit with disconncted sidewalks 2019-08-05 13:47:38 -07:00
Dustin Carlino
77c01580f1 refactoring path references... 2019-08-04 17:11:33 -07:00
Dustin Carlino
4a9a40c09f cycle indices got out of sync easily. no need to store them at all. 2019-08-02 16:25:22 +02:00
Dustin Carlino
453204129c some instructions to import a new .osm. don't require a clipping
polygon. small tweaks to map construction to make Austin work.
2019-07-15 16:43:57 +02:00
Dustin Carlino
6d559a2a54 remove individual turn fiddling from stop sign editor, for simplified gameplay for now 2019-07-14 11:37:23 +01:00
Dustin Carlino
ff0a6b7240 pick bus route to explore from possible ones at a stop, and without
using a stop at all
2019-07-07 20:30:01 -07:00
Dustin Carlino
9600fefd2b woops, should_use_transit was returning too-greedy answers, never more than 1 stop 2019-07-07 20:09:32 -07:00
Dustin Carlino
463ad7292b remove bus stops with no routes 2019-07-07 19:35:44 -07:00
Dustin Carlino
2e41b2284e use the turn restriction data to filter more turns 2019-07-04 19:57:07 -05:00
Dustin Carlino
90236c3afb filter OSM restrictions only to roads where they really apply 2019-07-04 18:47:59 -05:00
Dustin Carlino
9f9db35c38 capture raw turn restriction data from OSM, hacky way to debug them 2019-07-03 17:16:00 -05:00
Dustin Carlino
57425c170c actually use OSM turn restrictions 2019-07-03 09:44:50 -05:00
Dustin Carlino
5fa824f504 preps for interpreting turn:lanes from OSM 2019-07-02 15:03:18 -05:00
Dustin Carlino
142c34af4e interpret lanes:forward and lanes:backward from OSM 2019-07-02 14:00:54 -05: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
218082140f don't use a bimap for NodeMap. less dependencies, marginal speed boost 2019-06-27 10:30:56 -07:00
Dustin Carlino
5e1a7238e8 preserve OSM tags when merging degenerate intersections. this lets 24th and lake washington be fixed without messing up the z-layering 2019-06-26 17:33:31 -07:00
Dustin Carlino
0711056d89 save and restore savestates for entire a/b tests. launching from scratch
takes 33s in debug, this takes 19s
2019-06-21 12:47:00 -07:00
Dustin Carlino
91cc74a30c dramatically slash the one-time preparation time for the 3 VehiclePathfinders by using the node ordering from one for the other two. this actually also exposed a bug that would eventually muck with recalculating after edits (node IDs depending on the original state of the map) 2019-06-18 16:21:35 -07:00
Dustin Carlino
7a49c585cf remove building_type and stop reading the residential permit shapefile 2019-06-18 14:58:57 -07:00
Dustin Carlino
04021f9fd1 print more complete and robust building names. adjust intersection and
building colors -- stop coloring buildings based on type (adds visual
noise, data is very bad)
2019-06-18 14:47:24 -07:00
Dustin Carlino
1835155a47 dont recalculate pathfinder after every map edit; just once at the end 2019-06-18 14:28:14 -07:00