Re: [csswg-drafts] [css-overflow-3] Specify extent of ink overflow (#8649)

The CSS Working Group just discussed `[css-overflow-3] Specify extent of ink overflow`, and agreed to the following:

* `RESOLVED: Close the issue, adding a note to the ink overflow definition about platform and rendering differences`

<details><summary>The full IRC log of that discussion</summary>
&lt;emilio> szager: trying to summarize the discussion<br>
&lt;emilio> ... IntersectionObserver v2 uses ink overflow rects to determine visibility<br>
&lt;emilio> ... view transitions use it too<br>
&lt;emilio> ... it was brought up to me that ink overflow is a bit under-specified<br>
&lt;emilio> ... which can cause interop issues<br>
&lt;emilio> ... my personal agenda was to enable IOv2<br>
&lt;emilio> ... for everything except text, the extent of ink overflow is pretty straight-forward<br>
&lt;emilio> ... a couple places didn't call out it in the spec<br>
&lt;emilio> ... so I wrote a few PR<br>
&lt;florian> q+ to speak (once szager is done)<br>
&lt;emilio> ... but text is the really different one<br>
&lt;emilio> ... when laying out text we're subject to font selection / glyph shaping, web devs understand that different platforms give different results<br>
&lt;emilio> ... you can access the layout geometry via APIs and getBoundingClientRect()<br>
&lt;emilio> ... on inlines etc<br>
&lt;emilio> ... ink overflow is different, it's magic and not observable<br>
&lt;emilio> ... I wonder if we can help developers get a hand on this<br>
&lt;emilio> ... given we now have APIs which kind of expose ink overflow extents directly, it seems weird not to expose them<br>
&lt;astearns> ack florian<br>
&lt;Zakim> florian, you wanted to speak (once szager is done)<br>
&lt;chrishtr> q+<br>
&lt;emilio> ... I know that some of my PRs are not up to the standard in the spec. I'm not super-engaged on getting them landed but I think we should do the best possible for developers<br>
&lt;emilio> florian: you submitted 3 prs, for text, text-decoration, and for backgrounds<br>
&lt;emilio> ... it seems you want (1) define ink overflow better<br>
&lt;emilio> ... which seems useful<br>
&lt;khush> q+<br>
&lt;emilio> ... I haven't reviewed all the PRs, but the text PR isn't about defining it<br>
&lt;emilio> ... it's author guidance about how to reason about it<br>
&lt;emilio> ... so that's less obvious to me that it belongs in the spec<br>
&lt;emilio> ... you made some arguments which I didn't understand before<br>
&lt;emilio> ... but this looks more like devrel etc<br>
&lt;emilio> ... if there's agreement that this should be in the spec then we should work more of it<br>
&lt;astearns> ack chrishtr<br>
&lt;emilio> ... but as is the PR is not definition of ink overflow, more like author guidance<br>
&lt;emilio> chrishtr: just to bring it back to what I think should be the main resolution<br>
&lt;emilio> ... is ink overflow well-specified enough for those use cases?<br>
&lt;emilio> florian: not sure that's relevant because the PRs doesn't define anything<br>
&lt;emilio> chrishtr: I agree with it being more dev guidance<br>
&lt;emilio> chrishtr: if it's well defined let's close the issue and we can put developer guidance elsewhere<br>
&lt;fantasai> scribe+<br>
&lt;fantasai> emilio: I think the differences in text ink overflow are unlikely to cause substantial web compat problems for the APIs we're exposing right now<br>
&lt;fantasai> emilio: I don't think defining ink overflow for text is a blocker for the occlusion stuff<br>
&lt;fantasai> emilio: nor for View Transitions<br>
&lt;fantasai> emilio: The differences are relatively minor, and also happen even within the same browser across different platforms.<br>
&lt;fantasai> emilio: If you only test Chrome on Windows, Chrome on Mac is different<br>
&lt;fantasai> emilio: I don't think the ink overflow extents for text are likely to break use cases for intersectionObserver v2<br>
&lt;fantasai> emilio: same for View Transitions<br>
&lt;fantasai> emilio: I don't think it can cause realistic compat issues<br>
&lt;fantasai> emilio: Not necessarily well defined<br>
&lt;fantasai> emilio: but it doesn't matter much<br>
&lt;fantasai> emilio: One thing Stephen was asking was about exposing the ink overflow rects more<br>
&lt;fantasai> emilio: I think authors should generally not care about ink overflow<br>
&lt;fantasai> emilio: devtools could point out if needed<br>
&lt;fantasai> chrishtr: Sounds like you think we could close the issue as "good enough"<br>
&lt;florian> q+<br>
&lt;fantasai> emilio: Depends on the goal of the issue<br>
&lt;fantasai> chrishtr: for existing use cases that need it<br>
&lt;fantasai> emilio: text ink overflow maybe needs better definition<br>
&lt;fantasai> chrishtr: open a new issue, add some examples<br>
&lt;emilio> scribe+<br>
&lt;astearns> ack khush<br>
&lt;fantasai> khush: We're using this definition in one spot for VT<br>
&lt;fantasai> khush: but not Web-observable<br>
&lt;emilio> khush: want to clarify that v-t we are using it at one spot but it hasn't been a compat issue because it's not observable at all<br>
&lt;emilio> khush: because the area is managed by the browser<br>
&lt;emilio> ... but we want to use it for a feature where visibility with the viewport is handled with ink overflow instead of border box<br>
&lt;emilio> ... that technically would expose it<br>
&lt;emilio> ... and you could measure it moving a div 1px at a time<br>
&lt;astearns> ack florian<br>
&lt;emilio> ... but for the use cases we want I think it's ok<br>
&lt;emilio> florian: no strong view on whether what we have is good enough<br>
&lt;emilio> ... for v-t or intersection-observer<br>
&lt;emilio> ... predictable for authors is one thing, easy to compute for browsers is another<br>
&lt;chrishtr> q?<br>
&lt;emilio> ... glyphs are not the kind of infinite thing you need to approximate<br>
&lt;emilio> ... it could be very expensive to compute where a glyph ends<br>
&lt;fantasai> Definition of ink overflow https://www.w3.org/TR/css-overflow-3/#ink<br>
&lt;emilio> ... it's where the text ends, which you can compute, even though it might not be easy<br>
&lt;emilio> ... so I don't think it's badly defined<br>
&lt;emilio> szager: All browsers need to compute it already<br>
&lt;astearns> ack fantasai<br>
&lt;emilio> [missed]<br>
&lt;emilio> fantasai: I was on the queue to say what florian said, I don't think text ink overflow is ambiguous<br>
&lt;emilio> ... if there's an actual ambiguity then we should fix the spec<br>
&lt;emilio> ... otherwise it's not ambiguous<br>
&lt;emilio> ... I don't think an API to expose it would be a good idea<br>
&lt;emilio> ... because of that issue<br>
&lt;emilio> q+<br>
&lt;emilio> astearns: I think what's currently in the spec is good enough for current use cases<br>
&lt;emilio> ... so propose to close unless spec is ambiguous<br>
&lt;fantasai> emilio: ambiguity is not so much the spec definition, but the fact that the same text in the same font may generate different ink overflow on different platforms due to shaping and rasterization<br>
&lt;fantasai> emilio: might be worth pointing out in the spec<br>
&lt;fantasai> emilio: so that people defining APIs that depend on ink overflow can take that into account<br>
&lt;fantasai> emilio: doesn't have to be long, just a paragraph, that says it'll differ across platforms and rendering engines<br>
&lt;astearns> s/think what's/think what I’m hearing is that what’s/<br>
&lt;fantasai> emilio: for Khush's proposal about exposing more directly, file a different issue<br>
&lt;astearns> ack emilio<br>
&lt;fantasai> emilio: idk to what extent that can increase fingerprinting surface<br>
&lt;fantasai> emilio: That's a good reason why someone might measure a div pixel by pixel<br>
&lt;fantasai> emilio: not something you really want to expose, maybe it's exposed on canvas already<br>
&lt;fantasai> emilio: worth more thinking<br>
&lt;astearns> ack fantasai<br>
&lt;emilio> fantasai: If you want a note saying this can differ due to different factors then happy to do that<br>
&lt;emilio> chrishtr: sounds great, ty for volunteering<br>
&lt;emilio> RESOLVED: Close the issue, adding a note to the ink overflow definition about platform and rendering differences<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8649#issuecomment-2125236006 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 22 May 2024 16:29:19 UTC