Projects Open Spatial Lab
Open Spatial Lab
A Web of Worlds demo in the browser. One character walks through portals between three worlds and keeps its identity and gear.
What it shows
- A player lobby and launcher.
- Three worlds built with Three.js: Location A, Location B and Denver Skyport.
- Portals between them, with the player's state carried across.
- Player avatars with gear you choose.
- Two opt-in renderers on the X3D path,
?renderer=x3domand?renderer=x_ite; three.js stays the default. On both X3D renderers the avatars stand still, holding their rest pose, and the airport has nobody in it: no travellers or staff. The lab's renderer page gives the reasons. - A soft-body physics world on the X3D path.
- Web of Worlds protocol proofs, a conformance runner and browser checks.
Run it yourself
The repository runs on your own computer with Node.js 22 and one launch command, or as one container. Its README has the steps. Issues and pull requests are welcome there. The commit history lists every change.
Licence
The lab's code is Apache-2.0. Its models, textures, fonts and other media keep their own licences, listed in the repository's third-party notices.
Credits
- Nicholas Polys: the render adapter boundary and the X3DOM path, from his public fork npolys/open-spatial-lab; co-author of lab commits 8cf8d6b and ef702ec.
- Arjun Rai Gupta (VDC): container support: the Dockerfile, Compose file and entrypoint, from vdc-lab/open-spatial-lab; lab commit bf6bef7.
- John Carlson: the soft-body world and its physics set-up, from his public repository coderextreme/open-spatial-lab; lab commit 9a0b806.