recursal/MDN huggingface dataset:
GPU: requestAdapter() メソッド
==========================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

`GPU` インターフェイスの **`requestAdapter()`** メソッドは、`GPUAdapter` オブジェクトのインスタンスで解決する `Promise` を返します。これを用いると、`GPUDevice` (en-US)、アダプターの情報、機能、制限を要求できます。

注意点として、ユーザーエージェントはアダプターを返すかどうかを選択します。返す場合は、渡されたオプションに沿って選択します。オプションが何も渡されなかった場合は、デバイスはデフォルトアダプターへのアクセスを提供し、これは通常ほとんどの目的に十分適します。

構文
--


```js
requestAdapter()
requestAdapter(options)
```

### 引数

`options` 省略可

以下のプロパティを持つオブジェクトです。

`powerPreference` 省略可

システムで利用可能なアダプターからどのような種類のアダプターを選ぶべきかのヒントをユーザーエージェントに与える列挙値です。以下の値が利用できます。

* `undefined` (または指定なし): ヒントを与えません。
* `"low-power"`: パフォーマンスより電力の節約を優先するヒントを与えます。アプリケーションがこの設定で十分動作するなら、ポータブルデバイスにおけるバッテリーの寿命をかなり伸ばすので、これを使用することを推奨します。これは通常オプションが指定されない場合のデフォルトです。
* `"high-performance"`: 電力の消費よりパフォーマンスを優先するヒントを与えます。これはポータブルデバイスにおけるバッテリーの寿命をかなり縮めるので、どうしても必要な場合のみこの値を指定することを推奨します。さらに、システムは電力を節約するために消費電力が少ないアダプターに切り替えることがあるため、`GPUDevice` (en-US) のロスの発生率が上がる可能性があります。

このヒントの主な目的は、複数の GPU があるシステムにおける使用する GPU の選択に影響を与えることです。たとえば、ノートパソコンには低消費電力の統合された GPU と高パフォーマンスの独立した GPU があるものがあります。どのアダプターが返されるかは、バッテリーの状態、接続されたディスプレイ、取り外し可能な GPU などの異なる因子に影響を受ける可能性があります。

**メモ:** デュアル GPU の macOS デバイスで実行されている Chrome では、`requestAdapter()` が `powerPreference` オプションなしで呼び出され、デバイスが AC 電源で動作している場合は、高パフォーマンスの独立した GPU が返されます。そうでない場合は、低消費電力の統合された GPU が返されます。



### フォールバックアダプター

ユーザーエージェントがそれが利用可能な中で最適な選択肢だと判断した場合は、ユーザーエージェントにより提供されるアダプターは **フォールバックアダプター** である可能性があります。一般的に、フォールバックアダプターはかなりパフォーマンスが落ちるかわりに、より広い互換性、より予測可能な挙動、よりよいプライバシーのうちいくつかを持ちます。たとえば、フォールバックアダプターを通じて API のソフトウェアベースの実装を提供するブラウザーもあるかもしれません。フォールバックアダプターはすべてのシステムで利用可能ではないでしょう。

アプリケーションがフォールバックアダプターで動作するのを防ぎたい場合は、`GPUDevice` (en-US) を要求する前に `GPUAdapter.isFallbackAdapter` 属性をチェックするべきです。

**メモ:** 仕様書には `requestAdapter()` 用の `forceFallbackAdapter` オプションがあります。これは、`true` に設定するとユーザーエージェントに利用可能であれば必ずフォールバックアダプターを返させる論理値です。これに対応しているブラウザーはまだありません。

### 返値

要求に成功した場合は `GPUAdapter` オブジェクトのインスタンスで解決する `Promise` です。

適切なアダプターが利用できない場合は、`requestAdapter()` は `null` で解決します。

### 例外

なし

例
-


```js
async function init() {
  if (!navigator.gpu) {
    throw Error("WebGPU に対応していません。");
  }

  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    throw Error("WebGPU アダプターを要求できませんでした。");
  }

  const device = await adapter.requestDevice();

  //...
}
```

仕様書
---

| Specification |
| --- |
| WebGPU # dom-gpu-requestadapter |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebGPU API
GPU: wgslLanguageFeatures プロパティ
===============================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

