shawwn-exokit

0.0.439 • Public • Published

Exokit

Javascript post-screen AR/VR/WebXR engine 🦖

Slack Github releases npm package Travis CI build status Appveyor build status Twitter Follow

Quickstart

Download for current OS

Build your own

git clone https://github.com/webmixedreality/exokit.git
cd exokit
npm install
node . # or node -h for home

Run a WebGL/WebXR site

exokit https://emukit.webmr.io/ # start Emukit in Exokit

Introduction

Screenshots

Exokit is a post-screen web engine.

It loads regular HTML5 pages using standards like:

  • WebGL
  • WebXR
  • WebAudio
  • Etc.

It's designed for WebGL, WebGL2, WebXR, and immersive AR/VR. It's faster than Chrome, extensible and embeddable into other environments.

The catch? It doesn't do 2D. (But it comes with a build of Chromium, which does.)

It can open blend multiple WebXR sites at a time with "reality tabs".

Exokit is agnostic about how you write your code. It works with frameworks like THREE.js, A-Frame, Babylon.js, and web builds of Unity.

Architecture

Exokit is a Javascript Node.js module.

Lightweight C++ bindings hook into WebGL, WebXR, Magic Leap, Leap Motion, and various other device APIs.

It's also extensible and embeddable -- you can add your own things to the browser core, and const {window} = require('exokit')() to get an immersive browser in another project.

Exokit runs on Windows, macOS, Linux (x64), and Linux (ARM64).

Web API support

  • HTTP/S
  • HTML5
  • <script>
  • DOM
  • WebGL
  • WebXL
  • Canvas2D
  • WebSocket
  • Web Workers
  • <img>, <audio>, <video>
  • WebAudio
  • Keyboard/Mouse events
  • Gamepad API
  • <iframe>
  • No HTML layout
  • No HTML rendering
  • No CSS
  • No Legacy APIs

Hardware bindings

  • OpenGL
  • OpenVR (Steam VR)
  • Magic Leap
  • Leap Motion

Why Exokit?

  • You want your WebGL/WebXR to run fast.
  • You want the hot new web APIs.
  • You want to add your own integrations -- including native -- into a browser environment.
  • You want a lightweight browser as a hackable node module.
  • You want to combine the web with a 3D engine like Unity.

Why not Exokit?

  • You're looking for a "web browser".
  • You don't care about 3D or mixed reality.
  • You're looking for strict and/or legacy standards support.

Debugging

Uses ndb.

npm run debug

Then in the console, input:

let window = await require('./index').load(yourUrl);

Now you have a handle on the window object as you test your application, and you can set debugger breakpoints and such.

Keyboard

Keyboard

Community

Contributors

Dependencies (38)

Dev Dependencies (8)

Package Sidebar

Install

npm i shawwn-exokit

Weekly Downloads

1

Version

0.0.439

License

MIT

Unpacked Size

15.3 MB

Total Files

383

Last publish

Collaborators

  • shawwn