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
Dustin Carlino
d20e433e7d
remove wrappers from Turn -- force callers to think about the geometry
...
more
2019-01-12 20:00:22 -08:00
Dustin Carlino
9590ee7e78
preps for Pt2D with 1cm resolution... immutable PolyLine, helper for
...
pt-pt distance
2019-01-12 19:13:16 -08:00
Dustin Carlino
daa55026ae
making shift left/right for polyline too
2019-01-12 14:13:15 -08:00
Dustin Carlino
caf4006837
explicitly making shift right/left for Line
2019-01-12 13:48:14 -08:00
Dustin Carlino
c50013c583
dont mouseover parcels
2019-01-12 10:47:36 -08:00
Dustin Carlino
47b5d2e4aa
upgrade all other deps, except for piston/winit stuff
2019-01-11 12:36:20 -08:00
Dustin Carlino
c09fa98f57
upgrade a few dependencies
2019-01-11 10:55:58 -08:00
Dustin Carlino
d95099efbe
basic installation instructions, and tweaks to scripts so that things
...
work better out-of-box
2019-01-11 10:04:56 -08:00
Dustin Carlino
2bc97fa609
adjust stuck car color, avoid weird black. and small clippy fixes
2019-01-10 19:58:12 -08:00
Dustin Carlino
eefd9abdc6
render cars using slice
2019-01-10 17:11:34 -08:00
Dustin Carlino
42bb13eceb
looking into broken 3-ways, but giving up for now
2019-01-10 14:16:41 -08:00
Dustin Carlino
ab58cca805
making degenerate-2 intersections nicer
2019-01-10 12:48:26 -08:00
Dustin Carlino
c2a1cac4d0
handling some 3-way intersections much more gracefully by acknowledging only one corner might exist for a road band
2019-01-10 12:18:37 -08:00
Dustin Carlino
c70057d46e
finding an intersection pt, then going back to find the angle, sometimes
...
fails due to floating point nonsense, so combo the query to fix a few
more cases
2019-01-10 12:03:14 -08:00
Dustin Carlino
432415768e
rm dead code
2019-01-10 11:25:48 -08:00
Dustin Carlino
04a6f3547c
make lane center pts based on trimmed road center pts
2019-01-10 10:49:34 -08:00
Dustin Carlino
efe9d6b8cc
dont make the polygon too big.
2019-01-10 10:39:26 -08:00
Dustin Carlino
374a44e0f2
slow is smooth, smooth is (more) correct
2019-01-10 10:36:21 -08:00
Dustin Carlino
884c47cc6b
just focus on one intersection...
2019-01-10 10:06:37 -08:00
Dustin Carlino
cb47c4b13d
debug intersection polygon
2019-01-10 09:57:47 -08:00
Dustin Carlino
7960601ff9
WIP trying to get perpendiculars on the road center...
2019-01-10 09:48:47 -08:00
Dustin Carlino
087e3ad492
WIP new simple idea for intersection geometry
2019-01-10 09:10:08 -08:00
Dustin Carlino
ae6f8d5e16
show entire signal diagram when hovering
2018-12-23 21:11:30 -08:00
Dustin Carlino
3a05df662c
oops, intersection merging skipped over adjacently ID'd short roads.
...
this exposed more bugs with tiny loop roads that get created. those
are... sort of dealt with now, but they have pretty bad geometry.
disable intersection merging completely, since it's so broken.
2018-12-20 15:10:20 -08:00
Dustin Carlino
07ae4737ae
avoid composite turns that loop around
2018-12-20 14:00:24 -08:00
Dustin Carlino
0c2a389f96
dont draw complicated stop sign depiction when hovering. simplify lots of the rendering hints, also fixing up traffic signal crosswalk depiction.
2018-12-20 11:28:42 -08:00
Dustin Carlino
cdc9c58ab4
start tutorial mode centered on the right thing. improve map label API by returning references.
2018-12-18 09:57:51 -08:00
Dustin Carlino
2a8842aa00
brief round of clippy
2018-12-14 11:13:05 -08:00
Dustin Carlino
0f1c475ab7
simplify tutorial map, actually count cars spawning now
2018-12-14 10:55:21 -08:00
Dustin Carlino
0cbc2e5d7e
making intersection merging work everywhere: skip dead-ends, don't panic
...
when stop sign doesn't cover all turns
2018-12-11 17:41:44 -08:00
Dustin Carlino
31fc08e1b7
apply intersection merging EVERYWHERE... but actually, keep it disabled.
...
seeing some other bug.
2018-12-11 16:14:55 -08:00
Dustin Carlino
0470e676bc
move the intersection merging logic to the right module. delete the old logic.
2018-12-11 16:01:46 -08:00
Dustin Carlino
9bca0788b6
extract out the HalfMap deleter logic
2018-12-11 15:54:03 -08:00
Dustin Carlino
65882cf0d9
improve intersection polygon by using two points per lane. apply it to all intersections as a second pass.
2018-12-11 15:48:55 -08:00
Dustin Carlino
44c9b66d13
merge two related intersections, still hardcoded, but making sure applying the fix both orders has the same results
2018-12-11 15:39:09 -08:00
Dustin Carlino
dc8e098fc2
way nicer merged intersection geometry
2018-12-11 15:30:36 -08:00
Dustin Carlino
e267cc7fd4
intersection merging... make the new composite turns
2018-12-11 15:13:13 -08:00
Dustin Carlino
a65b097e12
working on new intersection merging logic for one hardcoded road...
...
deleting stuff, changing references, compacting IDs
2018-12-11 14:10:35 -08:00
Dustin Carlino
42788363ab
more prep for merging intersections... make an intermediate HalfMap structure
2018-12-11 12:49:57 -08:00
Dustin Carlino
de5c02a6c4
preps for merging intersections again... notes and not passing Map
...
during first few phases of construction
2018-12-11 12:26:21 -08:00
Dustin Carlino
e76dede109
label synthetic intersections
2018-12-10 15:59:48 -08:00
Dustin Carlino
dbfd410b0a
force synthetic intersections into being border nodes too
2018-12-10 15:45:34 -08:00
Dustin Carlino
dacd423080
clippy pt4
2018-12-09 12:04:02 -08:00
Dustin Carlino
f48757c5e7
clippy pt2
2018-12-08 19:56:54 -08:00
Dustin Carlino
7363302d5d
one key to toggle lane types
2018-12-08 14:15:44 -08:00
Dustin Carlino
91b2b07fbd
remove more extern crate's; import macros directly
2018-12-06 11:22:12 -08:00
Dustin Carlino
375a923a9d
try removing most extern crate's
2018-12-06 11:00:13 -08:00
Dustin Carlino
f64f411093
upgrade all crates to 2018 in Cargo.toml. this requires switching to
...
crate:: paths everywhere. not yet fiddling with 'extern crate's
2018-12-06 10:57:31 -08:00
Dustin Carlino
6a0cd7f71e
rust 2018: run the new fmt, delete the unneeded script
2018-12-06 10:05:50 -08:00
Dustin Carlino
546213e82b
couple together crosswalks in stop sign editor
2018-12-05 11:01:01 -08:00
Dustin Carlino
636eb1fb1c
overriding crosswalk colors for stop signs
2018-12-05 10:57:12 -08:00
Dustin Carlino
6295d6b2e7
drawing turns at a stop sign
2018-12-05 10:34:08 -08:00
Dustin Carlino
3198ade5d1
add a 4th turn priority... can completely ban turns. make pathfinding
...
pay attention to this.
2018-12-05 09:48:22 -08:00
Dustin Carlino
e640c6d46d
let user invoke presets
2018-12-04 15:29:42 -08:00
Dustin Carlino
06bd34b1f4
move cycles up/down, delete them, add them
2018-12-04 15:01:33 -08:00
Dustin Carlino
4a1281d110
add more assertions to traffic signals; be paranoid
2018-12-04 14:00:27 -08:00
Dustin Carlino
11f89c0ee5
one key to toggle through priorities
2018-12-04 13:52:53 -08:00
Dustin Carlino
5ea6e0ea18
adjust possible controls
2018-12-04 13:06:16 -08:00
Dustin Carlino
1bb146fe23
couple crosswalk turn pairs together in a cycle
2018-12-04 12:52:59 -08:00
Dustin Carlino
952bbf64dd
remove redundant internal Turns enum
2018-12-04 12:07:23 -08:00
Dustin Carlino
ac4c7a5b83
edit cycle time
2018-12-04 11:44:34 -08:00
Dustin Carlino
2c7abcbc3a
hiding crosswalks way more sanely
2018-12-04 11:08:18 -08:00
Dustin Carlino
3155bcbaf1
drawing a box to show time left in current cycle
2018-12-04 08:33:24 -08:00
Dustin Carlino
67ce42e2f6
give peds precedence over cars, and subsequently simplify the wacky crosswalk coloring
2018-12-03 17:34:56 -08:00
Dustin Carlino
dbc8f40fa8
traffic signal editor: draw full turns of current cycle and stop showing
...
turn icons completely
2018-12-03 16:04:57 -08:00
Dustin Carlino
08cc4124fb
adjusting crosswalk geometry, so peds actually walk into the intersection a bit
2018-12-03 10:51:02 -08:00
Dustin Carlino
c198a49ad3
changing real turn geometry to be a polyline
2018-12-03 09:25:47 -08:00
Dustin Carlino
5b71f04c97
4-phase cycle with protected lefts. very easy to express.
2018-12-01 20:39:44 -08:00
Dustin Carlino
987b2a4884
merge TurnAngle and TurnType
2018-12-01 16:02:11 -08:00
Dustin Carlino
8ed962a320
implement 3-way traffic signal assignment
2018-12-01 15:43:33 -08:00
Dustin Carlino
1542e3118e
refactoring turn angle stuff
2018-12-01 14:51:10 -08:00
Dustin Carlino
503c3c2ca9
warping to turns, with an easily typeable name
2018-12-01 14:29:20 -08:00
Dustin Carlino
e75ef3f9e6
making an easy way to record and dump notes at the end of verbose setup logging, without being tied to a Timer
2018-12-01 13:23:18 -08:00
Dustin Carlino
ac39985f8f
smarter traffic signal cycles for four-ways... still breaks, but decent
...
progress
2018-12-01 13:12:11 -08:00
Dustin Carlino
1489f2fe7f
validation for traffic signal assignments too
2018-12-01 11:24:13 -08:00
Dustin Carlino
4d7c1203a6
the great control layer merge
2018-11-30 13:52:50 -08:00
Dustin Carlino
73b2d0ac24
ah, was forgeting multiple ped turns in sequence
2018-11-30 08:47:46 -08:00
Dustin Carlino
87a357d67c
adjusting pathfinding costs, trying to figure out why walking routes are awful
2018-11-29 16:47:04 -08:00
Dustin Carlino
ecc5a6efb1
make some percentage of walking trips use transit, if it's reasonable.
...
haven't observed it working yet.
2018-11-29 14:53:11 -08:00
Dustin Carlino
14097bebfc
moving BusRouteID to map_model layer from sim
2018-11-29 12:38:06 -08:00
Dustin Carlino
80e3776855
refactoring cost/heuristic of InternalPathStep
2018-11-29 12:25:01 -08:00
Dustin Carlino
3f635e74c3
making a variant of pathfinding that can abort a walking trip early and
...
use transit
2018-11-29 12:09:54 -08:00
Dustin Carlino
d529b006cb
philosophizing on discrete-event sim. disable intersection merging; it's
...
mostly incorrect and needs lots more thought.
2018-11-29 08:38:28 -08:00
Dustin Carlino
34f8e93bad
dont need pt_and_angle, just pt of Positions
2018-11-28 13:14:49 -08:00
Dustin Carlino
e4e1eb139e
automatically merge all short roads
2018-11-28 12:06:09 -08:00
Dustin Carlino
e150ce3aef
new test to make sure raw->map conversion is also deterministic, not just convert_osm
2018-11-28 09:36:42 -08:00
Dustin Carlino
e755aeb4ef
merging intersections for a hardcoded set of short roads
2018-11-28 09:19:36 -08:00
Dustin Carlino
c2783ab56e
making a new Position tuple and equiv_dist_along
2018-11-27 09:55:37 -08:00
Dustin Carlino
cd8d9adec4
radical speedup and simplification to driving state: only store SimQueues for active lanes/turns
2018-11-26 15:40:22 -08:00
Dustin Carlino
56c885e7ab
revive the first parking test. make helpers to look up labeled stuff from synthetic maps. make helpers to seed specific parked cars and start certain trips again.
2018-11-26 11:22:17 -08:00
Dustin Carlino
2e8cd7ff7a
dont spawn bikes on highway border nodes
2018-11-23 11:03:45 -08:00
Dustin Carlino
5bc9992fc0
using blockface kml in convert_osm to prescribe parking lanes
2018-11-21 22:43:14 -08:00
Dustin Carlino
9e91332b58
matching extra shapes with a particular side of the road
2018-11-21 16:02:08 -08:00
Dustin Carlino
af6ead7d56
refactor sidewalk finder to use FindClosest
2018-11-21 15:48:16 -08:00
Dustin Carlino
bd67d88bab
adjust the blockface<->road matching
2018-11-21 15:39:49 -08:00
Dustin Carlino
20b79038f4
dont clone bounds by default
2018-11-21 14:55:26 -08:00
Dustin Carlino
48709b60a0
making a general helper for finding closest stuff... using it to match extra shapes to road center lines
2018-11-21 14:32:15 -08:00
Dustin Carlino
ca95c58b3b
fix a path trace bug for paths with one step, but no geometry
2018-11-21 10:00:40 -08:00
Dustin Carlino
a3dc7e0bee
remove pathfinding requirement that lane types of start/end match up, now that bike/bus lanes are used
2018-11-20 13:39:20 -08:00
Dustin Carlino
7278719a04
consolidating all of the road query methods
2018-11-20 13:36:10 -08:00
Dustin Carlino
044a25fce2
give up on Sim being Eq; settle for PartialEq, get rid of all of the annoying 'ignore this field' hacks. also getting rid of unnecessary PartialEq impls in map_model
2018-11-18 16:28:43 -08:00
Dustin Carlino
9084f0060b
PathRequest instead of massive confusing tuples. also can now use bike lanes from spawn layer
2018-11-17 17:12:03 -08:00
Dustin Carlino
3036511c9e
another darn bike/parking lane case, unrelated
2018-11-16 14:34:01 -08:00
Dustin Carlino
7e571618be
deal with unrelated bus/parking lane problem that cropped up
2018-11-16 14:20:41 -08:00
Dustin Carlino
b9770dc4bd
plumbing through the commands in spawn, finally...
2018-11-16 13:40:14 -08:00
Dustin Carlino
504b818800
drawing lanes in synthetic editor
2018-11-14 12:17:58 -08:00
Dustin Carlino
ac1272f660
control lanes of synthetic roads
2018-11-14 11:50:04 -08:00
Dustin Carlino
8f15eccf8d
exclude cul-de-sacs
2018-11-13 14:13:41 -08:00
Dustin Carlino
88334d50ca
WIP rewriting pathfinding natively in terms of PathSteps
2018-11-13 14:06:52 -08:00
Dustin Carlino
98620ece6b
sending some peds to border nodes, testing it
2018-11-12 17:20:09 -08:00
Dustin Carlino
70c1fae4f1
encoding ability to go to a border node in scenarios
2018-11-12 16:02:14 -08:00
Dustin Carlino
8e7021e958
update walking model to handle starting at a border
2018-11-12 15:34:09 -08:00
Dustin Carlino
0c95122576
encoding spawn-peds-at-border in scenario layer
2018-11-12 14:11:50 -08:00
Dustin Carlino
d6084078d3
fix to lanes_to_path that was exposed by border nodes
2018-11-12 10:36:07 -08:00
Dustin Carlino
474d92f5db
modeling border nodes in map, control, sim, editor layers
2018-11-11 14:49:27 -08:00
Dustin Carlino
f243048c45
drawing border nodes differently
2018-11-10 16:57:01 -08:00
Dustin Carlino
8c2db6de82
another tiny trace_route bug
2018-11-10 15:50:44 -08:00
Dustin Carlino
498568d06e
fixing an edge case with trace_route starting at the end of a lane
2018-11-10 15:16:26 -08:00
Dustin Carlino
61b18bb16f
improve lane clipping also for outgoing lanes. oops.
2018-11-07 14:49:02 -08:00
Dustin Carlino
cda4a9ad81
improve lane trimming by picking the closest collision of a polyline to a polygon
2018-11-07 14:01:58 -08:00
Dustin Carlino
4bede29429
make trim_to_pt panic
2018-11-07 13:54:39 -08:00
Dustin Carlino
9ba9acb3d2
modeling bus lanes
2018-11-07 13:50:22 -08:00
Dustin Carlino
023bb5cf5d
making bike lane turn handling use the common driving turn code too, with preferred lanes
2018-11-07 13:07:40 -08:00
Dustin Carlino
6e786d5630
refactoring intersection->roads query
2018-11-07 11:55:40 -08:00
Dustin Carlino
9eb1469c89
handling dead-ends
2018-11-07 11:44:47 -08:00
Dustin Carlino
a43a529d90
validating every lane has turns to/from it
2018-11-07 11:17:54 -08:00
Dustin Carlino
0008712c9a
revamping driving turns to handle multi-lane cases better. seems to work
...
well!
2018-11-07 10:53:48 -08:00
Dustin Carlino
9c75514925
draw turn restrictions when relevant. needs tuning later
2018-11-06 14:47:39 -08:00
Dustin Carlino
c6cd36071c
make the large maps still work: fixes to bus route verification and
...
degenerate stop sign handling
2018-11-06 12:39:27 -08:00
Dustin Carlino
ac81888e44
handle degenerate intersections trivially now
2018-11-06 09:37:36 -08:00
Dustin Carlino
f341f67cc5
finally construct the mirror turns for sidewalks, and avoid double-rendering
2018-11-06 09:34:01 -08:00
Dustin Carlino
02f24bfe15
removing annoying duplicated fields in Turn
2018-11-06 09:29:50 -08:00
Dustin Carlino
dc70d4eb9a
was overthinking turn-making... going back to something simple
2018-11-06 08:59:27 -08:00
Dustin Carlino
4a9eb6d224
rewriting sidewalk turn creation based on angles. not correct yet, but
...
better.
2018-11-05 21:06:28 -08:00
Dustin Carlino
9f0d3b610a
introducing TurnType
2018-11-05 18:42:33 -08:00
Dustin Carlino
bd96b4ff5f
storing src/dst intersection with Road directly
2018-11-05 17:39:23 -08:00
Dustin Carlino
9cb1337785
starting a rewrite of the code to find turns between sidewalks, based on
...
road adjacencies. needs a few more intermediate steps.
2018-11-05 17:15:54 -08:00
Dustin Carlino
aa23d76243
simplify API: PathStep is Copy
2018-11-05 14:37:26 -08:00
Dustin Carlino
d69804e485
fixing chokepoints plugin by looking at paths
2018-11-04 15:25:48 -08:00
Dustin Carlino
59c22be0f0
fix bug with 1 step
2018-11-04 14:24:43 -08:00
Dustin Carlino
9400352ab0
refactoring PathStep.slice helper
2018-11-04 14:17:26 -08:00
Dustin Carlino
d6b98dc39b
fixing some cases with 1 step
2018-11-04 13:52:46 -08:00
Dustin Carlino
376f9bd3c5
new, simple implementation of trace_route and lots of deleted old code
2018-11-04 08:27:35 -08:00
Dustin Carlino
029879828e
hacky implementation of pathfind to move forwards
2018-11-03 21:37:37 -07:00
Dustin Carlino
df6628e5b5
preps for filling out pathfind impl
2018-11-03 20:57:58 -07:00
Dustin Carlino
d4dc5fc658
percolating changes to sim layer slowly...
2018-11-03 20:46:41 -07:00
Dustin Carlino
74c60709a3
WIP starting the great Path refactor... changing the API, but not impl,
...
of pathfind
2018-11-03 14:48:50 -07:00
Dustin Carlino
e60fe0f0fe
logging that repeats after a verbose setup
2018-11-01 13:24:15 -07:00
Dustin Carlino
161081da6d
simplify intersection polygon code a bit, then handle the degenerate cases
2018-11-01 13:10:28 -07:00
Dustin Carlino
8c83c22002
revamping trim_lines for lanes to use the intersection polygon
2018-10-31 15:08:19 -07:00
Dustin Carlino
01b230b47f
fix location of stop signs / signals, based on bad center
2018-10-31 12:29:31 -07:00
Dustin Carlino
841944f84c
force some intersections with similar angles between incident roads to use the line projection fix too. now things are looking great mostly \o/
2018-10-31 12:19:46 -07:00
Dustin Carlino
ab1254870a
fixing some of the 3-way cases... others arent even detected, seemingly
2018-10-31 12:02:18 -07:00
Dustin Carlino
e2a21cf5af
simplifying the code a bit more to prepare for handling 3-ways
2018-10-31 11:21:57 -07:00
Dustin Carlino
dc12555b03
simplified the intersection polygon algorithm to just look at angle-adjacent pairs of lines. same results, simpler code. almost ready to fix the triangle intersections.
2018-10-31 10:55:59 -07:00
Dustin Carlino
0ac633905b
remove duplicate points in intersection geom, after understanding why they happen
2018-10-31 09:43:16 -07:00
Dustin Carlino
be7bd2ede5
calculating a much simpler, more robust intersection polygon!!! \o/
2018-10-31 09:38:34 -07:00
Dustin Carlino
c22ec98259
get_bounds for PolyLine
2018-10-31 08:31:16 -07:00
Dustin Carlino
27406a5a5c
rotating stop signs (really an excuse to start using the geo crate in geom...)
2018-10-30 16:04:46 -07:00
Dustin Carlino
f8f2ea3f95
switching to a simpler GPS<->Pt2D scheme that's bijective
2018-10-29 15:01:15 -07:00
Dustin Carlino
bb9c98b54e
splitting into two Bounds types
2018-10-29 14:16:30 -07:00
Dustin Carlino
20347a6de9
splitting up code in playground
2018-10-29 11:03:39 -07:00
Dustin Carlino
3a62ed8695
refactor get_bbox
2018-10-28 18:43:36 -07:00
Dustin Carlino
a45521e1a6
using Timer with read_binary
2018-10-28 17:17:35 -07:00
Dustin Carlino
f011f8f56d
making hierarchial progress timer to replace flamegraphs. using in many,
...
but not all, places
2018-10-28 16:40:37 -07:00
Dustin Carlino
245d1707db
handling few new OSM highway types
2018-10-28 14:09:37 -07:00
Dustin Carlino
15da2fe9cd
using quadtrees to MASSIVELY speed up sidewalk matching
2018-10-28 13:59:54 -07:00
Dustin Carlino
65d8c92f63
investigating and fixing orphaned intersections
2018-10-28 12:50:15 -07:00
Dustin Carlino
c78b721bce
implementing progress bars and trackers for large file readers, using in map loading phases that might be slow
2018-10-28 08:31:51 -07:00
Dustin Carlino
45bd7ee128
eliminate bus stops that dont line up with short driving lanes
2018-10-24 14:59:22 -07:00
Dustin Carlino
86d578f4f8
oops, nondeterminism in map model routes
2018-10-24 14:28:56 -07:00
Dustin Carlino
dd0578d504
dont cancel diff worlds when an agent is mode-switching
2018-10-23 10:04:11 -07:00
Dustin Carlino
b8fa12d0d5
terminating ped trace_route at the right SidewalkSpot
2018-10-22 14:18:25 -07:00
Dustin Carlino
9c1ae28bf8
ped trace_routes were wrong for contraflow steps
2018-10-22 13:16:30 -07:00
Dustin Carlino
52535771e3
making road editor stateless; map should hold the changed edits
2018-10-22 08:39:32 -07:00
Dustin Carlino
050a9a1400
load pre-baked maps. now starting an a/b test is very fast! \o/
2018-10-20 09:18:57 -07:00
Dustin Carlino
66bbdc0362
script to save all the maps with edits. no loading yet
2018-10-20 09:02:44 -07:00
Dustin Carlino
d6253a1721
dont draw stop sign on degenerate intersections
2018-10-18 15:28:34 -07:00
Dustin Carlino
10a6ee09d1
debugging why we wound up with disconnected roads, breaking parking seeding... ah, there are roads in the neighborhood without any buildings
2018-10-18 13:57:38 -07:00
Dustin Carlino
1208fcea8b
use OSM speed limit when available
2018-10-18 12:34:11 -07:00
Dustin Carlino
94863b7bcc
bring in footways... actually disable it, they'll need more work
2018-10-18 12:20:54 -07:00
Dustin Carlino
1509a674b1
WIP some fixes to OSM->lane types
...
- roundabouts have less stuff
- simplify the code
- motorways and motorway links are just driving
- sidewalks on one-ways
2018-10-18 12:05:11 -07:00
Dustin Carlino
d02c5004f9
clean up Pt2D::from_gps API
2018-10-17 13:14:10 -07:00
Dustin Carlino
24edfcd784
place parked cars close to buildings, in a stable way
2018-10-17 11:49:15 -07:00
Dustin Carlino
90af8a84c6
woops, car pathfinding shouldnt use bike lanes. and A/B test manager
...
should set json filename
2018-10-13 16:34:02 -07:00
Dustin Carlino
4bee9fa4e9
found the source of trace_route mismatch. epsilon strikes again.
2018-10-13 16:08:21 -07:00
Dustin Carlino
25a1beba4e
generalize traces a bit to handle 0-length turns properly
2018-10-13 16:05:52 -07:00
Dustin Carlino
e4dc075871
WIP trying to solve problem of driving traces not matching up sometimes
2018-10-13 15:41:40 -07:00
Dustin Carlino
99559fa578
also retain the logical pieces of a Trace, so we can next find chokepoints
2018-10-13 11:27:22 -07:00
Dustin Carlino
fddc56dca5
trying to fix building with driving lane thats hard to find... ah,
...
because we wound up making a road without a driving lane. :D
2018-10-13 10:50:26 -07:00
Dustin Carlino
6f33c9a6da
failure crate actually sucks for context, rolling my own simple thing
2018-10-10 16:24:33 -07:00
Dustin Carlino
843742b708
adding error messages for map model queries that can fail
2018-10-10 15:58:00 -07:00
Dustin Carlino
4672994777
fixed one problem with ped trace_route... walking model is so complicated. ><
2018-10-09 17:43:22 -07:00
Dustin Carlino
dcbf373896
constructing traces way more directly. still broken for peds. :(
2018-10-09 16:14:48 -07:00
Dustin Carlino
d0f88f8d52
use new Trace for show_route plugin. handle 0-length turns
2018-10-09 14:36:53 -07:00
Dustin Carlino
2716a2272b
making trace handle lanes and turns
2018-10-09 13:43:59 -07:00
Dustin Carlino
d3e5fdb7c4
moving on->traversable, in the map model directly
2018-10-09 13:09:26 -07:00
Dustin Carlino
d7a36889b2
some of the pieces to render smart arrows in front of agents
2018-10-09 12:56:58 -07:00
Dustin Carlino
7ca7f08ef7
refactoring focus pt per object
2018-10-08 16:20:45 -07:00
Dustin Carlino
661d784b6e
adjusting logging to not include debug by default
2018-10-06 12:21:12 -07:00
Dustin Carlino
da550910c7
prune unrouteable bus routes in map model layer
2018-10-06 12:13:36 -07:00
Dustin Carlino
2c8aa62f97
describe map edits in GUI
2018-10-04 11:16:00 -07:00
Dustin Carlino
7b718b4621
bundling all map edits together
2018-10-02 15:48:10 -07:00
Dustin Carlino
09c3b017b9
logging in map layer too
2018-09-23 14:15:24 -07:00
Dustin Carlino
20a1bb7923
dispersing the remainders of map_model::geometry
2018-09-18 14:35:10 -07:00
Dustin Carlino
1050d86e67
making a proper Circle type in geom
2018-09-18 14:00:55 -07:00
Dustin Carlino
e8ef4545fb
remove to_vec from Pt2D; only need it in one triangulation-specific place
2018-09-18 13:44:14 -07:00
Dustin Carlino
7dc192b0c9
refactoring helpers to draw lines
2018-09-18 13:29:30 -07:00
Dustin Carlino
18a5a2f2f8
remove parcels too far from sidewalks
2018-09-16 16:54:35 -07:00
Dustin Carlino
67ef04b3c2
unifying tooltip handling a bit
2018-09-16 15:57:23 -07:00
Dustin Carlino
dba3893ee5
handle linear waterway areas
2018-09-16 15:38:33 -07:00
Dustin Carlino
304b4e929e
detecting parks, swamps, waterways from OSM
2018-09-16 14:02:42 -07:00
Dustin Carlino
361755400d
rendering for areas
2018-09-16 13:37:11 -07:00
Dustin Carlino
966d7bb03d
adding Areas to map and UI; not instantiating them yet
2018-09-16 13:25:31 -07:00
Dustin Carlino
e4339436fc
make bus stops a separate layer to render. easy!
2018-09-15 19:58:25 -07:00
Dustin Carlino
74ad9d0819
split bus stops into their own first-class object in the map model layer
2018-09-15 19:02:10 -07:00
Dustin Carlino
e65f3aecc7
update to rust 1.29, re-run format
2018-09-15 16:54:00 -07:00
Dustin Carlino
48a47ff013
make parcels selectable too
2018-09-13 14:14:10 -07:00
Dustin Carlino
013b3e11c5
pathfinding using bus stops, unused, and not the right interface yet
2018-09-09 14:03:20 -07:00
Dustin Carlino
0b127e979a
WIP generalizing pathfinding to have different expansion and costs
2018-09-09 13:15:56 -07:00
Dustin Carlino
0876315d50
make large.abst load, damnit!
...
- deal with loop lanes screwing up trim_lines
- give up when trim_lines fails and just keep the full geometry
- tune some epsilons
- delete duplicate turns instead of panicking
2018-09-08 21:16:58 -07:00
Dustin Carlino
dc4806bbcc
drop buildings too far away from sidewalks
2018-09-08 15:04:05 -07:00
Dustin Carlino
b14fcf8449
match bus stops to driving lanes more robustly
2018-09-08 14:54:54 -07:00
Dustin Carlino
f3982282de
speed up building creation by doing sidewalk finding in bulk
2018-09-08 13:28:09 -07:00
Dustin Carlino
630f6504f4
stick in some flamegraph timings to part of map loading
2018-09-08 13:01:39 -07:00
Dustin Carlino
ba9fe54c2a
trying to make medium map load!
...
- new polyline shifting that keeps a constant width, even at sharp
corners. it breaks and is slow when shifting just to make thick
polygons, so keep the old version around for that. actually, disable
it always. :(
- deal with bus stops on sidewalks with no associated driving lane
- more hacks to make dist_along_of_pt work for horiz/vertical lines
- handling bus stops close to the end of a sidewalk
2018-09-08 12:48:25 -07:00
Dustin Carlino
99fe9f170c
fixing up tests
2018-09-07 14:08:36 -07:00
Dustin Carlino
58b01fce9e
instantiate bus routes from GTFS too
2018-09-07 13:03:50 -07:00
Dustin Carlino
143084a8a9
parse gtfs during map conversion
2018-09-07 11:54:27 -07:00
Dustin Carlino
1b30dafb03
now construct bus stops in the map model layer... working, seemingly
2018-09-06 19:14:29 -07:00
Dustin Carlino
c1ad5fb39f
working on turning GTFS into map model layer bus stops, but interlude of
...
refactoring a sidewalk pt finder thing
2018-09-06 18:18:56 -07:00
Dustin Carlino
a2c7b8b5bd
fixing warping peds and preventing it from happening again
2018-09-05 14:22:47 -07:00
Dustin Carlino
551c0c3170
making BusStop a lightweight ID-like thing
2018-09-04 13:21:01 -07:00
Dustin Carlino
55b02e6c5c
making a sample ped using the bus
2018-09-04 11:49:22 -07:00
Dustin Carlino
c1f87395cc
unused, WIP code for peds to wait for, board, deboard buses
2018-08-31 11:23:30 -07:00
Dustin Carlino
fc2abb1524
silence spammy logs
2018-08-28 14:50:16 -07:00
Dustin Carlino
c9a0ea213b
spawning a bus that follows a route
2018-08-28 14:44:11 -07:00
Dustin Carlino
a9bb71c59f
modeling and rendering bus stops
2018-08-27 15:06:13 -07:00
Dustin Carlino
269235d1e1
writing savestates in a consistent place
2018-08-27 11:10:02 -07:00
Dustin Carlino
c3d7595fc3
(slightly) smarter stop sign assignment
2018-08-24 12:46:09 -07:00
Dustin Carlino
f36c94c730
render individual points from extra KML, and refactor some circle helpers
2018-08-23 15:17:37 -07:00
Dustin Carlino
7745678794
make the spawner deal with trips and transitions... big revamp for it
2018-08-23 10:11:56 -07:00
Dustin Carlino
7b28b8c988
make peds actually walk from bldg to sidewalk when starting
2018-08-22 14:03:08 -07:00
Dustin Carlino
3fba70a9a9
make pedestrians start aligned with building paths. almost ready to make
...
them travel along the front path
2018-08-22 13:43:11 -07:00
Dustin Carlino
82952ef198
remembering where the front path hits the sidewalk
2018-08-22 12:21:58 -07:00
Dustin Carlino
a2399f6613
trimming front paths to building edges
2018-08-22 11:54:18 -07:00
Dustin Carlino
00056e6e81
require a front path for buildings, by ignoring street names
2018-08-22 11:33:29 -07:00
Dustin Carlino
cca0915ff3
can only park next to an adjacent lane
2018-08-22 09:47:46 -07:00
Dustin Carlino
bf52822e37
wrote a few tests of parking
2018-08-19 18:07:28 -07:00
Dustin Carlino
8bf2b67e10
fixing a few bugs causing bigger maps to not load at all
2018-08-17 10:54:44 -07:00
Dustin Carlino
511aab4483
representing departing vehicles
2018-08-15 11:53:04 -07:00
Dustin Carlino
d3611c6084
easier queries for lane type
2018-08-14 21:25:19 -07:00
Dustin Carlino
1720e51828
WIP start a specific parked car, not the last one in the lane. broken,
...
because multiple cars jump to the beginning of the driving lane. need to
make them start in the right position (and then go there slowly)
2018-08-14 21:13:05 -07:00
Dustin Carlino
432c9644fc
slightly different speed limits
2018-08-09 13:14:30 -07:00
Dustin Carlino
40cb2bf6f4
making draw_polygon only accept a geom Polygon. guess ezgui depending on geom is fine.
2018-08-09 10:57:19 -07:00
Dustin Carlino
9e2ac24b0c
rm unused methods
2018-08-09 10:38:11 -07:00
Dustin Carlino
bf2bd09a54
WIP converting lanes and draw car to new polygon
2018-08-09 10:36:29 -07:00
Dustin Carlino
7b53264bb8
WIP debugging bad building polygon drawing
2018-08-08 13:21:45 -07:00
Dustin Carlino
4c0a8f588a
still debugging various breakages. drawing lane IDs
2018-08-07 12:23:00 -07:00
Dustin Carlino
82902199a2
moving parcel grouping into convert_osm, which is run with --release anyway
2018-08-06 13:10:48 -07:00
Dustin Carlino
e31061860b
drawing groups of parcels with different colors. very slow, since it's
...
done without a quadtree and every load
2018-08-06 12:54:56 -07:00
Dustin Carlino
a4b8c2247f
debugging for intersections
2018-08-01 14:39:38 -07:00
Dustin Carlino
5ad6f53607
use new dimensioned version, letting us serialize maps and clean up
...
hacks elsewhere
2018-08-01 14:05:38 -07:00
Dustin Carlino
890f6541af
turns between sidewalks were getting conflated after the TurnID change; adding parent intersection fixes it. should fix ped warping problem.
2018-08-01 13:31:14 -07:00
Dustin Carlino
473b5bf22e
handle missing objects in warp plugin
2018-07-31 13:49:04 -07:00
Dustin Carlino
298babc85d
parallelizing parked->driving car pathfinding too
2018-07-28 11:02:28 -07:00
Dustin Carlino
30eb23816c
deduping biking and driving turns, fixing a turn icon offset glitch
2018-07-27 11:46:03 -07:00
Dustin Carlino
b6a9e2e1a4
dont make u-turns unless really at a dead-end
2018-07-26 17:08:50 -07:00
Dustin Carlino
d5f002e35c
incoming/outgoing roads made no sense. oops.
2018-07-26 13:42:27 -07:00
Dustin Carlino
ab986a3a8a
debugging turn-making funkiness
2018-07-26 13:18:37 -07:00
Dustin Carlino
d22d955dbb
deleting and adding turns when edited
2018-07-26 13:06:37 -07:00
Dustin Carlino
7b4df16c8e
printing reasons why edits are invalid
2018-07-26 12:14:37 -07:00
Dustin Carlino
904aa4449e
editing lane types, vastly simplified, no turns yet
2018-07-26 12:04:02 -07:00
Dustin Carlino
de54b917bc
changing turns to have IDs thatll be stable across edits
2018-07-25 19:01:47 -07:00
Dustin Carlino
3e72f39121
planning how to do live road edits
2018-07-25 18:19:39 -07:00
Dustin Carlino
9200a5ef3d
use pretty assertions
2018-07-24 16:23:25 -07:00
Dustin Carlino
c321c07bd7
make map use road edits when loading from scratch
2018-07-24 16:06:25 -07:00
Dustin Carlino
120e7c5db1
plumb through UI controls for road edits
2018-07-24 15:43:01 -07:00
Dustin Carlino
2ba0647b7c
saving and loading road edits in the UI
2018-07-24 15:30:40 -07:00
Dustin Carlino
9fbf48c495
defining the basic data model for some road edits
2018-07-24 12:30:56 -07:00
Dustin Carlino
30b992e7f0
wait, make road remember lane types too
2018-07-24 11:40:58 -07:00
Dustin Carlino
0bfcae6aa6
WIP making intersections know in/out roads too, using for simpler turn-making
2018-07-24 11:13:08 -07:00
Dustin Carlino
7d187bcceb
ripping out other_side too
2018-07-24 10:56:23 -07:00
Dustin Carlino
c04572e4c7
dont store siblings anymore, simplify LaneSpec
2018-07-24 10:07:31 -07:00
Dustin Carlino
83d5e75e43
store children in road, and stop storing some state in lane and query it instead
2018-07-24 09:23:23 -07:00
Dustin Carlino
549aa75d9c
lifted unshifted pts to road
2018-07-24 08:59:01 -07:00
Dustin Carlino
4bf72b36c8
removing osm metadata from lanes now
2018-07-24 08:18:47 -07:00
Dustin Carlino
62139c1abc
introducing road structures, with a copy of OSM metadata
2018-07-24 07:39:26 -07:00
Dustin Carlino
cb26955f8e
introduce RoadID
2018-07-24 07:28:11 -07:00
Dustin Carlino
4207b2cacf
rename existing roads to lanes
2018-07-23 20:24:53 -07:00
Dustin Carlino
166dd907b1
detect bike lanes in OSM
2018-07-23 14:12:29 -07:00
Dustin Carlino
52d5c5b69b
bike lane turns
2018-07-23 14:03:13 -07:00
Dustin Carlino
3017728515
introducing bike lanes! no turns yet
2018-07-23 10:56:45 -07:00
Dustin Carlino
7ee8ef0d8d
cleaning up after polyline trimming
2018-07-23 10:05:20 -07:00
Dustin Carlino
342870f6ab
seemingly got the polyline trimming working for intersections now \o/
2018-07-23 09:53:56 -07:00
Dustin Carlino
a52b966b03
make some more pedestrian paths possible by forcing turns even when line trimming fails
2018-07-23 08:39:58 -07:00
Dustin Carlino
36bfa9cfdf
be able to relate lanes to orig road idx, for debugging
2018-07-22 17:18:13 -07:00
Dustin Carlino
5b018fdf06
adding tests for map conversion determinism
2018-07-22 17:09:12 -07:00
Dustin Carlino
1c85188a64
WIP removing disconnected chunks of map. leaves orphaned intersections
...
still, so disabled.
2018-07-22 16:31:31 -07:00
Dustin Carlino
51fa14d934
parsing shapefiles again for traffic signals
2018-07-20 11:27:57 -07:00
Dustin Carlino
9c21dae3d9
making turns for crosswalks. had to rethink how turns work slightly.
2018-07-11 12:10:56 -07:00
Dustin Carlino
5ffa4ba7c7
centering parked cars in their spots
2018-07-09 16:08:23 -07:00
Dustin Carlino
2ebc13140b
round of rustfmt after 1.27 upgrade
2018-07-09 12:30:59 -07:00
Dustin Carlino
0e6111e86a
being able to find sibling lanes
2018-07-09 12:30:39 -07:00
Dustin Carlino
ddb30734c6
refactoring DrawCar
2018-07-09 10:17:20 -07:00
Dustin Carlino
8b908d2744
calculating the number of parking spots
2018-07-09 09:16:12 -07:00
Dustin Carlino
c033f51da2
make cars pathfind to their destination
2018-07-08 15:40:39 -07:00
Dustin Carlino
f3f3bfd1e9
impl basic A* on roads
2018-07-08 14:37:56 -07:00
Dustin Carlino
0e4ff75286
setting up an intersection test in experimental
2018-07-07 10:48:46 -07:00
Dustin Carlino
dee6c97f4c
draw stop sign in intersections too
2018-07-04 14:05:21 -07:00
Dustin Carlino
92f8aeff1e
drawing a traffic signal, no good colors yet
2018-07-04 13:22:15 -07:00
Dustin Carlino
f1024792e4
validate geometry doesn't overlap for a rendered map
2018-07-03 14:43:53 -07:00
Dustin Carlino
cacf3aea62
halve the number of lanes from OSM for two-ways
2018-07-03 09:42:17 -07:00
Dustin Carlino
5a6ea9bf7e
handle motorways and roads with a known number of driving lanes
2018-06-29 11:41:26 -07:00
Dustin Carlino
f9c1b3b526
WIP representing polyline shifting failure
2018-06-29 11:17:39 -07:00
Dustin Carlino
fe53536024
prototyping crosswalks
2018-06-29 10:30:36 -07:00
Dustin Carlino
a082fbb511
moving stuff to geom crate
2018-06-28 20:35:00 -07:00
Dustin Carlino
34e7f11cda
get rid of vecmath
2018-06-28 19:46:21 -07:00
Dustin Carlino
8e1f9b79f0
PolyLine struct
2018-06-28 18:02:14 -07:00
Dustin Carlino
7f09f22bcf
making a line struct
2018-06-28 17:14:27 -07:00
Dustin Carlino
4bdf70365e
making my own angle class
2018-06-28 15:07:48 -07:00
Dustin Carlino
987f039404
LonLat to Pt2D more explicit
2018-06-28 14:19:59 -07:00
Dustin Carlino
c7c9fa64df
WIP not using ordered float for Pt2D
2018-06-28 14:03:35 -07:00
Dustin Carlino
ff526a6854
split out HashablePt2D
2018-06-28 13:55:43 -07:00
Dustin Carlino
69d6c4ab43
organizing map making code a little
2018-06-27 13:58:11 -07:00
Dustin Carlino
849a132a6a
dashed white lines on big roads
2018-06-27 12:48:11 -07:00
Dustin Carlino
5e362cdfc5
multiple driving lanes on big roads, and simplifying LaneSpecs
2018-06-26 14:46:27 -07:00
Dustin Carlino
02d7053239
trying to fix the general case... maybe detecting the problem. giving up
...
for now.
2018-06-26 14:09:53 -07:00
Dustin Carlino
f5fc04a14e
WIP debugging bad polygons. seemingly fixed one pt inversion case that
...
happens only on the first pt.
2018-06-26 13:23:56 -07:00
Dustin Carlino
82bac55275
use cbor for maps
2018-06-26 09:45:01 -07:00
Dustin Carlino
43536743a8
warp plugin, and making text entry handle numbers
2018-06-26 09:05:14 -07:00
Dustin Carlino
091d1ef98d
handle parallel line intersection, which was making bigger maps break
2018-06-26 08:36:18 -07:00
Dustin Carlino
8de92c095a
OSM tags as a hash, now that serialization is easy
2018-06-26 07:35:34 -07:00
Dustin Carlino
bc92c3ca8d
replacing the pb with serde stuff
2018-06-25 18:56:57 -07:00
Dustin Carlino
fcec05cdfa
rm old thick line stuff at last
2018-06-25 16:16:40 -07:00
Dustin Carlino
afeaed1065
fix length fxn
2018-06-25 15:45:17 -07:00
Dustin Carlino
e1e3abbb28
fixed turns that vanished
2018-06-25 15:42:04 -07:00
Dustin Carlino
5a9bc56c32
center lines are finally gone
2018-06-25 15:34:21 -07:00
Dustin Carlino
0fa7fc25d4
use center pts in more places...
2018-06-25 15:23:15 -07:00
Dustin Carlino
ebbdc82f14
trim back center pts, not center lines
2018-06-25 14:55:09 -07:00
Dustin Carlino
729ad9df24
plumb in new lane center pts, and use them for rendering always. looks OK...
2018-06-25 14:50:18 -07:00
Dustin Carlino
571673b02f
figuring out where polygons go wrong...
2018-06-25 14:41:00 -07:00
Dustin Carlino
9133f7edc1
split lane profiles into a fxn
2018-06-25 14:33:03 -07:00
Dustin Carlino
94e8f7a4bf
switch to new polygons for cars. seems to work.
2018-06-25 14:01:55 -07:00
Dustin Carlino
7c747ea9ee
working on calculating start/end crossings explicitly
2018-06-25 13:48:30 -07:00
Dustin Carlino
fef18fbf2f
use new polygons for parcels...
2018-06-25 13:29:31 -07:00
Dustin Carlino
e2dda62175
bam, line trimming... kind of works
2018-06-25 13:19:01 -07:00
Dustin Carlino
dfdd717c29
use shifted points for polygon, all using the old polyline stuff...
2018-06-25 13:17:28 -07:00
Dustin Carlino
6cad6c7394
working on the line trimming logic. seems to do something?
2018-06-25 13:11:55 -07:00
Dustin Carlino
2451244344
splitting out a mapmaking fxn
2018-06-25 12:03:34 -07:00
Dustin Carlino
6afb71ea5f
preps for line trimming
2018-06-25 11:54:15 -07:00
Dustin Carlino
f9db14fed7
slightly less chaos in the roundabout
2018-06-25 11:19:08 -07:00
Dustin Carlino
427bdf3f34
compute front path upfront
2018-06-25 11:16:33 -07:00
Dustin Carlino
8e1af1f4ea
store graph connections more sanely
2018-06-25 10:28:33 -07:00
Dustin Carlino
06b28f2d2d
finishing screenspace translation of roads and intersections
2018-06-25 10:13:02 -07:00
Dustin Carlino
1242ec5297
WIP transforming gps to screen space earlier
2018-06-25 09:40:37 -07:00
Dustin Carlino
ba310cbd45
removing geom crate, using just map model
2018-06-25 09:00:43 -07:00
Dustin Carlino
4489abd301
same for GeomTurn
2018-06-25 08:37:32 -07:00
Dustin Carlino
a8532fe210
copying GeomRoad stuff in, calling it, not using it
2018-06-25 08:33:56 -07:00
Dustin Carlino
35e3f9807d
compute gps bounds up front, to prep for geom merging
2018-06-25 08:17:12 -07:00
Dustin Carlino
d9e46c5960
splitting map model into more modules
2018-06-25 08:08:38 -07:00
Dustin Carlino
2b9eb66ba1
moving polyline to map_model, using pt2d
2018-06-24 17:01:40 -07:00
Dustin Carlino
c2473828a6
finding paths between buildings and nearest sidewalk
2018-06-20 17:29:04 -07:00
Dustin Carlino
3838a1c4ac
extra lanes on one-ways
2018-06-19 13:39:10 -07:00
Dustin Carlino
52b8570e6c
sidewalks for two-ways
2018-06-19 10:10:30 -07:00
Dustin Carlino
854eee4fd0
rendering parking lanes for two-ways...
2018-06-19 09:54:21 -07:00
Dustin Carlino
55fea2d5a7
moving to new way of generating lanes from osm ways
2018-06-19 09:29:58 -07:00
Dustin Carlino
ef78902f9a
slowly moving away from depending on other_side in Road, and declaring LaneType stuff
2018-06-19 09:03:26 -07:00
Dustin Carlino
91920c3e1d
dont reach into DrawRoad's polygon directly from DrawIntersection
2018-06-18 14:46:11 -07:00
Dustin Carlino
923883883b
updating README and trimming license declarations
2018-06-03 17:56:53 -07:00
Dustin Carlino
f2b7344940
using new rust 1.26 match stuff, and fmt
2018-05-10 16:19:26 -07:00
Dustin Carlino
065c2ce9ba
Importing everything since the initial import
2018-04-10 17:51:37 -07:00
Dustin Carlino
1863289f6d
Initial import of A/B Street prototype.
2018-03-13 08:06:03 -07:00