Ready. Serve over HTTPS (or localhost). Supports CPU and GPU WebXR depth. Phone mode starts WebXR depth before opening any MediaStream camera.
Phone mode uses pose-synchronized WebXR camera access when granted; otherwise it ends XR before a sequential getUserMedia fallback. Headsets open getUserMedia only after real CPU/GPU depth is already active. No synthetic depth is used.