`GPU` インターフェイスの読み取り専用プロパティ **`wgslLanguageFeatures`** は、この WebGPU の実装が対応している WGSL 言語の拡張を報告する `WGSLLanguageFeatures` オブジェクトを返します。

**メモ:** API に対応しているすべてのブラウザーの WebGPU ですべての WGSL 言語の拡張が利用可能なわけではありません。使用することを決めたすべての拡張を徹底的にテストすることを推奨します。

値
-

`WGSLLanguageFeatures` オブジェクトのインスタンスです。これは Set 風オブジェクトです。

例
-


```js
if (!navigator.gpu) {
  throw Error("WebGPU に対応していません。");
}

const wgslFeatures = navigator.gpu.wgslLanguageFeatures;

// 集合のサイズを返す
console.log(wgslFeatures.size);

// values() を用いて集合の要素すべてを走査する
const valueIterator = wgslFeatures.values();
for (const value of valueIterator) {
  console.log(value);
}

// ...
```

仕様書
---

| Specification |
| --- |
| WebGPU # dom-gpu-wgsllanguagefeatures |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebGPU API
GPU: getPreferredCanvasFormat() メソッド
====================================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

`GPU` インターフェイスの **`getPreferredCanvasFormat()`** メソッドは、現在のシステムにおける 8 ビット深度で通常のダイナミックレンジのコンテンツを表示する用の最適なキャンバステクスチャーの形式を返します。

これは、`GPUCanvasContext.configure()` (en-US) を呼び出す際に `format` の値を現在のシステムで最適なものにするためによく用いられます。これは推奨される方法です。キャンバスコンテキストを設定する際に適した形式を用いないと、プラットフォームによっては、テクスチャーのコピーが増えるなどの追加のオーバーヘッドが発生する可能性があります。

構文
--


```js
getPreferredCanvasFormat()
```

### 引数

なし

### 返値

キャンバステクスチャーの形式を表す文字列です。`rgba8unorm` および `bgra8unorm` を取りえます。

### 例外

なし

例
-


```js
const canvas = document.querySelector("#gpuCanvas");
const context = canvas.getContext("webgpu");

context.configure({
  device: device,
  format: navigator.gpu.getPreferredCanvasFormat(),
  alphaMode: "premultiplied",
});
```

仕様書
---

| Specification |
| --- |
| WebGPU # dom-gpu-getpreferredcanvasformat |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebGPU API
IntersectionObserver: IntersectionObserver() コンストラクター
=====================================================

**`IntersectionObserver()`** コンストラクターは、新しい `IntersectionObserver` オブジェクトを生成します。

`rootMargin` が指定されていた場合は、構文の正しさを確認します。
 指定されなかった、または空文字列の場合、既定値は `0px 0px 0px 0px` となります。

`threshold` が指定されていた場合は、すべてが 0.0 以上 1.0 以下であるか確認され、閾値のリストは昇順に並べられます。
 閾値のリストが空の場合、 `[0.0]` の配列に設定されます。

構文
--


```js
new IntersectionObserver(callback)
new IntersectionObserver(callback, options)
```

### 引数

`callback`

 対象要素の見える割合が閾値をまたいだ場合に呼び出される関数です。
 このコールバックは以下の 2 つの引数を取ります。


`entries`

`IntersectionObserverEntry` オブジェクトの配列で、それぞれの要素は、閾値をまたいだ要素を表します。これは可視状態が、その閾値で指定されたパーセント値よりも高くなった場合も低くなった場合も含まれます。

`observer`

コールバックが呼び出される `IntersectionObserver` です。


`options` 省略可

 省略可能で、オブザーバーをカスタマイズするためのオブジェクトです。
 もし `options` に何も指定されていない場合、オブザーバーはルートとして文書のビューポートを使用し、マージンなし、閾値 0% （つまり、 1px でも変化があればコールバックが呼び出される）を使用します。
 次のオプションから任意の組み合わせを利用できます。


`root`

`Element` または `Document` オブジェクトで、対象の祖先要素です。これらの外接矩形がビューポートとみなされます。
 `root` の可視領域に見えていない部分は、可視状態であるとはみなされません。


