Re: Border Curvature Proposal

> On Aug 6, 2015, at 3:31 PM, Robert O'Callahan <robert@ocallahan.org> wrote:
> 
>> On Fri, Aug 7, 2015 at 10:03 AM, Brad Kemper <brad.kemper@gmail.com> wrote:
>> > On Aug 5, 2015, at 3:45 PM, Robert O'Callahan <robert@ocallahan.org> wrote:
>> >
>> > CSS border rendering is already insanely complex. Can we please not extend it any further and instead progress Custom Painting to allow users to do whatever effects they want?
>> 
>> Funny; I think a lot of us authors consider existing border capabilities to be pretty rudimentary, regardless of implementor complexities. That's not a criticism, just the lay of the land right now. Besides lack of corner shape control beyond rounding, there is no control over dashes and dots (shape/length/spacing), no multiple-border support, no border-offset, no images-along-a-border-path, and only 3x3 border images (no 5x5, 5x3, etc.).
> 
> Individually those might be OK features. Combine them all, along with the existing features, and that's when things get nightmarish.
> 
> Right now you can have a border corner that's elliptical, with different inner and outer widths on each side, with dots on one side and dashes on another, with different colors on each side (one or both of which may be transparent, making pixels receiving contributions from both sides very interesting). Getting that to render nicely is already extremely challenging. You want to be able to have all that plus a different shape,  control the shape, spacing and length of dashes and dots, and do all that with multiple (nested I assume) borders.

Stacked in the z axis, like backgrounds, would be my preference. Border-offset would allow it to look nested when you want that. So would thicker borders in the back, thinner in the front, if the colors were opaque. 

> For interop the results of that mess should be clearly defined in the spec (even the current borders aren't), and implemented correctly and efficiently in all browsers.

Yeah, I totally agree with that. 

> Draft a spec for all that, make a reference implementation that covers *all* cases, and then let's talk.

Yeah, I'd love to. I have stuff in my head, doing thought experiments on some of the details; just haven't had time to write it down. 

I don't think I could make a reference implementation myself, but who knows? Maybe eventually I could take a stab at a polyfill, especially if the Houdini stuff is ready by the time I start cracking down on it. 

> 
> Rob
> -- 
> lbir ye,ea yer.tnietoehr  rdn rdsme,anea lurpr  edna e hnysnenh hhe uresyf toD
> selthor  stor  edna  siewaoeodm  or v sstvr  esBa  kbvted,t rdsme,aoreseoouoto
> o l euetiuruewFa  kbn e hnystoivateweh uresyf tulsa rehr  rdm  or rnea lurpr  
> .a war hsrer holsa rodvted,t  nenh hneireseoouot.tniesiewaoeivatewt sstvr  esn

Received on Friday, 7 August 2015 01:11:27 UTC