29 Jan 2014




UNKNOWN_SPEAKER: Exposing specialized forms for a property is probabbaly useful.
... But it is not a direct tranlation of the property.
... At base level I refuse that.
... Might be future level.
... DOM2 could not return value of a shorthand.

<Rossen_f2f> LOL

UNKNOWN_SPEAKER: We should also make it look more like JS.
... And efficient.
... Looking at what we changed in propertie sover the years.
... Simple propoerties can later become complex, from one value to a list of values.
... Calling it "el.css" (rather than el.style), but it's just a name.
... el.css.backgroundImage (CamelCase)
... JS can now do things like .float, even if float is a keyword, because of the preceding "."
... E.g., width will be an array of length|keyword]
... If you assign a single value, it'll be equiv to an array with one value.
... The values are immutable values.
... Every "10px" object is the same single object.
... Poeple pushing for 64-bit ints.
... So next year we'll have fully immutable objects.

You could write ".width= 5px" which looks exactly like CSS.

scribe: The "5px" is an immutable object.
... You can ask for the .px of 5px and get 5.
... When yu ask for getcomputedstyle, you'll get the em as well.

glazou: Can you ask fro something like ".%"? Syntax issue?

TabAtkins: 5px is CSS.px(5)

<glazou> you cannot write el.css.width = 10% because % is an operator you have to use CSS.percent(10)\

TabAtkins: Constructor.
... After el.css.width = 5px you can get el.computedCSS.width.vw (and .em and .px and .percent) and it will be computed.
... Other accessors as needed.

krit: Is .css the element style

astearns: THis is inline style? Might want to call it InlineCSS.

TabAtkins: Yes, this is inline style.

SimonSapin: Percent is null?

TabAtkins: Yes, .percent cannot be computed, needs layout.

florian: Is there a typo in the example?

TabAtkins: Yes, sorry. Needs [0]
... List needs to have same value at given index all the time [?]
... Precise data structure, order of values.

glazou: If you query .width, I'd like to qurey waht the unit was, i.e., get "px" back.

TabAtkins: Not in proposal right now, but planning to.
... If you pull a computed value, the unit may not be available anymore.
... It'll say "px" in that case, arbitrarily.

florian: So if a property accepts repeated foo and bar, an in next level it accepts repeated foo, bar and baz?

TabAtkins: In a list, you get first value in a list. It is an array of arrays in reality.
... After el.style.bgAttachment="scroll, fixed"
... you get: el.css.bgAttachment => [CSSVal("scroll")]
... and: el.css.bgAttachment.1 => [[CSSVal("scroll")],[CSSVal("fixed")]]

heycam: Thimgs that aren't lists, say a pair, how is that handled?

TabAtkins: Say you have <length> <length now and later we'll have <length> <ident> <length>
... First you would get el.css.foo => [1px,20px]
... Later you would get [1px,20px,...]

plinss: maybe don't return arrays and only return maps

szilles: You would have to cycl through array.

TabAtkins: Not super happy about my arrays, we can dcide for objects later.

astearns: Go with map idea and let Tab name everything. :-)

heycam: Shorthands also give an array back?

<astearns> resolve to accept Tab's names for everything before he even starts

heycam: Say font, which has a slash?

TabAtkins: The slash is not returned, it is just part of the punctuation for ambiguous values.

plinss: personal preference, I hate single-letter names

TabAtkins: Named values must not collide with [?]

florian: Custom properties?

TabAtkins: Probably a list of tokens.

florian: At rules?
... selectors, etc.?

TabAtkins: Haven't thought through those yet.
... Properties most important for me.
... Is first step.

florian: At least think through it if it is compatible, without actually writing the spec.

heycam: Can you define operator overloading between customn types and stadard types?

TabAtkins: Yes, you can.
... Yes, overlaod can be parametried by type.
... So "5px + 10px" can be valid.

florian: And "10px + 10%"?

TabAtkins: Yes, that would return a calc() object.

<heycam> |el.css.width + el.css.width| wouldn't work since they're both Array objects

TabAtkins: You cannot overlaod plain objects.
... Also have a proposal that I call CSS.convert()
... Converts as much as possible.
... var x = 32px;
... Now x.em is null.
... After el.css.fontSize = 16px, CSS.convert(x, el).em returns 2
... This is current;y a big braindump.
... Not asking for anything in particular right now.
... If it is terrible, tell me.

krit: Agenda request: filter effects and custom filters.

Custom filters removed?

<krit> http://dev.w3.org/fxtf/filters/

krit: We had to limit tham already because of security.
... And they don't have the expected power.
... Current impls have problems with them.
... Especisally with combined customg and standard filters.
... (Not all impls.)
... We still believe in filter effects, but custom filters isn't the right solution.

Simon: We removed them in webkit, so supported.

krit: New feature would not use shaders.

ChrisL: Seems slightly sad since Microsoft added webGL support.
... But if two impls removed them already...

krit: No impls currently remaining.

Rossen_f2f: What was this again?

krit: Pixel manip with WebGL

heycam: Plan for replacment?

krit: Looking for more use cases, providing hit testing effects.
... hit testing was a pb with current solution.

