Releases: google/model-viewer
v4.3.1
v4.3.0
🚀 v4.3.0
This release introduces multi-model scene support, texture updates, and critical compatibility patches for iOS WKWebViews and WebXR overlays.
🌟 Highlights
Multi-Model Support: Easily render multiple models in a single scene using < extra-model >.
Modern Formats: Added KTX2 texture API support, enabled KTX2 compressed scene exports, and migrated to HDRLoader.
iOS & WebXR Fixes: Resolved a critical WebGL memory leak on iOS, patched AR Quick Look transitions inside WKWebView-based browsers (Chrome, Google Search App), and fixed input target misalignment inside WebXR DOM Overlays.
three.js Compatibility: Renamed internal elements to ensure full compatibility with the upcoming three.js r183 release.
❤️ Contributors
A huge thank you to Douglas Holm, Vincent Fretin, Frank, and Salman Chishti for submitting features and bug fixes for this release!
v4.2.0
Features
🆕 UI/UX updates to the XR mode, thanks @samaneh-kazemi!
Bug fixes
- Backwards animation works again, thanks @mohammadbaghaei! #5026
Other notable changes
- Upgraded to Three.js r182
- A lot of code maintenance, thanks @samaneh-kazemi, @mohammadbaghaei, @Frank3K!
v4.1.0
Features
🆕 Added the ability to run and combine multiple animations simultaneously, thanks @mohammadbaghaei! #4979
Bug fixes
- For better AR support across different devices, moved the hit-test to optionalFeatures, thanks @mohammadbaghaei! #4960
Other notable changes
- Upgraded to Three.js r174, thanks @mohammadbaghaei!
- maxTextureSize parameter in the three.js parseAsync options for QuickLook can be set through model-viewer, thanks @mohammadbaghaei!
v4.0.0
✋Breaking Change
- Our default tone-mapping has been updated to PBR Neutral, for improved color accuracy. If you have not been specifying
tone-mapping, you'll need to either regenerate your poster images or usetone-mapping="aces"to get our legacy behavior. #4886 - The default min and max camera-orbit have been updated to allow straight top and bottom views. #4916
Bug fixes
- Fixed variants. #4882
- Fixed surface hotspot updates. #4867
- Fixed withCredentials updating. #4892
- getCameraTarget now returns the instantaneous position, like getCameraOrbit. #4895
Examples
✨ Updated model documentation. #4776
✨ Fixed material picking example to work in WebXR mode, thanks @Hamidrzash! #4851
Other notable changes
- Upgraded to Three.js r169. #4885, #4907
- We no longer require a meta viewport tag to render at full DPR resolution. #4896
- Moved the render fidelity comparisons out of this repo to Khronos ownership. #4779
Editor
v3.5.0
Features
🆕 Added localization API for a11y for WCAG compliance, thanks @cybmiper! #4715
🆕 Added Khronos PBR Neutral tone mapping standard ("neutral") - "commerce" is now an alias for this. #4716, #4760
Bug fixes
- Fixed USDZ auto-generation when changing baseColorFactor. #4690
- Fixed progress event reason propagation, thanks @rsleyland! #4701
- Fixed build problems related to imports, thanks @chamby! #4707, #4710
- Fixed DPR for iframes. #4723
- Fixed grounded skybox rotation. #4752
- Fixed USDZ rotation. #4753
- Fixed toBlob for offscreen elements. #4754
- Improved performance when model-viewer.js loads before a 3D element is visible, thanks @Arecsu! #4758
Examples
✨ Added example of a11y localization, thanks @cybmiper! #4715
Other notable changes
- Upgraded to Three.js r163. #4738, #4745
- Updated three-gpu-pathtracer comparisons, thanks @gkjohnson! #4686, #4696
- Added Blender Cycles to fidelity comparisons, thanks @vis-prime! #4492
Editor
- Removed some use of innerHTML (XSS security), thanks @Shivam7-1! #4748
v3.4.0
Features
🆕 Added UltraHDR lighting support for 10x-30x smaller environments! #4578
🆕 Added skybox-height option to project an outdoor skybox onto the ground plane. #4604
🆕 Added AgX tone mapping and Commerce tone mapping is improved and no longer experimental! #4615
🆕 Added a reason property to the progress event, thanks @alexdaube! #4647
Bug fixes
- Improved AR button accessibility, thanks @Technickel-Dev! #4524
- Made
CreateVideoTexture()respectwith-credentials, thanks @navidadelpour! #4635
Examples
✨ Added example of toggling visibility of mesh variants. #4528
✨ Updated lighting examples for UltraHDR example. #4578
✨ Added Grounded Skybox example. #4604
✨ Added a tone mapping comparison example. #4615
✨ Small fixes for examples. #4514, #4627
✨ Added an FAQ on color accuracy, including links to longer write-ups on tone mapping and model validation. #4637
Other notable changes
- Upgraded to Three.js r160. #4610
- Added V-Ray support for emissive strength comparison, thanks @jasondavies! #4509
- Fixed Babylon transparency for fidelity comparisons, thanks @bghgary! #4531
- Switch from glTF-Sample-Models to the newer glTF-Sample-Assets, thanks @bhouston! #4534, #4546
- Add anisotropy tests to render-fidelity-tests (and update Babylon + Filament to latest), thanks @bhouston! #4535
- Update render fidelity main page to list renderers in a table, thanks @bhouston! #4539
- Enable complex arguments for "npm run render-goldens" command, thanks @bhouston! #4542
- Reduce time for fidelity test CI, thanks @bhouston! #4543
- Removed IE11-specific code, thanks @Frank3K! #4603
- Updated our commerce tone mapper for improved contrast and color accuracy. #4614
Editor
- Added open graph metadata to editor, thanks @Technickel-Dev! #4527
- Commerce tone mapping is now the editor default. #4615
v3.3.0
Features
🆕 Added an experimental tone-mapping attribute to allow switching from our default, aces, to a new commerce function designed specifically for color accuracy in 3D commerce. #4495
🆕 Added zoom-sensitivity and pan-sensitivity attributes, thanks @nicolas-daures! #4412
Bug fixes
- Fixed sampler API that was leaking three.js internals. #4473, #4499, #4502
- Fixed variants normal map inversion. #4476
- Fixed glTF lights punctual support. #4477
Other notable changes
- Upgraded to Three.js r157. #4471, #4489
- Added V-Ray renders to fidelity comparisons, thanks @jasondavies and @bhouston! #4487
Editor
- Added a dropdown in the lighting tab to switch the tone mapping function. #4495
v3.2.1
v3.2.0
Features
🆕 Added optional post-processing API with a variety of rendering effects, thanks @Beilinson! #3948
🆕 Added an unbundled build, model-viewer-module.min.js, for use with post-processing or any others who need to de-duplicate three.js using import maps, thanks @Beilinson! #3948
🆕 Added anisotropy support. #4314, mrdoob/three.js#25580
🆕 Added PBR Next material extensions API, including anisotropy, clearcoat, ior, iridescence, sheen, specular, etc. #4319, #4330, #4348
🆕 Added texture transform API to Sampler: setRotation, setScale, and setOffset. #4209
Bug fixes
- Fix transmissive objects losing color. #4314, mrdoob/three.js#25819
- Fix webpack compilation warning, thanks @annahassel! #4350
Examples
✨ Added many post-processing examples, thanks @Beilinson! #3948
✨ Added transform textures example. #4209
Other notable changes
- Upgraded to Three.js r154
- Switched testing framework to modern-web and playwright. Also swapped
jasmineformochain thespace-operatests. #4268 - Added postinstall script that updates the three importmap version, thanks @Beilinson! #4260