Skip to content

fix(crane_web_debugger): robot_testで存在しないロボットが表示される問題を修正#1350

Merged
HansRobo merged 1 commit intodevelopfrom
fix/robot-test-filter-unavailable-robots
Apr 23, 2026
Merged

fix(crane_web_debugger): robot_testで存在しないロボットが表示される問題を修正#1350
HansRobo merged 1 commit intodevelopfrom
fix/robot-test-filter-unavailable-robots

Conversation

@HansRobo
Copy link
Copy Markdown
Member

概要

Robot Test ページでフィールド上に存在しない(Vision/Tracker 未検出の)味方ロボットが描画・選択できてしまう問題を修正する。

背景・根本原因

crane_world_model_publisherrobot_info_ours を常に MAX_ROBOT_COUNT(=16)スロット分発行しており、検出状態は各スロットの available_vision/available_tracker フラグで示される。しかし robot_test.js はこのフラグを参照せず全スロットを描画・ヒットテスト対象としていたため、未検出ロボットが画面に出現していた。

viewer(viewer/main.js:571)では既に同フィルタが実装済みで、robot_test.js 内の _updateHover() も実装済みだが、描画ループとクリック選択のみが抜けていた。

変更内容

  • 味方ロボットの描画ループに available_vision || available_tracker フィルタを追加
  • 選択ハイライト(破線円)の描画条件を検出済みロボットのみに変更
  • findRobotAtPosition() のヒットテストに同フィルタを追加

変更は crane_web_debugger/web/robot_test.js のみ(JS のみ、C++ ビルド不要)。

## 背景
WorldModelは常にMAX_ROBOT_COUNT(16)スロット分のロボット情報を発行するが、
各スロットの`available_vision`/`available_tracker`フラグで検出状態を示す。
robot_test.jsではこのフラグを参照せずに全スロットを描画・クリック選択の対象と
していたため、実際にはフィールドに存在しないロボットが表示されていた。

## 変更内容
- 味方ロボットの描画ループに`available_vision || available_tracker`フィルタを追加
- 選択ハイライト(破線円)の描画条件を存在するロボットのみに変更
- `findRobotAtPosition()`のヒットテストに同フィルタを追加

viewer側(viewer/main.js:571)では既に同フィルタが実装済みであり、
それと一貫した挙動になる。なお同ファイル内の`_updateHover()`も既に
フィルタ済みのため、今回の修正でロボットTest全体の挙動が統一される。
@HansRobo HansRobo merged commit 853b2db into develop Apr 23, 2026
7 of 8 checks passed
@HansRobo HansRobo deleted the fix/robot-test-filter-unavailable-robots branch April 23, 2026 16:57
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