`rootMargin`

 文字列で、交差状態を計算するときに、ルートの外接ボックスに適用されるオフセットのセットを指定し、適用されるオフセットの矩形で、計算に使用するルートの矩形を縮小または拡大させます。
 構文は概ね CSS の `margin` プロパティのものと同じです。
 margin のしくみと構文について詳しくは交差ルートとルートマージンを参照してください。
 既定値は "0px 0px 0px 0px" です。


`threshold`

 単一の数値か、または 0.0 と 1.0 の間の数値の配列で指定し、監視対象の外接ボックスの総面積に対する交差領域の比率を指定します。
 0.0 の値に設定すると、 1px でも交差領域に入ったらその対象要素は可視状態になったとみなされます。
 1.0 は対象要素全体が可視状態であることを意味します。
 閾値の扱い方については、閾値でより詳しく説明されています。
 既定値は 0.0 の閾値です。



### 返値

 新しい `IntersectionObserver` で、指定された `root` 内における対象要素の可視状態が、指定した可視状態の `threshold` のいずれかを通過することを監視するために使用することができます。
 その `observe()` メソッドを呼び出すと、指定された対象要素の可視状態の変化を監視し始めることができます。

### 例外

`SyntaxError` `DOMException`

指定した `rootMargin` が不正です。

`RangeError`

`threshold` の値のうち 1 つ以上の値が 0.0 から 1.0 の範囲に当てはまりません。

例
-

この例では、監視されている要素の可視範囲が 10% を越える毎に `myObserverCallback` を呼び出すような新しい交差オブザーバーを生成します。


```js
let observer = new IntersectionObserver(myObserverCallback, { threshold: 0.1 });
```

仕様書
---

| Specification |
| --- |
| Intersection Observer # dom-intersectionobserver-intersectionobserver |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
IntersectionObserver: root プロパティ
================================

`IntersectionObserver` インターフェイスの読み取り専用の **`root`** プロパティは、 オブザーバーの対象となる要素の外接ボックスの境界をビューポートとして扱う `Element` または `Document` を識別します。

もし `root` が `null` であれば、実際の文書のビューポートの境界が使用されます。

値
-

`Element` または `Document` オブジェクトで、この外接ボックスが、対象要素のどの程度が見えるかを決定するためのビューポートの境界として使用されます。
 この外接矩形が `IntersectionObserver()` コンストラクターに渡されたオプションで指定されたマージンによってオフセットされたものと、対象要素の、対象要素に重なる全ての要素または他のオブジェクトの境界を引いた交差部分が、対象要素の可視領域と見なされます。

もし `root` が `null` であれば、自分の文書をルートとして使用し、そのビューポートの境界（つまり、文書の可視領域）をルート境界として使用します。

例
-

この例では、交差オブザーバのルート要素の `border` を、 2 ピクセルの中緑色の線に設定しています。


```js
observer.root.style.border = "2px solid #44aa44";
```

仕様書
---

| Specification |
| --- |
| Intersection Observer # dom-intersectionobserver-root |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 交差オブザーバー API を使用して要素の可視状態のタイミングを取る
IntersectionObserver: takeRecords() メソッド
========================================

`IntersectionObserver` の **`takeRecords()`** メソッドは `IntersectionObserverEntry` オブジェクトの配列を返します。それぞれのオブジェクトは、前回明示的にこのメソッドが呼び出されるか、暗黙的にオブザーバーのコールバックが自動的に呼び出されて交差状態がチェックされたときから変更されたそれぞれの対象要素を表します。

**メモ:** コールバックを使用してこれらの変更を監視している場合は、このメソッドを呼び出す必要はありません。このメソッドを呼び出すと処理待ちの交差リストをクリアしてしまうため、コールバックが実行されません。

構文
--


```js
takeRecords()
```

### 引数

なし。

### 返値

ルートとの交差状態が最後に調べられた時点以降に変更された対象要素ごとに 1 つずつ `IntersectionObserverEntry` オブジェクトが入った配列。

仕様書
---

| Specification |
| --- |
| Intersection Observer # dom-intersectionobserver-takerecords |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 交差オブザーバー API
IntersectionObserver: unobserve() メソッド
======================================

`IntersectionObserver` の **`unobserve()`** メソッドは、 `IntersectionObserver` に指定された対象要素の監視を停止するよう指示します。

構文
--


```js
unobserve(target)
```

### 引数

`target`

監視を停止する `Element` を指定します。指定された要素を監視していない場合、このメソッドは何もせず、例外も発生しません。

