Releases: google/model-viewer
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
jasmine
formocha
in thespace-opera
tests. #4268 - Added postinstall script that updates the three importmap version, thanks @Beilinson! #4260
v3.1.1
Bug fixes
- Avoid pointer lock-down. #4238
- Removed doubled period from alt text, thanks @ashleahhill! #4237
- Fixed setting
currentTime
when animation has not been played. #4231 - Improved glTF point-cloud support. #4228
- Fixed keyboard focus outline on Firefox and Safari. #4224
Other notable changes
- The focus-visible polyfill has been removed, since it is now supported in all major browsers. #4224
- Made peer dependency relationship clear in readme, thanks @johnnyshankman! #4202
Editor
- Adding hotspots now produces surface hotspots only for animated models and standard position & normal hotspots otherwise. #4228
v3.1.0
Most of the updates this time were pulled from upstream in Three.js rather than directly in our code base. The big one is that our last major glTF compliance issue is now fixed: multiple UV channel and texture transform support! This means it's now possible to author GLBs with tiled textures, e.g. for fabric, and still have a non-tiled AO map. This can make for significantly higher-quality models with smaller file size.
Bug fixes
- Fixed video textures on iOS. #4141
- Proper support for multi-UV channel models. #4186
- Fixed loading failure for animations that target a missing node. #4186
Examples
✨ Fixed a bug in the annotations example, thanks @y-71! #4151
Other notable changes
v3.0.2
This does not change our bundled build, so most users will see no change compared to v3.0.1. This changes how our dependencies are represented in npm, which is important for developers that are incorporating <model-viewer>
into a larger TS/JS project. Specifically:
- Removed lottie-web dependency - the
animation
object of aLottieTexture
is now markedany
, so please cast it withimage.animation as import('lottie-web').AnimationItem;
if you want type info. #4132 - Switched three.js to a peer dependency, allowing it to be shared within a project. This could be construed as a breaking change, but we're bundling it up as part of v3.0 since that was so recent. Just make sure
three
is installed and the build should continue to work. #4135
v3.0.1
Bug fixes
- Fixed
with-credentials
, thanks @robertsLando! #4098 - Fixed updating hotspot's
data-surface
attribute. #4099 - Fixed slow video texture framerate on Firefox. #4105
- Avoid lottie-web dependency errors, thanks @robertsLando! #4108
- Fixed Lottie textures not updating. #4114
Examples
✨ Fixed animated hotspots example for iOS. #4107
✨ Fixed video textures example for Firefox. #4104
✨ Fixed Lottie textures example for Safari by demonstrating proper use of ES-module-shims. #4113
✨ Updated recommended CDN from unpkg to ajax. #4121
Other notable changes
- Updated default DRACO decoder to v1.5.6. #4115
- Updated fidelity comparison with v0.0.13 of three-gpu-pathtracer, thanks @gkjohnson! #4118
- Fixed Babylon.js renderings, thanks @Popov72! #4120, #4123