Skip to content

v0.1.0

Compare
Choose a tag to compare
@cdata cdata released this 05 Mar 22:27
· 1216 commits to master since this release

This release marks the largest <model-viewer> update since it was launched publicly, and includes a ton of great work from our contributors. The following is a summary of that work:

New features

Thanks to a ton of foundational work by @jsantell, we have landed the following huge rendering improvements:

  • HDR environment map support #323
  • Environment-base radiance map (PMREM) support #338
  • ✋BREAKING CHANGE: Normalize lighting with Filament #387
    • Considered breaking because default lighting levels have changed

Additionally, we have landed the following new public API for controlling lighting details:

  • Configurable shadow-intensity attribute #388
  • Configurable exposure attribute #389
  • Configurable stage-light-intensity attribute #391
  • Configurable environment-image and environment-intensity attributes #392

We have also landed a bunch of improvements to accessibility for <model-viewer> overall:

  • ✋BREAKING CHANGE: Improved mobile scrolling behavior #311
    • Previously it was possible to become "trapped" by <model-viewer> swallowing events while scrolling
    • Considered breaking because the default interaction model is different now, see PR for details
  • Make poster focusable / dismissable via keyboard #313
  • Resize the scene correctly when zooming #314
  • Substantially improved a11y for camera controls #319
  • Added screen reader announcements related to loading status #345

Bug fixes

  • Make sure <model-viewer> works when WebGL is not available #329
    • In particular, this makes <model-viewer> compatible with Googlebot, which has WebGL disabled
  • We no longer light unlit materials #377

Other notable changes

  • ✋BREAKING CHANGE: We upgraded Three.js from r99 to r101 #312 #331
  • Intersection Observer support is now optional, we will use it if it is available #398
  • ✋BREAKING CHANGE: Our default bundle is now an ECMAScript module #401
    • If you prefer the old format, you can change your script source from dist/model-viewer.js to dist/model-viewer-umd.js to load a compatible bundle
    • We now recommend a new snippet for loading the bundles. Please refer to README.md for details!

We have added a new category of testing: fidelity testing. These tests will help us to keep rendering results in line with ourselves and other model viewers over time. Check out our live fidelity test results for an example of how different viewers are being compared!

  • Fidelity test regime has been introduced #305
  • Screenshot collection for golden reference images has been automated #351
  • We test against most of the Khronos glTF Sample Models #375

Since the last release, our docs have undergone a lot of changes, including a complete visual overhaul courtesy of @yuinchien :

  • Example snippet added for better docs samples #307
  • Docs received a major design overhaul #320
  • We (finally) added a screenshot to the README #332
  • Docs were further revised for v0.1.0 release #402