### 返値

なし (`undefined`)。

例
-

このスニペットは、オブザーバーが作成され、要素が監視され、そして監視が終了する様子を示しています。


```js
const observer = new IntersectionObserver(callback);
observer.observe(document.getElementById("elementToObserve"));

// …

observer.unobserve(document.getElementById("elementToObserve"));
```

仕様書
---

| Specification |
| --- |
| Intersection Observer # dom-intersectionobserver-unobserve |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 交差オブザーバー API
* `IntersectionObserver.observe()`
IntersectionObserver: thresholds プロパティ
======================================

`IntersectionObserver` インターフェイスの読み取り専用の **`thresholds`** プロパティは、オブザーバーを `IntersectionObserver()` でインスタンス化したときに指定された交差量の閾値の一覧を返すものです。オブジェクトのインスタンス化時に指定された閾値の比率が 1 つだけの場合、これはその単一の値を含む配列になります。

閾値がどのように作用するかについては、閾値を参照してください。

値
-

オブザーバーをインスタンス化する際に `threshold` プロパティを使用して元々指定されていた、交差量の閾値の配列です。配列にせずに閾値を 1 つだけ指定した場合、この値はその閾値を含む 1 項目の配列となります。元の `threshold` 配列の順序に関係なく、この値は常に数値の昇順にソートされます。

`threshold` オプションを指定せずに `IntersectionObserver()` でオブザーバーをインスタンス化した場合、 `thresholds` の値は `[0]` となります。

**メモ:** `IntersectionObserver` を作成するときに指定することができる `options` オブジェクトには `threshold` というフィールドがありますが、このプロパティは `thresholds` と呼ばれています。紛らわしい？そうです。
 もし `options` のフィールド名として誤って `thresholds` を使用してしまうと、 `thresholds` の配列は `[0.0]` になってしまい、おそらく期待したものとは異なるものになってしまいます。デバッグは大混乱に陥るかもしれません。


仕様書
---

| Specification |
| --- |
| Intersection Observer # dom-intersectionobserver-thresholds |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
IntersectionObserver: rootMargin プロパティ
======================================

`IntersectionObserver` インターフェイスの読み取り専用の **`rootMargin`** プロパティは、 CSS の `margin` プロパティと同じような構文の文字列です。
 `rootMargin` で表される長方形の各辺は、交差判定が行われる前にルート要素 (`root`) の外接ボックス内で対応する辺に追加されます。
 これにより、例えば、あるピクセル数の幅または高さが切り取られた場合でもターゲット要素が 100% 表示されるように境界を外側に調整したり、端がルートの外接ボックスの端に近すぎる場合、ターゲットを部分的に非表示として扱ったりすることができます。

ルートマージンについて、またルートの外接ボックスとの間でどのように動作するかについて、より詳しくは交差の計算方法を参照してください。

値
-

CSS の `margin` プロパティの値と同様の書式化された文字列で、ルートの外接ボックスの一つ以上の辺のためのオフセットを含みます。これらのオフセットは、結果の長方形と対象要素の境界との間の交差の前に、ルートの外接ボックス内の対応する値に追加されます。

このプロパティが返す文字列は、 `IntersectionObserver` がインスタンス化されたときに指定された文字列と一致しない場合があります。ブラウザーは値を変更することが許可されています。

 オブジェクトのインスタンス化時に `rootMargin` が指定されていない場合、既定では文字列 `"0px 0px 0px 0px"` となります。これは、ルート要素の変更されていない外接矩形と対象の境界線との交点を計算することを意味します。
 交差の計算方法では、 `rootMargin` がどのように使用されるか、より詳細に説明しています。

仕様書
---

| Specification |
| --- |
| Intersection Observer # dom-intersectionobserver-rootmargin |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
IntersectionObserver: disconnect() メソッド
=======================================

`IntersectionObserver` の **`disconnect()`** メソッドは、すべての対象要素について、表示状態の変化の監視を停止します。

構文
--


```js
disconnect()
```

### 引数

なし。

### 返値

なし (`undefined`)。

仕様書
---

| Specification |
| --- |
| Intersection Observer # dom-intersectionobserver-disconnect |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `observe()`
* `unobserve()`
IntersectionObserver: observe() メソッド
====================================

