Releases: google/model-viewer
v0.3.0
New features
- 🆕
<model-viewer>
now features built-in, customizable progress bars. See #487 for details.
Bug fixes
- A pixel-rounding bug was fixed that sometimes let to unsightly margins around the edge of
<model-viewer>
#489
Other notable changes
- We have added new CSS custom properties to our docs #493
- ✋BREAKING CHANGE: The
reveal-when-loaded
attribute has been removed in favor of the newreveal
attribute and related semantics #487 - ✋BREAKING CHANGE: As of #487 the scene is now obscured by a poster by default until loading and rendering has completed. If no poster image is specified, the poster will be a solid color. You can revert to the previous default with CSS. For example:
<style>
model-viewer {
--poster-color: transparent;
}
</style>
- ✋BREAKING CHANGE: The default lighting conditions have changed. We recommend that you remove any lighting-related attributes (
stage-light-intensity
,environment-intensity
,exposure
etc) and review the new default lighting with your models before adding further customizations. Check here for a detailed description of the lighting changes.
v0.2.0
New features
- 🆕
camera-orbit
: attribute lets you specify where the camera is positioned #452 - 🆕
getCameraOrbit()
: method lets you access the camera position in real time #452 - 🆕
interaction-prompt-threshold
: attribute lets you control how much time passes before the user is prompted to interact #452
Bug fixes
- Stopped screen readers from focusing uninteresting elements in #452
- Thanks to @svinkle for related a11y research
- The interaction prompt now waits for the model to load before starting its internal timer #452
- @pushmatrix ensured that
auto-rotate
does not begin until the model is loaded #471
Other notable changes
- ✋BREAKING CHANGE: The
controls
attribute has been renamed tocamera-controls
#452 - ✋BREAKING CHANGE: The default camera position when controls are disabled has changed #452
- To use the old default, add
camera-orbit="0 90deg auto"
to your<model-viewer>
markup
- To use the old default, add
- @yuinchien gave our docs an updated look at feel #474
- @mikkoh improved dev build times #468
- Per-frame compositing performance was improved by selectively disabling SVG animations #452
v0.1.2
New features
- Animation support, and public API for controlling animations #421
align-model
: attribute to control whether model is aligned by center of bounding volume or its root node position #441
Bug fixes
Other notable changes
- Docs have updated with some nice informational tables related to browser feature support
- Many memory leaks were cleaned up in our test suite #438
v0.1.1
v0.1.0
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
andenvironment-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
- Previously it was possible to become "trapped" by
- 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
- In particular, this makes
- 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
todist/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!
- If you prefer the old format, you can change your script source from
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 :
v0.0.7
⌨️Keyboard controls for camera orientation
🙋♀️AR hologram faces the user when placed
🍦Smoother default camera controls
🦊Bugfixes for Android Firefox and IE11
💡Improved built-in lighting
👴Legacy bundles published to NPM
🆙Three.js upgraded to r99
🏎Performance tuning for mobile browser usages
✨Updated to use the latest WebXR APIs
v0.0.6
- Better AR Quick Look detection on iOS (thanks to @mikkoh for the contribution)
- Error event when models fail to load or parse (thanks to @frankiefu for pointing this out)
- Fixed memory leak when changing background images
- Improved default a11y qualities
- IE11 support