A proof of concept or prototype of NanoVer for the browser and WebXR.
Install node.js, git, Visual Studio Code.
winget install -e --id OpenJS.NodeJS
winget install -e --id Git.Git
winget install -e --id Microsoft.VisualStudioCodeClone this repo and install its dependencies:
git clone https://github.com/IRL2/nanover-web.git
cd nanover-web
npm installRun a live server that opens a new browser tab and refreshes when you edit the code:
npm run devBuild the standalone web package:
npm run buildPreview the standalone web package:
npm run previewFor security, WebXR requires that the page be served over HTTPS, so you will need to configure the Live Server extension to use an SSL certificate.
To do so, install OpenSSL, and generate a private key and certificate:
- Either choose "nanover" as the passphrase or update it later in the vite config
- Skip all data input except
common namewhich should belocalhost
openssl genrsa -aes256 -out localhost.key 2048
openssl req -days 3650 -new -newkey rsa:2048 -key localhost.key -x509 -out localhost.pem
This won't work in Firefox because it disallows connecting to self-signed websockets.
Run a NanoVer python server with nanover-omni, giving ssl credentials, and the cloud discovery address:
nanover-omni --omm tutorials/ase/openmm_files/17-ala.xml --ssl localhost.pem localhost.key key_password --cloud-discovery irl-discovery.onrender.com