`IntersectionObserver` の **`observe()`** メソッドは、要素を `IntersectionObserver` によって監視される対象要素に追加します。
 各オブザーバーはそれぞれ一連の閾値と一つのルートを持っていますが、複数の対象要素について可視部分の変化を監視することができます。

要素の監視を停止するには、 `IntersectionObserver.unobserve()` を呼び出してください。

 指定された要素の可視率がオブザーバーの可視率の閾値を通過したとき（`IntersectionObserver.thresholds` を参照）、オブザーバーのコールバックが実行されます。
 このコールバックは、発生した交差の変化を表す `IntersectionObserverEntry` オブジェクトの配列を受け取ります。この構成によって、 1 回のコールバック呼び出しにつき複数の要素の交差状態の変化を処理することができます。


**メモ:** オブザーバーのコールバックは、 `observe()` が呼び出された後の最初のレンダリングサイクルで、ビューポートに対する監視要素の移動がなくても、常に呼び出されます。
 すなわち、例えば、 `observe()` が呼び出されたときにビューポートの外側にある要素は、 1 つ以上の項目が、 `intersecting` が `false` に設定された状態でコールバックが即座に呼び出されることになります。
 ビューポートの中にある要素については、 `intersecting` が `true` に設定された 1 つ以上の項目でコールバックが即座に呼び出されます。


構文
--


```js
observe(targetElement)
```

### 引数

`targetElement`

可視部分がルート内に収まっているかどうかが監視される`要素`。この要素はルート要素の子要素でなければなりません (ルートが文書のビューポートである場合、要素が現在の文書内に含まれている必要があります)。

### 返値

なし (`undefined`)。

例
-


```js
// IntersectionObserver を登録
const io = new IntersectionObserver((entries) => {
  entries.forEach((entry) => {
    if (entry.intersectionRatio > 0) {
      // 監視対象がビューポート内にある場合は 'active' クラスを追加
      entry.target.classList.add("active");
    } else {
      // そうでなければ 'active' クラスを削除
      entry.target.classList.remove("active");
    }
  });
});

// 何を監視するかを宣言し、そのプロパティを監視
const boxElList = document.querySelectorAll(".box");
boxElList.forEach((el) => {
  io.observe(el);
});
```

仕様書
---

| Specification |
| --- |
| Intersection Observer # dom-intersectionobserver-observe |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `IntersectionObserver.unobserve()`
OTPCredential.code
==================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

`OTPCredential` インターフェイスの **`code`** プロパティは、ワンタイムパスワードを返します。

値
-

ワンタイムパスワードを表す文字列です。

例
-

以下のコードは、`code` の値で入力フォームの要素を埋めます。シンプルなデモの一部としてこのコードを見る


```js
navigator.credentials
  .get({
    otp: { transport: ["sms"] },
    signal: ac.signal,
  })
  .then((otp) => {
    input.value = otp.code;
    if (form) form.submit();
  })
  .catch((err) => {
    console.error(err);
  });
```

仕様書
---

| Specification |
| --- |
| WebOTP API # dom-otpcredential-code |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
VRFrameData.timestamp
=====================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`timestamp`** は `VRFrameData` インターフェイスの読み取り専用プロパティで、フレームの更新が発生した時刻を表す、常に増加するタイムスタンプ値を返します。

**メモ:** このインターフェイスは、古い WebVR API の一部でした。 WebXR Device APIに置き換えられました。

タイムスタンプは、位置状態データがハードウェアから更新されたかどうかを判断するのに便利です。値は常に増加していくので、更新の順序を決定するために比較することができます。新しい値は常に古い値より大きいか等しくなります。

タイムスタンプは、 `VRDisplay` が最初に呼び出されたときに 0 から始まります。

値
-

`DOMHighResTimeStamp` オブジェクトです。

例
-


```js
var frameData = new VRFrameData();
var vrDisplay;

navigator.getVRDisplays().then(function(displays) {
  vrDisplay = displays[0];
  console.log('Display found');
  // Starting the presentation when the button is clicked: It can only be called in response to a user gesture
  btn.addEventListener('click', function() {
    vrDisplay.requestPresent([{ source: canvas }]).then(function() {
      drawVRScene();
    });
  });
});

// WebVR: Draw the scene for the WebVR display.
function drawVRScene() {
  // WebVR: Request the next frame of the animation
  vrSceneFrame = vrDisplay.requestAnimationFrame(drawVRScene);

  // Populate frameData with the data of the next frame to display
  vrDisplay.getFrameData(frameData);

  // grab the current timestamp on each run of the rendering loop
  // and do something with it
  framedata.timestamp

    ...

  // WebVR: Indicates that we are ready to present the rendered frame to the VR display
  vrDisplay.submitFrame();
}
```

