Files
mindbot/deps/cloudxr/docs/interfaces/CloudXR.SessionOptions.html
yt lee 623e05f250 Add CloudXR VR streaming support for PICO 4 Ultra (Early Access)
Replaces manual H264/TCP stereo streaming with NVIDIA CloudXR for
higher-quality stereoscopic rendering and lower latency.

Changes:
- teleop_xr_agent.py: add --cloudxr flag (enables Isaac Sim XR mode,
  disables manual StreamingManager)
- deps/cloudxr/: NVIDIA CloudXR.js SDK (Early Access) with Isaac Lab
  teleop React web client
- deps/cloudxr/Dockerfile.wss.proxy: HAProxy WSS proxy for PICO 4 Ultra
  HTTPS mode (routes wss://48322 → ws://49100)
- deps/cloudxr/isaac/webpack.dev.js: disable file watching to avoid
  EMFILE errors with large node_modules
- deps/cloudxr/INSTALL.md: full setup guide

Usage:
  # Start CloudXR Runtime + Isaac Lab
  cd ~/IsaacLab && ./docker/container.py start \
      --files docker-compose.cloudxr-runtime.patch.yaml \
      --env-file .env.cloudxr-runtime

  # Run teleop with CloudXR
  ~/IsaacLab/isaaclab.sh -p teleop_xr_agent.py \
      --task Isaac-MindRobot-2i-DualArm-IK-Abs-v0 --cloudxr

  # Serve web client
  cd deps/cloudxr/isaac && npm run dev-server:https
2026-03-26 14:29:03 +08:00

132 lines
44 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>SessionOptions | CloudXR.js SDK Documentation - v6.0.0-beta</title><meta name="description" content="Documentation for CloudXR.js SDK Documentation"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">CloudXR.js SDK Documentation - v6.0.0-beta</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">CloudXR.js SDK Documentation</a></li><li><a href="../modules/CloudXR.html">CloudXR</a></li><li><a href="CloudXR.SessionOptions.html">SessionOptions</a></li></ul><h1>Interface SessionOptions</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Defines configuration options for a CloudXR streaming session.</p>
<p>Defines all configuration parameters needed to create
and configure a CloudXR streaming session. Required parameters must be
provided, while optional parameters have sensible defaults.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example" class="tsd-anchor"></a>Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-5">sessionOptions</span><span class="hl-1">: </span><span class="hl-13">SessionOptions</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-3">// Required parameters</span><br/><span class="hl-1"> </span><span class="hl-4">serverAddress:</span><span class="hl-1"> </span><span class="hl-2">&#39;192.168.1.100&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">serverPort:</span><span class="hl-1"> </span><span class="hl-7">49100</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">useSecureConnection:</span><span class="hl-1"> </span><span class="hl-6">false</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">gl:</span><span class="hl-1"> </span><span class="hl-4">webglContext</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">perEyeWidth:</span><span class="hl-1"> </span><span class="hl-7">2048</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">perEyeHeight:</span><span class="hl-1"> </span><span class="hl-7">1792</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">referenceSpace:</span><span class="hl-1"> </span><span class="hl-4">xrReferenceSpace</span><span class="hl-1">,</span><br/><br/><span class="hl-1"> </span><span class="hl-3">// Optional parameters with defaults</span><br/><span class="hl-1"> </span><span class="hl-4">deviceFrameRate:</span><span class="hl-1"> </span><span class="hl-7">90</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">maxStreamingBitrateKbps:</span><span class="hl-1"> </span><span class="hl-7">150000</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">codec:</span><span class="hl-1"> </span><span class="hl-2">&#39;av1&#39;</span><br/><span class="hl-1">};</span>
</code><button type="button">Copy</button></pre>
</div></div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">SessionOptions</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#serveraddress">serverAddress</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#serverport">serverPort</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#usesecureconnection">useSecureConnection</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#gl">gl</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WebGL2RenderingContext</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#pereyewidth">perEyeWidth</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#pereyeheight">perEyeHeight</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#referencespace">referenceSpace</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">XRReferenceSpace</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#glbinding">glBinding</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">XRWebGLBinding</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#codec">codec</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#deviceframerate">deviceFrameRate</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#maxstreamingbitratekbps">maxStreamingBitrateKbps</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#telemetry">telemetry</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span><br/>        <span class="tsd-kind-property">enabled</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">appInfo</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">product</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#enableposesmoothing">enablePoseSmoothing</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CloudXR.SessionOptions.html#posepredictionfactor">posePredictionFactor</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="CloudXR.SessionOptions.html#serveraddress" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>server<wbr/>Address</span></a>
<a href="CloudXR.SessionOptions.html#serverport" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>server<wbr/>Port</span></a>
<a href="CloudXR.SessionOptions.html#usesecureconnection" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>use<wbr/>Secure<wbr/>Connection</span></a>
<a href="CloudXR.SessionOptions.html#gl" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gl</span></a>
<a href="CloudXR.SessionOptions.html#pereyewidth" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>per<wbr/>Eye<wbr/>Width</span></a>
<a href="CloudXR.SessionOptions.html#pereyeheight" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>per<wbr/>Eye<wbr/>Height</span></a>
<a href="CloudXR.SessionOptions.html#referencespace" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>reference<wbr/>Space</span></a>
<a href="CloudXR.SessionOptions.html#glbinding" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gl<wbr/>Binding?</span></a>
<a href="CloudXR.SessionOptions.html#codec" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>codec?</span></a>
<a href="CloudXR.SessionOptions.html#deviceframerate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>device<wbr/>Frame<wbr/>Rate?</span></a>
<a href="CloudXR.SessionOptions.html#maxstreamingbitratekbps" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>max<wbr/>Streaming<wbr/>Bitrate<wbr/>Kbps?</span></a>
<a href="CloudXR.SessionOptions.html#telemetry" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>telemetry?</span></a>
<a href="CloudXR.SessionOptions.html#enableposesmoothing" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>enable<wbr/>Pose<wbr/>Smoothing?</span></a>
<a href="CloudXR.SessionOptions.html#posepredictionfactor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>pose<wbr/>Prediction<wbr/>Factor?</span></a>
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member"><a id="serveraddress" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>server<wbr/>Address</span><a href="#serveraddress" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">serverAddress</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>Address of the CloudXR Runtime.</p>
<p>Can be an IP address (e.g., '192.168.1.100') or hostname.
For local development, use 'localhost' or '127.0.0.1'.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-1" class="tsd-anchor"></a>Example<a href="#example-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">serverAddress</span><span class="hl-1">: </span><span class="hl-2">&#39;192.168.1.100&#39;</span><span class="hl-1"> </span><span class="hl-3">// IP address</span><br/><span class="hl-8">serverAddress</span><span class="hl-1">: </span><span class="hl-2">&#39;cloudxr-server.local&#39;</span><span class="hl-1"> </span><span class="hl-3">// Hostname</span><br/><span class="hl-8">serverAddress</span><span class="hl-1">: </span><span class="hl-2">&#39;localhost&#39;</span><span class="hl-1"> </span><span class="hl-3">// Local development</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="serverport" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>server<wbr/>Port</span><a href="#serverport" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">serverPort</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>Port of the CloudXR Runtime.</p>
<p>The default CloudXR Runtime port is 49100. Ensure this port is
accessible and not blocked by firewalls.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-default"><h4 class="tsd-anchor-link"><a id="default" class="tsd-anchor"></a>Default<a href="#default" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-7">49100</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-2" class="tsd-anchor"></a>Example<a href="#example-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">serverPort</span><span class="hl-1">: </span><span class="hl-7">49100</span><span class="hl-1"> </span><span class="hl-3">// Default CloudXR port</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="usesecureconnection" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>use<wbr/>Secure<wbr/>Connection</span><a href="#usesecureconnection" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">useSecureConnection</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><div class="tsd-comment tsd-typography"><p>Connect using secure connection (WSS/HTTPS).</p>
<p>When true, uses secure WebSocket (WSS) connection. When false,
uses unsecured WebSocket (WS) connection. For production deployments,
secure connections are recommended.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-default"><h4 class="tsd-anchor-link"><a id="default-1" class="tsd-anchor"></a>Default<a href="#default-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-6">false</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-3" class="tsd-anchor"></a>Example<a href="#example-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">useSecureConnection</span><span class="hl-1">: </span><span class="hl-6">false</span><span class="hl-1"> </span><span class="hl-3">// Development</span><br/><span class="hl-8">useSecureConnection</span><span class="hl-1">: </span><span class="hl-6">true</span><span class="hl-1"> </span><span class="hl-3">// Production</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="gl" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>gl</span><a href="#gl" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">gl</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WebGL2RenderingContext</span></div><div class="tsd-comment tsd-typography"><p>WebGL context for rendering.</p>
<p>Must be a WebGL2RenderingContext obtained from a canvas element.
This context will be used for all CloudXR rendering operations.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-4" class="tsd-anchor"></a>Example<a href="#example-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-5">canvas</span><span class="hl-1"> = </span><span class="hl-4">document</span><span class="hl-1">.</span><span class="hl-0">createElement</span><span class="hl-1">(</span><span class="hl-2">&#39;canvas&#39;</span><span class="hl-1">);</span><br/><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-5">gl</span><span class="hl-1"> = </span><span class="hl-4">canvas</span><span class="hl-1">.</span><span class="hl-0">getContext</span><span class="hl-1">(</span><span class="hl-2">&#39;webgl2&#39;</span><span class="hl-1">);</span><br/><span class="hl-3">// Use gl in sessionOptions</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="pereyewidth" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>per<wbr/>Eye<wbr/>Width</span><a href="#pereyewidth" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">perEyeWidth</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>Width of each eye in pixels.</p>
<p>This should match the per-eye resolution you want to render.
Must be a multiple of 16 for optimal performance.
The actual stream width will be calculated as perEyeWidth * 2.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-5" class="tsd-anchor"></a>Example<a href="#example-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">perEyeWidth</span><span class="hl-1">: </span><span class="hl-7">2048</span><span class="hl-1"> </span><span class="hl-3">// Max width if using H264 codec</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="pereyeheight" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>per<wbr/>Eye<wbr/>Height</span><a href="#pereyeheight" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">perEyeHeight</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>Height of each eye in pixels.</p>
<p>This should match the per-eye resolution you want to render.
Must be a multiple of 16 for optimal performance.
The actual stream height will be calculated as perEyeHeight * 9 / 4.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-6" class="tsd-anchor"></a>Example<a href="#example-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">perEyeHeight</span><span class="hl-1">: </span><span class="hl-7">1792</span><span class="hl-1"> </span><span class="hl-3">// Max height if using H264 codec</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="referencespace" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>reference<wbr/>Space</span><a href="#referencespace" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">referenceSpace</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">XRReferenceSpace</span></div><div class="tsd-comment tsd-typography"><p>XR reference space to use for coordinate system calculations.</p>
<p>This is used for getting the viewer pose from the XR frame and
should be obtained from the WebXR session.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-7" class="tsd-anchor"></a>Example<a href="#example-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-5">referenceSpace</span><span class="hl-1"> = </span><span class="hl-9">await</span><span class="hl-1"> </span><span class="hl-4">xrSession</span><span class="hl-1">.</span><span class="hl-0">requestReferenceSpace</span><span class="hl-1">(</span><span class="hl-2">&#39;local-floor&#39;</span><span class="hl-1">);</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="glbinding" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>gl<wbr/>Binding</span><a href="#glbinding" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">glBinding</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">XRWebGLBinding</span></div><div class="tsd-comment tsd-typography"><p>XR WebGL binding used to query viewport information for each eye.</p>
<p>Optional binding that provides additional viewport information.
If not provided, default viewport calculations will be used.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-8" class="tsd-anchor"></a>Example<a href="#example-8" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-5">glBinding</span><span class="hl-1"> = </span><span class="hl-6">new</span><span class="hl-1"> </span><span class="hl-0">XRWebGLBinding</span><span class="hl-1">(</span><span class="hl-4">xrSession</span><span class="hl-1">, </span><span class="hl-4">gl</span><span class="hl-1">);</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="codec" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>codec</span><a href="#codec" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">codec</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>Video codec for streaming.</p>
<p>Supported codecs: 'h264', 'av1'. AV1 provides better compression
but requires more CPU/GPU resources for encoding/decoding.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-default"><h4 class="tsd-anchor-link"><a id="default-2" class="tsd-anchor"></a>Default<a href="#default-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-2">&#39;av1&#39;</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-9" class="tsd-anchor"></a>Example<a href="#example-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">codec</span><span class="hl-1">: </span><span class="hl-2">&#39;av1&#39;</span><span class="hl-1"> </span><span class="hl-3">// Better compression, more CPU intensive</span><br/><span class="hl-8">codec</span><span class="hl-1">: </span><span class="hl-2">&#39;h264&#39;</span><span class="hl-1"> </span><span class="hl-3">// Faster encoding/decoding, larger bandwidth</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="deviceframerate" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>device<wbr/>Frame<wbr/>Rate</span><a href="#deviceframerate" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">deviceFrameRate</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>Device frame rate (maximum FPS).</p>
<p>The server will treat this as a maximum FPS and choose an appropriate
streaming frame rate that is lower than this value. Higher frame rates
provide smoother motion but require more bandwidth.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-default"><h4 class="tsd-anchor-link"><a id="default-3" class="tsd-anchor"></a>Default<a href="#default-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-7">90</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-10" class="tsd-anchor"></a>Example<a href="#example-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">deviceFrameRate</span><span class="hl-1">: </span><span class="hl-7">90</span><span class="hl-1"> </span><span class="hl-3">// Quest 3 standard</span><br/><span class="hl-8">deviceFrameRate</span><span class="hl-1">: </span><span class="hl-7">120</span><span class="hl-1"> </span><span class="hl-3">// High refresh rate</span><br/><span class="hl-8">deviceFrameRate</span><span class="hl-1">: </span><span class="hl-7">72</span><span class="hl-1"> </span><span class="hl-3">// Lower power mode</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="maxstreamingbitratekbps" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>max<wbr/>Streaming<wbr/>Bitrate<wbr/>Kbps</span><a href="#maxstreamingbitratekbps" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">maxStreamingBitrateKbps</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>Maximum streaming bitrate in Kilobits per second.</p>
<p>Controls the maximum bandwidth used for streaming. Higher bitrates
provide better quality but require more network bandwidth.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-default"><h4 class="tsd-anchor-link"><a id="default-4" class="tsd-anchor"></a>Default<a href="#default-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-7">150000</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-11" class="tsd-anchor"></a>Example<a href="#example-11" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">maxStreamingBitrateKbps</span><span class="hl-1">: </span><span class="hl-7">150000</span><span class="hl-1"> </span><span class="hl-3">// 150 Mbps</span><br/><span class="hl-8">maxStreamingBitrateKbps</span><span class="hl-1">: </span><span class="hl-7">100000</span><span class="hl-1"> </span><span class="hl-3">// 100 Mbps (lower bandwidth)</span><br/><span class="hl-8">maxStreamingBitrateKbps</span><span class="hl-1">: </span><span class="hl-7">200000</span><span class="hl-1"> </span><span class="hl-3">// 200 Mbps (high quality)</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="telemetry" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>telemetry</span><a href="#telemetry" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">telemetry</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">enabled</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">appInfo</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">product</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><div class="tsd-comment tsd-typography"><p>Telemetry configuration options</p>
</div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">enabled</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><p>Enable telemetry collection. Default is true.</p>
</div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">appInfo</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">product</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">}</span></h5><div class="tsd-comment tsd-typography"><p>Application information for telemetry</p>
</div><div class="tsd-comment tsd-typography"></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>Application version (e.g., &quot;1.0.0&quot;)</p>
</div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">product</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>Product name (e.g., &quot;MyApp&quot;)</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><a id="enableposesmoothing" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>enable<wbr/>Pose<wbr/>Smoothing</span><a href="#enableposesmoothing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">enablePoseSmoothing</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><div class="tsd-comment tsd-typography"><p>Enable secondary smoothing on predicted positions.</p>
<p>When enabled, applies an additional smoothing pass to reduce jitter
in predicted positions. This only affects position, not orientation.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-default"><h4 class="tsd-anchor-link"><a id="default-5" class="tsd-anchor"></a>Default<a href="#default-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-6">true</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-12" class="tsd-anchor"></a>Example<a href="#example-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">enablePoseSmoothing</span><span class="hl-1">: </span><span class="hl-6">false</span><span class="hl-1"> </span><span class="hl-3">// Disable position smoothing</span>
</code><button type="button">Copy</button></pre>
</div></div></section><section class="tsd-panel tsd-member"><a id="posepredictionfactor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>pose<wbr/>Prediction<wbr/>Factor</span><a href="#posepredictionfactor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">posePredictionFactor</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>Pose prediction factor (0.0 to 1.0) that scales the prediction horizon.</p>
<p>This multiplier is applied to the calculated prediction horizon for both
position and orientation. A value of 1.0 uses full prediction, 0.5 uses
half the prediction horizon, and 0.0 disables prediction entirely.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-default"><h4 class="tsd-anchor-link"><a id="default-6" class="tsd-anchor"></a>Default<a href="#default-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-7">1.0</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-13" class="tsd-anchor"></a>Example<a href="#example-13" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-8">posePredictionFactor</span><span class="hl-1">: </span><span class="hl-7">0.5</span><span class="hl-1"> </span><span class="hl-3">// Use 50% of calculated prediction</span><br/><span class="hl-8">posePredictionFactor</span><span class="hl-1">: </span><span class="hl-7">0.0</span><span class="hl-1"> </span><span class="hl-3">// Disable prediction</span>
</code><button type="button">Copy</button></pre>
</div></div></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#serveraddress" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>server<wbr/>Address</span></a><a href="#serverport" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>server<wbr/>Port</span></a><a href="#usesecureconnection" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>use<wbr/>Secure<wbr/>Connection</span></a><a href="#gl" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gl</span></a><a href="#pereyewidth" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>per<wbr/>Eye<wbr/>Width</span></a><a href="#pereyeheight" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>per<wbr/>Eye<wbr/>Height</span></a><a href="#referencespace" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>reference<wbr/>Space</span></a><a href="#glbinding" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gl<wbr/>Binding</span></a><a href="#codec" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>codec</span></a><a href="#deviceframerate" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>device<wbr/>Frame<wbr/>Rate</span></a><a href="#maxstreamingbitratekbps" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>max<wbr/>Streaming<wbr/>Bitrate<wbr/>Kbps</span></a><a href="#telemetry" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>telemetry</span></a><a href="#enableposesmoothing" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>enable<wbr/>Pose<wbr/>Smoothing</span></a><a href="#posepredictionfactor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>pose<wbr/>Prediction<wbr/>Factor</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">CloudXR.js SDK Documentation - v6.0.0-beta</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>