heycam: So no future for generic shader-like thing?

krit: Many users were relying on pixel shaders, but they were security threat, so we had to limit them already.
... Couldn't actually llok at color value.
... We want to come up with a proposal, nd want feedback.
... More fous on use case of CSS.

heycam: A bit afraid to geta 100 different canned effects...

florian: What is th proposal?

krit: Not is presentable shape yet.

Rossen_f2f: Can we remove after seeing the new proposal?

sgalineau: But it is holding up the spec.

ChrisL: Are you asking to defer removal a bit?

sgalineau: The feature will go away, so what do we get by keepin git in a bit longer?

krit: I'm more focussing on SVG filters at th moment, and bringing that to LC.

<sgalineau> the feature would end up at risk so not sure what the value of keeping it around

plinss: So take out? move to future level?

krit: Otherimpls might take it up again.

Rossen_f2f: Like to defer by a week.

krit: OK with me.

sgalineau: What do we get in a week?

RESOLUTION: take custom shaders out in a week, unless somebody objects before that.

backgrounds and colors and outlines in SVG

shepazu: Sometimes want to use outlines and colors, e.g., on hover.
... SVG doens't have on-hover effetc on it sown.
... Have to find the bounding box yourself.
... These effectsdo no affect flow.

krit: :hover is supported.

ChrisL: What spec?

krit: it is automatic.

shepazu: Is this a terrible idea?
... Would we allow whole background thing, or just color?
... Fill area would be bounding box of element.
... Use case is hover.

krit: Why not add an element behind it?

shepazu: Kind of a pain. I've done it.
... Keep track of transforms, etc, yourself.
... It is not perfect, but it is a start.
... Could add stroke effetcs to the outline also, vector effects.
... But simple thing now, and rest for futire.

heycam: [showing something]
... Approaches in the past included filters, and filling boundign box with color. Bit of a hack.

shepazu: I prefer "on hover, background = white"

krit: Sceptical about background. Don't see use case.
... Dont think thi is what you really want to have.
... Consider a complex shape, rectangle behnd iit is not what you want.

simonf: repeated images with fill?

krit: Yes, just decided today :-)

shepazu: I suggested things that don't change reflow.

[discussion of what it shuld look like for differnet shapes]

shepazu: SVG often used for icons.

krit: Icons dfon't have hover.

simonf: Often element behind the icon has the hover.

krit: Outline for accessibility.

shepazu: I'd like to find out the concerns of the CSS WG with this.

[CSS WG has no opinion]

ChrisL: More concensus on outline than on bg

florian: CSS doesn't have def of where outline goes, does it?

dbaron: Correct. I have thought about it, but not finihed.

florian: I remember something about 3d transforms making outline harder.

krit: Outline gets smaller when object is smaller because of clip path, but we decided recently that outline shoulf actually be clipped.

<ed> svg tiny 1.2 has viewport-fill and viewport-fill-opacity properties that are similar to what shepazu is asking for with bg, though more limited in which elements they apply to

heycam: Does CSS define outline is outside the box?

dbaron: We have or had an outline-offset.

florian: I tink we have neither a def nor interop.

leif: Significant latitude for impls.

ChrisL: That was certainly so with the orig def.

leif: Not even defined if it is on top of everyhting, or only on top of the elt.
... But outline-offset is not problemeatic, but don't know about interop.

[End of meeting]

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.138 (CVS log)
$Date: 2014-01-30 01:11:19 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.138  of Date: 2013-04-25 13:59:11  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 0.99)

Succeeded: s/:/=/
Succeeded: s/[missed question]/Is .css the element style/
Succeeded: s/.../personal preference, I hate single-letter names/
Succeeded: s/plinss: [missed]/plinss: maybe don't return arrays and only return maps/
Succeeded: s/sad/sad since Microsoft added webGL support/
Succeeded: s/Defer/Are you asking to defer/
Succeeded: s/ChrisL/shepazu/
No ScribeNick specified.  Guessing ScribeNick: Bert
Inferring Scribes: Bert

WARNING: No "Present: ... " found!
Possibly Present: ChrisL MaRakow Rossen_f2f Simon SimonSapin TabAtkins astearns dauwhe dbaron ed emalasky florian glazou heycam koji krit leif plinss sgalineau shepazu simonf szilles zcorpan
You can indicate people for the Present list like this:
        <dbooth> Present: dbooth jonathan mary
        <dbooth> Present+ amy

WARNING: No meeting title found!
You should specify the meeting title like this:
<dbooth> Meeting: Weekly Baking Club Meeting

WARNING: No meeting chair found!
You should specify the meeting chair like this:
<dbooth> Chair: dbooth

WARNING: No date found!  Assuming today.  (Hint: Specify
the W3C IRC log URL, and the date will be determined from that.)
Or specify the date like this:
<dbooth> Date: 12 Sep 2002

Guessing minutes URL: http://www.w3.org/2014/01/30-css-minutes.html
People with action items: 

WARNING: IRC log location not specified!  (You can ignore this 
warning if you do not want the generated minutes to contain 
a link to the original IRC log.)

[End of scribe.perl diagnostic output]