Three scenes, one call
White Room (clean infinite white), Real Room (your phone's back camera as background passthrough), Public Map (MapLibre + OSM at street level — stand on Times Square, Shibuya, Yonge-Dundas). Switch zone mid-call without disconnecting; your peers come with you.
Enter callspace ▸Real WebRTC, no middleman
Peer-to-peer video over RTCPeerConnection. The Metatrix server is signaling only — it never touches your video frames. STUN via public endpoints. Up to 8 peers per room. Glare resolution is deterministic on peerId so handshakes don't race.
How it routes ▸Magic link
Type your email. We send a one-time link (or in dev mode print it to the server console).
Click → 30-day HttpOnly cookie set, you're in. No password, no third-party identity provider.
Profile data lives on your disk under data/profiles/ as a single JSON file.
Bottom-right corner, every page
Same orb pattern as the Real Room: click or press M to expand into a streaming terminal. Persona is seeded with your current zone, room, and peer count, so Max actually knows what's happening in the call. Push-to-talk on Space, voice in & out via the Web Speech API — no cloud key, on-device.
VR headset · Phone · Drone · Holocam
QR-code pairing — point your Quest browser or phone at the screen, you're in. Drone slot accepts an RTSP / WHIP URL (bridge through MediaMTX is a follow-up, surfaced honestly). The Holocam pyramid deep-links into the same room ID so MAX appears floating above your tablet while you call.
Pair a device ▸Public · Friends · Private · Solo
Public rooms are listed at /api/rooms. Private rooms generate a 24-char join key —
share the link or don't. Friends-only profiles return 404 to anyone outside your trust set.
Solo Sim is you + Max with no peers, for practice. Everything is opt-in, every cookie is HttpOnly,
every camera prompt is yours to grant or deny.
One profile, your links
Display name, bio (280 chars), avatar, links to Instagram / X / TikTok / Facebook / YouTube / your own site, friends list. Visible per your visibility setting. No tracking pixels, no ads, no third-party fonts. Your profile is one JSON file you can copy to a USB stick.
Built for the phone first
44 px touch targets, big bottom-center PTT button on narrow viewports, viewport-fit cover for the Quest browser notch, reduced-motion respected. The 3D scene uses MeshBasicMaterial so it stays cheap on a VR headset GPU.
What v1 is, what it isn't
Is: real WebRTC mesh in a 3D scene, with three switchable zones, real magic-link auth, real
local profile, real Max popup, real Quest/phone QR pairing.
Isn't yet: hosted TURN (mesh works LAN-to-LAN out of the box; carrier-NAT phones may need TURN later),
full drone media bridge, photogrammetry avatars. Surfaced in SPEC.md §13, not hidden.
Live peer globe + location portal
A 240 px mini MapLibre globe sits in the bottom-left corner of the call space. Every peer who opts in appears as a glowing dot at their real-world location. Click any dot to portal — the Public Map zone opens and flies to that peer's coordinates. Privacy-by-default: location sharing is OFF until you flip the toggle. Three modes: Public (all peers), Friends (trust list only), Off. A public-hub pill shows how many peers across all rooms are currently sharing publicly.
Enter call & try portal ▸