Gap-free room scan execution

Room scan control plane and viewer shell

The intended test flow is: capture on the LiDAR iPhone app, tap Upload scan, keep the vision service running on your Mac, then refresh this route and open the real scan id that was just uploaded. The demo path exists only to exercise the viewer shell when no device-backed scan is available.

  1. Run `pnpm dev:vision` and `pnpm dev:web` on your Mac.
  2. In the iPhone app settings, set the Vision API and web URLs to your Mac's LAN IP.
  3. Capture the room, upload it from the phone, then open the real scan below.

Supported walkthrough volume

Anchor graph, completion patches, and transparent-surface proxies

No real viewer package loaded yet

Upload a scan from the iPhone app, or seed the explicit demo if you only want to test the web viewer shell.