Skip to content

6.4.0

Latest

Choose a tag to compare

@gareth-morgan-nv gareth-morgan-nv released this 14 Oct 17:49
220a9c1

CloudXR.js samples 6.4.0

Updates the simple (WebGL) and React sample clients for CloudXR.js SDK 6.4.0, and adds a local metrics hub. Both samples now depend on the published @nvidia/cloudxr 6.4.0 package instead of the dev tag.

New

  • Metrics hub (hub/): a local WebSocket hub with a browser page that shows live client metrics as rolling charts and a headset log viewer. Start it with npm start (HTTPS/WSS on port 8787 by default, or npm run start:http). The React sample connects to it when opened with ?oobEnable=1&hubPort=8787, streams its metrics, and accepts remote configuration pushes.
  • Microphone control: the React and simple samples can send microphone audio upstream. Permission is requested before the immersive session starts, because Chrome exits immersive mode when a permission dialog appears. The React sample has a new Microphone setting, and the simple sample handles a denied or missing microphone with a clear message and continues without audio.
  • Client token: the React sample has an optional Client Token field for authenticating the connection. It is kept in memory only and is never saved or logged.
  • Stream test: new Stream Test Configuration settings (Off / Warn / Block, 5–30 s) measure stream quality before rendering. Warn reports the result; Block disconnects on failure.
  • Target frame rate: both samples apply and confirm the headset's target frame rate before the stream is negotiated, which avoids a frame-pacing mismatch that caused burst and freeze artifacts on Quest 3.
  • URL parameters: the React sample's URL query parameters are declared in one place (react/src/config/params.ts) and seed the matching form controls on load. URL values override stored values for that load only.

Changed

  • Defaults: the React sample defaults to 100 Mbps (was 150 Mbps) and to the new Auto codec choice (AV1, then H.265, then H.264) instead of AV1 only. The 120/150/180/200 Mbps options are replaced by 10 and 50 Mbps options.
  • Emulated AR on desktop: when running under IWER in AR mode, the samples show a dark checkerboard backdrop instead of letting the page's HTML bleed through the transparent XR layer.
  • Source layout: shared helpers are reorganized. The React sample's code now lives under src/cloudxr/, src/components/, src/hooks/, src/metrics/, src/utils/ and src/config/, and the simple sample's helpers moved to src/utils/. If you copied files from the samples, check the new paths.
  • Dependencies: IWER 2.3.0, @react-three/xr 6.6.31, and React/React DOM pinned to the 19.2.x line.
  • Docs: the agent guidance (AGENTS.md, SKILL.md, agent-api-reference.md) is updated, and the Dockerfile comments now note that the nginx image runs as root to bind port 80.

Install

npm install @nvidia/cloudxr@6.4.0

Live samples: https://nvidia.github.io/cloudxr-js-samples/

Full changelog: 6.2.0...6.4.0