canary - #6988
Merged
Merged
canary#6988
Conversation
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
devの内容をcanaryへ反映するリリース PR。含まれる変更は #6987 の 1 件。変更の種類
変更内容
平滑化判定の診断情報 (#6987)
#6983 で入れた DevOverlay の診断情報コピーが、地下鉄分岐(
skipSmoothing)に入っているかを説明できない状態だった。持ち出していたaccuracyHistoryは DevOverlay のチャート用(1 秒ごとにサンプリングし、無効値はNaNを積む)で、平滑化の要否を決めている判定用のaccuracyHistoryAtom(測位を受理するたびに積み、無効値は捨てる)とは別物だったため、どちらの経路を通ったのかが JSON から追えなかった。スナップショットに
filterを追加し、判定用の精度履歴・判定結果・判定に使った路線種別を出すようにした。setLocationが判定した結果と入力をsmoothingDecisionAtomへ組で書き込み、DevOverlay はその組をそのまま出す。同じ条件を DevOverlay 側で組み直すと、判定と表示が別々に育って食い違う。判定内容が前回と変わらないときは書き込まないため、購読側の再レンダーは判定が変化した瞬間だけに限られる。測位の判定そのもの(
isAccuracyStable・skipSmoothingの条件)は変更していないので、位置の挙動は変わらない。DevOverlay はsrc/screens/Main.tsxでisDevApp && devOverlayEnabledのときだけマウントされるため、本番ビルドの画面には出ない。ネイティブ依存の増減はなし(
expo-clipboardは #6983 で追加済みで、その canary ビルドは #6985 で通っている)。テスト
npm run lintが通ることnpm testが通ることnpm run typecheckが通ることorigin/dev(799d347) をローカルで検証した結果:npm run lint→biome check ./src、Checked 767 files, No fixes appliednpm run typecheck→tsc --noEmit、エラーなしnpm test→ 287 suites / 3,142 tests すべて pass検証は #6987 の head (
67f7a59) で実行したもので、git diff --stat 67f7a59 origin/devが空であることを確認済み(ツリーが一致するためorigin/devの内容に対する結果として扱える)。#6987 の CI(quality/typecheck/test)も同コミットで success。canary で確認したいこと
COPYを押して、コピーされた JSON にfilter.skipSmoothing/filter.lineType/filter.accuracyHistoryが入っていることfilter.skipSmoothingがtrue、filter.lineTypeがSubwayになること。ワープが出た時点のスナップショットが取れると 地下鉄分岐でも測位ノイズを差し引いた速度フィルタを掛けて数km先へのワープを抑える #6981 の判断材料になる関連Issue
参考: #6981(この診断が必要になった地下鉄ワープの調査。Draft のまま実走行データ待ち)
スクリーンショット(任意)
UI 変更なし:
src/components/DevOverlay.tsxの差分は購読先の atom の差し替えと、クリップボードへ載せる JSON への値の追加だけで、画面に描画される要素は変わりません(stationAtomの購読はむしろ 1 つ減っています)。製品画面の変更もありません。#6987 に記載した理由と同じです。🤖 Generated with Claude Code
https://claude.ai/code/session_01Sfi8S4Yvob2sEzib4VUUBs
Generated by Claude Code