aeharding / aeharding/wingover

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

未关闭
#147 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
0
派生
0
平均合并
4 小时 2 分钟
30 天内合并 PR
6

描述

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

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。