v1.7.0
1.7.0 (Feb 20, 2025)
Post-processing, ES modules and importmap, WebGPU and TSL support, Logitech MX Ink integration and more.
Major Changes
- Update to THREE r173 (@dmarcos)
- Import maps support and replacement of CommonJS with ES Modules (@mrxz, @vincentfretin)
- Experimental post-processing support. It works both in regular and immersive modes (@enzofrancescaHM, @mrxz, @vincentfretin, @CodyJasonBennett)
- Support for Logitech MX Ink tracked pen (@dmarcos)
- Initial WebGPU support (@vincentfretin)
Bug fixes
- Remove unused width and height properties from flat and standard shaders (#5647) (@mrxz)
- Relax the clientWidthconstraint in the controls tests. Fix tests on Ubuntu (#5641) (@vincentfretin)
- Check if XRSessionexists before attachinginputsourcechangelistener (#5631) (@mrxz)
- Don't apply anchor scale (only position and rotation) to an anchoredentity (#5633) (@mrxz)
- Wait until referenceSpaceis available befor initializing compositor layers (#5626) (@vincentfretin)
- Remove raycaster-closest-entity-changedlistener when removing thecursorcomponent (#5625) (@vincentfretin)
- Handle cursorrayOriginupdates andrayOrigin: mousewhen component attached to an entity and nota-scene(fix #4759) (#4760) (@kylebakerio)
- Fix light shadow frustum visualization via CameraHelper (fix #5098) (#5099) (@IanSweeneyAC, @dmarcos)
- Prevent loading cubemap for a probe light when envMapis not set (fix #5610) (#5611) (@mrxz)
- Prevent redundant pinchstartedevents on a hand tracking pinch gesture (#5609) (@mrxz)
- Improve cursorcomponentxrselectlogic. HandlerayOriginproperty changes and account for camera rigs when calculating the raycaster direction (#5606) (@mrxz, @vincentfretin)
- Fix Apple Vision Pro detection logic to prevent false positives on iPad and iPhone (fix #5605) (#5607) (@vincentfretin)
- Remove fullscreen CSS styles from the document element when a-sceneis disconnected (#5602) (@gunhaxxor)
- Adjust light intensity defaults and examples to account for WebGLRenderer.useLegacyLightsdeprecation in THREE r165 (#8813d3d2) (@dmarcos)
- Fix model visibility logic of tracked hands and controllers when there are input switches (e.g hands to controllers) (#fa0cc748) (@dmarcos)
- Prevent a-loader-title div (A-Frame created HTML element) to be serialized (#5574) (@vincentfretin)
- Disable magic window mode in Vision Pro that is only suitable for handheld mobile devices (#5560) (@dmarcos)
- Don't bubble <a-asset-item>error event that was preventing some tests to execute (#5548) (@mrxz)
- Don't stringify properties with undefined values to prevent flushToDOM to produce properties with the undefinedstring (#5549) (@mrxz)
- Fix serialization / stringification of asset type properties. When an HTML element they got exported incorrectly as e.g [object HTMLImageElement](#5544) (@mrxz, @vincentfretin)
- Refresh raycasted objects only when the objectsraycaster component property changes. Prevent unnecessary costly updates (#5542) (@vincentfretin)
- Fix issue when using <a-cubemap>as texture component envMap (@Omegahed, @mrxz)
- Fix incorrect texture reference counting, potentially leading to exceptions upon disposal of the texture (#5529) (@mrxz)
- Eliminate incorrect "unknown property" warnings from dynamic schema components (#5526) (@mrxz)
Enhancements
- Bump to THREE to r173 (@dmarcos)
- Post-processing experimental support (#5648) (@enzofrancescaHM, @CodyJasonBennett, @mrxz, @cabanier, @vincentfretin, @dmarcos)
- ES Modules and importmap support (#5632, #5640) (@mrxz, @vincentfretin)
- Support for WebGPURenderer and TSL (#5655) (@vincentfretin)
- Logitech MX Ink integration (@dmarcos)
- Update Draco decoder to 1.5.7 (#5523) (@vincentfretin)
- Remove process/browser polyfill in tests (#5643) (@vincentfretin)
- Improve build and test process (@vincentfretin)
- ar-hit-testuses tracked controller if available instead of head orientation (fix #5315) (#5308) (@DougReeder)
- Allows setting the distance within which the preview image of the link component is shown (#4425) (@DougReeder)
- Animate position, rotation and scale on the THREE.Object3D directly without calling setAttribute(#4f711a4efab) (@dmarcos)
- Update shelljsversion (#5497) (@arpu)
- Ability to enable/disable enterVR and exitVR shortcuts independently (#5512) (@mrxz)
- Improve Pico headsets controller support on third-party browsers such as Wolvic (#5534) (@Elettrotecnica)
- Consolidate tracked-controls-webxrlogic intotracked-controls. Separation no longer needed since WebVR support deprecation (#627698d4) (@dmarcos)
- Move WebXR controller detection to inputsourceschangeevent from a polling logic (#fd904348) (@dmarcos)
- Update Webpack and related build dependencies (#5480) (@vincentfretin)
- Add CodeQL scanning with one non-default query for scanning GitHub Actions (#5554) (@JarLob)
- Add AgXandneutralto the list of tone mapping options in the renderer component (#5551) (@vincentfretin)
- Docs improvements (@mrxz, @dmarcos, @Srile, @Control-C, @addy1997, @TomoyaKuroda, @vincentfretin, @jzhangdev, @Utopiah, @nikolas, @jadegamesuk, @diarmidmackenzie, @ogreenaway, @kewalkishang, @jinglechen2287)
Deprecations
- Remove physicallyCorrectLightssinceuseLegacyLightsis no longer supported byTHREE.WebGLRenderersince THREE r165 (#0123f53749) (@dmarcos)
- Rename oculus-touch-controlstometa-touch-controlsto reflect current branding.oculus-touch-controlskept around for backwards compatibility (#d3be3d2f) (@dmarcos)
- Remove the now obsolete WebVR support in favor of WebXR (#5451) (@mrxz)
- Deprecate isGearVRandisOculusGofunctions (#5635) (@vincentfretin)