仕様書
---

このインターフェイスは、古い WebVR API の一部でしたが、 WebXR Device API に置き換えられました。標準化される予定はありません。

すべてのブラウザーが新しい WebXR API を実装するまで、すべてのブラウザーで動作する WebXR アプリケーションを開発するには、A-Frame や Babylon.js や Three.js などのフレームワークを利用したり、ポリフィルを利用したりすると良いでしょう [1]。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
VRFrameData.leftViewMatrix
==========================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`leftViewMatrix`** は `VRFrameData` インターフェイスの読み取り専用プロパティで、 4 行 4 列の行列を表す `Float32Array` を返します。この行列は、左目の描画に利用されるビュー変換を表します。

**メモ:** このインターフェイスは、古い WebVR API の一部でした。 WebXR Device APIに置き換えられました。

この値は、 WebGL の `uniformMatrix4fv` 関数へ直接渡されるでしょう。

**警告:** 描画時にアプリケーションがこの行列を使用することを強く薦めます。

値
-

`Float32Array` 型のオブジェクトです。

例
-

例については `VRDisplay.getFrameData()` を参照してください。

仕様書
---

このインターフェイスは、古い WebVR API の一部でしたが、 WebXR Device API に置き換えられました。標準化される予定はありません。

すべてのブラウザーが新しい WebXR API を実装するまで、すべてのブラウザーで動作する WebXR アプリケーションを開発するには、A-Frame や Babylon.js や Three.js などのフレームワークを利用したり、ポリフィルを利用したりすると良いでしょう [1]。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
VRFrameData.pose
================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`pose`** は `VRFrameData` インターフェイスの読み取り専用プロパティで、現在の `VRFrameData.timestamp` の時点での `VRDisplay` の `VRPose` を返します。

**メモ:** このインターフェイスは、古い WebVR API の一部でした。 WebXR Device APIに置き換えられました。

値
-

`VRPose` オブジェクトです。

例
-

例については `VRDisplay.getFrameData()` を参照してください。

仕様書
---

このインターフェイスは、古い WebVR API の一部でしたが、 WebXR Device API に置き換えられました。標準化される予定はありません。

すべてのブラウザーが新しい WebXR API を実装するまで、すべてのブラウザーで動作する WebXR アプリケーションを開発するには、A-Frame や Babylon.js や Three.js などのフレームワークを利用したり、ポリフィルを利用したりすると良いでしょう [1]。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
VRFrameData()
=============

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`VRFrameData()`** コンストラクターは、 `VRFrameData` オブジェクトのインスタンスを生成します。

**メモ:** このインターフェイスは、古い WebVR API の一部でした。 WebXR Device APIに置き換えられました。

構文
--


```js
new VRFrameData();
```

### 引数

なし。

例
-

例については `VRDisplay.getFrameData()` を参照してください。

仕様書
---

このインターフェイスは、古い WebVR API の一部でしたが、 WebXR Device API に置き換えられました。標準化される予定はありません。

すべてのブラウザーが新しい WebXR API を実装するまで、すべてのブラウザーで動作する WebXR アプリケーションを開発するには、A-Frame や Babylon.js や Three.js などのフレームワークを利用したり、ポリフィルを利用したりすると良いでしょう [1]。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
VRFrameData.rightViewMatrix
===========================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`rightViewMatrix`** は `VRFrameData` インターフェイスの読み取り専用プロパティで、 4 行 4 列の行列を表す `Float32Array` を返します。この行列は、右目の描画に利用されるビュー変換を表します。

**メモ:** このインターフェイスは、古い WebVR API の一部でした。 WebXR Device APIに置き換えられました。

この値は、 WebGL の `uniformMatrix4fv` 関数へ直接渡されるでしょう。

**警告:** 描画時にアプリケーションがこの行列を使用することを強く薦めます。

値
-

