AI Initiative logoAI Initiative
Reading room / Conduir Spatial

Conduir Spatial — WebXR Specification

Defines extended-reality interaction requirements and the spatial user experience.

Immersive interface specification
This is the retained source text, not a new validation of its claims. Numerical results and comparative claims require the accompanying source review before public reuse.

Read the connected case study or article →

Not explicitly attributed in document header · 2026-03-03

Provenance, authorship and editorial notes

Conduir Spatial — WebXR Specification

Id

spatial-xr

Project

Conduir Spatial

Source path

conduir-spatial/docs/XR-SPEC.md

Source host

genesis

Source sha256

e4a237d57296438155661ab1a85a7fe1799bf05521a6cfbee8c59cc43c43b737

Repo root

conduir-spatial

Repo head

af341d6fc10f561455f76649800bbb064b82b083

Date

2026-03-03

Author

Not explicitly attributed in document header

Document status

Immersive interface specification

Source status statement
Not recorded
Summary

Defines extended-reality interaction requirements and the spatial user experience.

Topics
  • Shared Worlds
  • Simulation
  • Orchestration
  • Conduir Spatial
  • Immersive interface specification
Related ids
  • spatial-long-vision
  • spatial-product-forge
  • spatial-technical
Evidence concerns
  • Device, performance and interaction support require separate hardware/browser validation.
  • Private source selection. Source inspection only; no fresh build, deployment or effectiveness certification.
Copy scope

Full original document, byte-identical

Copy status

copied-private-review

Format

markdown

Bytes

10869

Word count

1649

Headings
  • Conduir Spatial — WebXR Specification
  • 1. Overview
  • 2. Platform Requirements
  • Hardware
  • Browser
  • Performance Targets
  • 3. XR Session Lifecycle
  • 4. Input Methods
  • 4.1 Controllers
  • 4.2 Hand Tracking
  • 4.3 Gaze (Fallback)
  • 5. Spatial UI Panels
  • 5.1 Tool Selector Panel
  • 5.2 Node Properties Panel
  • 5.3 Chat Panel
  • 5.4 Minimap Panel
  • 6. Locomotion
  • 6.1 Teleport
  • 6.2 Fly Mode (Advanced)
  • 6.3 Node Focus
  • 7. Node Interaction in VR
  • 7.1 Creating Nodes
  • 7.2 Moving Nodes
  • 7.3 Connecting Nodes
  • 7.4 Deleting Nodes
  • 8. Participant Presence in VR
  • 8.1 Human Avatars
  • 8.2 AI Agent Avatars
  • 8.3 Awareness
  • 9. Comfort & Accessibility
  • 9.1 Comfort Settings
  • 9.2 Accessibility
  • 10. Performance Optimization
  • 10.1 LOD (Level of Detail)
  • 10.2 Culling
  • 10.3 Instanced Rendering
  • 10.4 Texture Management
  • 11. Mixed Reality (Phase 6+)
  • 11.1 Passthrough Mode (Quest 3)
  • 11.2 Desk Mode
  • 12. Implementation Phases
Sensitive content review
Automated secret patterns
Email occurrences

0

Customer record terms
Limitation

Pattern scan plus editorial review; not a guarantee of no personal or proprietary material. Private copies retain source code examples, internal locations and attributions.

Attribution note

Source document attribution is preserved. Repository ownership or an agent role is not automatically authorship.

Date basis

Document header or dated filename; source may contain later updates

Source pin note

SHA-256 binds exact copied working-file bytes; repo_head is repository context, not proof that every byte is committed at that head.

Publication recommendation

Private technical reading candidate; editorial selection and claim review required before public use

Conduir Spatial — WebXR Specification

Version: 1.0
Date: 2026-03-03
Target Hardware: Meta Quest 2 / 3 / Pro


1. Overview

Conduir Spatial delivers a spatial computing experience for collaborative scene graph manipulation in VR. Users can create, connect, and explore 3D concept maps using controllers, hand tracking, or gaze input on Meta Quest headsets via the WebXR Device API.


2. Platform Requirements

Hardware

DeviceStatusNotes
Meta Quest 3Primary targetFull hand tracking, mixed reality passthrough
Meta Quest 2SupportedController-only recommended
Meta Quest ProSupportedEye tracking, face tracking (future)
PCVR (Link/Air Link)SupportedDesktop Chrome WebXR
Apple Vision ProFutureWebXR support limited

Browser

BrowserWebXR Support
Meta Quest BrowserFull (immersive-vr, immersive-ar)
Chrome 120+ (desktop)Full via WebXR emulator or headset
FirefoxPartial (no immersive sessions)

Performance Targets

MetricQuest 3Quest 2
Frame rate90fps72fps
Max nodes10050
Max edges15075
Draw calls<200<100
Texture memory<256MB<128MB

3. XR Session Lifecycle

Desktop Page Load
  │
  ├─→ Check navigator.xr.isSessionSupported("immersive-vr")
  │   ├─→ true: Show "Enter VR" button
  │   └─→ false: Hide VR button, desktop-only mode
  │
  ├─→ User clicks "Enter VR"
  │   ├─→ xrStore.enterVR()
  │   ├─→ Canvas switches to XR rendering mode
  │   ├─→ Controllers/hands detected → input handlers activated
  │   └─→ Scene renders stereoscopically at headset refresh rate
  │
  └─→ User exits VR (Quest menu or API)
      ├─→ xrStore.session ends
      └─→ Returns to desktop rendering

