Skip to content

Releases: google/model-viewer

v3.5.0

18 Apr 17:25
4a31350
Compare
Choose a tag to compare

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

Editor

v3.4.0

17 Jan 23:05
096bd39
Compare
Choose a tag to compare

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

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

v3.3.0

09 Oct 20:01
b002ee0
Compare
Choose a tag to compare

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

Editor

  • Added a dropdown in the lighting tab to switch the tone mapping function. #4495

v3.2.1

01 Aug 22:54
7aed150
Compare
Choose a tag to compare

Bug fixes

  • Fix npm postinstall script that was blocking install. #4359 #4363
  • Fix not awaiting for QuickLook when activating AR in iOS, thanks @heatblayze! #4405

Other notable changes

  • Removed Lerna in favor of npm workspaces. #4368 #4408

v3.2.0

12 Jul 00:45
b81a0f2
Compare
Choose a tag to compare

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

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 for mocha in the space-opera tests. #4268
  • Added postinstall script that updates the three importmap version, thanks @Beilinson! #4260

v3.1.1

25 Apr 22:08
8b095b4
Compare
Choose a tag to compare

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

05 Apr 18:14
8b13a5b
Compare
Choose a tag to compare

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

21 Feb 23:50
28497c2
Compare
Choose a tag to compare

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 a LottieTexture is now marked any, so please cast it with image.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

15 Feb 20:04
84f3b19
Compare
Choose a tag to compare

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

v3.0.0

01 Feb 22:06
24d6a32
Compare
Choose a tag to compare

✋Breaking Change

  • The KHR_materials_pbrSpecularGlossiness extension is no longer supported (renders white), as it has been deprecated for more than a year. This should affect only a small number of our users, but we're giving it a major version to call attention. Our Editor now supports auto-converting any uploaded Spec-Gloss model losslessly to use the modern extensions. If you need to batch-convert, gltf-transform has an excellent utility function. #3997

Features

🆕 Added dynamic hotspots, which follow a point on the model's surface while it animates. These can be generated by the surfaceFromPoint method, which the editor now employs. #3981
🆕 Added animated texture support, for video, canvas2D, and Lottie animations, which can be loaded and applied to any texture slot using our materials API. #3886

Bug fixes

  • Apply with-credentials toggle to all loaders. #4085
  • 'camera-change' event now fires in AR (WebXR mode only). #4067
  • Various element lifecycle fixes. #4048, #4046, #4043, #4041
  • Fire camera-change event at most once per animation frame. #4027
  • Fix skybox and hotspots when an empty GLB is used. #4006
  • Set texture anisotropy to 4 for improved oblique renders, thanks @hybridherbst! #4005
  • Fix custom hash params interfering with USDZ auto-generation, thanks @milesgreen! #4004
  • Make WebXR work on the Quest 2, thanks @cabanier! #3984

Examples

✨ Added animated hotspots example, which also demonstrates animated SVG pointers. #3981
✨ Added animated textures example. #3886
✨ Updated dimensions example to be more performant. #4027

Other notable changes

Editor

  • Added Spec-Gloss auto-conversion. #4063
  • Allow testing AR by opening a model directly in the editor on a mobile device. #4024
  • Added hotspots are now dynamic and will follow animated models. #3981
  • Fixed scene export. #4086
  • Fixed snippet export of saved initial camera state. #3970