Phase 3 of #544. When a catalog experience carries stream_mode xr:
- Skip Moonlight/Sunshine pairing entirely.
- Ensure the WireGuard tunnel is up (HydraTunnelService from v0.7.2 pins it).
- Request the body via normal discovery; wait for the body to arm the alvr driver chain (cluster/hydrabody coordination from the companion issues).
- Launch the ALVR client by intent WITH the VR category (-c com.oculus.intent.category.VR; without it vrshell rejects the placement - verified), from the foreground activity (SWMS rejects background starts).
- New streamingXr state: keep 5 s heartbeats and command polling; treat ALVR client no longer running/foreground as stream end; stop command returns to catalog.
- Doff behavior surfaced to the operator (session ends when unworn after the body-side grace window).