Comments (3)
Besides the lack of background service worker support in Firefox, there is another issue. The MAIN
ExecutionWorld isn't supported by Firefox yet, which the extension uses to inject the webxr-polyfill. See: https://bugzilla.mozilla.org/show_bug.cgi?id=1736575
It's relatively straightforward to get something working as the background service worker can be swapped out for a background event page/script (I believe that is Firefox only when used with Manifest v3) and injecting the webxr-polyfill.js
into the document from a content script instead of as as content script.
I created a fork with the above two changes and it seems to work surprisingly well. 🙂
There is only one minor inconvenience. The execution of the polyfill script isn't guaranteed to be before the other scripts on a page, so a page might conclude that WebXR isn't supported. Setting dom.vr.webxr.enabled
to true in about:config
effectively works around this issue as the page either detects the "real" WebXR API or the polyfill, but once you enter an immersive session it uses the polyfill
Link to the fork: https://github.com/mrxz/immersive-web-emulator
from immersive-web-emulator.
Per discussion on Discord, it appears the blocker in Firefox is support for background service workers for Manifest V3 https://bugzilla.mozilla.org/show_bug.cgi?id=1573659
from immersive-web-emulator.
any idea when this will happen?
from immersive-web-emulator.
Related Issues (20)
- I can add a mesh with no width, height, depth.
- WebXR Anchors module always enabled.
- Removed meshes remain in frame.detectedMeshes
- Change mesh size
- XR Planes for user defined meshes
- add ability to toggle XRMeshes visibility
- Type in controllers / headset position and rotation HOT 1
- Reset default pose HOT 1
- Unexpected `press` or `selectstart` behaviour HOT 2
- Capture mouse/keyboard input from website viewport to control emulated headset and controllers. HOT 1
- Simulator does remove canvas from custom web components and after session the canvas is not in the document anymore HOT 3
- Support for transient-pointer
- Offscreencanvas not supported
- Support Embedding the Extension into WebXR Services via CDN HOT 2
- You😊 HOT 1
- Can't launch
- Planes and meshes are rendered in three.js scene HOT 5
- getPointPose access in `selectstart` produces `XRFrame access outside the callback that produced it is invalid`
- TypeError: coordinateSystem._transformBasePoseMatrix is not a function HOT 1
- How to inject into dynamic iframes?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from immersive-web-emulator.