In its current form, we capture the view transition into an old&new snapshot and then cross-fade between them, also animating the transform to simulate motion. With layered capture, more CSS properties are captured as style instead of being baked into the snapshot: opacity, clipping, border, box-shadow, background, 3D, mask, filters, border-radius. This allows displaying a more correct animation when using nested view transitions, and also allows more expressiveness for view-transitions in general, as borders & shadow would animate logically rather than cross-fade.
The main need arises from nested view transitions. When there is a tree hierarchy of transitioning elements, suddenly tree effects like opacity/mask/3D/filter are rendered differently, as well as decorations that respond to overflow like border-radius & box-shadow. Without capturing the transitioning elements differently, those nested animations would look broken. In addition, it allows implementing view transitions that were not easily possible before regardless of nesting, such as animating the border-radius of a transitioning shared element. This was brought up by partner designs.
None
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None
None
No milestones specified