Commit Graph

434 Commits

Author SHA1 Message Date
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