Skip to content

Fix Retina raster tiles and skip unchanged marker lists - #10

Merged
wf9a5m75 merged 7 commits into
developfrom
feature/bearing-clockwise
Oct 24, 2026
Merged

wf9a5m75 merged 7 commits into
developfrom
feature/bearing-clockwise

Conversation

@wf9a5m75

Copy link
Copy Markdown
Contributor

概要

feature/bearing-clockwise のうち、まだ develop に入っていない変更を取り込みます(bearing の変更は #6 でマージ済みです)。

  • MapKit のラスタータイルで Retina のスケールを考慮するようにしました。
  • 前回と同じマーカーリストが渡されたら、すぐに返すようにしました(コアの MarkerListIdentity で参照比較しています)。144k マーカーでピンチ操作が重かった件の対策です。
  • declutterPx がタイルレンダラーに渡らず無視されていたので、渡すようにしました。また、購読ごとのログ出力をやめました(初回同期で 144k 行出ていました)。
  • MKMapCamera.pitch(CGFloat)の変換を明示的に書くようにしました。ツールチェーンによっては ambiguous use of 'cos' でビルドが失敗していました。
  • CI でも、同じブランチの ios-sdk-core から MapConductorCore をビルドするようにしました。
  • vector style 対応と保留していたマップ修正を統合しました。

masashi and others added 7 commits September 1, 2026 11:41
bearing を「値を増やすと地図が時計回りに回る」向きに統一し、ネイティブ SDK との変換をコアの CameraBearing に集約する。
コアの未リリースな変更に追随する PR を、コアのリリースを待たずに検証できるようにする。Package.swift が元から持っている「隣に ios-sdk-core があればそれを使う」経路に乗せるだけ。
MKMapCamera.pitch は CGFloat。暗黙変換に任せると CoreGraphics の cos(CGFloat) と Foundation の cos(Double) が両方候補になり、ツールチェーンによっては ambiguous use of 'cos' で落ちる。
SwiftUI re-evaluates map content on every camera change and hands the
full marker list back to syncMarkers each time. For 144k markers the
per-pass sets, dictionaries and hasEntity locks ran on the main thread
for hundreds of milliseconds -- the 'pinch feels heavy on iOS' report.
MarkerListIdentity (core) compares the list by reference and lets an
unchanged list return in under a millisecond. Applied to every provider
because fixing one just moves the report to the next one.

Also pass declutterPx through to the tile renderer -- the option was
silently ignored here while MapLibre honoured it -- and drop the
per-subscription log line, which emitted 144k lines on first sync.
@wf9a5m75
wf9a5m75 merged commit a37de44 into develop Oct 24, 2026
2 checks passed
@wf9a5m75
wf9a5m75 deleted the feature/bearing-clockwise branch October 24, 2026 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant