5 years of A-Frame! 🥳
40 amazing A-Framers participated in this release. Thank you 👏
AR, hand tracking, compositor layers, immersive navigation (Quest only), Quest 2 support and much more.
Buy a t-shirt 👕 and support A-Frame developmet
Major Changes
- Support for WebXR compositor layers API @rcabanier @Artyom17 @dmarcos
- Support for WebXR DOM Overlays support @klausw
- Support for the WebXR immersive navigation proposal @arpu @Artyom17 @dmarcos
- Support for the WebXR hand tracking API proposal (#4650) @machenmusik @dmarcos
- Support for Quest 2 controllers @dmarcos
- Update THREE to r123 @dmarcos
Fixes
- Fix problem with Windows Mixed Reality controller falling to generic model @arpu
- Fix incorrect values returned by the
axismove
event on Oculus Quest (#4472) @Sujoy-Ghosh - Fix
npm run dist
command when running in zsh @benallfree - Fix wasd-controls easing to prevent sudden position jumps (#4241) @ntamas
- Replace calls to
THREE: getWorld*
methods that don't know work in immersive mode (#4521) @NNskelly @dmarcos - Fix undetected controllers when using WebXR API @cabanier @Artyom17
- Fix
selectstart
/selectend
never detected by the cursor component @vincentfretin - Fix for duplicated cursor component events (#4494) @binzume
- Listen to
sessiongranted
event only if WebXR is available @dmarcos - Bump
webvr-polyfill
to fix magic window mode in iOS 13 (#4554) @jwjordan @dax72 @NomisGnos @dmarcos - Fix Gear VR controller detection @vincentfretin
- Fix spectator camera mode when entering VR mode (#4666) @broehl @dmarcos
- Fix duplicated cursor component event in VR mode (#4494) @binzume @dmarcos
- Background component can now be removed (#4676) @NVFedorov @dmarcos
- Fix screenshot component (#4685) @bknill @dmarcos
- Add user gesture to start video playback in examples @dmarcos
- Fix white stripe at the bottom of the screen when exiting VR mode in iOS (#4617) @jgutierro @dmarcos
- Fix msdf shader compatibility with WebGL 1 devices (Safari iOS) @dmarcos
- Fix for immersive navigation where the
sessiongranted
event was not captured @dmarcos - Move
raycaster
collision detection fromtick
totock
to prevent bogus collisions on first frame @dmarcos - Fix for camera pose not correctly restored when exiting VR mode @dmarcos
- Make sure exit immersive logic runs when exiting AR mode @dmarcos
- Add
vr-mode
state to<a-scene>
when entering immersive mode with WebXR @dmarcos - Fix Valve Index controller button mappings @dmarcos
Enhancements
- Pass high-performance to the WebGL context to prioritize rendering performance over power consumption @arpu
- Docs improvements @rotoglup @richardjbaker @klausw @dmarcos @kfarr @majecty @AdaRoseCannon @ngokevin @sonnynomnom @lordbron @da4throux @danbuckland @vikohone @pixelistik @vincentfretin @stefanhuber
- Code hygiene @Jamesgt @Shalwaban
- Use new
THREE.WebGLRenderer
outputEncoding @arpu - Make msdf shader WebGL 2 compliant @arpu
- Valve Index controller support @zach-capalbo
- Cordova compatibility @benallfree
- Change look-controls
hmdEnable
property name tomagicWindowTrackingEnabled
@dmarcos - Improve hand tracking pinch gesture accuracy @cesmoak (#4691)
- Improve error handling when entering immersive mode (#4660) @federico-camonapp @dmarcos
- Make text of device permission ui component dialogs configurable @dmarcos
- Add look controls
mouseEnabled
property to enable / disable mouse input @dmarcos - Add model viewer example with AR / VR and 2D mode compatibility @dmarcos
- Add user interface example that works in VR, desktop and mobile @dmarcos
- Make raycaster component line color configurable @dmarcos
- Add info panel to examples @thedart76 @dmarcos to show instructions, controls and credit authors.