WebXR実装を読む:ChromiumのAR安定性修正、Layersの両眼課題、Linux OpenXRの確認点
TECHBANGEO Team

WebXR実装を読む:ChromiumのAR安定性修正、Layersの両眼課題、Linux OpenXRの確認点

平面追跡の復帰とAR内文字入力を改善するChromium変更を解説。Layersのステレオ仕様課題とLinux OpenXRの過去更新も、配布状況を分けて整理します。

WebXRの使いやすさは、APIが増えることだけでは決まりません。追跡が一時的に途切れた後に復帰できることや、AR内のフォームで文字を入力しても表示が消えないことも、体験の品質を左右します。

2026年10月13〜14日(JST)、Chromiumのmainに平面検出とAndroidのDOM Overlayに関する修正が入りました。10月14日の確認時点で、一般配布のChromeや他のChromium系ブラウザへの収録は未確認です。本稿はソースと作者の説明を読むもので、BANGEOによる実機検証ではありません。

ヘッドセットを着けたマスコットが欠けた床面の復元を確認し、別のマスコットがAR内の入力パネルを持つ概念図

平面の情報が足りないときに、描画処理を止めない

10月13日09:51 JSTのChromium変更は、Plane Detectionの不完全な更新を扱います。追跡データを失ってキャッシュが消えた後に、端末から「変更のない平面ID」だけが届くと、従来はキャッシュに存在する前提のチェックでrendererが停止し得ました。

修正は、更新データにもキャッシュにもないIDを無視し、後で完全なデータが届けば平面を作り直せるようにするものです。新しい平面認識APIや検出精度の改善ではなく、不整合な更新に耐える処理です。

アプリ側でも、床や壁が一度見つかれば永久に同じデータが届くとは仮定できません。追跡喪失、復帰、平面の追加・削除を検証し、平面が取れないフレームで操作を続けるか、表示を保留するかを設計しておく必要があります。

AndroidのAR内文字入力で起きる空白を減らす

10月14日07:27 JSTのDOM Overlay変更は、Android/ARCoreの合成処理を扱います。文字選択、カーソル、キーボードなどでDOMのSurfaceIdが変わると、新しいsurfaceが有効になるまでoverlayが空白になることがありました。

修正では、セッション開始時から最新までのsurfaceの範囲を参照し、最後に有効なDOMを描画します。カメラやWebXRフレーム全体をDOM側の描画待ちにする方式ではありません。作者はNothing Phone 3a、Pixel 7a、Samsung S23で確認したと記録しています。ただし、選択ハンドル自体が表示されない課題は残ります。

これはGalaxy XRやXREAL AURA固有の修正ではありません。Androidスマートフォン向けARのフォームを検証するなら、文字入力、選択、キーボード開閉、セッション終了後の通常ページへの復帰を別々に試してください。

Layersで左右の映像を分ける仕様上の課題

10月14日07:00 JSTに作成されたLayers #343は、getSubImage()の手順に関する問題提起です。左右または上下に詰めた立体画像のlayoutで、両眼に先頭側のviewportを返してしまう可能性が指摘されています。10月14日の確認時点ではopenで、仕様修正のマージではありません。

Layers仕様のアルゴリズムでは、右眼のindex変更がstereoの場合に限定されている点が焦点です。全ブラウザで同じ不具合が再現したという報告としては扱えません。

検証には、左眼用と右眼用で明確に違う模様を描いた画像が有効です。左右分割と上下分割を分け、返されたviewportと各眼で見える領域、invertStereoによる入れ替えを確認します。実装独自の回避コードを足す前に、対象ブラウザで再現するかを確かめてください。

Linux OpenXRのmain反映とSteam Frameの製品対応を分ける

ここからは今日の新発表ではなく、過去更新の補足です。ChromiumのLinux OpenXR providerは9月30日01:40 JSTにmainへ入りました。変更はLinuxでOpenXRデバイスを作成し、immersive-vrを接続する経路を含みます。commitにはOpenXR機能が既定で無効で、--enable-features=OpenXRを必要とする旨が記載されています。

この変更だけで、Steam Frameの標準ブラウザへWebXRが配布済みとは判断できません。Valve開発者の公式フォーラム投稿と、非公式の実機報告を分けて読む必要があります。

非公式報告はSteam Frame本体のarm64 Chromiumと本体SteamVRを使う構成です。PC上のブラウザと接続するPCVRとは別です。OpenXRランタイムが存在しても、手入力、AR、Layers、Depth、Passthrough、Anchors、WebGPUのXR連携が全て動くことにはなりません。これらの標準ブラウザ対応は今回未確認です。

非公式ビルドの安全設定や配布条件を、最新Chromiumや公式ブラウザ全体の性質に読み替えることも避けてください。本稿は非公式ビルドの導入手順を推奨するものではありません。

小さなブラウザ修正も配布版を確認する

Wolvicでは10月13日21:46 JSTに、計測をOFFにしたとき実際のOpenTelemetry処理を停止するmain修正が入りました。WebXR APIの追加ではなく、ブラウザ設定の実効性に関わる変更です。正式リリースへの収録は今回未確認です。

情報の段階開発者が確認すること
Issue・PR問題提起か、レビュー中の修正案か
mainへのマージどのコードが変わったか
正式リリース利用中の版に含まれるか
実機動作OS・ブラウザ・ランタイム・要求機能の組合せ

今回の修正から学べるのは、追跡、DOM、両眼描画、ランタイム接続を別々に検証することです。ソースが改善された段階と、読者の端末で使える段階を分けることで、アップデートを判断する根拠が明確になります。

一次参照

XでシェアB!はてブする

デモを実際に試してみる

この技術を使用した実例を、ブラウザですぐに体験できます。

デモを見る →