Video room
A cuboid you sit inside — 4×3×8 m by default,
resizable via URL (?w=&h=&l=, metres, true scale).
All four walls and the floor play five different videos,
locked to one clock — the CAVE pattern, as a web page.
Open at venue size (14×4×30 m).
WebXR immersive mode is not available in this browser — the inline 3D preview above still plays all five synced videos.
Experience
How the sync works
Every clip is generated at exactly 10.0 s / 30 fps
(scripts/make_videos.py), all five start together, and a
once-a-second loop-aware check snaps any straggler back to the master
clock if it drifts past ~80 ms. The status line reports measured
drift live. Videos are cover-cropped to each surface's aspect ratio
rather than stretched. This is the multi-video capability WebXR gives
you that USDZ docking doesn't — see
WebKit/explainers#136.
Walking a real venue: at true scale, matching the room to your physical space means aligning yourself before entering — stand at the room's centre facing down its long axis, then Enter. Note that visionOS fades in passthrough when you move more than a couple of metres in a fully immersive session (a system safety behaviour, not a page choice) — how that plays out in a large venue is exactly what this preset exists to test.