`Float32Array` 型のオブジェクトです。

例
-

例については `VRDisplay.getFrameData()` を参照してください。

仕様書
---

このインターフェイスは、古い WebVR API の一部でしたが、 WebXR Device API に置き換えられました。標準化される予定はありません。

すべてのブラウザーが新しい WebXR API を実装するまで、すべてのブラウザーで動作する WebXR アプリケーションを開発するには、A-Frame や Babylon.js や Three.js などのフレームワークを利用したり、ポリフィルを利用したりすると良いでしょう [1]。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
VRFrameData.leftProjectionMatrix
================================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`leftProjectionMatrix`** は `VRFrameData` インタフェースの読み取り専用プロパティで、 4 行 4 列の行列を表す `Float32Array` を返します。この行列は、左目の描画に利用される射影を表します。

**メモ:** このインターフェイスは、古い WebVR API の一部でした。 WebXR Device APIに置き換えられました。

この値は、 WebGL の `uniformMatrix4fv` 関数へ直接渡されるでしょう。

**警告:** アプリケーションは、この行列を改変せずに使用することを強く薦めます。描画時にこの射影行列の使用に失敗すると、表現されたフレームは歪んだり、正しく揃わなかったりし、その結果として、様々な度合いのユーザの不快感を生みます。

値
-

`Float32Array` オブジェクトです。

例
-

例については `VRDisplay.getFrameData()` を参照してください。

仕様書
---

このインターフェイスは、古い WebVR API の一部でしたが、 WebXR Device API に置き換えられました。標準化される予定はありません。

すべてのブラウザーが新しい WebXR API を実装するまで、すべてのブラウザーで動作する WebXR アプリケーションを開発するには、A-Frame や Babylon.js や Three.js などのフレームワークを利用したり、ポリフィルを利用したりすると良いでしょう [1]。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
VRFrameData.rightProjectionMatrix
=================================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`rightProjectionMatrix`** は `VRFrameData` インタフェースの読み取り専用プロパティで、 4 行 4 列の行列を表す `Float32Array` を返します。この行列は、右目の描画に利用される射影を表します。

**メモ:** このインターフェイスは、古い WebVR API の一部でした。 WebXR Device APIに置き換えられました。

この値は、 WebGL の `uniformMatrix4fv` 関数へ直接渡されるでしょう。

**警告:** アプリケーションは、この行列を改変せずに使用することを強く薦めます。描画時にこの射影行列の使用に失敗すると、表現されたフレームは歪んだり、正しく揃わなかったりし、その結果として、様々な度合いのユーザの不快感を生みます。

値
-

`Float32Array` オブジェクトです。

例
-

例については `VRDisplay.getFrameData()` を参照してください。

仕様書
---

このインターフェイスは、古い WebVR API の一部でしたが、 WebXR Device API に置き換えられました。標準化される予定はありません。

すべてのブラウザーが新しい WebXR API を実装するまで、すべてのブラウザーで動作する WebXR アプリケーションを開発するには、A-Frame や Babylon.js や Three.js などのフレームワークを利用したり、ポリフィルを利用したりすると良いでしょう [1]。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
BluetoothRemoteGATTServer: getPrimaryService() メソッド
===================================================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`BluetoothRemoteGATTServer.getPrimaryService()`** メソッドは、Bluetooth デバイスが提供している指定の Bluetooth サービス UUID に対応するプライマリー `BluetoothRemoteGATTService` で解決するプロミスを返します。

構文
--


```js
getPrimaryService(bluetoothServiceUUID)
```

### 引数

`bluetoothServiceUUID`

指定のデバイス用の Bluetooth サービス universally unique identifier です。128 ビットの UUID か、16 ビットまたは 32 ビットの UUID エイリアスか、GATT で割り当てられるサービスのキーのリストにある文字列です。

### 返値

`BluetoothRemoteGATTService` オブジェクトで解決する `Promise` です。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattserver-getprimaryservice |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
BluetoothRemoteGATTServer: connected プロパティ
==========================================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

読み取り専用プロパティ **`BluetoothRemoteGATTServer.connected`** は、このスクリプト実行環境が `this.device` に接続されている間 `true` を返す論理値です。ユーザーエージェントが物理的に接続されていても `false` になる可能性があります。

値
-

`boolean` です。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattserver-connected |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.