Skip to content

Commit bea2984

Browse files
authored
[css-view-transitions-1] Clarify that observable image size refers to the border-box, and observed natural size is not affected by hw constraints (#8819)
* Clarify that observable image size refers to the border-box Ink-overflow is an implementation detail, and up to the UA to apply. object-view-box doesn't directly affect the ink-overflow rect. See [resolution](#8597 (comment)). Closes #8597 * Fix regarding texture size * Add changelog entries * Apply nits * clarify note
1 parent a55950d commit bea2984

File tree

1 file changed

+9
-25
lines changed

1 file changed

+9
-25
lines changed

css-view-transitions-1/Overview.bs

+9-25
Original file line numberDiff line numberDiff line change
@@ -1570,10 +1570,10 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface;
15701570
over an infinite transparent canvas,
15711571
following the [=capture rendering characteristics=].
15721572

1573-
1. Let |interestRectangle| be the result of [=computing the interest rectangle=] for |element|.
1573+
1. Return the portion of the canvas that includes |element|'s [=ink overflow rectangle=] as an image.
1574+
The [=natural size=] of the image must be |element|'s [=border box=]'s [=size=],
1575+
and its origin corresponds to the |element|'s [=border box=]'s origin.
15741576

1575-
1. Return the portion of the canvas within |interestRectangle| as an image.
1576-
The natural size of the image is equal to the |interestRectangle| bounds.
15771577
</div>
15781578

15791579
### [=Capture rendering characteristics=] ### {#capture-rendering-characteristics-algorithm}
@@ -1590,6 +1590,10 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface;
15901590

15911591
* Effects on the element, such as 'opacity' and 'filter' are applied to the capture.
15921592

1593+
* Implementations may clip the rendered contents if the [=ink overflow rectangle=] exceeds some [=implementation-defined=] maximum.
1594+
However, the captured image should include, at the very least, the contents of |element| that intersect with the [=snapshot root=].
1595+
Implementations may adjust the rasterization quality to account for elements with a large [=ink overflow area=] that are transformed into view.
1596+
15931597
* [=list/For each=] |descendant| of [=shadow-including descendant=] {{Element}} and [=pseudo-element=] of |element|,
15941598
if |descendant| has a [=computed value=] of 'view-transition-name' that is not ''view-transition-name/none'',
15951599
then skip painting |descendant|.
@@ -1601,28 +1605,6 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface;
16011605
Issue: Specify what happens with 'mix-blend-mode'.
16021606
</div>
16031607

1604-
### [=Compute the interest rectangle=] ### {#compute-the-interest-rectangle-algorithm}
1605-
1606-
<div algorithm>
1607-
To <dfn lt="computing the interest rectangle|compute the interest rectangle">compute the interest rectangle</dfn> of an {{Element}} |element|, perform the following steps.
1608-
They return a rectangle.
1609-
1610-
Note: The interest rectangle is the subset of |element|'s [=ink overflow rectangle=] that should be captured.
1611-
This is required for cases where an element's ink overflow rectangle needs to be clipped because of hardware constraints.
1612-
For example, if it exceeds the maximum texture size.
1613-
1614-
1. Assert: |element| is not |element|'s [=node document=]'s [=document element=].
1615-
1616-
Note: The [=document element=] is captured differently, as specified in [=capture the image=].
1617-
1618-
1. If |element|'s [=ink overflow area=] does not exceed an implementation-defined maximum size,
1619-
then return a rectangle that is equal to |element|'s [=ink overflow rectangle=].
1620-
1621-
1. Otherwise:
1622-
1623-
Issue: Define the algorithm used to clip the snapshot when it exceeds max size.
1624-
</div>
1625-
16261608
## [=Handle transition frame=] ## {#handle-transition-frame-algorithm}
16271609

16281610
<div algorithm>
@@ -1810,6 +1792,8 @@ Changes from <a href="https://www.w3.org/TR/2022/WD-css-view-transitions-1-20221
18101792
* Add support for :only-child. See <a href="https://github.com/w3c/csswg-drafts/issues/8057">issue 8057</a>.
18111793
* Add concept of a tree of pseudo-elements under [=pseudo-element root=]. See <a href="https://github.com/w3c/csswg-drafts/issues/8113">issue 8113</a>.
18121794
* When skipping a transition, the {{UpdateCallback}} is called in own task rather than synchronosly. See <a href="https://github.com/w3c/csswg-drafts/issues/7904">issue 7904</a>
1795+
* When capturing images, at least the in-viewport part of the image should be captured, downscale if needed. See <a href="https://github.com/w3c/csswg-drafts/issues/8561">issue 8561</a>.
1796+
* Applying the [=ink overflow=] to the captured image is implementation defined, and doesn't affect the image's [=natural size=]. See <a href="https://github.com/w3c/csswg-drafts/issues/8597">issue 8597</a>.
18131797

18141798
<h3 id="changes-since-2022-10-25">
18151799
Changes from <a href="https://www.w3.org/TR/2022/WD-css-view-transitions-1-20221025/">2022-10-25 Working Draft (FPWD)</a>

0 commit comments

Comments
 (0)