LoveLogicAI commited on
Commit
7777e5a
Β·
verified Β·
1 Parent(s): cd0d181

project README

Browse files
Files changed (1) hide show
  1. README.md +70 -0
README.md ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # XROS Shell β€” a spatial OS for the Meta Quest 3
2
+
3
+ A working prototype of a **spatial operating system shell** combining three
4
+ elements, inspired by the DiOS paper (*An Extended Reality Operating System for
5
+ the Metaverse*, arXiv:2201.03256):
6
+
7
+ 1. **Spatial computing** β€” panels anchored in your real room (passthrough),
8
+ driven by a shared world model rather than per-app state.
9
+ 2. **A terminal** β€” a command line you use *inside* VR, as the primary interface.
10
+ 3. **Generative UI** β€” describe what you want in natural language and the
11
+ system generates a panel (currently a rule-based stub; an LLM can be wired
12
+ in later).
13
+
14
+ ## Architecture
15
+
16
+ ```
17
+ Quest 3 (Unity) Your computer (Python)
18
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
19
+ β”‚ WorldPanelManager │◄──spawn/move── xros_server.py β”‚
20
+ β”‚ (spatial panels) β”‚ /remove β”‚ β”œβ”€ WorldState β”‚
21
+ β”‚ SpatialShellTerminal │──command─────►│ └─ SpatialShell β”‚
22
+ β”‚ (terminal panel) │◄──output──────│ (spawn/move/ls/gen)β”‚
23
+ β”‚ XrosClient (WebSocket) β”‚ β”‚ β”‚
24
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
25
+ ```
26
+
27
+ The backend is the "OS brain": a shared world-state store plus a spatial shell
28
+ (command interpreter). The Quest app is a thin client that renders the world
29
+ and hosts the terminal.
30
+
31
+ ## Backend (Python)
32
+
33
+ | File | Role |
34
+ |---|---|
35
+ | `xros_world.py` | World-state store: scene graph + object registry + event bus |
36
+ | `xros_shell.py` | Spatial shell: command interpreter (`spawn`, `move`, `ls`, `gen`, `clear`) |
37
+ | `xros_server.py` | WebSocket server exposing the world-state + shell API |
38
+ | `xros_client.py` | Python client library + demo |
39
+ | `test_xros.py` | End-to-end tests (unit + integration) |
40
+
41
+ Run it:
42
+
43
+ ```bash
44
+ pip install -r requirements.txt
45
+ python xros_server.py --host 0.0.0.0 --port 8765 # serve on your LAN
46
+ python test_xros.py # verify it works
47
+ ```
48
+
49
+ Shell commands: `help`, `ls`, `spawn <type> [x y z] [--title T] [--color C]`,
50
+ `move <id> x y z`, `rm <id>`, `clear`, `gen <description>`.
51
+
52
+ ## Frontend (Unity, Quest 3)
53
+
54
+ | File | Role |
55
+ |---|---|
56
+ | `XrosClient.cs` | WebSocket client (Newtonsoft.Json, no other packages) |
57
+ | `SpatialShellTerminal.cs` | Terminal panel: command input + output log |
58
+ | `WorldPanelManager.cs` | Renders world events as spatial panels |
59
+ | `UNITY_SETUP.md` | Step-by-step Unity + Meta XR SDK setup and build guide |
60
+
61
+ See **UNITY_SETUP.md** for the full assembly instructions (project setup, Meta
62
+ XR SDK, passthrough, hand tracking, and building to the Quest 3).
63
+
64
+ ## Roadmap
65
+
66
+ - **Phase 1 (done):** shared world-state service + spatial shell + terminal.
67
+ - **Phase 2:** CV as a system service (shared scene understanding).
68
+ - **Phase 3:** agentic interface layer (AIOS-style scheduling/context).
69
+ - **Phase 4:** spatial developer experience (Code Cubes / structured editing).
70
+ - **Phase 5:** privacy/security at the OS layer (capability-based access).