aeharding / aeharding/wingover

MapKit setInsets silently resets rotation (track-up bearing lost on inset change)

Đang mở
#147 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
0
Fork
0
Merge trung bình
4 giờ 2 phút
Pull request đã merge (30 ngày)
6

Mô tả

Found during adversarial review of #145, reading the MapKit JS v6 bundle: `Map.setPadding()` executes `this.rotation = 0` when the map lays out. The adapter's `setInsets()` calls `map.padding = ...`, so an inset change while track-up is engaged (orientation change, safe-area shift, replay pane glide) snaps the camera to north.

Not caused by #145 (pre-existing), but flight-relevant: the live map re-applies insets on rotation, exactly when a track-up pilot would notice the bearing reset.

Repro direction: engage track-up in flight (or mock), rotate the device or otherwise trigger MapCanvas's inset re-resolution, observe bearing snap to 0.

Fix direction: in the mapkit adapter's setInsets, capture `map.rotation` before setting padding and re-assert it after (non-animated), or gate padding writes to actual value changes.

https://claude.ai/code/session_018K4iY3i2C8R97gzrQGpnrN

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.