W3C home > Mailing lists > Public > public-css-archive@w3.org > July 2018

Re: [csswg-drafts] [css-shapes] Specify algorithms for computing line-box intrusion into float's margin box.

From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
Date: Thu, 26 Jul 2018 18:42:21 +0000
To: public-css-archive@w3.org
Message-ID: <issue_comment.created-408195767-1532630540-sysbot+gh@w3.org>
Why not, tho? I don't see a particular reason why we need to allow differences in the result here, beyond trivial things like rounding?

SVG implementations already have solutions for computing the desired *shapes* (just take the implementation of the stroking algorithm, with `round` linejoins), which we can specify with more detail in the spec.

What's still needed beyond that is an explanation of how to find how far into the shape's bounding rect a linebox can penetrate without intersecting the shape. There are algorithms in the literature for doing this sort of line-sweep collision-finding for physics engines, but saying "it's defined in the literature, good luck!" isn't a very nice thing to do to implementors. (I tried that with something for gradients, and @SimonSapin made me actually define it. ^_^)  

A naive approach that doesn't work, for example, is to find where the top and bottom edges of the linebox would hit the shape, and use the one that's further out - this ignores the possibility of a "spike" between the two edges that should push the linebox even further. The actual efficient algorithm isn't particularly easy to puzzle out!

GitHub Notification of comment by tabatkins
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2949#issuecomment-408195767 using your GitHub account
Received on Thursday, 26 July 2018 18:42:26 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 26 July 2018 18:42:27 UTC