Webxr: Chac Mool Example - black screen after chrome canary update.

Created on 21 Dec 2018  路  4Comments  路  Source: immersive-web/webxr

Good morning!

I have tried the last few days, the Chac Mool Example and I am really very impressive. It's really great!

Yesterday my Chrome Canary did an update to version 73.0.3634.0. Since then I only get a black window when I open the 3D object in the example.

Am I alone with this problem or is it already known?

Most helpful comment

The WebXR spec is currently undergoing some major changes, including incompatible API changes. Chrome is in the process of getting updated to match the latest spec, and unfortunately there will be a rough transition time until things settle down again. In this specific case you can rename getDevicePose to getViewerPose, but more changes are incoming.

For now, I'd recommend staying with Chrome Beta or Dev until things stabilize. @toji had previously used a compatibility shim to help samples work across browser versions, but there's no easy solution yet for the current batch of API changes.

All 4 comments

I see a similar bug. The cause seems to be: Uncaught TypeError: frame.getDevicePose is not a function. I can work around it by using Chrome Dev.

The Chacmool example's magic window in https://web-education-ar-demo.appspot.com/ failed for me after updating from Chrome Canary 73.0.3640.0 to 73.0.3646.0. I'm on Android 9, Pixel 2.

It's weird that this failed for you after updating to 3634, yet _worked for me on 3640_ then failed after updating to 3646. It almost seems the cause is updating itself more than the specific version one updates to.

Investigating more, I un-installed Chrome Canary 73.0.3646.0, then re-installed it. No luck: still a black screen for the Chacmool magic window. This issue also affects @jsantell's "Building an augmented reality application with the WebXR Device API" code lab at https://googlecodelabs.github.io/ar-with-webxr/work/.

Inspecting my Android by loading chrome://inspect in my laptop's Chrome, I see this error when opening the Chacmool magic window in https://web-education-ar-demo.appspot.com/:

AppBase.js:166 Uncaught TypeError: frame.getDevicePose is not a function
    at App._updateCamera (AppBase.js:166)
    at XRSession._update (AppBase.js:138)

The same frame.getDevicePose is not a function is thrown in the ar-with-webxr code lab.

I can workaround this by using Chrome Dev (73.0.3643.0). Chacmool still works after re-installing Chrome Dev, so I'd guess this workaround can be used by others too.

The WebXR spec is currently undergoing some major changes, including incompatible API changes. Chrome is in the process of getting updated to match the latest spec, and unfortunately there will be a rough transition time until things settle down again. In this specific case you can rename getDevicePose to getViewerPose, but more changes are incoming.

For now, I'd recommend staying with Chrome Beta or Dev until things stabilize. @toji had previously used a compatibility shim to help samples work across browser versions, but there's no easy solution yet for the current batch of API changes.

Indeed, the Chacmool example was not written to the current spec, and in this transition time, I wouldn't expect it to stay up and running on current Canary. Once our core has stabilized with the new API changes, we can update the Chacmool sample, but there's no WebXR issue here.

Thanks! It's works with Chrome dev. 馃憤

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bwasty picture bwasty  路  3Comments

ranbuch picture ranbuch  路  10Comments

devilinthedata picture devilinthedata  路  7Comments

cabanier picture cabanier  路  3Comments

kintz09 picture kintz09  路  9Comments