LOCAL DEMOS / NO ACCOUNT REQUIRED

The Scene Lab

Explore a simple coordinate visualization and check whether this browser may expose immersive session modes. Both demonstrations run locally; neither connects to a SpatialAPI.com service.

01 / Coordinate study

Change the view.
Keep the object.

Use the controls to rotate the view around an abstract cube. The colored X, Y, and Z labels make orientation changes easier to follow.

This is a small Canvas 2D projection of a mathematical 3D shape, not a headset renderer or an environment scan. It is deliberately simple so the relationship between the axes and the view stays visible.

Read the coordinate-contract guide ↗

spatial-lab / coordinate-study
A cube with labeled X, Y, and Z coordinate axes. The buttons rotate this illustrative view.

An illustrative local coordinate study. Enable JavaScript for the interactive view.

02 / Browser capability check

Ask. Don’t assume.

The button below queries session-mode support only. A positive response is an initial capability signal—not a guarantee that a session will start or that optional features are available. This check does not access camera frames, capture room geometry, or start immersive tracking.

capability-check.js / browser-side
// Feature detection, not a session or a hosted API call.
async function checkSpatialSupport() {
  if (!window.isSecureContext || !navigator.xr) {
    return { vr: false, ar: false };
  }

  const modes = ['immersive-vr', 'immersive-ar'];
  const results = await Promise.all(modes.map(async (mode) => {
    try { return await navigator.xr.isSessionSupported(mode); }
    catch { return false; }
  }));
  return { vr: results[0], ar: results[1] };
}

Runs locally. Does not start an immersive session.

For the browser API contract, consult the W3C WebXR Device API specification. On production hosting, use HTTPS. The articles and coordinate visualization remain useful when WebXR is unavailable.