Re: [csswg-drafts] [css-shapes-2][css-borders-4] corner-shape support for superellipses (#10993)

The CSS Working Group just discussed `[css-shapes-2][css-borders-4] corner-shape support for superellipsis`, and agreed to the following:

* `RESOLVED: Add corner-shape: superellipse(k) and bevel / scoop / notch / round / squircle based on it, maybe continuous in the future`
* `RESOLVED: Add restrictions to avoid intersecting borders with scoop-like corners, specifics TBD`
* `RESOLVED: Initial value of corner-shape is round`
* `RESOLVED: corner-shape has longhands like border-radius`

<details><summary>The full IRC log of that discussion</summary>
&lt;emilio> PROPOSED: Add corner-shape with superellipsis() in some form<br>
&lt;emilio> florian: [summarizes prev discussion for fserb]<br>
&lt;emilio> fserb: is this because of how I implemented it on the demo or...?<br>
&lt;emilio> smfr: q is whehter the iterative solution can be approximated to a bezier<br>
&lt;emilio> fserb: I think so because you have the parameterized distance<br>
&lt;emilio> ... can work on it a little bit<br>
&lt;emilio> ... doesn't have to be as awful as in the demo<br>
&lt;emilio> smfr: that sounds promising<br>
&lt;emilio> PROPOSED: Add corner-shape with superellipsis() in some form, maybe keywords<br>
&lt;emilio> noamr: maybe continuous to approx the apple curve<br>
&lt;fserb> q+<br>
&lt;emilio> florian: unsure if that's needed given our discussion and k=4 being really close<br>
&lt;emilio> smfr: do we have resolutions for bevel / scoop / etc?<br>
&lt;emilio> astearns: we didn't resolve on anything yet<br>
&lt;bramus> emilio: does not mean tha tif you add the keywords then add the function<br>
&lt;bramus> florian: ?? compat problems<br>
&lt;bramus> emilio: already ??? between discrete values<br>
&lt;emilio> smfr: seems premature to add superellipse() if we don't have the basic keywords yet<br>
&lt;noamr> +1 to starting with keywords<br>
&lt;emilio> florian: but if you do it then you can't animate<br>
&lt;astearns> ack fserb<br>
&lt;emilio> emilio: but you'd be able to once you introduce the functional version<br>
&lt;emilio> fserb: I think we should have both but it'd be weird to have only the keywords<br>
&lt;noamr> any reason not to have both in the spec?<br>
&lt;emilio> ... I think we should introduce the obvious keywords, but we should also have the superellipse() one<br>
&lt;emilio> astearns: I think even if we only have those keywords we should define those in terms of superellipse()<br>
&lt;emilio> fserb: unrelated, did we discuss about what happens about intersecting borders inside?<br>
&lt;emilio> ... are we going to tweak border-width / radius to avoid it?<br>
&lt;emilio> smfr: we decided we'd add constraints, but handwaved<br>
&lt;bramus> emilio: should we propose that as a resolution? add restirctions to prevent some things.<br>
&lt;fserb> +1<br>
&lt;emilio> florian: I'd prefer to add corner-shape: superellipse() + some keywords based on superellipse()<br>
&lt;emilio> noamr: should we resolve on the specific keywords?<br>
&lt;emilio> astearns: fine with editor discrection<br>
&lt;astearns> ack fantasai<br>
&lt;emilio> fantasai: there are keywords in the draft that map to this<br>
&lt;emilio> astearns: can you list them?<br>
&lt;emilio> smfr: probably bevel / scoop / notch / round?<br>
&lt;bramus> emilio: is the initial value round?<br>
&lt;bramus> … with this proposal we make it interact with border-radius<br>
&lt;noamr> + squircle<br>
&lt;fserb> scoop = -round ?<br>
&lt;emilio> PROPOSAL: Add corner-shape: superellipse(k) and bevel / scoop / notch / round / squircle based on it, maybe continuous in the future<br>
&lt;fserb> \o/<br>
&lt;emilio> RESOLVED: Add corner-shape: superellipse(k) and bevel / scoop / notch / round / squircle based on it, maybe continuous in the future<br>
&lt;emilio> PROPOSED: Add restrictions to avoid intersecting borders with scoop-like borders<br>
&lt;emilio> PROPOSED: Add restrictions to avoid intersecting borders with scoop-like corners, specifics TBD<br>
&lt;emilio> RESOLVED: Add restrictions to avoid intersecting borders with scoop-like corners, specifics TBD<br>
&lt;emilio> florian: current draft has angle rather than bevel<br>
&lt;emilio> TabAtkins: editor discretion seems fine<br>
&lt;emilio> [general agreement]<br>
&lt;emilio> emilio: Initial value should be round so that border-radius does the right thing right?<br>
&lt;bramus> emilio: can we define none in terms of superelipse?<br>
&lt;emilio> noamr: maybe none for when there's nothing going on with the corners<br>
&lt;bramus> smfr: yes<br>
&lt;emilio> smfr: that's a bit different from animating radius<br>
&lt;bramus> florian: are we also resolving that we have between 1 and 4 keywords and that they ??? a notch here and a rounded corner there<br>
&lt;emilio> noamr: it'd be superellipse(calc(inf))<br>
&lt;bramus> …or do we worry about that later?<br>
&lt;emilio> RESOLVED: Initial value of corner-shape is round<br>
&lt;bramus> noamr: have corner-shape for corners spearately following model of border-radius<br>
&lt;bramus> emilio: so corner-top-=left-shape and so on?<br>
&lt;bramus> florian: same thing as border-radius<br>
&lt;bramus> emilio: makes me sad that the prop deos not start with border-<br>
&lt;bramus> florian: what makes me sad is that border-radius is not corner-radius<br>
&lt;bramus> ntim: can add an alias<br>
&lt;emilio> PROPOSED: corner-shape has longhands like border-radius<br>
&lt;ntim> ntim: like we did for font-stretch/font-width<br>
&lt;emilio> weinig: Spec has a corners shorthand, but no need to discuss it<br>
&lt;emilio> RESOLVED: corner-shape has longhands like border-radius<br>
&lt;jfkthame> present-<br>
</details>


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


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

Received on Wednesday, 29 January 2025 18:58:04 UTC