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