IRC log of css on 2008-05-14

Timestamps are in UTC.

15:59:11 [RRSAgent]
RRSAgent has joined #css
15:59:11 [RRSAgent]
logging to
16:01:15 [dsinger]
dsinger has joined #css
16:01:42 [Bert]
trackbot-ng, start telcon
16:01:44 [trackbot-ng]
RRSAgent, make logs member
16:01:46 [trackbot-ng]
Zakim, this will be Style_CSS FP
16:01:46 [Zakim]
ok, trackbot-ng, I see Style_CSS FP()12:00PM already started
16:01:47 [trackbot-ng]
Meeting: Cascading Style Sheets (CSS) Working Group Teleconference
16:01:47 [trackbot-ng]
Date: 14 May 2008
16:01:58 [Bert]
rrsagent, make logs public
16:02:24 [Zakim]
+ +1.408.398.aacc
16:02:41 [dbaron]
dbaron has joined #css
16:02:55 [jason_cranfordtea]
jason_cranfordtea has joined #css
16:03:22 [plinss]
zakim, +1.408.398 is dsinger
16:03:22 [Zakim]
+dsinger; got it
16:03:29 [plinss]
zakim, who is here?
16:03:36 [Zakim]
On the phone I see +1.760.741.aaaa, Bert, +1.510.981.aabb, dsinger
16:03:38 [Zakim]
16:03:40 [Zakim]
On IRC I see jason_cranfordtea, dbaron, dsinger, RRSAgent, Zakim, alexmog, Bert, bjoern, anne, trackbot-ng, jdaggett, fantasai, hsivonen, Hixie, plinss, krijnh
16:03:49 [plinss]
zakim, +1.760.741 is plinss
16:03:53 [Zakim]
+plinss; got it
16:04:12 [plinss]
zakim, +1.510.981 is fantasai
16:04:12 [Zakim]
+fantasai; got it
16:04:21 [Zakim]
+ +1.703.265.aadd
16:05:03 [Arron]
Arron has joined #CSS
16:05:25 [Zakim]
16:06:01 [SteveZ]
SteveZ has joined #css
16:06:31 [plinss]
zakim, +1.703.265 is jason_cranfordtea
16:06:31 [Zakim]
+jason_cranfordtea; got it
16:07:51 [plinss]
16:09:42 [fantasai]
ScribeNick: fantasai
16:10:56 [dbaron]
I've read a bunch of previous drafts of the charter; not sure if they include the current one.
16:11:13 [fantasai]
you said the *exact* same thing last time!
16:11:16 [dsinger]
I did read the charter a little while back, I may not be up to date, tho
16:11:35 [fantasai]
Jason: My team had a meeting and talked about it. We think we should consider saying a bit more about outreach
16:11:58 [fantasai]
Peter: Still waiting on Opera for module feedback
16:12:20 [fantasai]
Peter: No comments on module priority on www-style
16:12:37 [fantasai]
fantasai: I didn't see Selectors 4 on the list anywhere
16:12:44 [hyatt]
hyatt has joined #css
16:13:16 [Zakim]
+ +1.281.419.aaee
16:13:19 [fantasai]
Peter: So only things on agenda this week are Backgrounds and Borders
16:13:22 [hyatt]
16:13:34 [dbaron]
Zakim, +1.281.419.aaee is Dave_Hyatt
16:13:34 [Zakim]
+Dave_Hyatt; got it
16:15:15 [fantasai] Bottom list
16:15:26 [fantasai]
fantasai summarizes issues in "needs discussion" list
16:19:57 [fantasai]
dbaron: opposed to changing background-origin to background-box
16:20:10 [dbaron]
hyatt: I like background-origin -- I think it's descriptive.
16:21:05 [fantasai]
peter: for positioning from other corners, I can see that calc() can do it.. I can also see the utility in using start/end
16:21:12 [fantasai]
peter: maybe add start/end keywords to calc?
16:21:17 [fantasai]
fantasai doesn't think that makes much sense
16:21:34 [fantasai]
fantasai: one proposal for syntax was background-position: bottom 10px right 25px;
16:22:14 [fantasai]
16:23:22 [fantasai]
peter: for percentage border widths, I have a vague memory that adding more percentages to width calculations can create circular dependencies.. but maybe I'm wrong
16:24:26 [fantasai]
hyatt?: I don't think you get a circular dependency if you add the same rules we have other places, relative to the width of the block and defaulting to something else if you can't resolve the percentage
16:24:57 [fantasai]
dbaron: We already have the same problems with percentage margins. I'm concerned about tables.
16:25:06 [fantasai]
hyatt: you could say it doesn't apply
16:25:13 [fantasai]
fantasai: can default to 'medium'
16:26:02 [fantasai]
hyatt: is there a compelling use case for this?
16:26:07 [fantasai]
fantasai: not really
16:26:49 [fantasai]
fantasai: it's there for margin and padding
16:27:07 [fantasai]
fantasai: figured we'd ask WG if anyone really wants to implement it
16:27:21 [fantasai]
Bert: borders don't always look like borders
16:27:40 [fantasai]
hyatt: if there's no compelling use case, then leave it to another level
16:28:23 [fantasai]
hyatt: it's just another thing to hold back the module
16:30:45 [fantasai]
Bert: I'd like to add it and mark it at risk
16:31:02 [fantasai]
fantasai: I don't want to define what happens in tables, that's extra work and not easy
16:31:42 [dbaron]
I said "I think it is too."
16:31:43 [fantasai]
peter: should record idea somewhere
16:31:50 [dbaron]
I'm getting a lot of echo from somebody else's phone.
16:32:06 [fantasai]
fantasai: We can add a note about the problems and why we're planning to drop it in the next WD
16:32:12 [fantasai]
fantasai: then drop it in the next round
16:32:15 [Arron]
Arron has joined #CSS
16:32:16 [dbaron]
(regarding percentage border-radius being implemented in Gecko)
16:33:06 [Zakim]
16:33:07 [fantasai]
peter: I think percentage border radii were implemented in Gecko
16:33:34 [fantasai]
fantasai: Gecko avoids the confusion of what percentages are relative to by only allowing one radius: corners are always circular
16:33:50 [glazou]
glazou has joined #css
16:33:52 [glazou]
16:34:14 [fantasai]
hyatt: I think percentage border radii and percentage border widths go together
16:34:25 [Zakim]
+ +95089aaff
16:34:37 [glazou]
Zakim, +95089aaff is me
16:34:37 [Zakim]
+glazou; got it
16:34:37 [fantasai]
fantasai: I think it sounds like they go together when you say it, but not when you look at it
16:34:51 [dbaron]
Zakim, who is noisy?
16:35:02 [Zakim]
dbaron, listening for 10 seconds I heard sound from the following: glazou (60%), fantasai (7%), jason_cranfordtea (15%)
16:35:05 [glazou]
16:35:08 [glazou]
Zakim, mute me
16:35:08 [Zakim]
glazou should now be muted
16:35:28 [fantasai]
peter: I think the use case was for having rounded ends
16:36:02 [fantasai]
fantasai: you can get that if you set large radii, say 2em on a navigation button. They get reduced until they don't intersect, so you'd get rounded ends that way
16:37:03 [fantasai]
peter: Everyone please review the list of issue changes here, we will discuss next week as needed
16:37:12 [dbaron]
hyatt, since you're here, I'd like to bring and to your attention (Feel free to respond on the list)
16:37:13 [fantasai]
peter: update on logo contest
16:37:30 [fantasai]
jason: for the prizes we have generous donations from HP and Adobe for a first-prize kit
16:37:39 [fantasai]
jason: we could use more, anything like T-shirts etc
16:37:45 [dsinger]
I have not yet got response from Apple folk
16:37:45 [fantasai]
jason: right now only have enough for first place
16:37:52 [fantasai]
jason: end of update
16:38:12 [hyatt]
dbaron: Issue 3: Should the z-index property apply to elements with opacity?
16:38:18 [hyatt]
dbaron: we have a bug filed against webkit on that
16:38:58 [glazou]
peter, can you stay here a minute after the end of the call please ?
16:39:16 [fantasai]
fantasai: what is the plan for module list in charter?
16:39:21 [glazou]
Zakim, unmute me
16:39:21 [Zakim]
glazou was not muted, glazou
16:39:37 [fantasai]
peter: wait for Opera.. if we don't hear from Opera then we'll just go ahead with what we have
16:40:02 [hyatt]
dbaron: i wasn't sure that treating opacity as having a z-index of 0 was good enough
16:40:18 [hyatt]
dbaron: i kind of felt like a nonpositioned element with opacity should paint behind positioned elements with a z-index of 0
16:40:51 [fantasai]
fantasai: for things that will shift from implementor feedback (like CSS Namespaces), how are you going to do that?
16:40:51 [dbaron]
hyatt, but there's also no alternative layer that's appropriate, since the background and the text of boxes have to be together...
16:40:54 [fantasai]
peter: editorial change by me
16:40:59 [Zakim]
16:41:02 [Zakim]
16:41:04 [Zakim]
16:41:09 [Zakim]
16:41:14 [Zakim]
16:41:42 [hyatt]
dbaron: i think i'm suggesting amending (8) in
16:41:52 [hyatt]
or adding something between (7) and (7)
16:41:56 [hyatt]
(7) and (8)
16:41:56 [dbaron]
hyatt, CSS 2.1 doesn't have 'opacity'
16:42:05 [fantasai]
RRSAgent: make logs public
16:42:08 [fantasai]
RRSAgent: make minutes
16:42:08 [RRSAgent]
I have made the request to generate fantasai
16:42:09 [hyatt]
yes i know that :)
16:42:10 [dbaron]
hyatt, but I see what you mean
16:42:22 [hyatt]
i'm just using that doc since css3 doesn't have one yet does it
16:42:25 [dbaron]
hyatt, that said, Mozilla and Webkit both implement putting it in (8)
16:42:37 [dbaron]
hyatt, and I don't see a convincing case that it's worth changing
16:42:42 [hyatt]
let me clarify
16:42:48 [Zakim]
16:42:49 [Zakim]
16:42:51 [dbaron]
hyatt, after all, putting position:relative elements at a different z-order doesn't particularly make sense either...
16:43:10 [dbaron]
hyatt, no, I see what you mean -- adding a layer in the definition in css3-color
16:43:21 [glazou]
16:43:23 [hyatt]
if you have positioned element A, opacity element, positioned element B all with z-index of 0
16:43:27 [Zakim]
16:43:28 [Zakim]
Style_CSS FP()12:00PM has ended
16:43:30 [Zakim]
Attendees were +1.760.741.aaaa, Bert, +1.510.981.aabb, +1.408.398.aacc, dsinger, David_Baron, plinss, fantasai, +1.703.265.aadd, SteveZ, jason_cranfordtea, Dave_Hyatt, glazou
16:43:32 [hyatt]
it feels weird to me that the opacity element is in between them
16:43:41 [dbaron]
hyatt, it doesn't feel weird to me
16:44:05 [hyatt]
so basically webkit needs to force the z-index to 0 if it's something else and you aren't positioned
16:44:18 [hyatt]
right now we just force auto to 0
16:44:23 [hyatt]
but we need to force other values to 0 too
16:44:52 [hyatt]
16:45:55 [hyatt]
so yeah i agree with all three of your proposed resolutions
16:45:59 [dbaron]
16:48:00 [hyatt]
dbaron: responded to the list.
16:48:08 [dbaron]
hyatt, ok, thanks
16:48:19 [hyatt]
we have the same issue with masks, reflections and transforms
16:48:24 [hyatt]
we let z-index apply
16:48:29 [hyatt]
so i should just change those at the same time
16:48:42 [hyatt]
and hope i don't break someone's phone content lol
17:00:44 [ChrisL]
ChrisL has joined #css
17:01:33 [fantasai]
hey ChrisL, jdaggett and jason teague have been trying to get in contact with you
17:01:57 [ChrisL]
yes, i know; will respond tomorrow
17:02:02 [ChrisL]
on call right now
17:02:10 [fantasai]
17:30:57 [plinss]
FYI: Namespace transition to CR approved
17:31:03 [fantasai]
17:38:53 [Chris-dinner]
Chris-dinner has left #css
17:39:00 [bjoern]
bjoern has joined #css
18:13:16 [dbaron]
dbaron has joined #css
18:44:04 [Zakim]
Zakim has left #css
18:53:31 [dbaron]
dbaron has joined #css
19:19:25 [fantasai]
plinss: so.. can you message the list about that so I can request publication? or is there some other process we have to follow here?
19:54:10 [Bert]
Fantasai, I can handle the publication. (Although you can help by checking that the document is pubrules-compliant.)
19:54:27 [Bert]
There is going to be an official announcement to the AC the same day.
19:54:41 [fantasai]
should be pubrules compliant
19:54:44 [Bert]
(Which I will draft together with the comm team.)
19:54:44 [fantasai]
but the date needs fixing
19:54:57 [Bert]
Yas, I thought so.
19:55:51 [Bert]
It's officially not official until it is really published, but as this channel is not really private...
19:56:35 [Bert]
And anyway it is not a very high-profile specification :-)
19:56:43 [fantasai]
no :)
20:06:08 [hyatt]
i have an issue for you two in backgrounds/borders
20:06:29 [hyatt]
one thing that is coming up over and over again for us
20:06:36 [hyatt]
is that people expect border-radius to clip replaced elements
20:06:45 [hyatt]
e.g., <img style="border-radius: etc.">
20:06:50 [hyatt]
they expect the image itself to clip
20:06:52 [hyatt]
same with <video>
20:06:57 [hyatt]
and any replaced element really
20:07:24 [fantasai]
20:07:27 [fantasai]
that's a good point
20:07:36 [fantasai]
also for tables, they expect cell backgrounds to clip
20:07:47 [fantasai]
you can do it for sure if you specify overflow: hidden;
20:07:51 [fantasai]
that's in the spec already
20:07:53 [hyatt]
additionally we got a bug from someone expecting children to be clipped by the border radius when overflow:hidden is set
20:08:00 [hyatt]
20:08:02 [fantasai]
20:08:10 [hyatt]
but i'm not convinced overflow should have to be specified for replaced elements
20:08:10 [fantasai]
they should indeed be clipped
20:08:33 [hyatt]
i think replaced elements should just clip their contents (or maybe the spec should say that the UA *can*)
20:08:45 [hyatt]
replaced elements don't really have 'overflow'
20:08:54 [fantasai]
the can when you use image-fit
20:09:10 [fantasai]
20:09:30 [hyatt]
20:09:32 [fantasai]
hyatt: would putting img, video { overflow: hidden; } in the UA style sheet solve the problem?
20:09:53 [hyatt]
i'm willing to tell everyone that they have to use overflow:hidden
20:11:06 [hyatt]
20:11:12 [hyatt]
20:11:16 [hyatt]
i don't like the overflow:visible renderings
20:11:17 [fantasai]
20:11:30 [hyatt]
i guess i'm wondering why replaced elements wouldn't just implicitly always be overflow:hidden
20:11:53 [hyatt]
so maybe i am agreeing that overflow:hidden should be set in the UA sheet :)
20:12:21 [fantasai]
I think that's fine
20:12:32 [hyatt]
replaced elements being able to spill out of their containers is a nasty complication to those elements...
20:12:32 [fantasai]
I think the reasoning there was that we wanted overflow: auto; to do something useful in these cases
20:12:54 [hyatt]
i guess you'd start making anonymous boxes to wrap them at that point
20:13:28 [hyatt]
image-fit/image-position are almost turning image into two renderers
20:13:35 [hyatt]
an enclosing box and then the image itself
20:14:21 [hyatt]
these should be renamed too
20:14:29 [hyatt]
obviously you want this to apply to html5 <video> too
20:14:40 [fantasai]
yes, but rename to what?
20:14:41 [hyatt]
so "image" is not necessarily the best name
20:14:43 [fantasai]
20:14:53 [hyatt]
yeah that sounds so geeky
20:14:57 [hyatt]
image at least is descriptive
20:15:04 [fantasai]
image is something authors can relate to
20:15:23 [hyatt]
why is this in paged media?
20:15:23 [fantasai]
spec says it applies to all replaced elements
20:15:31 [fantasai]
because the printer people wanted it
20:15:36 [fantasai]
and the box module wasn't moving fast enough
20:15:39 [fantasai]
or something
20:15:43 [hyatt]
20:16:03 [fantasai]
if we get the Overflow module split off from Box we could put it there
20:16:29 [hyatt]
ok yeah i'll just say that people have to put overflow:hidden on replaced elements
20:16:31 [fantasai]
box module is going to take awhile.. it has to cover all of CSS2.1's hairiest chapters
20:16:54 [fantasai]
I'd just put it in the ua style sheet
20:17:11 [fantasai]
make life easier for them : most won't be using it on generated content
20:17:25 [fantasai]
if we put that in the spec we, should be able to get interop on it
20:17:31 [hyatt]
20:17:33 [hyatt]
that sounds good to me
20:17:44 [hyatt]
i still have to write code to *do* something when overflow is set on a replaced element :)
20:17:57 [fantasai]
yeah, but you'd have to do that anyway :)
20:18:12 [fantasai]
can you send a message about this to www-style?
20:18:22 [fantasai]
or I could do it
20:19:06 [hyatt]
i will do it
20:23:48 [hyatt]
fantasai: ok sent
20:23:52 [fantasai]
20:23:56 [fantasai]
20:27:50 [hyatt]
have you thought about background-origin-box, background-clip-box
20:28:03 [fantasai]
20:28:11 [hyatt]
that might address dbaron's concern
20:28:12 [fantasai]
I don't think background-clip-box is necessary, really
20:28:17 [fantasai]
just long
20:28:39 [fantasai]
the keywords already have -box in them anyway
20:28:49 [hyatt]
they do?
20:28:55 [hyatt]
did the keywords change?
20:29:05 [fantasai]
that's the plan
20:29:10 [hyatt]
20:29:10 [fantasai]
want to make the match box-sizing
20:29:11 [dbaron]
I thought they've always been content-box, padding-box, border-box
20:29:18 [hyatt]
20:29:23 [hyatt]
at one point they were kjust content, padding, border
20:29:28 [hyatt]
and that is what is implemented in webkti i think
20:29:43 [dbaron]
ah, right
20:29:47 [dbaron]
we implement padding, border, content
20:30:30 [hyatt]
btw we support multiple shadows now
20:30:39 [hyatt]
and we reversed the order as per the recent decision or whatever
20:30:42 [fantasai]
20:30:57 [fantasai]
does that apply to box-shadow as well?
20:31:01 [hyatt]
20:31:05 [fantasai]
20:31:11 [fantasai]
I guess we'll leave that off the at-risk section then :)
20:31:25 [hyatt]
my understanding is that gecko has multiple shadows coming soon
20:31:42 [fantasai]
we have shadows at all?
20:31:52 [hyatt]
michael ventnor did them i believe?
20:31:55 [hyatt]
not landed yet
20:31:58 [fantasai]
20:34:51 [fantasai]
I should add myself to that CC list
20:34:55 [fantasai]
20:35:37 [hyatt]
i am excited that backgrounds/borders could be finishing up soon
20:36:00 [fantasai]
20:36:10 [hyatt]
it would be very helpful to have the names finalized within the next couple of months
20:36:26 [fantasai]
I'm aiming for WD in June
20:36:32 [hyatt]
20:36:33 [fantasai]
to get some comments
20:36:37 [fantasai]
and LC afterwards
20:36:49 [hyatt]
i have css variables implemented
20:36:58 [hyatt]
i ran into a bunch of stuff though that warrants discussion
20:37:01 [fantasai]
I haven't looked at the draft really
20:37:13 [hyatt]
the draft is kind of woefully underspecified
20:37:18 [fantasai]
I'm not surprised
20:37:20 [hyatt]
as all first drafts tend to be
20:37:25 [fantasai]
20:37:41 [hyatt]
i think the value at call sites should just be dropped
20:37:48 [hyatt]
all it does is makes it harder to use the CSS OM to query for values
20:38:07 [hyatt]
also the spec is a "2.1" spec
20:38:12 [hyatt]
it needs to talk about some css3 stuff
20:38:20 [hyatt]
like where do @variables go in relation to @namespace
20:38:28 [hyatt]
right now it's @import then @namespace
20:38:34 [fantasai]
yeah, it should build off the 2007 snapshot
20:38:44 [hyatt]
do @variables go before @namespace, after @namespace, intermixed with @namespace, etc.
20:39:08 [hyatt]
i chose before
20:39:12 [hyatt]
but it was arbitrary
20:40:06 [hyatt]
so what is the next step i should take for some of our new proposals
20:40:08 [hyatt]
let's say... transitions.
20:40:19 [fantasai]
put it on
20:40:30 [fantasai]
then address dbaron's comments :)
20:40:43 [fantasai]
(that way your changes get logged by CVS)
20:42:18 [hyatt]
ok so we have the ok to check stuff in there
20:42:24 [fantasai]
20:42:26 [fantasai]
you had that awhile ago
20:42:26 [hyatt]
that would be behind the password for anyone who tried to view it
20:42:33 [fantasai]
what? no
20:42:38 [fantasai], not
20:42:39 [hyatt]
i know i have the technical permission to commit :)
20:42:51 [hyatt]
what is
20:43:04 [hyatt]
oh it's the repository
20:43:05 [fantasai]
20:43:06 [hyatt]
20:43:20 [fantasai]
Bert sent you a message months ago saying you could put the specs there
20:43:30 [hyatt]
he did?
20:43:34 [fantasai]
20:43:34 [hyatt]
i thought he said they were outside th charter
20:43:36 [hyatt]
so i held off
20:43:40 [fantasai]
he also said that
20:43:46 [fantasai]
but is unofficial space
20:43:55 [hyatt]
ah ok
20:44:01 [hyatt]
i got scared off by the charter talk
20:45:27 [hyatt]
20:45:41 [hyatt]
do you have any suggestions on what i should do with gradients
20:45:53 [hyatt]
does that warrant its own individual proposal or is there some module that should be proposed to instead
20:46:00 [fantasai]
don't know really
20:46:11 [fantasai]
we should also add image slices somewhere
20:46:16 [hyatt]
we cut out 31 images in the inspector alone :)
20:46:19 [hyatt]
in the web inspector
20:46:23 [hyatt]
just from adding gradients
20:46:57 [hyatt]
is an image slice like doing something like image-slice(url(foo.png), rect(whatever))?
20:46:59 [hyatt]
in place of a url?
20:47:24 [fantasai]
yeah, except hopefully less verbose :)
20:47:34 [hyatt]
20:47:45 [hyatt]
yeah webkit has a neat architecture now for pluggable "image generators"
20:47:52 [hyatt]
so it's easy to add these new types
20:48:07 [hyatt]
we've been talking about adding something for video
20:48:13 [hyatt]
so that you could use video everywhere
20:48:46 [hyatt]
you run into similar problems, e.g., do you want to specify a time slice, should it play automatically, how many times should it play, etc.
20:49:09 [hyatt]
(you could imagine having similar rules for animated gifs used as backgrounds too)
20:49:25 [fantasai]
ahh, there was this horrible test case in the old nglayout builds
20:49:31 [fantasai]
with an animated gif background
20:49:33 [hyatt]
the eyes
20:51:51 [fantasai]
hyatt: what do you think of the inner shadow proposals?
20:51:58 [fantasai]
is it something you'd want to add?
20:52:04 [hyatt]
i don't really understand it
20:52:25 [hyatt]
i.e., what the use case is
20:52:28 [fantasai]
20:52:32 [fantasai]
did you see that?
20:52:43 [hyatt]
no. /me looks
20:53:02 [fantasai]
the use case is a) making the box look like it's cut out of the canvas b) putting a glow effect around the inside of the border
20:53:41 [fantasai]
(the layered letters there look really terrible because they're not composited as a unit)
20:53:58 [hyatt]
i see.
20:54:08 [hyatt]
so the problem
20:54:12 [hyatt]
is that shadows are built into CG
20:54:36 [hyatt]
so i would have to sit here and try to think of what clever hacks i could do to make it render that way
20:54:41 [hyatt]
our multiple shadow hack is glorious
20:54:44 [hyatt]
as is our box-shadow hack
20:54:50 [fantasai]
20:55:03 [hyatt]
(we render the glyphs way outside the visible area and increase the shadow offset by a huge amount)
20:55:12 [hyatt]
(so that the cast shadow is far away from the glyphs and all you get rendered is the shadow)
20:55:16 [hyatt]
that's how we did multiple shadows
20:55:36 [hyatt]
in theory that hack is repeatable
20:55:44 [hyatt]
as long as i can find a way to replicate the desired rendering
20:57:29 [hyatt]
fantasai: i don't really understand what the text-shadow rendering is though
20:57:35 [hyatt]
i.e., what you're actually doing in the implementation
20:57:45 [hyatt]
box-shadow seems straightforward to invert
20:58:29 [fantasai]
I think you're basically rendering the text
20:58:39 [fantasai]
as foreground
20:59:07 [fantasai]
and then inverting so that the foreground is transparent and the surface is opaque
20:59:15 [fantasai]
and the casting a shadow of the cutouts
20:59:26 [fantasai]
*and then
20:59:39 [fantasai]
then you paint the text as normal
20:59:45 [fantasai]
and paint the shadows on top of that
21:00:21 [hyatt]
so maybe i could construct a mask image
21:00:55 [hyatt]
what is spread
21:01:21 [fantasai]
make the shadow wider on all sides by the specified amount
21:01:31 [fantasai]
typically used in conjunction with blur radius
21:01:39 [fantasai]
but brad rendered some shadows without the blur radius to demonstrate the effect
21:02:03 [fantasai]
the fourth example in the images there
21:02:11 [fantasai]
is spread without blur radius
21:02:13 [hyatt]
yeah i am not sure we could implement that
21:02:27 [hyatt]
if we can't hack it in without a change to coregraphics
21:02:30 [hyatt]
then it's up to coregraphics to do it
21:02:33 [hyatt]
and then it's who knows when
21:02:37 [hyatt]
next os if you're lucky
21:02:55 [fantasai]
I think we'll leave it in the draft, maybe mark it at risk
21:02:58 [hyatt]
and we have to run on older os as well
21:03:00 [fantasai]
it's very commonly requested
21:03:07 [hyatt]
i certainly see the utility
21:03:09 [fantasai]
whenever box-shadow comes up
21:03:26 [hyatt]
are these just tacked on to the end of text-shadow and box-shadow?
21:03:31 [fantasai]
21:03:39 [fantasai]
fourth length value, optional
21:03:40 [hyatt]
21:03:43 [hyatt]
i think i could do cast.
21:03:50 [hyatt]
spread is the iffy one.
21:04:20 [hyatt]
i'm intrigued by the challenge though. :)
21:04:22 [fantasai]
we might get it from other implementors
21:04:34 [hyatt]
yeah other implementors have a nice advantage
21:04:35 [fantasai]
to pull the draft through CR
21:04:47 [hyatt]
having written their own (much slower but controlled) shadow code. :)
21:05:12 [hyatt]
i do like it
21:05:31 [fantasai]
good :)
21:05:47 [fantasai]
Bert and I thought it would be good to add
21:05:58 [fantasai]
so we didn't mark it especially for WG discussion
21:06:04 [hyatt]
yeah i like it
21:06:10 [hyatt]
i am wondering about spread
21:06:17 [hyatt]
could spread not be achieved with multiple shadows
21:06:34 [hyatt]
it looks like it's just delaying the blur
21:06:40 [fantasai]
infinite other shadows, yes
21:06:47 [fantasai]
if you want to get the curves right
21:06:52 [hyatt]
i think i don't understand spread
21:06:55 [hyatt]
where is the text describing it
21:07:00 [fantasai]
haven't added it yet
21:07:09 [fantasai]
it's in photoshop apparently
21:07:10 [hyatt]
explain it to me like i'm 5.
21:07:12 [hyatt]
21:07:21 [fantasai]
but then I can't use math terms :(
21:07:42 [fantasai]
basically you take a radius and attach one end to the edge of your shadow
21:07:48 [fantasai]
then sweep around the edge of the shadow
21:07:54 [fantasai]
anything the radius can reach gets added to the shadow
21:08:04 [fantasai]
at least that's what I can tell from Brad's drawings
21:08:33 [fantasai]
the corners of the A are where you can best see what's going on
21:08:49 [Bert]
As far as I understand, spread is as if the shadow is cast by an object a little larger than th ebox, larger by spread pixels on all sides, in fact.
21:09:12 [fantasai]
yes, but the key thing is that corners don't stay sharp
21:09:22 [fantasai]
they get rounded, like I described
21:09:39 [fantasai]
a 5px radius attached to a corner sweeps a curve around it
21:10:07 [fantasai]
it's kinda like the blur radius, except there's no fading
21:10:09 [fantasai]
I think
21:12:07 [hyatt]
i don't understand this well enough to know how to implement it :)
21:14:12 [fantasai]
it's kinda like the 'text-outline' proposal, except you're outlining the shadow, not the box itself, using the shadow color.
21:14:16 [fantasai]
21:15:24 [hyatt]
i guess what bugs me about spread
21:15:32 [hyatt]
is that it just seems like a shadow applied to a stroke
21:15:39 [hyatt]
which you can do in webkit already
21:15:45 [hyatt]
albeit via proprietary css atm
21:16:05 [fantasai]
I'm not sure what that means, but I don't think that's it.
21:16:07 [hyatt]
it seems more natural to me to do stroking or outlining separately
21:16:18 [hyatt]
you're right it's not quite that
21:16:21 [hyatt]
since the shadow can be offset
21:16:37 [fantasai]
like in the last example in Brad's mockup, yes
21:16:41 [hyatt]
let me rephrase
21:16:46 [hyatt]
it's like you took an imaginary character
21:16:51 [hyatt]
stroked it and filled it with the same color
21:16:56 [hyatt]
with the stroke thickness = to the spread px
21:17:04 [hyatt]
and then the shadow cast by THAT combined shape
21:17:07 [hyatt]
is what you should get
21:17:20 [fantasai]
21:17:36 [fantasai]
except.. isn't stroke centered on the border? so you'd have to stroke with 2x the spread thickness?
21:17:45 [hyatt]
so like bert said it's like you thickened the glyph with an outline
21:17:54 [hyatt]
and then rendered the cast shadow of that thickened glyph
21:17:58 [fantasai]
21:18:18 [hyatt]
yeah for CG stroke is half inside the glyph
21:18:26 [hyatt]
so the stroke width is 2x the spread thickness correct
21:18:50 [hyatt]
ok so yes i believe i could do spread
21:19:50 [fantasai]
21:20:03 [hyatt]
so now i'm left trying to understand how to do cast on text
21:20:06 [hyatt]
cast of inside
21:20:17 [hyatt]
i see how to do cast of inside on box-shadow
21:20:26 [hyatt]
but text is making my brain hurt
21:20:43 [fantasai]
I don't think it's as important for text
21:21:00 [fantasai]
IIRC one of the designers on www-style said as much
21:22:00 [hyatt]
i think what has to be done
21:22:09 [hyatt]
is a mask image has to be made that inverts
21:22:24 [hyatt]
such that the "cutouts" are what should draw
21:22:31 [hyatt]
then you blit that image and tell the image to cast a shadow
21:22:42 [fantasai]
21:22:43 [hyatt]
and then the cutout portions would cast the shadow
21:23:06 [hyatt]
meh i'm not sure that works for the glyph edges though
21:24:01 [fantasai]
should work. You basically get a "stencil" of the glyphs and cast the shadow of the stencil over the text
21:24:57 [hyatt]
i think i will add support for spread first, since i see how to do it
21:25:02 [fantasai]
21:25:04 [hyatt]
spread is trivial for box-shadow
21:26:19 [hyatt]
fantasai: i don't suppose you know what font he's using in that page
21:26:23 [hyatt]
21:26:34 [fantasai]
no idea
21:26:36 [fantasai]
you could ask
21:27:14 [fantasai]
21:27:18 [fantasai]
another mockup
21:27:22 [fantasai]
21:27:24 [fantasai]
21:27:55 [fantasai]
this one includes borders and uses a semitransparent shadow
21:28:45 [fantasai]
speaking of tests, can we get your QA people to write a test suite once the spec stabilizes?
21:29:24 [hyatt]
if you knew how many qa people we have you would realize how funny that is
21:29:50 [hyatt]
(we basically have 3 on all of webkit+safari on mac+windows)
21:29:52 [hyatt]
21:29:58 [fantasai]
21:30:16 [hyatt]
did you see the part where the safari beta crashed on any non-english system on windows?
21:30:18 [fantasai]
well, you'd've had one more if your HR people had decided to hire me back in 2005 ;)
21:30:18 [hyatt]
so ummm yeah
21:30:54 [hyatt]
2005 eh
21:31:14 [hyatt]
that was before the safari team started hiring like crazy because of the windows project
21:33:48 [fantasai]
HR people from tech companies didn't seem to like my resume much. Must've been the Civil Engineering degree. :P
21:34:03 [hyatt]
i don't think we had any open reqs in 2005
21:34:23 [fantasai]
you had one near the end of 2005
21:34:28 [hyatt]
near the end yeah
21:34:42 [hyatt]
although that probably would have been f or windows qa as opposed to web engine qa
21:34:50 [hyatt]
who knows
21:35:01 [hyatt]
apple hires way too few qa
21:36:11 [Bert]
Here's an idea, hyatt: can you hire fantasai and send her here as a W3C Fellow? Then her work doesn't only benefit one company, but the whole world (and especially me :-) )
21:36:48 [hyatt]
i have complained about this in the past
21:36:50 [hyatt]
as has maciej
21:36:56 [hyatt]
we need more people working for apple and working on specs
21:37:31 [fantasai]
HP did renew my contract with an expanded scope for spec work
21:37:42 [hyatt]
you at HP san diego?
21:38:00 [ChrisWilson]
ChrisWilson has joined #css
21:38:12 [fantasai]
I'm self-employed and living in Berkeley atm, but yes, my main contract is with HP in San Diego
21:38:39 [hyatt]
so if i add spread and we ship it i'm not going to mess up the property hopefully
21:38:42 [hyatt]
this one is tricky because it's not prefixed
21:38:50 [fantasai]
21:38:53 [fantasai]
or text-shadow?
21:38:55 [hyatt]
i really can't add it unless you are 100% sure it's going to be there
21:38:57 [hyatt]
21:39:32 [hyatt]
box-shadow is not a problem. it's still -webkit-
21:39:57 [fantasai]
I'd wait a week or so
21:40:03 [hyatt]
OS X people eat up text-shadow
21:40:08 [hyatt]
and use it everywhere :)
21:40:15 [hyatt]
so if i add a capability like spread or cast it will get used
21:40:23 [hyatt]
and then i won't be able to break it :)
21:40:56 [fantasai]
we'll hopefully close on the box-shadow issue next week
21:41:04 [hyatt]
i could add it and put it on my list of "things i should turn off before shippin"
21:41:08 [hyatt]
21:41:17 [hyatt]
anyway i like the functionality
21:41:29 [hyatt]
is going to wander off and implement spread right now
21:41:42 [hyatt]
so it's color offset-x offset-y blur spread cast
21:41:52 [fantasai]
not sure about cast
21:41:54 [hyatt]
with spread and cast being optional and defaulting to 0 and outside presumably
21:42:06 [fantasai]
we haven't discussed syntax for cast
21:42:08 [hyatt]
21:42:13 [hyatt]
i'll experiment with spread
21:42:15 [fantasai]
just wanted to see if there was any interest
21:42:28 [hyatt]
spread is like 2hrs to implement tops
21:42:41 [fantasai]
color? && offset-x offset-y blur? spread?
21:42:55 [fantasai]
where && is the same as || except both sides are required
21:44:00 [hyatt]
quite possibly! ;)
21:44:31 [fantasai]
I haven't forgotten when you implemented multiple backgrounds during the F2F discussion, heh
21:46:12 [hyatt]
i'm sitting on my css variables impl for a while
21:46:17 [hyatt]
i want us to resolve some stuff before i land it
21:46:31 [hyatt]
since i think people will get too excited about it if i land it and blog about it
21:51:52 [fantasai]
have you blogged about the proposal?
21:52:02 [hyatt]
css variables? no
21:52:20 [hyatt]
but somehow wrote about it
21:52:22 [hyatt]
and then ajaxian
21:52:29 [hyatt]
and then people started guessing that webkit was going to get it
21:52:34 [fantasai]
You could blog about the proposal, to get feedback on that without sending out an impl
21:52:37 [hyatt]
when at the time i hadn't written a line of code
21:52:40 [fantasai]
21:52:55 [fantasai]
one of my concerns is that the proposal doesn't go far enough
21:53:13 [fantasai]
there were several feature requests that.. if you took them literally, they'd seriously screw with the cascade
21:53:28 [fantasai]
and I'm wondering if macros would be adequate to solve those problems
21:53:38 [fantasai]
most related to repeating things too often, it seemed
21:54:13 [Bert]
Please, please, please don't add variables/macros. It's unnecessary (people can use PHP) and in fact harmful: I want *more* users and implementers of CSS, not less :-(
21:57:56 [hyatt]
people seem to really want them though
22:03:17 [Bert]
Some power users, yes. But if they are worth anything they should be capable of finding other solutions, there are dozens of macro languages. I'm concerned that people who want to do the right thing (use style sheets) will not be able to, because we don't provide any alternative language that is simpler than CSS.
22:04:54 [Bert]
I don't know about you, but I use more awk than perl or C. It's not as powerful, but that actually helps getting (most) jobs done quicker.
22:06:32 [hyatt]
i feel like adding variables is listening to our constituents :)
22:06:41 [hyatt]
since it is quite possibly the most-requested feature i've seen for css
22:07:02 [hyatt]
ok, spread done.
22:07:17 [hyatt]
that wasn't too bad
22:07:21 [hyatt]
although i haven't tested it ;)
22:07:27 [fantasai]
22:07:37 [fantasai]
I still haven't got to updating the spec
22:07:48 [fantasai]
just checked in fallback color syntax changes
22:08:45 [hyatt]
well it doesn't work
22:08:47 [hyatt]
so i don't win yet ;)
22:10:18 [fantasai]
Bert: for no-clip, I think images that repeat should continue to repeat all the way out
22:10:22 [Bert]
That's the problem with CSS at the moment: no shortage of demands for features, but no way to ask for no features :-(
22:10:48 [fantasai]
Bert: completely useless for repeat in both directions, but may be useful for repeat-x
22:11:04 [Bert]
Repeat all the way? That doesn't sound very useful...
22:11:05 [hyatt]
22:11:13 [hyatt]
what is no-clip?
22:11:32 [Bert]
Like 'overflow' for background images
22:11:34 [fantasai]
background-clip: no-clip
22:11:39 [fantasai]
22:11:45 [fantasai]
22:12:20 [hyatt]
how far out does a tiled background go?
22:12:25 [hyatt]
when you do no-clip?
22:13:07 [fantasai]
that's what I was asking.. Bert suggested clipping any tile that doesn't at least fit partially within the border box
22:13:34 [fantasai]
I'm thinking we should not clip it at all, let it stretch out as far as the canvas goes
22:14:25 [hyatt]
what's a use case for that
22:14:40 [hyatt]
if it's going to fill the whole canvas anyway, why not just put it on the <body> instead
22:15:14 [fantasai]
22:16:20 [hyatt]
i don't think you should extend over the whole canvas necessarily
22:16:38 [hyatt]
where you are in an offscreen bitmap while rendering
22:17:00 [hyatt]
would suck to force the transparency layer to have to grow to become as big as the canvas
22:17:25 [hyatt]
and what about a rotated box with this set
22:17:38 [hyatt]
would it really spill all over the canvas in rotated form
22:17:50 [hyatt]
i guess it all works
22:18:02 [hyatt]
it just seems like it could be abused to make pretty slow web pages
22:18:18 [fantasai]
yeah, I know
22:18:28 [fantasai]
but the other options seem kind arbitrary
22:18:41 [hyatt]
fwiw i do need no-clip for mask-clip
22:18:48 [fantasai]
22:18:57 [hyatt]
the new mask properties that i added
22:19:04 [hyatt]
right now mask-clip defaults to border
22:19:09 [hyatt]
which means the mask clips out everything outside the border
22:19:26 [hyatt]
a better default for mask-clip would in fact be soemthing like no-clip
22:19:43 [hyatt]
so that overflow doesn't get clipped out by the mask by default even when it is visible
22:19:46 [hyatt]
(as happens now)
22:20:38 [hyatt]
i haven't written it up yet since i don't want to bombard the list with proposals
22:20:40 [hyatt]
one thing at a time
22:20:59 [fantasai]
I probably wouldn't have read it even if you had posted it
22:21:00 [fantasai]
22:25:26 [hyatt]
yeah i think apple wants to start with one module at a time
22:25:31 [hyatt]
in terms of working on one
22:25:34 [hyatt]
probably transitions
22:25:42 [hyatt]
and maybe transforms too
22:27:47 [fantasai]
22:27:59 [fantasai]
Do I need to add more explanation?
22:34:23 [fantasai]
hyatt: ^
22:36:29 [hyatt]
for spread?
22:36:32 [fantasai]
22:37:03 [hyatt]
depends on if you're trying to specify down to the pixel how the spread should look
22:37:08 [hyatt]
you don't do that with blur
22:37:17 [hyatt]
so i see no reason to necessarily do it with spread
22:37:26 [hyatt]
although informally we kind of all need to know how it should look :)
22:38:33 [fantasai]
I think spread is simple enough that we can specify it, well, not down to pixel-rounding but down to the pixel in terms of ideal size and shape
22:39:06 [hyatt]
for box-shadow it is as though you the shadow was cast by a larger box
22:39:10 [fantasai]
i.e. it should be clear that pointed corners get more round as the radius increases
22:39:26 [fantasai]
not exactly
22:39:58 [hyatt]
cast by a larger box, shifted up and to the left by the spread size,and then still clipped out by the original box
22:40:07 [fantasai]
that would give you sharp corners
22:40:18 [hyatt]
22:40:37 [fantasai]
a sharp (non-blurred) box shadow has sharp corners
22:40:38 [hyatt]
the corners round even with a non-rounded box?
22:40:47 [fantasai]
22:40:48 [hyatt]
22:41:02 [fantasai]
that's what I was trying to point out with the corners on the A
22:43:08 [fantasai]
both mockups we got on www-style (from 2 different people) rounded the corners
22:43:28 [hyatt]
it would probably be worth asking them why
22:43:38 [hyatt]
and what this spread algorithm actually is that rounding would start occurring like that
22:43:52 [hyatt]
i don't really get how you'd start rounding the joins of glyphs
22:43:59 [fantasai]
I explained that already
22:44:00 [hyatt]
short of stroking the entire path yourself
22:44:25 [fantasai]
you are adding to the shadow any pixel that is within X distance of the edge of the shadow
22:44:34 [fantasai]
and at corners, that will cause the outline to become round
22:44:52 [fantasai]
as for why it does that in their mockups, probably because that is what Photoshop does
22:46:09 [fantasai]
draw a box and get a piece of string
22:46:12 [fantasai]
or a compass
22:46:31 [hyatt]
so this is nothing like thickening the glyph or the box then
22:46:36 [hyatt]
you can't impl it that way
22:46:38 [fantasai]
at a 90deg corner, to get a sharp corner, you'd need the corner to go out sqrt(2)*radius
22:46:58 [hyatt]
sure, that's not really anything like what bert was saying though
22:47:03 [hyatt]
that is not a thickened glyph
22:47:37 [hyatt]
and it's unclear what the spread pixels are supposed to be then
22:47:40 [hyatt]
i.e., when the blur starts to kick in
22:48:00 [hyatt]
is the spread the shadow color if you're within the spread distance from the edge
22:48:07 [fantasai]
22:48:15 [hyatt]
and the blur only happens once you are outside the spread edge?
22:50:18 [fantasai]
looks like the blur is centered on the edge of the spread radius
22:54:18 [fantasai]
what does WebKit do? (assuming zero spread)
23:12:55 [dbaron]
fantasai, er, ignore the first part of the message I just sent to www-style; but the spec should probably say something explicitly either way about the second (whether border-image affects the computed value of border-width)
23:13:09 [dbaron]
(I just saw the first part is fixed already in the version.)