(pronounced like sparkle)
This application started as a technology preview for the IEEE VR 2021 workshop from the Open AR Cloud association. The ideas behind this preview have been received positively, so development will continue.
The general idea is to create a generic client application, providing all the basic functionality needed to offer entertaining and inspiring AR experiences. It uses the concepts defined by Open AR Cloud to find available services and content at the current location of the user.
As additional functionality, the application implements data synchronisation using automerge over p2p network using peerjs and perge. The applications connect to the p2p network automatically when allowed by the user.
Loads of ideas for additional base functionalities are available. All of this is easily available to AR scenes created with any 3D platform or game engine that exports to WebXR. Please check out the documentation for more detailed information.
Any Feedback, recommendations and contributions of any kind are very welcome
The app can be used / installed as:
- PWA from its homepage
- TWA from Play store
npm needs to be installed, because dependencies are handled with it.
Steps to setup the project:
-
clone this repository
-
run
npm install
in the project folder to download the dependencies -
run
npm run dev
-
note the URL shown in the terminal after the server started (note http or https!)
-
open Chrome on an AR capable device, enter
chrome://flags
and enable WebXR Incubations -
set up remote debugging for debugging with cable
-
optionally, set up port forwarding for debugging wirelessly (only http now)
-
enter the ULR shown in the terminal in the browser on the device
-
For local development uncomment the line containing
//basicSsl(),
invite.config.js
. This enables https when running the service locally usingnpm run dev
Create .env
file containing the URL to OSCP SSD
VITE_SSD_ROOT_URL=
npm install
npm run build
npm run start
To build a docker image run the npm run build:docker
script. Make sure you have your .env
file correctly set up before building. If you are unwilling or unable to create a .env
file (eg.: because the build is happening in a CI pipeline), then an alternate solution is to add the following lines to the Dockerfile:
ARG VITE_SSD_ROOT_URL
ENV VITE_SSD_ROOT_URL=$VITE_SSD_ROOT_URL
and to run the docker build script with the following command line argument: docker build --build-arg VITE_SSD_ROOT_URL=https://your-ssd-url-domain.com . -t sparcl