4. Input Methods

4.1 Controllers

InputAction
Trigger (index finger)Select / interact with node
GripGrab and move node
ThumbstickTeleport (forward push) / rotate view (left/right)
A/X buttonConfirm action / add node
B/Y buttonCancel / undo
Menu buttonOpen tool selector panel

4.2 Hand Tracking

GestureAction
PointHighlight / hover node (ray from index finger)
Pinch (thumb + index)Select node
Grab (close fist)Grab and move node
Pinch + dragDraw edge between nodes
Open palm (facing up)Open context menu
Swipe left/rightSwitch tool mode
Two-hand stretchScale selected node
Two-hand rotateRotate view

4.3 Gaze (Fallback)

InputAction
Gaze at node (1.5s dwell)Select node
Gaze at tool button (1s dwell)Activate tool
Head nodConfirm action
Head shakeCancel action

5. Spatial UI Panels

5.1 Tool Selector Panel

Placement: Anchored to non-dominant hand (wrist-mounted)

┌─────────────────────────┐
│  TOOLS                  │
│  ┌───┐ ┌───┐ ┌───┐    │
│  │ ◇ │ │ + │ │ ⌥ │    │
│  │Sel│ │Add│ │Con│    │
│  └───┘ └───┘ └───┘    │
│  ┌───┐ ┌───┐ ┌───┐    │
│  │ ✎ │ │ ★ │ │ ✕ │    │
│  │Ann│ │Hlt│ │Del│    │
│  └───┘ └───┘ └───┘    │
│                         │
│  [Undo]  [Redo]        │
└─────────────────────────┘

5.2 Node Properties Panel

Placement: Floating 0.5m from selected node, faces user

┌─────────────────────────────┐
│  Authentication              │
│  Type: concept               │
│  ─────────────────           │
│  Description:                │
│  [User auth system    ]      │
│  ─────────────────           │
│  Color:  ● ● ● ● ● ●       │
│  Shape:  ◇ ○ □ ◆ ⬡          │
│  ─────────────────           │
│  Connected: 3 nodes          │
│  Created: 14:30 by Alice     │
│                              │
│  [Delete]  [Duplicate]       │
└─────────────────────────────┘

5.3 Chat Panel

Placement: Left side of view, anchored to world (not head)

┌──────────────────────────────┐
│  TEAM CHAT                   │
│  ────────────────            │
│  Alice: Let's review the     │
│  auth flow                   │
│                              │
│  Claude: I'll add the OAuth  │
│  nodes for you               │
│                              │
│  [mutation applied: +3 nodes]│
│  ────────────────            │
│  🎤 [Voice Input Active]     │
└──────────────────────────────┘

5.4 Minimap Panel

Placement: Wrist-mounted on dominant hand (flip wrist to view)


6. Locomotion

6.1 Teleport

Controller thumbstick forward
  → Ray arc appears (parabolic)
  → Target indicator on grid
  → Release to teleport
  → Fade-to-black transition (200ms)
  → Appear at target position

6.2 Fly Mode (Advanced)

6.3 Node Focus


7. Node Interaction in VR

7.1 Creating Nodes

1. Select "Add" tool (wrist panel or voice: "add")
2. Choose node type from palette
3. Point controller/hand where node should appear
4. Trigger/pinch to place
5. Virtual keyboard or voice to set label

7.2 Moving Nodes

1. Select "Select" tool
2. Grip node (controller grip or hand grab)
3. Move hand to new position
4. Release grip to place
5. Node snaps to 0.5m grid (optional)

7.3 Connecting Nodes

1. Select "Connect" tool
2. Touch/trigger source node → cyan ring appears
3. Drag to target node → preview edge shown
4. Release on target → edge created
5. Edge type defaults to "association" (configurable via properties panel)

7.4 Deleting Nodes

1. Select "Delete" tool
2. Trigger/pinch on node
3. Confirmation: node pulses red for 1s
4. Trigger again to confirm (or wait to cancel)
5. Node and connected edges dissolve (particle effect)

8. Participant Presence in VR

8.1 Human Avatars

8.2 AI Agent Avatars

8.3 Awareness


9. Comfort & Accessibility

9.1 Comfort Settings

SettingDefaultOptions
LocomotionTeleportTeleport, Smooth, Fly
Turn modeSnap (30°)Snap, Smooth, Head-only
VignetteOnOn, Off
Seated modeOffOn, Off (adjusts height)
Dominant handRightLeft, Right

9.2 Accessibility


10. Performance Optimization

10.1 LOD (Level of Detail)

DistanceDetail
<5mFull geometry + label + description
5–15mSimplified geometry + label only
15–30mBillboard sprite + no label
>30mDot or hidden

10.2 Culling

10.3 Instanced Rendering

10.4 Texture Management


11. Mixed Reality (Phase 6+)

11.1 Passthrough Mode (Quest 3)

11.2 Desk Mode


12. Implementation Phases

PhaseFeaturesPriority
P1 (DONE)VR entry, controller input, scene renderingComplete
P6.1Floating UI panels (tool selector, properties)High
P6.2Teleport locomotion + snap turnHigh
P6.3Hand gesture controls (pinch, grab, swipe)High
P6.4Spatial audio cuesMedium
P6.5LOD + instanced renderingMedium
P6.6Mixed reality passthrough (Quest 3)Low
P6.7Eye tracking interaction (Quest Pro)Low

Continue exploring