[css3-background] box-shadow spread Multiple Choice Question

Given that
   a) We made some very significant changes to CSS3 Backgrounds and Borders
      at the last F2F in March
   b) We have not yet published a new official draft of the changes
   c) The spec is already in CR, and therefore under Call for Implementations
I think it is imperative that we publish a new official Last Call Working
Draft asap.

However! We still have an open issue, which is the behavior of box-shadow's
spread radius. There are a fixed number of options that have been proposed.
I will attempt to list them all:

   1. Change spread to scale. The border-box shape is scaled up or down
      in each dimension independently as necessary to increase its width
      and height by the spread radius.

      Note: If the width and height are not equal, this will distort the
            shape.

   2. Define spread as an outward outset normal to the original shadow
      perimeter. (This is equivalent to a blur operation with a threshold
      operation that makes all non-transparent areas solid, and to stroking
      the perimeter of the border-box with a spread-radius-sized brush,
      and is the strictest interpretation of a "spread" concept.)

      Note: If the corner curves are not circular, the curves will no
            longer be elliptical.

      Note: If the shadow shape is contracted by more than the border-radius,
            round corners will become sharp.

   2a. As for 2, but special-case border-radius: 0; to be a sharp-cornered
       rectangle.

   3. Define spread as an outward outset of the box sides and a corresponding
      increase in the border-radii.

      Note: If the corner curves are not circular, the distance between the
            original edge and the altered edge will not be constant.

      Note: If the shadow shape is contracted by more than the border-radius,
            round corners will become sharp.

   3a. As for 3, but special-case border-radius: 0; to be a sharp-cornered
       rectangle.

   4. Define spread radius as outward normal outset, but allow implementations
      to approximate as per 3.

   4a. As for 4, but special-case border-radius: 0; to be a sharp-cornered
       rectangle.

   5. Drop spread radius from box-shadow.

If I am missing your preferred option, please respond to this email with an
explanation of your preferred option.

For details on concepts 2, 2a, 3, 3a, 4, and 4a, see the editor's draft,
which defines 4a, and thus has definitions for all the rest.
   http://dev.w3.org/csswg/css3-background/#the-box-shadow
If you think the above definitions are missing details... They are missing
details! Check the spec before complaining that they are missing. I've added
Brad's diagram and rearranged the text. If there are any outstanding editorial
or clarificational comments, let me know, preferably *before* we discuss the
topic on a telecon.

Finally, I respectfully request that the chairs schedule ten minutes of an
upcoming telecon to conduct a straw poll, hopefully resolve the issue, and
approve publication of a css3-background LCWD. I also request that if the
discussion takes more than 8 minutes that we take option 5 and publish. I
understand that CSS2.1 is the top priority, but it is also urgent that we
officially publish the major changes we made to background-clip.

Thanks~

~fantasai

Received on Thursday, 3 June 2010 22:57:25 UTC