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
Dustin Carlino
c2576b9ad7
disable path validation. 2.8s down to an even 2s.
2019-06-18 10:53:45 -07:00
Dustin Carlino
cdda463ee4
speed up pathfinding queries even more by reusing the PathCalculator
...
each thread
2019-06-18 10:25:35 -07:00
Dustin Carlino
a6aa46dd61
cutover driving pathfinding to fastpaths, using a full lane graph for driving instead of falling back when path stitching fails. handle edits by preparing the CH again, using the existing node ordering. one-time prep time is reasonable, recalculating works for live edit mode, and queries are FAST! :O
2019-06-17 19:16:04 -07:00
Dustin Carlino
cdacaef1a6
refactor menu text for all ItemSliders
2019-06-17 17:22:20 -07:00
Dustin Carlino
22db36c0f4
use a sparser, more obvious representation for walking_with_transit.
...
cuts prep time down to reasonable levels for everything.
2019-06-17 16:08:31 -07:00
Dustin Carlino
b4de820f56
make interactively spawned peds use transit if possible, to figure out
...
why the walking-with-transit graph is not working... argh which is
because map initialization order has so many funky dependencies
2019-06-17 15:32:49 -07:00
Dustin Carlino
4951eea644
cutover walking (with and without transit) pathfinding to fast_paths!
2019-06-17 14:14:30 -07:00
Dustin Carlino
ace3f0d285
remove Debug trait from Map and pathfinder -- not used in a long time
2019-06-17 12:14:16 -07:00
Dustin Carlino
58d056cdbc
remove paranoia panic for an anticipated case with hints
2019-06-17 10:45:54 -07:00
Dustin Carlino
ecaa8bea53
use slider to browse hints
2019-06-16 14:31:19 -07:00
Dustin Carlino
ec50a277ea
switch to one set of hints for all maps, put it under version control. seed with a few easy ones. :)
2019-06-12 15:16:38 -07:00
Dustin Carlino
da85927d03
change Hints to store based on gps points, so hints are universal, not per map
2019-06-12 14:55:48 -07:00
Dustin Carlino
0adeac1d53
remove the single point associated with intersections, now that we're
...
actually going to be mucking with geometry. it wasnt doing anything
useful anyway. also a round of clippy.
2019-06-12 10:10:04 -07:00
Dustin Carlino
e0c1d0b85d
operation to merge degenerate intersection
2019-06-12 08:58:59 -07:00
Dustin Carlino
35b7c18df9
remove elevation from map model. never been used, no anticipated need for it
2019-06-12 07:25:31 -07:00
Dustin Carlino
55f9589d15
preserve intersection type more intelligently when merging InitialMap stuff
2019-06-12 07:08:52 -07:00
Dustin Carlino
64b1cebb95
operation to delete a road completely
2019-06-11 19:04:00 -07:00
Dustin Carlino
98e073d8be
save hints from debug_initialmap, use them when constructing the real
...
map
2019-06-11 17:41:47 -07:00
Dustin Carlino
290c274661
debug_initialmap loads from raw_data. remove the complicated serialization stuff from InitialMap.
2019-06-11 17:21:28 -07:00
Dustin Carlino
d9474494e7
debug_initialmap: highlight short roads, expose a way to manually merge
...
a short road
2019-06-11 17:00:49 -07:00
Dustin Carlino
b1463cf020
construct Pathfinder before finalizing bus routes. dont manually call pathfind_slow for buses. this is a step towards removing the slow fallback entirely.
2019-06-11 14:52:01 -07:00
Dustin Carlino
4e2d16af29
consistently using file extensions of .json and .bin, merging duplicate abstutil io functions accordingly
2019-06-11 14:30:11 -07:00
Dustin Carlino
e1a6532a84
handle border intersections touching edited lanes
2019-06-09 18:10:37 -07:00
Dustin Carlino
c76738a678
upgraded to rustc 1.35, fixing a few cases of https://github.com/rust-lang/rust/issues/59159
2019-06-09 14:09:27 -07:00
Dustin Carlino
8eb03b81c3
remove edits_name from SimFlags and refactor loading MapEdits by name. fixes bug where quitting an a/b test breaks loading other maps by retaining edits_name
2019-06-08 16:32:10 -07:00
Dustin Carlino
2d0a53c2d6
improving turn type classification for driving/bus/bike lane interactions; this in turn improves the default intersection policies
2019-06-07 16:32:42 -07:00
Dustin Carlino
2d638eb94b
tool to bulk edit lane types
2019-06-07 15:41:39 -07:00
Dustin Carlino
57de773101
fix bus stop order... my MultiMap impl uses BTreeSet
2019-06-06 16:50:22 -07:00
Dustin Carlino
e3e032cb2e
argh, bus route IDs were totally out of sync with reality
2019-06-06 15:36:36 -07:00
Dustin Carlino
c29769a6b4
print bus stops and routes nicely in OSD
2019-06-06 15:31:59 -07:00
Dustin Carlino
88f6516f79
recalculate bus stop driving_pos when editing
2019-06-06 14:52:53 -07:00
Dustin Carlino
d7e639b5f3
dont allow orphaning a bus stop
2019-06-06 14:43:53 -07:00
Dustin Carlino
322176dded
detect when edits are equivalent to original
2019-06-06 13:56:42 -07:00
Dustin Carlino
b47069811e
TRY to adjust departure time and such for trips starting/ending at the border
2019-05-31 15:41:38 -07:00
Dustin Carlino
a9319dbe6a
capture PSRC trips that start/end out-of-bounds, matching them to a border. slow and buggy start!
2019-05-31 11:37:25 -07:00
Dustin Carlino
ea49fe63ba
match PSRC trips to OSM building IDs up-front, trimming down filesize and speeding up clipping later
2019-05-28 13:04:31 -07:00
Dustin Carlino
83f62631e9
fix cases where path.trace doubles back on itself a bit due to slightly
...
weird walking geometry
2019-05-28 10:19:49 -07:00
Dustin Carlino
40efcc7b05
generalize a parallelize method for timers, use for all trip viz
2019-05-25 19:35:35 -07:00
Dustin Carlino
bc69a6b4d4
spawn as many trips from PSRC as possible
2019-05-25 18:34:50 -07:00
Dustin Carlino
01a4abb64a
work around path traces that're breaking PolyLine
2019-05-25 13:33:41 -07:00
Dustin Carlino
1cdbe0ea81
refactor parallelized pathfinding and use it in trip viz too
2019-05-24 12:50:01 -07:00
Dustin Carlino
f674527ef2
interpolate along route for trip viz
2019-05-24 12:28:57 -07:00
Dustin Carlino
416d0b0d7d
building PathRequest for trip visualization, and slightly refactoring bldg->Position for it. also forced to extend the equiv_pos fix for bus stops to all equiv_pos queries.
2019-05-24 11:47:01 -07:00
Dustin Carlino
92a0d38978
deal with bus stops on the wrong side of the road
2019-05-21 16:18:39 -07:00
Dustin Carlino
aac9c41d8a
fix missing sidewalks on non-residential one-ways downtown. luckily, there's an explicit OSM tag to help. WIP this breaks bus stops on one-ways! fix coming soon
2019-05-21 14:33:32 -07:00
Dustin Carlino
9cc23c6ab1
remove unnecessary stop-signs at degenerates with crosswalks
2019-05-21 14:02:49 -07:00
Dustin Carlino
219a7b3236
refactoring list of signal policies
2019-05-21 13:26:39 -07:00
Dustin Carlino
6b5945aade
put traffic signal box in the true middle of the intersection; it was in a bad spot for one-ways
2019-05-21 13:13:24 -07:00
Dustin Carlino
4c1e9b41c1
experimentally try finding intersection polygon by naively intersecting thick road polygons.
2019-05-17 15:48:21 -07:00
Dustin Carlino
c29039c499
policies for four-ways all one-ways
2019-05-17 12:00:29 -07:00
Dustin Carlino
dec8d65776
better traffic light policy for degenerate intersections
2019-05-17 10:31:51 -07:00
Dustin Carlino
ec015624c0
workaround for awful intersection geometry causing get_outline's that
...
explode out to some corner and get constantly rendered
2019-05-16 18:49:47 -07:00
Dustin Carlino
a816a3d0be
defining a better set of pre-converted maps. disabling fix_ramps in most
...
cases.
2019-05-16 16:22:52 -07:00
Dustin Carlino
b6cdd0f99c
fix crosswalk coupling in intersection editors, not sure when this broke
2019-05-16 14:46:00 -07:00
Dustin Carlino
d516985437
use different colors for unzoomed roads to show road type
2019-05-15 14:23:39 -07:00
Dustin Carlino
faea2e94e3
improve LCing turns with degenerate intersections, turn markings
2019-05-14 10:28:22 -07:00
Dustin Carlino
73aab37fc7
explicitly represent StraightWithLaneChanging turns. fix up preset
...
stop sign and traffic signal policies
2019-05-13 16:58:02 -07:00
Dustin Carlino
6ab8372b01
SharedSidewalkCorners always have Priority; they never conflict with anything
2019-05-12 09:14:46 -07:00
Dustin Carlino
aa7bd11797
tweak edit mode's menu info
2019-05-11 16:53:30 -07:00
Dustin Carlino
9b848c894a
better selection polygons for polyline-based things
2019-05-11 16:03:39 -07:00
Dustin Carlino
5c9086a829
controls to naively flip stop signs on/off
2019-05-11 14:53:17 -07:00
Dustin Carlino
ca23950097
base RoadWithStopSign enabledness on turn priorities
2019-05-11 14:46:45 -07:00
Dustin Carlino
6b218fb5ab
base stop sign lines on lanes on RoadWithStopSign
2019-05-11 14:38:55 -07:00
Dustin Carlino
c70c83f22b
move the StopSignGroup abstraction to map_model. write down some rules for how stop signs _should_ work...
2019-05-11 14:31:46 -07:00
Dustin Carlino
8bd4ab72d4
draw full stop sign octagon when editing a single intersection
2019-05-10 15:23:31 -07:00
Dustin Carlino
b060a3ecc2
giving pedestrians more shape
2019-05-06 12:45:52 -07:00
Dustin Carlino
73f32854be
fix up other ezgui apps, run clippy
2019-05-04 17:25:05 -07:00
Dustin Carlino
cca6f4b5ec
displaying names for more roads
2019-05-04 13:56:40 -07:00
Dustin Carlino
4b4e6f17a0
start a really basic OSD
2019-05-02 12:38:12 -05:00
Dustin Carlino
3b2c1a1d73
new warp function that autocompletes street names
2019-04-30 12:48:00 -07:00
Dustin Carlino
4b1107bf57
clean up ezgui runner API
2019-04-20 15:10:03 -07:00
Dustin Carlino
3364cd1d0c
smoothing out some of the weird SharedSidewalkCorners, starting article
...
for r/rust
2019-04-20 10:40:35 -07:00
Dustin Carlino
dc2649ad59
fix some crashes when spawning agents
2019-04-18 18:42:52 -07:00
Dustin Carlino
7885477e59
a round of clippy
2019-04-15 18:54:19 -07:00
Dustin Carlino
2ecd8a0edb
avoid crash in make_shared_sidewalk_corner
2019-04-12 13:32:41 -07:00
Dustin Carlino
94b5307828
use the new SharedSidewalkCorner code for turn geometry, at least
2019-04-11 16:38:06 -07:00
Dustin Carlino
d207c3c33a
rip out parcels entirely; unused for long time and no anticipated uses
2019-04-11 11:40:37 -07:00
Dustin Carlino
834384fb10
remove the Trace type rename; serves no purpose. also the unused
...
stopping_buffer; no more lookahead
2019-04-11 10:27:28 -07:00
Dustin Carlino
d0a3b5c383
lane edit validity
2019-04-03 12:41:10 +09:00
Dustin Carlino
4ecf6a815f
make sure to recalculate DrawLanes based on turn priorities changing
2019-04-01 13:49:34 +09:00
Dustin Carlino
0a89f10a12
make sure banned turns reflect in pathfinding
2019-04-01 13:43:55 +09:00
Dustin Carlino
904d56e563
recalculate DrawTurns upon edits
2019-04-01 13:40:52 +09:00
Dustin Carlino
235125b77f
reviving intersection editors, basic functionality there
2019-04-01 10:25:34 +09:00
Dustin Carlino
b0035cde08
include option for no_edits in menus and make sure we revert things when
...
loading no_edits
2019-03-20 18:05:14 -07:00
Dustin Carlino
5f297163db
changing two lanes that share an intersection breaks... fix
2019-03-20 17:56:47 -07:00
Dustin Carlino
b4c1138baf
revive map edits plugin
2019-03-20 17:51:43 -07:00
Dustin Carlino
c9059bd044
update Pathfinder graphs granularly
2019-03-18 19:19:49 -07:00
Dustin Carlino
da3152a0e7
revamp road editor plugin. recalculate DrawMap changes. fixing some
...
apply_edits bugs
2019-03-18 18:53:32 -07:00
Dustin Carlino
7b118c3de5
actually apply edits to map layer
2019-03-18 17:30:11 -07:00
Dustin Carlino
3f47c00e03
slowly reintroduce MapEdits, just with lane type overrides. load and
...
"apply" them
2019-03-18 16:40:27 -07:00
Dustin Carlino
3ea3ea199a
completely remove most traces of MapEdits. quietly disconnect some
...
editor plugins
2019-03-18 15:37:02 -07:00
Dustin Carlino
c7dc028601
Display for Traversable
2019-03-18 13:21:57 -07:00
Dustin Carlino
db536a04d5
refactor an exact_slice for polylines
2019-03-15 14:02:43 -07:00
Dustin Carlino
961b70d1f4
kind of improved draw_unzoomed, except there are just tons of weird
...
situations to represent
2019-03-15 13:39:25 -07:00
Dustin Carlino
5ca359998c
upgrade some dependencies and list data source licenses in README
2019-03-11 16:04:47 -07:00
Dustin Carlino
5013cae4f9
fixing tests
2019-03-08 12:19:05 -08:00
Dustin Carlino
1c9196461b
delete dead path code
2019-03-08 11:49:29 -08:00
Dustin Carlino
11ab6fceb3
implement new should_use_transit
2019-03-08 10:55:35 -08:00
Dustin Carlino
1eebea8001
cutting over to new graph search in some cases. adding support for
...
one-step walking paths.
2019-03-08 10:47:39 -08:00
Dustin Carlino
523a6900de
precomputing and saving the graphs
2019-03-08 10:18:26 -08:00
Dustin Carlino
6a8c964203
moving new pathfinding code to map_model/. not using it yet.
2019-03-08 09:59:45 -08:00
Dustin Carlino
98d4a639dc
fixing last step of walking paths... and actually driving paths too :)
2019-03-07 21:19:54 -08:00
Dustin Carlino
4fed47f54e
implement simplified pedestrian pathfinding. probably needs more work
2019-03-07 13:41:17 -08:00
Dustin Carlino
194d3b3b57
keep simple state when roaming for parking
2019-03-05 10:00:05 -08:00
Dustin Carlino
5a8e42642f
my own custom hierarchical pathfinding. working great for driving.
2019-03-02 16:49:20 -08:00
Dustin Carlino
313841b9de
make peds board buses
2019-03-01 22:09:33 -08:00
Dustin Carlino
3bbcb00d43
also stop using multimap crate in map_model
2019-03-01 12:25:00 -08:00
Dustin Carlino
874b3be519
prevent illegal trip from happening, fix bike_to_sidewalk
2019-02-27 09:04:06 -08:00
Dustin Carlino
ba9a545dcf
use Path natively in Router
2019-02-27 08:50:26 -08:00
Dustin Carlino
8ab4b403fa
bike -> ped
2019-02-26 11:43:10 -08:00
Dustin Carlino
e404780c25
bikes pt1 -- start biking
2019-02-26 11:14:28 -08:00
Dustin Carlino
16a6a62ce3
making it easier to get driving pos from parked car
2019-02-25 13:21:42 -08:00
Dustin Carlino
aea11b72e3
putting together a spawn layer. not using it yet.
2019-02-24 11:15:49 -08:00
Dustin Carlino
5bd840d296
populate turns from multiple lanes to a single right/left turn
2019-02-23 11:17:21 -08:00
Dustin Carlino
a928b32ebc
preps to start some parked cars
2019-02-22 12:02:12 -08:00
Dustin Carlino
b02807ceee
use quadtree to speed up fix_ramp step
2019-02-22 10:15:13 -08:00
Dustin Carlino
a45b4510b6
speed up neighborhood<->building and road matching during scenario instantiation
2019-02-21 11:33:56 -08:00
Dustin Carlino
5e9d4ca7f7
populate more turns so that lane-changing effectively happens when
...
turning, but keep the lane->lane semantics
2019-02-20 17:03:26 -08:00
Dustin Carlino
86cb58b5f1
first make a DirectedRoad ID, finally
2019-02-20 16:23:24 -08:00
Dustin Carlino
a026c02890
removing log crate from map_model
2019-02-20 11:03:34 -08:00
Dustin Carlino
c2791a6ead
using Warn in all of geom
2019-02-20 10:36:58 -08:00
Dustin Carlino
28984075cc
spawn some conflicting traffic
2019-02-19 16:10:00 -08:00
Dustin Carlino
7a8088f772
actually, trying a new idea for a DES model
2019-02-19 14:34:39 -08:00
Dustin Carlino
e1259587cb
updating OSM source. some tweaks to make things work.
2019-02-17 15:58:04 -08:00
Dustin Carlino
7fb9f721e1
store Area as a Polygon natively in Map
2019-02-14 17:35:34 -08:00
Dustin Carlino
b40770edae
adjust clipping instead of leaving stuff in sometimes
2019-02-12 15:56:23 -08:00
Dustin Carlino
b8eec25116
store Polygon in Building natively
2019-02-12 12:28:12 -08:00
Dustin Carlino
e8b80526ae
making a separate DrawRoad. thick bands at low zoom, yellow center line at high zoom.
2019-02-12 09:16:33 -08:00
Dustin Carlino
9ea7493483
handle border nodes being bidirectional. also only assign borders during
...
convert_osm. still disabled... am confused. some hacks to make things
work in the meantime.
2019-02-11 23:25:39 -08:00
Dustin Carlino
4dd7dabde5
display boundary polygon, actually
2019-02-11 22:24:19 -08:00
Dustin Carlino
e68d6225c8
clipping roads based on original boundary polygons. buggy, so disabled.
2019-02-11 22:13:49 -08:00
Dustin Carlino
6da48c28c1
making small_seattle fully convert, with some less messy hacks. added it
...
as a test!
2019-02-11 16:13:29 -08:00
Dustin Carlino
e2de3e208c
use FindClosest quadtree helper for residential bldg permit matching
2019-02-11 15:35:06 -08:00
Dustin Carlino
72e823c2c6
only have one Prerender object constructed, simplifying the plumbing of the Cell counters
2019-02-11 12:14:43 -08:00
Dustin Carlino
8693bbc1e3
import residential building dataset
2019-02-10 19:24:34 -08:00
Dustin Carlino
e186b24dac
very primitive building type classification, with coloring
2019-02-10 17:38:46 -08:00
Dustin Carlino
ec01207369
try upgrading rand and serde again
2019-02-10 15:57:28 -08:00
Dustin Carlino
51399e19ed
organize convert_osm lib better. also make clippy build everything
...
again.
2019-02-10 15:52:21 -08:00
Dustin Carlino
f693316290
parse OSM multipolygons, like bodies of water, correctly, when they're
...
completely present in the .osm
2019-02-09 21:03:44 -08:00
Dustin Carlino
72b044c64f
plugin to show roads connected to intersection. surprisingly useful for debugging merged intersections sometimes
2019-02-09 11:46:31 -08:00
Dustin Carlino
2f77fbdf2f
disabled but partly working fix for long cut corners after merging
...
intersections
2019-02-09 11:10:42 -08:00
Dustin Carlino
e95baab153
adjust dedupe threshold so there arent tiny little gaps in intersections
2019-02-08 23:22:09 -08:00
Dustin Carlino
7ea56ad6ca
disabled thing to reduce degenerate intersection length
2019-02-08 20:18:49 -08:00
Dustin Carlino
949b184678
generalize the R253 fix
2019-02-08 14:49:31 -08:00
Dustin Carlino
18391811e4
use better symbols for stable roads/intersections
2019-02-08 12:45:12 -08:00
Dustin Carlino
d261d69fa5
manually handling O253
2019-02-08 12:42:31 -08:00
Dustin Carlino
cb752dceff
fix over-eager intersection polygon that ate a curve due to two hits with the perpendicular
2019-02-08 12:16:14 -08:00
Dustin Carlino
bb6f5e0af0
plugin to show original road centers at the end
2019-02-08 12:06:17 -08:00
Dustin Carlino
3ee73668f2
just trying to detect the weirdness that is O253. pretty much works.
2019-02-06 15:48:33 -08:00
Dustin Carlino
d56f04167b
tools to debug individual sidewalk corners. fixed some bugs where
...
sidewalk corners were incorrectly placed in the first place, causing bad
drawing. bug due to the same naive adjacent road approach
2019-02-06 13:58:44 -08:00
Dustin Carlino
b68b3117bc
woops, somehow regressed and dropped second_half when finding original hits for adjacent roads
2019-02-06 13:21:14 -08:00
Dustin Carlino
260a2bdc3d
forming the intersection polygon by the expected adjacency order, not by blindly sorting points by angle from a center. seems to fix some problems in merged mode!
2019-02-06 11:49:45 -08:00
Dustin Carlino
904991e8e0
sorting roads per intersection by adjacency more carefully for merged
...
intersections. no real noticeable effect yet.
2019-02-06 10:53:30 -08:00
Dustin Carlino
a9b9ae61bb
tried tossing intersection endpoints into a convex polygon routine, but
...
it looks pretty bad. keeping around, but disabled.
2019-02-06 10:10:30 -08:00
Dustin Carlino
be1735d715
just skip bike trips that are silly loops
2019-02-04 15:32:46 -08:00
Dustin Carlino
83c6fbb758
woops, fix path trace's end_dist
2019-02-04 14:25:10 -08:00
Dustin Carlino
13698cdb20
small fixes... debug buildings, spawn from headless, timer for
...
instantiating a scenario
2019-02-04 11:56:54 -08:00
Dustin Carlino
bfd0465a3d
track the intent of chosen acceleration, to see why overshooting is happening
2019-02-03 09:41:29 -08:00
Dustin Carlino
fb2bb08f66
be able to hide stuff in InitialMap debugger
2019-02-02 17:51:49 -08:00
Dustin Carlino
899d876968
only reset camera for some initial maps
2019-02-02 16:40:12 -08:00
Dustin Carlino
3451b65823
lazily compute SimStats
2019-02-01 14:31:35 -08:00
Dustin Carlino
92134f9125
get halloween working with small lines. refactor a Line::maybe_new.
2019-02-01 12:12:40 -08:00
Dustin Carlino
f5f8a57640
automatically focus on changed intersection in InitialMap viewer
2019-02-01 11:50:54 -08:00
Dustin Carlino
0a79b354b2
remove ability to create Map from InitialMap, now that we have a separate debugger
2019-02-01 11:09:22 -08:00
Dustin Carlino
0346166304
starting a generic viewer that works with InitialMap
2019-01-31 16:33:43 -08:00
Dustin Carlino
142bd57aa0
refactoring some approx_eq EPSILON_DIST checks
2019-01-31 15:10:33 -08:00
Dustin Carlino
48a5556f17
improving debuggability of merged maps by printing intersections to look at
2019-01-31 14:54:30 -08:00
Dustin Carlino
2282c5658d
make geom types Ord now
2019-01-31 14:29:47 -08:00
Dustin Carlino
7432ec1b42
workaround bus getting stuck on tiny road by making more left turns
2019-01-31 13:11:52 -08:00
Dustin Carlino
b9e96618da
stop abusing max distance for path tracing. disable some newly brokenish stuff
2019-01-31 13:09:15 -08:00
Dustin Carlino
7519fdf584
using strong Distance types in many more places
2019-01-30 15:54:54 -08:00
Dustin Carlino
133ec037c9
switching to new units in map_model
2019-01-30 13:07:53 -08:00
Dustin Carlino
7ce2242cb2
forgot to make 'cant trim' thing a panic, and tiny refactoring before trying to make pt2d be integers
2019-01-30 09:27:23 -08:00
Dustin Carlino
2a70efde5f
simplify: slice can fail. all the callers dont have to check for EPSILON_DIST
...
(also, disable not-so-useful geom unit tests that use randomness)
2019-01-29 18:53:04 -08:00
Dustin Carlino
e274fd9652
making ped_uses_transit test bit more robust by picking bldgs from the bus stops
2019-01-29 17:13:07 -08:00
Dustin Carlino
ca058331e5
fixing path trace cases that wind up with points too squished together
2019-01-29 16:23:01 -08:00
Dustin Carlino
a98383db8f
dealt with cases where a pair of intersections has two roads between them
2019-01-29 15:34:53 -08:00
Dustin Carlino
103a4ca053
ensuring no tiny Lines exist in most cases
2019-01-29 13:23:54 -08:00
Dustin Carlino
2e982ec827
making an infinite line type, to be less confusing
2019-01-28 18:28:05 -08:00
Dustin Carlino
4e89b0fcfe
filter out cul-de-sacs earlier, so convert_osm works again
2019-01-28 13:19:42 -08:00
Dustin Carlino
6aaa55891e
saving lots of InitialMaps... and manually loading one at a time
2019-01-28 09:42:28 -08:00
Dustin Carlino
79c316c9d9
restore center pts at the correct end... and then confirm that
...
intersection polygons look mostly better by restoring first
2019-01-27 14:59:46 -08:00
Dustin Carlino
9fc41078c2
fixed the funky polyline gluing... angle comparisons are hard, so change
...
the API for them.
2019-01-27 14:27:40 -08:00
Dustin Carlino
1de36283ae
trying out a fixed-pt algorithm. seeing geometry problems and lots of over-eagerness, but this is a start.
2019-01-26 17:18:46 -08:00
Dustin Carlino
76be0c1ad4
trying to restore original road geometry without polyline bugs, but...
...
only fixed one bug. :)
2019-01-26 16:59:01 -08:00
Dustin Carlino
f2d8e77759
figured out the source of a weird polyline bug, adding checks to avoid
...
it in the future
2019-01-26 16:27:11 -08:00
Dustin Carlino
07397c642a
rephrase trim_to_pt way more understandably
2019-01-26 15:05:34 -08:00
Dustin Carlino
c58113d631
port the simpler intersection merging to InitialMap-world. try the
...
geometry restoration... wait, need more stuff first
2019-01-26 14:59:18 -08:00
Dustin Carlino
aa09303b44
moving rest of map construction into halfmap
2019-01-26 14:18:38 -08:00
Dustin Carlino
ab6796d56c
make intersection actually be a polygon now
2019-01-26 13:31:29 -08:00
Dustin Carlino
dcad4a3c87
create halfmap from initialmap
2019-01-26 13:18:00 -08:00
Dustin Carlino
ec38717a2c
making an isolated layer for the map creation phase focused on roads and intersections, geometry and merging. not using it yet.
2019-01-26 12:49:09 -08:00
Dustin Carlino
08db3bf27f
rendering traffic signal diagrams with lights per lane... needs work, so
...
disabling it
2019-01-22 11:58:56 -08:00
Dustin Carlino
88099c73b5
tiny preps for a variant of short road merging that can happen later and
...
look at road length after it's trimmed to the intersection. not going to
work on it just yet.
2019-01-22 09:56:03 -08:00
Dustin Carlino
63ad2c410d
fix trace when last step is contraflow
2019-01-21 16:33:35 -08:00
Dustin Carlino
6dee096a0e
zorder for cars/peds too... had to rework get_objects_onscreen
2019-01-21 14:51:57 -08:00
Dustin Carlino
c87c7b32ae
make interactive driving trips still end at a building
2019-01-21 12:21:26 -08:00
Dustin Carlino
11045fd44f
zorder for lanes and intersections
2019-01-20 14:15:50 -08:00
Dustin Carlino
f018158aa3
remove copyright comment from remaining files
2019-01-20 13:57:55 -08:00
Dustin Carlino
e83e87786f
use new polygon code for two-ways as well, but trim back roads that don't change at all by some minimum amount
2019-01-20 09:17:18 -08:00
Dustin Carlino
4ca6571e2f
warp by stable intersection ID
2019-01-19 21:10:54 -08:00
Dustin Carlino
fad89ddffa
include more pts in the intersection polygon to only cover area from the original road bands. also fix a bug deduping points in the polygon.
2019-01-19 20:56:03 -08:00
Dustin Carlino
e403a6388d
a much simpler, general approach for intersection polygons. needs a
...
little work, but it replaces lots of other code.
disabled, but adding a few more cases to the list of manually merged short roads
2019-01-19 19:07:07 -08:00
Dustin Carlino
b279e37bab
trying to handle remaining 3-ways as degenerate 2-ways and just trimming
...
things back kinda arbitrarily
2019-01-18 15:40:09 -08:00
Dustin Carlino
e2579dfbdb
dont prematurely edit road centers
2019-01-18 14:53:49 -08:00
Dustin Carlino
c0a81ebe59
using the new threeway code for some more cases
2019-01-18 14:04:51 -08:00
Dustin Carlino
a7cc077a77
got something working for i2, but WIP generalizing it
2019-01-18 13:26:34 -08:00
Dustin Carlino
48179d5d32
fix number of lanes for oneways and link roads
2019-01-18 11:41:05 -08:00
Dustin Carlino
f5850d1953
disabled option to automatically merge all originally-short roads
2019-01-18 10:42:11 -08:00
Dustin Carlino
0c32faa40c
moving neighborhood to map_model crate, so convert_osm can stop depending on sim
2019-01-17 15:29:00 -08:00
Dustin Carlino
61128f098b
make my own retain for btreemap. also refine the loop-road filtering in
...
the experimental road merger
2019-01-17 15:09:09 -08:00
Dustin Carlino
98ab06bd4e
try manually merging some intersections again, without needing to modify geometry
2019-01-17 14:21:34 -08:00
Dustin Carlino
761008b3ac
make raw roads directly refer to intersections
2019-01-17 11:30:58 -08:00
Dustin Carlino
3422877d3d
adding a stable ID for raw roads and intersections. way easier to refer to things in the midst of deletions.
2019-01-17 11:10:05 -08:00
Dustin Carlino
52fccbf547
import actual lane spec in synthetic, by parsing OSM tags and stuff
2019-01-16 11:59:00 -08:00
Dustin Carlino
b48bddffc4
make crosswalks when adjacent road has no sidewalks
2019-01-16 09:41:30 -08:00
Dustin Carlino
8fa58a6aae
tiny code refactoring in make/turns
2019-01-15 17:38:32 -08:00
Dustin Carlino
e8e119dbbf
remove all the polyline shifting/polygon variants that might fail
2019-01-15 15:25:00 -08:00
Dustin Carlino
aae021f478
oops, gigantic change trying to handle bad lane geometry
...
- debug points and triangles of lanes
- disabled fixes for polylines with points that change angles by 180 and can be fixed by swapping them
- organize intersection polygon code in different methods for the degenerate cases
- try something new for degenerate-two's... fix road centers, then calculate intersection corners. it fixed a few spots!
2019-01-15 13:48:15 -08:00
Dustin Carlino
7579cd9f7e
fix orientation of degenerate-2 intersections, which makes shared sidewalk corners actually work
2019-01-15 11:24:54 -08:00
Dustin Carlino
930107793b
dedupe pts from intersection polygons without making all Pt2Ds have careful resolution yet. sidewalk corners now need work...
2019-01-12 23:17:05 -08:00