See also: IRC log
cabanier, you can call in now ^
<cabanier> thanks!
<scribe> Scribe: Cameron
<scribe> ScribeNick: heycam
<cyril> http://www.w3.org/Graphics/SVG/WG/wiki/F2F/TPAC_2011/Agenda#At_TPAC
<vhardy> http://www.w3.org/Graphics/SVG/WG/wiki/F2F/TPAC_2011/Agenda
ED: we have SVG Compositing,
which defines compositing modes for SVG
... some people have asked to have this apply to CSS/HTML
<smfr> agenda link again please?
ED: we dont' have a spec for that
at the moment
... in Seattle we decided to investigate it
VH: there is an agreement to have
a CSS Compositing spec that would apply to CSS in general
... and the editors are Rik Cabanier and Alex Danilo
... but there is no draft yet
<cabanier> The phone connection is very bad
<dino> http://www.w3.org/Graphics/SVG/WG/wiki/F2F/TPAC_2011/Agenda#At_TPAC
CM: applying to both CSS and SVG?
VH: the plan was to take the SVG Compositing spec, fix it up, and make it also apply to CSS
DJ: this is more of a meta question
<ed> http://www.w3.org/Graphics/fx/track/actions/44
DJ: for SVG Compositing, it seems like the editor was Anthony, who's ...
CC: replaced by me
DJ: do we have implementations of this anywhere?
VH: I think Abbra has it
CC: I think the examples in the spec were made with the Abbra player
DJ: there's lots in the spec that
is not covered by this, but I'm wondering if it's possible that
most of the effects people will want to do is covered by
filters
... when we've talked to content developers who want
compositing, they just want e.g. "screen mode" that photoshop
can do
... people rarely want to use the porter-duff modes
... so a filter, if there's enough power to do this, typically
you have one image and you want to combine it with another one,
seems like compositing is a heavyweight solution to a problem
that I haven't seen
... not that they don't exist, but not many people are asking
to be solved
... in the Compositing spec there's also stuff about clipping
to self etc., which makes it more difficult
... then there's the other interesting thing with the spec,
browsers now have hardware acceleration, and if you have to
read from your background, in many cases it's going to be hard
to do that
... for performance, people will need to do compositing in very
isolated part of the tree, so that might be better achieved
with a filter
VH: even if you do it with
filters you'll need background access
... you need something like the BackgroundImage in the filters
spec
DJ: which is going to be a
difficult thing to support now
... I'm not saying we should drop it, my question is whether
people wanting compositing will really want to composite with
the page background
VH: I've seen examples where
artists turn on blend modes, e.g. add or multiply, and the
thing they add to the graph is a blend mode
... it's not like they have a predefined image
... I haven't seen them use porter-duff much, but artists use
"add"
<cabanier> Looking at how people use compositing today in Flash and PDF. it is a very commonly used algorithm.
CM: and you see them blend on to the background?
VH: yes
<cabanier> I agree that we don't see much point to PD
VH: they do this in flash too, where it's available
RC: I think it makes more sense
in canvas, but a place like SVG or HTML it doesn't really make
much sense
... I thought there was a group that really wanted to see
PD
<dbaron> If Porter-Duff were included, could "source" and "dest" be spelled out rather than being src and dst?
<vhardy> For example: http://fluid.nl/ (look at Space Collective)
DJ: what is the status of the spec?
VH: for SVG Compositing, we had
Anthony and Alex being the editors
... not active lately
... we have editors who were willing to take on the work but
had limited bandwidth to do so
... so at the moment there's a statement of intent to move the
spec to CSS and move it along, but it's limited by people's
bandwidth
CC: I can contribute to the
editing of this spec, for sure
... I'd like to understand the problem with the
background
... is it just enable-background?
DJ: setting it to new is good,
but let me talk about how apple/webkit composite
... you could say enable-background:new on an element, the
childreno f that element might be composed in separate textures
on the gpu
... if you're trying to apply a filter effect on the whole
thing, you need to composite it back into one texture, then
read it back from the gpu
SF: imagine a div that has webgl
under half of it, and something else on the other half
... you have to flatten the webgl and the other thing into a
texture, then read it back
... the way our compositing algorithjm works right now is that
if something needs to be a gpu texture, it only needs to
influence things that are in front in z-order
... so this would add a requirement to look at ththings that
are behind it and put those in gpu textures too, and work out
when to flatten
CM: so difficult but not impossible?
DJ: it's not that everything is
not on the gpu
... imagine you're trying to composite over a page element
where something is in webgl and another is filtered
... you've done this on the gpu to composite them together
RC: but that's just a webkit
implementation
... you could do it with pixel shaders right?
DJ: it's possible
RC: in acrobat we have hardware acceleration where everything is composited in the gpu, including blend modes and masks
VH: what about using blend modes
instead of using shaders? it's more limited in what you can do,
but they don't require adding new shaders and reading back
stuff
... it's basically an alternate order to your source mode
SF: it's not impossible for us to do this, it's just hard
EF: on mobile we have severe
constraints with the gpu
... so we can't put everything in a texture
... you would normally have one big base layer that is not in a
texture
... we've had a lot of people ask us for content developers to
find out which things are on the gpu automatically
... people have asked for control in that area, not sure what a
good way to do this is, or whether we should
VH: on the blend modes, are you saying that to use non src-over blend modes you need to put the background in a texture?
EF: yes, and we can't do that due to resource constraints
CC: two issues, performance, and
the use cases
... performance issue we could put restrictions, this number of
textures, that's one thing
... but we should see what are the use cases that could be
accommodated with these restrictions
... I hear also that PD might not be the best modes
... we have some use cases for PD
... I'm not fully up to date on them, but I can take an action
to provide more use cases on how they can be useful in
SVG
... even if the scope is broader, it applies to HTML, keeping
the use cases for SVG is important
<scribe> ACTION: Cyril to provide use cases for blend modes [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action01]
<trackbot> Sorry, couldn't find user - Cyril
VH: with PD, you never need to
read background
... blend modes do need to, though
DB: if the PD modes don't interact with enable-background, what defines what the background is that you're compositing against in those modes
VH: In SVG terms it does rely on the notion of what the background is, and there's enable-background property
CC: if you set
enable-background:new, you forget what was on the bg
... and then later int he document that says comp-op:something,
you composite that thing with what's on the background between
the enable-background:new and now
DB: what if there's opacity?
VH: enable-background:new is like creating a new surface
DB: I know how that works with filter effects
VH: compositing operators are like shorthands for filter effects
DB: one other comment from a CSS
perspective is that keywords tend not to be abbreviated like
"src" and "dst"
... at least they would be "source" and "dest"
DS: I think most people would understand
PL: I think those abbreviations are common in the graphics world
<vhardy> http://www.w3.org/TR/SVGCompositing/#enable-background-property
SF: canvas has "source-atop"
DB: that feels more CSS-like
<smfr> canvas: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#compositing
DB: but maybe I'm just used to it from canvas
DS: isn't this a similar problem to why SVG doesn't have z-index?
SF: doesn't SVG behave like every element is a stacking context?
VH: yes
... the model is any group, you render the group, then
composite it with the parent
CC: I think we need to first make sure this is implementable, even on gpus and on mobile with reasonable performance
VH: I would say the
implementability is not a question, because we know filters are
implemented
... and largely compositing is a shorthand for filters
... it might not be optimal and efficient though
CC: we might need to make changes to the spec to allow efficient implementations
<cabanier> correct. and we know compositing is working well on mobile devices since Flash is alreayd using it
<cabanier> on those platforms
SF: I don't know that adding properties is the way to do that, I don't like it when specs have descriptions of resource limitations
<cabanier> enable-background is the one that might make things slow
SF: I'd like to avoid that if possible
<cabanier> but there are tricks to avoid it in most cases
VH: I think the way forward is
that we need a converged spec, and we already have an action to
produce that
... the thing that has been questioned is PD rules
... coming back to the WG with use cases is good
... then the regular Rec track, see if you get implementations,
and if there are problems then it doesn't advance, it's a
regular process route
SF: I do agree that we need input from implementors, don't know when we'll get that
CM: are the blend modes useless without being able to read the background?
VH: yes
... you do too for src-over, since there's opacity, but that's
already supported
SF: I'm confused by
enable-background
... it could use a better name
DB: who implements BackgroundImage?
<cabanier> Adobe calls it isolate group
ED: Opera, Batik, ASV, IE10
DB: I don't how they interact with other features, but that's a separate conversation
<cabanier> an isolated group = background: false
VH: I think the CSS rendering
context is different, how does that work with stacking
contexts
... SVG is pure painter's algorithm
<cabanier> non-isolated = enable-background: true
DB: if this were added to HTML, then enable-background would need to force a stacking context
SF: it behaves like non-1 opacity
DB: transforms do the same thing
VH: enable-background is not simple
CC: on the question of implementability, it's difficult but possible?
VH: Adobe has implemented gpu
accelerated blend modes
... using pixel shaders
SF: I think HTML/CSS is more complex, we have video and WebGL which makes it harder
DJ: video's a good example of not having access to those pixels
<cabanier> flash has it in hardware too but they don't have enable-background
SF: to give an indication of how
iOS is different, the rendering model is complex and the final
rendering is not done in the application
... in your app you won't have access to video frames
<cabanier> that problem would apply to filters as well. They would need access to the video pixels
SF: it may not have the ability to do filters etc.
VH: that means the issue you're facing is true for compositing but also for filters
CC: we also need more reports from implementations, nailing down the exact issues that might be impossible
VH: since the issue is really
background access, I think this is something we're going to hit
pretty soon
... we have one data point from MS
... are the filters in IE10 supported on mobile?
JY: don't know
VH: it would be great data to know, for implementability, on mobile
JY: I could find out
<scribe> ACTION: Jen to find out whether filters with enable-background are implemented on mobile [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action02]
<trackbot> Sorry, couldn't find user - Jen
SF: we might figure some of this out while we're doing Filter implementations
VH: we will hit this with shaders as well
<scribe> ACTION: Vincent to look into implementability of blend modes [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action03]
<trackbot> Created ACTION-54 - Look into implementability of blend modes [on Vincent Hardy - due 2011-11-10].
CC: could we remove enable-background?
ED: that's one option
... we could split the parts we don't want out, or have two
conformance classes
SF: I hate conformance classes
VH: also blend modes, they need
to composite with something
... in the filter you could say you don't have BackgroundImage,
but for compositing you need it
... for filters there are certainly things you can do without
BackgroundImage
ED: let's wait for feedback then
VH: what does Opera do for mobile?
ED: for mini, we render on the
server
... but it sends a raster back
... for mobile, we do the same implementation as for
desktop
... it does render filters, if the hardware is not good, it
won't have the best performance
... but it's the same code
CC: should we record the issues in the spec?
VH: yes, wouldn't hurt
<scribe> ACTION: Cyril to record implementability concerns in the Compositing spec [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action04]
<trackbot> Sorry, couldn't find user - Cyril
ED: I had an action to make
clip-path and mask apply to HTML content
... it's already implemented in Firefox
<smfr> https://developer.mozilla.org/en/CSS/clip-path
<smfr> https://developer.mozilla.org/en/CSS/mask
ED: my action was to move the
definitions of those properties, and make it work, to the
Filters spec
... I don't think it's the right place to put it, but we
already have the wording we need for filters
... my question was, wouldn't it be a better match to put it in
the compositing spec instead?
CC: it's also an editing question for the SVG spec
ED: it's not something that's in the filter chapter currently
VH: would it be more natural to
have a CSS Masking & Compositing spec?
... it would be one more spec
... it's a different place in the rendering pipeline
CC: does WebKit support it?
SF: we have two mask
properties
... one is equivalent to background-image, the other equivalent
to border-image
<cabanier> Webkit's mask is more of a softmask. It
<cabanier> is not a clip
AS: it's the luminance from the resulting image that is the mask value
SF: my reaction to these two
properties, re clip-path is similar to CSS clip, which already
take as rectangle
... it would be nice to do that without SVG
... giving the path in the property
... kind of ugly, but we might want that
... with mask, we found the need to do this 9-piece image
thing
VH: is that in a spec?
SF: no
... in CSS it's odd when it interacts with overflow, it always
hides overflowing content because the mask never goes past the
border box
<smfr> http://www.webkit.org/blog/181/css-masks/
CC: would IE like it?
<smfr> https://developer.mozilla.org/en/CSS/-webkit-mask-box-image is the border-image equivalent
JY: seems like something that
would be useful in general
... curious if people are asking for it though
SG: in the abstract, it sounds useful, use cases would be helpful
SF: one for masks is that webkit
has this box-reflect, and part of that is an image that gets
used as a mask
... that's how you get the alpha dropoff in reflections
<cabanier> Very useful for us. We used it but it was very fragile.
SF: would be nice to provide enough properties that they could do this themselves
DJ: typically with a gradient
ED: you could do it with filters, the thing that would be hard is transforms
CC: how do we move forward on this?
ED: I have an action to put it into the Filters draft, but I think it's the wrong place
VH: I vote for creating a new draft
SF: I don't care where it goes, but CSS clip should go along side these things
VH: your point is to make these things work together
SF: I would like to see the properties converge
PL: that's why the CSS clip
property took a rect() value
... so it could be extended later
<dbaron> Peter is suggesting clip: path(...) or similar
CM: I don't think people use clip
and clip-path
... we could have them be aliases or something
ED: nobody uses the 'clip' property in SVG content, since it's broken
JY: the definition changed between CSS20 and CSS21
<smfr> http://www.w3.org/TR/SVG/masking.html#OverflowAndClipProperties
<dbaron> DB: In CSS 'clip' only applies to absolutely positioned elements
<dbaron> VH: In SVG it only applies to elements that establish a new viewport (e.g., svg, image)
<vhardy> http://www.w3.org/TR/SVG/coords.html#ElementsThatEstablishViewports
CM: we could have clip-path apply just to SVG content, extend clip to be able to reference paths, have clip apply to both SVG and CSS content, and say clip is the way forward
SF: we would need to extend clip
so that it applies not just to SVG viewport creating
elemetns
... the other thing, for css, is to define how clip and masking
affect hit testing
... I forget if CSS clip makes elements transparent to hit
testing?
DB: we don't define that properly, but it should affect hit testing
SF: is the same true of
masking?
... we've talked about extending pointer-events to look at
alpha
ED: in SVG, clip-path you do get
clipping of events
... but for masks it's treated as a raster, and just a
rectangle
<ed> http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty
CC: how would you specify the path in CSS? what units would you use for coordinates? the SVG syntax for path doesn't have units.
TA: wonderful question. I would
assume that non-united values would work, and map into CSS
pxs
... but also allow normal CSS units in there
SF: do you really want to have a path that has mixed units?
TA: maybe it's useful?
DB: there are plenty of existing things that are a bad idea
SG: let's add more!
SF: CSS rect() doesn't have units?
DB: it does
... mixing CSS units between different properties is a bad idea
already
... specifying one box's width in ems and aligining it with
another that's in px is not going to work
SF: so you're saying it's ok to allow mixed units in paths because it's as bad as things already?
DB: pretty much
TA: you can do that in gradient definitions too
DB: I wouldn't want to forbid other units in a path
SG: there's a difference between mixing them, and using the same unit across the whole path
TA: the problem is that, we could
potentially say to use the same units across the path
... that wouldn't be difficult, don't see a lot of use for it
though
DB: I also think there are
probably useful for different units in paths
... esp with relative units
... one unit in one dimension, and another in the other
VH: or if you want to align things you've done on the page
SG: if you have relative units,
and your path changes based on font size, that's weird
... but could be interesting
VH: the pre-1.0 draft of SVG had
units in there
... if you specified a stroke-width of 5px, that would be
non-scaling
CC: device pixels?
VH: yes
... and that was taken about
... we will have this in transforms, too
... so it might make sense to bring it up as a general
issue
created http://www.w3.org/Graphics/SVG/WG/track/issues/2428/
(without the slash on the end)
VH: so we'd need to find editors for this
CC: do we want to resolve on creating a new spec?
RESOLUTION: We will put clip-path and mask in a separate joint FX spec, and merge the clip/mask properties from CSS
DS: so currently you need to
reference a clipPath element in SVG
... have we talked about relaxing that?
SF: I mentioned the desire to have a path directly in the CSS
DS: I meant more referencing an SVG <path>, rather than a <clipPath>
VH: I think we should
... it's the same problem with Exclusions
... we want to reference geometry
<scribe> ACTION: Erik to write up a spec for clip/mask in SVG/CSS [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action05]
<trackbot> Created ACTION-55 - Write up a spec for clip/mask in SVG/CSS [on Erik Dahlström - due 2011-11-10].
-- 15 minute break, return at 10:40 --
trackbot, bye
trackbot, list users
<trackbot> Sorry, heycam, I don't understand 'trackbot, list users'. Please refer to http://www.w3.org/2005/06/tracker/irc for help
trackbot, status
dom, are you able to add Jennifer Yu to tracker's list of FX people?
cabanier, just to reset the timer for people to call in in case they want to, I'm going to hang up
cabanier, then you'll have to call back in (sorry)
<smfr> http://www.w3.org/Graphics/SVG/WG/wiki/F2F/TPAC_2011/Agenda#At_TPAC
ED: first issue is unification of CSSMatrix/SVGMatrix
DJ: the general topic is that
SVGMatrix has been around for a while, but it only supports 2D
transforms
... and CSSMatrix we found we needed to add a Matrix API for
CSS transforms, which supports 3D
... it's a bit unusual that there's two matrix classes
... recently there was a proposal to add an immutable matrix
class
... people are doing lots of math in their JS code
... and copying these matrix objects around is making things
slow
CL: so would you be able to instantiate a 3D matrix from a 2D one?
DJ: the main thing we're asking
for is being able to do .scale(2) and return a new object
... creating one from the other is not as big a deal
... the main issue is that matrix math in JS can be a
performance issue, so it would be nice if there were APIs that
were native doing this in the browser
... secondly, those APIs should be a mutable matrix, so that
you don't have to do lots of JSgarbage collection
DB: one thing that worries me, when you're proposing a mutable matrix, you're adding new methods to the existing type? or a new type?
DJ: we thought about this
multiple times, never came up with a good solution
... maybe translateInPlace(), but that looks terrible
... so not sure
SF: the other way to spin this,
if we're inventing a new matrix class to be shared across
SVG/CSS we want that class to allow mutability
... not extending existing APIs, but adding a new one
DB: one thing abotu mutability
and copying, depending on what the APIs are that return them,
you might need more copying at the beginning
... since you can't return the same thing twice
... I don't know if that matters
... depends what the APIs that return a matrix are
... with immutable matrices, you can return new ones
CM: you don't have to still write
to SVGMatrix's a, b, c, etc.
... even if the methods return new objects
... so I think implementations don't have that optimization
atm
SF: I think the issues are, do we want a new matrix class, where is it specified, does it expose 3d and 3d?
trackbot, status
DJ: mutable and immutable on the same object?
trackbot, status?
CL: that would allow avoiding serialising/reparsing
trackbot, bye
trackbot, status?
DJ: we should design it with the idea that it could be used in shader?
CL: the declarative 3D people
want to come up with new JS types for matrix etc.
... is there a concrete proposal?
DJ: there's one in the stage of
going from liquid to solid
... there's been a message on the webapps mailing list
SF: a question for implementors who implemented CSSMatrix
ED: opera does
SG: we have
ED: but you can't construct those objects
SF: is the IE implementation exposed to JS?
SG: yes
SF: prefixed?
SG: yes
SF: so this would be an evoluation of the CSSMatrix?
DJ: yes
<scribe> ACTION: Dean to propose a unified Matrix for SVG/CSS [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action06]
<trackbot> Created ACTION-56 - Propose a unified Matrix for SVG/CSS [on Dean Jackson - due 2011-11-10].
ACTION-56?
<trackbot> ACTION-56 -- Dean Jackson to propose a unified Matrix for SVG/CSS -- due 2011-11-10 -- OPEN
<trackbot> http://www.w3.org/Graphics/fx/track/actions/56
edited the action
DJ: the other part of the issue
is the unification
... now if you want to add 3D transforms to SVG, what do we
return?
... given the SVG spec for 10 years has said element.transform
you can get an SVGMatrix in there
... with this combined transform spec, we have 3D
transforms
CM: so whether we should double up on the memory overflow methods on a unified matrix?
VH: so let's have this as an issue to resolve in the spec
DJ: so this is a bit of a hack,
becayes in the 2D spec we define CSSMatrix
... and in the 3D spec we define CSSMatrix
... and they're different
... the 3D only adds
... it would be nice if we could come up with an API that does
not break SVG content when an implementation starts supporting
3D
... and without doing something like having rules like "if it's
a 2d transform, return an SVGMatrix"
JY: aren't we rehashing the SVG DOM anyway?
DS: yes
CM: we might break some existing
stuff
... not sure
ED: I don't think the risk is that high
CM: there's a,b,c,d,e,f and m00, etc.
DJ: the former are on both SVGMatrix and CSSMatrix, the latter are only on CSSMatrix
CM: I assume then we're not going to get rid of a,b,c etc.
DJ: no
VH: I think this is
tractable
... the two fields map to the same values
CM: it's not a huge deal to keep both set of methods either
VH: the Tiny DOM has mutable versions of methods
ED: yes
VH: I took an action at the last
FX meeting to maek a draft of the merged spec
... under the dev repository there's a transforms spec
<ed> http://www.w3.org/TR/SVGTiny12/svgudom.html#svg__SVGMatrix
<vhardy> http://dev.w3.org/csswg/css3-transforms/
VH: so that spec is just 2D
transforms, trying to converge with SVG
... I will try to get that spec to be a merged 2D SVG/CSS spec
first
... then worry about 3D later
... that's the only update I had
DJ: do we want to publish what we have?
SG: we have these two specs on CSS, and having them at the same time, is a bit weird
SF: I think we also resolved to
publish newer WDs of CSS 2D transforms
... but I agree with SG that we should cut over at the same
time to the merged spec
<scribe> ACTION: Vincent to make clear in the merged transforms spec that it hasn't yet replaced the separate specs [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action07]
<trackbot> Created ACTION-57 - Make clear in the merged transforms spec that it hasn't yet replaced the separate specs [on Vincent Hardy - due 2011-11-10].
[ discussion of which/whether/when CSS and merged transforms specs get published ]
[ concern about 3D holding 2D merged spec back ]
<dbaron> 3D transforms should be in Firefox 10, assuming nothing bad comes up. Firefox 10 expected to ship January 31, per http://en.wikipedia.org/wiki/History_of_Firefox#Expected_Release_Dates
RESOLUTION: We will publish a merged SVG/CSS/2D/3D spec as WD, and republish CSS 2D and 3D with a note about the merged spec
ED: who will do the merging of 3D?
VH: Simon, Dean and myself
s/CSS 2D and 3D/CSS 2D and CSS 3D/
RESOLUTION: We will republish the SVG Transforms module to obsolete it.
<scribe> ACTION: Cyril to prepare SVG Transforms module for obsolescence. [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action08]
<trackbot> Created ACTION-58 - Prepare SVG Transforms module for obsolescence. [on Cyril Concolato - due 2011-11-10].
VH: I can show a demo
[ Vincent shows a demo/presentation of CSS shaders ]
CC: so you having picking there?
VH: no
CL: that's going to be confusing, and limiting
VH: we're working on that
issue
... let's get back to that issue later
[ demo continues ]
trackbot, status?
trackbot, bye
trackbot, status?
[ issue brought up relating to animation of particular parameters to shaders, and how that is a general problem with css animations, since you have to repeat the whole list of un-animated params too ]
VH: summary of where we
stand
... the patch is available
... the main issue we've had is the shader language
requirement
... there have been security concerns expressed
... and questions on filter margins
... and pointer events handling
... for the shader language, it's a key decision
... agreeing on one thing will allow content to have just one
shader
... otherwise we'll end up in the same situation than
audio/video
... which is actually worse, since we're talking about
code
... people will need to write shading code twice
... unless there's a way to transcode
... that's a requirement, and orthogonal to the one we
picked
... there are only so many solutions here
... we pick an existing shading language or we invent a new
one
... maybe a better language comes up in the future
... at adobe we have pixel bender, another shading language
<shepazu> http://xkcd.com/927/
VH: which would be suitable for
this, but we're not proposing it, because we think it's hard to
get adoption for it
... and it'd cause fragmentation
DJ: I also think there's
something to be said about choosing a language that's defined
as an "open standard", whatever you define that as
... something people can participate in
SF: I think there's also a benefit from choosing a language there's existing content for
DS: something that's used commonly in open source
DJ: the other big thing is WebGL, speaking for GLSL as a shading language
VH: the current draft recommends
we converge on GLSL
... the question is to allow other languages, and have a type
attribute to select
<pdengler> Isn't there a method by which we could delivery a model where the language is not defined, much like the codec model for Video?
VH: like <script> in
HTML
... HTML5 requires image formats
DS: no
TA: there was no need to
DS: the codec model for HTML is suboptimal
TA: it's horrible, the only reason is because we couldn't agree on codec
SG: what makes you think we can agree on this?
CL: you end up with a bunch of switching, "if i'm on this browser then do this, otherwise do this"
VH: it's a bit different from audio/video, since it's not just transcoding content
CL: can we compile these shaders down to something else?
VH: there are precedents for
this
... there was AGAL at adobe
... which allowed GLSL and HLSL to compile down to it
DS: would that inhibit looking at
the source?
... because there's power on view-source
VH: so it's view source on the assembly
CL: I'm not asking can we pick another shader language, rather can we compile GLSL down to another language
Johannes Behr from decl 3d
JB: google had a a project ANGLE,
which compiles GLSL to HLSL
... people have solved this problem
PD: I want to think about it
more
... I will talk to some folks on my side about that
DS: I want to make sure we have that view source
CM: I agree view source is important here
VH: ANGLE is a great point
... chrome has this built in, that's the way they implement
WebGL on windows
... that would be an argument for standardising GLSL
... because you could convert in your implementation to
HLSL
CM: are there any issues with this?
<cabanier> the acronym is AGAL
<TabAtkins_> cyril: The word is "wonks".
cabanier, AGAL is the adobe thing, ANGLE is the chrome thing
<cabanier> http://www.adobe.com/devnet/flashplayer/articles/what-is-agal.html
<TabAtkins_> cyril: And it translates roughly to "geeks".
VH: to move forward on this, with
the chrome proposal, let's move forward on GLSL. and then ask
if we have room for alternative proposals.
... it's similar to scripting, images
... a baseline that everyone has
CL: I'd rather not see that in
the first version, it adds uncertainty
... it also means not each language will have the same level of
review, etc.
<shans> http://code.google.com/p/angleproject/
JV: what's nice about glsl is that Khronos is really interested in solving the security issues
DJ: we support mandating GLSL for OpenGL ES 2.0
CL: and the reason for that specific one is that it's more secure
DJ: also it's the version for embedded systems
CL: so performant on mobile
DJ: it's not a functional
limitation
... maybe in some extreme shaders
<shepazu> ("wonks" means "people who have very deep, specialized knowledge, and who spend a lot of time tweaking things in a very fine-grained manner")
VH: I'll cover the security concerns
ED: should we have a vote?
CM: a poll?
VH: three options
... one, GLSL only
... two, GLSL required and allow other languages
... three, don't mandate any particular languages
CL: even if we go for the first option, we should allow specifying another language
<pdengler> three
CL: this is just a strawpoll
ED: so that's 14 for option
one
... 1 for option two
... 1 for option three
DS: option two does give us the future proofing thing
CL: the way I was arguing it was
that option one also does
... in PNG there's a byte that allows specifying which
compression method is used
... but there's only one value allowed
... but it's there to possibly extend in the future
VH: on the security
concerns
... I wanted to recap what's been raised
... in general, with WebGL and shaders, there have been 3
concerns
... one, DoS
... hogging the GPU
... two, timing attacks
... three, memory overflows
... which doesn't actually pertain to css shaders, more about
WebGL APIs, which has been taken care of in the spec
... those three things are being dealt with for WebGL
... a company did a PoC for timing attacks
... the WebGL group has been tightening up the spec to respond
to these
... all these issues are being resolved for WebGL
... DoS is being dealt with at the driver or OS level
... the system has a way to detect if the gpu is hogged, so
that the application can be informed and be able to kill the
context
... there's work being done with gpu vendors to build this in
to hardware
... timing attacks, webgl is addressing this with cors
... so you won't be able to process images from other domains
unless you use CORS to allow this
... let me talk a bit about timing attack
s/attack/attacks/
scribe: basically, the crux of a
timing attack is that there's come content I can't get my hand
on
... and rendering it on the page
... browsers have prevented me from getting to pixel values in
the content
... but one thing I can do is measure how long the content
takes to get rendered
<cyril> see http://www.contextis.co.uk/resources/blog/webgl/
scribe: very simple example, if I
have an image that has no colour
... just translucent pixels
... and I know my browser renders that really fast
... but another image with all opaque pixels is slower
... and let's say your bank has an image that is either
translucent or green, representing whether hte password typed
in is correct
... I can time how long it takes to render that piece of
content, infer whether the image was translucent or green, and
thereby determine the password
... shaders help that kind of attack, since they can influence
the time of rendering
... based on the pixel values, you can make it longer for some
values and shorter for other values
... you can do that individually for each pixel values
... so you can determine the pixel values without being able to
get to them directly in the dom
... in WebGL the PoC showed that you get fuzzy results, and it
takes time, but the underlying threat is there
... one thing to understand is that shaders will make this
worse, but the problem exists regardless of shaders
... with a general iframe, you could start inferring what's in
the iframe just based on rendering time
... maybe that's low bandwidth enough not to get information
out quickly enough
... possible solutions, one is to say use CORS
... so anything you render, if it's cross domain, you'll get a
blank image
... I think this is what the WebGL group is doing to address
this attack
... in WebGL you can do the attack by getting the time just
before the shader runs and just after the shader runs, so
that's a pretty precise time measurement
... but for general content you'd need to use
requestAnimationFrame or something similar, and that's less
precise
... so implementations needs to be careful in general with
setTimeout and requestAnimationFrame
... information can be leaked there
... I talked to our security experts on the Flash platform, the
parallel they drew was something happening on the network
... if you're on a webpage, broadcasting network addresses to
everything on the network
... if you get immediate failure, you know that IP address is
on the network
... the way to address this is inserting timeouts that happen
no matter what
... the failure would come sooner or later
... so they were similarly using time
... their solution was to hide the time by adding extra noise
to it
... might be other options, haven't heard them so far
TA: in general the last
requirement is impossible, since browser have to be
cryptographically secure
... basically impossible for rendering I assume
... but we do need to handle timing attacks somehow
VH: my suggestion would be to go
for the CORS solution
... and sync up with the webapps group
TA: I'm confused how CORS helps
here
... in other cases, with canvas, you're explicitly saying to
render this image/video to the canvas
... with shaders, you need to say "hey webpage, is anything in
the page cross origin"?
VH: it's the same problem with
SVG painting to canvas
... atm we taint unconditionally
... but we'd like to know if any cross origin resources are
used
SF: if we add compositing, that
also lets you get information below the element
... so you need to worry about the whole document
TA: we already have simple
things, like being able to detect :visited state
... a timing channel attack is very viable on that
... in less than a second
VH: getting computed style?
TA: no, using timing channel
attacks
... you can extra 5-10 bits of data per second on that
... if you're just using the rendered layer
... we already hide information from the DOM
... so we already need to be handing a modified layer to the
shader beforehand
... at that point, blanking out iframes might not be as big of
a deal
... since we already have to be handing things different from
what's being rendered on the screen
VH: in the shader you can get that information, but then how do you get that information back to the site?
TA: that's the timing
channel
... the :visited thing itself will require changes to the layer
we hand to css shaders
SF: we've been disussing similar issues with the desire to draw arbitrary elements into the canvas
VH: I think it's the same issue
SF: hiding iframes, links, is
like playing whackamole
... there are unknown pieces of privacy data we need to hit on
the head
... adam is worried about this whackamole approach
VH: where can we discuss these
issues?
... webapps?
SF: we should get adam barth in here
VH: there's no resolution we can take right now on security
DJ: the things we can
decide/discuss now is, whether to combine css shaders into the
filters spec
... tab disagreed
... for two reasons, and this was one of the reasons
... the question is, now that we've talked it through, css
shaders makes this problem worse, is it enough to say it
shouldn't be included in the spec?
TA: I don't think there's a
necessity to have them in the same spec
... the fact that i'm pretty sure this will slow down
shaders
CM: slow down filters you mean?
TA: I believe that filters has
feCmponentTransform
... I think the rate at which you could extract data is lower
than this
... if you're getting only a bit a second, that drops it into
the probably not a concern bucket
SF: because filters will be implemented in software?
TA: no, but you can't do such dramatic changes to timing
VH: let's get adam barth here
DJ: adam is not here today
VH: let's get him on a call
... the next issue is filter margins
... this has been discussed on filter effects in general
... there's no margins in svg
... there's filter regions
... people either get it wrong, and are unhappy with what they
get, or they don't bother and set it to the entire
viewport
... and then implementations need to second guess the
region
ED: yes, if you don't optimize it
VH: with a lot of filters you can
compute the filter region automatically
... we found with shaders that it's not possible to compute the
filter region properly for trivial shaders
... with vertex shaders, it's hard to know what the user
wants
... when you try to compute ti, then animate it, you can
optimize that kind of problem but then your filter region
changes over time
... we found it more efficient that you specify the array you
need
CM: why won't this have the same problems as with SVG specified regions?
VH: I feel margins is already a
better way to talk about it in CSS, since margins are
additional offsets on the box
... for documentation on shaders, I'd expect it to say how to
compute the margins
... also I don't have any good suggestions about how to compute
margins automatically
... we discussed this on the list, an exchange with Dirk, I
explained how SVG filter margins work, but he hasn't
responded
CL: I had initially agreed with Dirk but now I agree with you
SF: your proposal is that the author specifies the filter margin
VH: yes
... there's a note in the spec to say that if the way you can
compute the filter margin...
SF: but you can't do that without running the shader
VH: and you need to know the size
of the surface
... so right now we have margins, but if we find a better way
we will specify that
... so the shader margins default to -10%,-10%,120%,120%, i.e.
the same as svg filter regions
... one final issue is pointer events and picking
... don't have a lot to say there
... I think we all agree that it's desirable you can do proper
selection and interactivity on shaded content
... some ideas have been bounced around, it's non trivial
CL: you get projections which are noninvertable
VH: yes, that
... you need an inverse from what the shader does
... in the rendering pipeline you can't get the output of the
vertex shader
CM: could you allow the author to specify a mapping back to user coordinate space?
TB: yes, we allow the author to
specify a shader to reverse the transformation
... if you are interested in precise picking positions
VH: it does the inverse transform?
TB: no, the buffer will contain
final coordinates encoded as colours
... and then you read back the buffer
... not as part of the webpage
DJ: it's not the inverse transform?
TB: no
DJ: we want to know where the input was
TB: you just look up the position
DJ: ok so it is the transform then
EF: you would frequently have to do this
TB: with modern gpus, the second option is to do it on the cpu
VH: the picking buffer, I didn't completely get it, are there docs?
TB: use
SF: why not just let JS do it?
s/TB/DB/
s/TB/DB/
s/TB/DB/
[ various TBs in this recent issue discussion should be DBs ]
VH: so one thing I can do short
term is to add those options/ideas to the draft
... I think that's all we had
... there was a proposal on the list, Charles brought up the
idea of a JS based shading language
<ed> http://lists.w3.org/Archives/Public/public-fx/2011OctDec/0052.html
VH: I think Dean responded saying
that it's too early to do this
... I've talked to people internally, who think it's a bad
idea
... they told me there were reasons to use a C-like
language
... typing is important in the shader
... we've moved all the issues to the bugzilla
... I just want to know what the next step for the document
is
... it's an editor's draft now
... if we keep it as a separate editor's draft, we need a space
to put it
... since it's not an "official" editor's draft
... my preference is to merge it into the next Filters WD
CM: I would rather have them
separate
... shaders could slow down the progress of Filters
VH: the shader implementation is actually simpler than Filters
TA: but we already have filter implementations
CL: we have many existing mature
filters implementations
... however, even if we decide not to merge them, I would like
to have a FPWD of it
VH: yes, I'd be happy with either
agreeing to merge it and include it in the next WD
... or to publish it as a separate FPWD
TA: there's no downside to having it as a separate draft
DJ: I don't have any technical
reason
... the reason I like it is that Filters already had a
feCustom
... it has a suggestion of this element
... this is fleshing out that bit
... it really is part of filters
... it sends a clear message that you can use this technology
to do this kind of effect
TA: I understand the aesthetic
concerns, but it's not a bad thing to split out and have small
specs
... especially when they have different maturity levels
... we've solved filters with svg
... there are minor issues
... but it's mostly a solved spec
[ Any "DB" in the shaders discussion is really "JB". ]
DS: are there issues that are common to both, and which will be solved when we think about them for shaders?
DJ: pointer events
<ChrisL> [and JB is Johannes Behr , chair of the Declarative 3D for the Web Architecture Community Group]
<ChrisL> [ http://www.w3.org/community/declarative3d/ ]
VH: I think Dean and I's preference is to keep a single spec
CM: I don't object to having them in a single spec
TB: it's my preference to being split out, I won't object to them being in the same spec
DJ: we haven't even published the first draft of the filters spec
RESOLUTION: We will add CSS Shaders into the Filter Effects spec.
ED: do we still want to publish the Filter Effects draft without it first?
VH: I say both at the same time
RESOLUTION: We will publish the Filter Effects draft once CSS Shaders has been added.
<scribe> ACTION: Vincent to add CSS Shaders to the Filter Effects spec and ready it for publishing. [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action09]
<trackbot> Created ACTION-59 - Add CSS Shaders to the Filter Effects spec and ready it for publishing. [on Vincent Hardy - due 2011-11-10].
VH: So we will keep the issue of shader language flagged in the spec first, but not resolved yet.
<scribe> ACTION: Vincent to get security experts to talk with the FX group about CSS Shaders security issues [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action10]
<trackbot> Created ACTION-60 - Get security experts to talk with the FX group about CSS Shaders security issues [on Vincent Hardy - due 2011-11-10].
-- Lunch, we will resume at 2pm --
ED: we're doing mesh gradients as
one of the new features for SVG2
... I think the point of bringing this up in the FX meeting was
to see if there was interest with using that, or having that in
a CSS syntax
... I wanted to give Tav the opportunity to present what he's
done in Inkscape
<Tavmjong> http://tavmjong.free.fr/SVG/SVGOpen2011/MESH/svg_2011_mesh.svg
[ Tav presents his gradient mesh work ]
[ Proposed SVG syntax: http://tavmjong.free.fr/SVG/SVGOpen2011/MESH/svg_2011_mesh.svg#14_0 ]
SF: question on
implementation
... how expensive is it to render these?
... existing gradients are fairly expensive to repaint
already
... seems like this would be more expensive to paint
CL: these are implemented in
Inkscape
... an editor has to deal with redraw issues
... do you have noticeable redraw lags?
TB: not really, if you zoom way in and move them quickly there is some lag
CM: this is already required for PDFs
SF: but PDFs aren't performance critical
<cabanier> if you go the GPU route, they are easy to draw.
SF: CoreGraphics does not support
this
... so we'd need to impleement this ourselves
<cabanier> you could possibly do it with CSS shaders...
SF: I'm not against them, just saying there may be performance considerations
JY: how useful would it be for CSS?
in SVG you have non-square shapes everywhere
scribe: seems like it would be less valuable for HTML
<ChrisL> if it was found useful to use these in CSS I would suggest a url() reference to some svg, rather thant eh @-rule-from-hell approach
ED: to go through a few of the issues that came up on the mailing list
<ed> http://lists.w3.org/Archives/Public/public-fx/2011OctDec/0031.html
ED: the list of shorthand
filters, we keep that in?
... this isn't adding anything, but just raising some
issues
DJ: there were two issues
... one is that an apple engineer pointed out greyscale is the
same as saturation
... with the exception that saturation could go beyond
100%
... the good thing about greyscale is anyone can understand
what it does
... are we ok keeping something that is effectively a
duplicate?
DS: I think it's fine
... people will look for it
ED: I think so too
CM: I think greyscale is going to be the kind of saturation most people want to use anyway
DJ: next, sharpen
... we had feedback suggesting that in most cases, thinking
about what's the use case for a sharpening filter
... it'll be people with digital photography wanting to make it
look better
... it's not likely people will want to put unprocessed
photographics on a webpage
... the sharpen effect in the filter spec isn't what anyone
wants to use
... all these tools have a custom sharpening filter that is a
lot more complicated than what's there
... so the suggestion is just to remove it
CL: that's a bit sad, there are
many people who would be happy with sharpen as it is
... using an image at different sizes, and being able to
sharpen it
... for the smaller one you want to sharpen it a bit
DJ: the feedback was you could
still use CSS Shaders to do this
... the question is, even the phones nowadays have some image
processing on them
... uploading the raw image is becoming less common
DS: rather than argue about this
now, that we simply put this in the court of public
opinion?
... I would say, drop it for now, and if we want it later add
it
... identify use cases for what this thing can do
SF: a good way to approach this
is that css filters should allow you to do two types of
things
... one is to animate something, do some kind of transition to
make things pretty
... second, they should allow you to reduce the number of image
assets you have
... something like sharpen, which you want to do permanently
once, should have already been done
... before uploading
... that'd be my reasoning to be able to to this
DS: there are some tools that allow this
SF: but not to save the output of
the filtered output
... maybe canvas.drawElement will allow us to do that
DS: mark it at risk?
DJ: ok
RESOLUTION: We will
mark sharpen shorthand and feSharpen as at risk.
... We will keep greyscale shorthand.
DJ: many of these shorthands take
the first parameter as amount
... 0 = no effect, 1 = full effect
... would it be better to accept percentage values as
well?
... 100% greyscale makes more sense to some people than 1
SF: accepting both fractions and
percentages?
... we talked about this in the context of crossfade
TA: I'm in favour of this
VH: unitless is a normalised value?
DJ: we should clamp
... this spec needs to change to be more like what image values
says, which defines a grammar for each thing, instead of text
prose
... the question about parsing is something we've come up
against in implementation
<cyril> the term shorthand is not used consistently in the spec
DJ: when taking multiple parameters, should it be invalid if we put commas?
<cyril> sometimes it's filter function sometimes shorthand
DJ: I like the idea of CSS being
very permissive, otoh I don't like it if they've accidentally
made an error then it's hard to understand the result
... might be a good thing, stylistically, to know what happened
when something when wrong
TA: fail quickly and as tinily as possible
DJ: at the moment we fail for
things with commas in them
... so if you put gamma(1,1,1) the whole property would
fail
... CSS Shaders has a comma separated parameter list
... so that's a bit different
TA: that one has constraints on it, the syntax is sufficiently complex to warrant commas
RESOLUTION: We will
accept percentages for 0..1 values in
shorthands.
... We will have the shorthand properties fail to parse if
using commas where not allowed, etc.
DJ: I'll update the spec to be less prose, have a defined grammar.
CC: can you also add a definition
of shorthand?
... sometimes it's called filter function, sometimes called
shorthand
CM: shorthand means something else in CSS
DJ: that's all on the filter functions
ED: a couple of people have been requesting ...
DJ: currently you can't transform
the filter in any way, do a blur then scale it by 1.5 for
example
... the proposal is to add a filter function and element,
feTransform
DS: Anthony Grasso proposed
something similar a couple of years ago at SVG Open
... one would be to do the filter reflection effect
<cyril> http://lists.w3.org/Archives/Public/public-fx/2011JulSep/0082.html
DS: I was wondering if it made sense instead of feTransform, but to put a transform on a particular filter
CL: it doesn't fit into the node
filter model as nicely
... if we were to add feTransform, you'd need to decide what
happens when you get pixels that aren't covered
DJ: in CSS Shaders there's a
similar issue
... you need to define what happens outside the mesh
CL: is the shader writer required to cope with that?
DJ: no
... in GL you define this as part of the state you set u
s/set u/set up/
scribe: the texture either
repeats, clamps
... the feTransform is an operation on its input and it
produces a new output
... that allows it to sit in the filter function list
CC: what kind of transform?
DJ: only 2D affine transforms
CC: coudl it be an extension to the feDisplacementMap
s/coudl/could/
CL: it's simpler to say
scale(2,0.5) than to work out what the RGB image should be for
feDisplacementMap
... feDisplacementMap is still useful for non-affine
EF: you get people trying to do perspective transforms
CL: why restrict it to
affine?
... especially if we're adding non-affine in SVG2?
... if people can do it in one place they'll expect to do it in
another
DJ: can't think of a good reason why not
CL: picking the SVG 1 transform
set is a good start, but if SVG2 is extending that to include
non-affine...
... if you have it there, you'd want it in the filter as
well
DJ: it should just take a transform
CL: it'll just point to the
Transforms chapter, ok
... do we need to say anything about resampling?
DJ: we should say something in the filters spec in general
CL: we have some talk about resampling for raster images in the spec
DJ: when we merge shaders and filters it should be a separate section that covers both
VH: there is an open issue on
that
... we need a way to specify the interpolation method when
scaling up and scaling down
DJ: this addresses Dirk's request
from January
... doesn't address perspective transforms
... the other part of the proposal in my email was that when
you do a filter effect, you don't necessarily want to replace
the element you're drawing
... but to blend with it
... with the canned filter effects it's not as easy to
blend
... so maybe we should have a keyword that allows you to
composite the element with its filtered result
... the question is, whether doing something like that a common
enough use case that we want it to canned effects
... or complicated enough to leave it to the markup version of
filters
TA: I think it's an easy and ocmmon use case
DJ: I was proposing two keywords,
composite-over and composite-under
... you would use that anywhere in the list
... (which would be a bit strange)
... not sure it's a good idea, but I made the proposal
... composite-under right at the end would be like doing an
feMerge with all the others, and merging it with
SourceGraphic
... or drawing it twice one without the filter one with
CL: I think that's useful
functionality
... clear to explain with a couple of examples
... simple enough to have it canned
DJ: I still want to go back and see why Simon doesn't think it's a good idea
<scribe> ACTION: Dean to make a proposal for feTransform and corresponding canned function [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action11]
<trackbot> Created ACTION-61 - Make a proposal for feTransform and corresponding canned function [on Dean Jackson - due 2011-11-10].
DJ: another request that came in
was to add more canned effects like lighting
... that was intentionally not put into the spec at the
start
VH: they're missing from the spec?
DJ: they're there as markup, not
canned functions
... not sure how useful they are
... as shorthands
... one of the disadvantages is that normally it's a tree of
lights, writing them in the property you get a big long
thing
... one it's annoying to parse, two difficult to animate
CL: usually you want to combine lighting with something else
VH: if we're doing something like this I'd rather have a shorthand for emboss, or chisel, or something like this
CL: right, lighting doesn't do anything by itself
VH: do we do a chisel etc.?
DJ: this is just my feeling, I
like the idea of canned ones be very simple and a short
list
... it's for the simple case
... go to shaders or markup for anything beyond that
VH: with simple canned filters,
if you take a version of a tool like powerpoint, they have a
set of canned filter effects
... and those are pretty close to the list you have
... some that apply to images, some that apply to
geometry
... emboss, glossy effects are ones that are in tools like
this
DJ: I'd be happy a proposal was
made
... I think it's easy to add these canned effects, we know how
to do them
... the problem is doing it in a way that's readable and
understandable
VH: I was thinking one thing would be to have a syntax for custom declarative filters
DJ: that would be very useful
CL: some people are going to just
use the keywords, some will write their own thing
... there's a middle ground, the same people who would take a
script library but not write it, they'll copy/paste/tweak a
fancy filter thing
... from there their css syntax will just be url(...)
VH: could we mark this as an issue for us?
<scribe> ACTION: Vincent to add an issue for parameter passing into markup filters [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action12]
<trackbot> Created ACTION-62 - Add an issue for parameter passing into markup filters [on Vincent Hardy - due 2011-11-10].
DJ: another thing I'll just raise
as a potential, though I think we won't do it
... IE5 has the filter property with a bunch of
shorthands
... a wave filter, invert
ED: when is CSS meeting?
VH: the next one is in paris
<shepazu> http://wiki.csswg.org/planning/2012
VH: for Bucharest in May, Adobe
can host an FX day and the SVGWG meeting before/after the CSSWG
meeting
... the CSSWG hasn't decided which days exactly
... in the week listed on that page
... typically CSS does 3 days with 1 day of overlap
DS: maybe we can have the WGs meet the same time?
VH: rather not split myself over
both
... otoh we could stagger it, meeting over 4 days, have one day
of SVG and CSS meeting separately on the same day
... that makes it shorter for those who are going to both
RESOLUTION: We will meet with the CSS WG in May.
<scribe> ACTION: Erik to coordinate with CSSWG regarding SVG/FX meeting. [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action13]
<trackbot> Created ACTION-63 - Coordinate with CSSWG regarding SVG/FX meeting. [on Erik Dahlström - due 2011-11-10].
VH: I think we should either have
SVG in Paris in January, or have it several weeks apart in
Australia/NZ.
... so CSS is Paris, Feb 6-8
... if we had it earlier than that would be Jan, probably too
early
... with the holiday period upcoming, we won't have made as
much progress by Jan
... my preference is to colocate with CSS
... more efficient travel wise for those attending both
... and good timing between now and May
DJ: also two consecutive Europe
meetings
... although CSS is already doing that
VH: we still have a lot of work with requirements, getting the spec together, no lack of things to talk about
CM: I would prefer Aus/NZ in
January
... in fact prefer Sydney to Auckland, to maximise dino/danilo
chance of attendance
<shans> http://lca2012.linux.org.au/
RESOLUTION: SVGWG will meet in Sydney the week of 9 January 2012, deciding exact meeting length later.
[ Johannes Behr shows some demos ]
<ed> ACTION: ed to add the decided upon F2F dates to the wiki [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action14]
<trackbot> Created ACTION-64 - Add the decided upon F2F dates to the wiki [on Erik Dahlström - due 2011-11-10].
DJ: is this demo using
WebGL?
... in the example where you're adding nodes...
JB: it uses mutation events
... demoing the feature as if you'd extended the browser
DJ: my questions is, is that enough?
JB: there are a couple of things
we can't do well
... the big open question is how the material system should
look like
... in CSS Shaders, it's got a fixed set of parameters for
colour calculations
... in SVG you have filters, but they're all predefined
... with 3D graphics you often want to define something
ustom
... native implementations will be much more efficient
... right now, if the CSS transforms changed, I think a native
implementations would be better
DS: Google had a proposal a while ago
CM: O3D?
DS: but they eventually went the
way of WebGL
... do you know why they decided to abandon their push for
O3D?
JB: one reason is that it was
sitting in the middle
... this approach sits on one side, declarative
CM: why did the X3D work get a bad reaction in the HTMLWG a couple of years ago?
CL: the old proposal was
basically just XML-ized deriviative of VRML
... this new work is much more informed by current W3C work
<stakagi> I have a comment about the relationship between 3D and SVG.
<stakagi> http://svg.mbsrv.net/mapdata/fgdv25000/tokyo/cntr/Cntr02_l3_8-8.svg This is contour map a sort of 2.5D? (no-overhanging 3D?) data by SVG. Contour is well known presentation of 2.5D on 2D canvas for the map.
<stakagi> Please view source; property lm:(japanese char) describes altitude (in meter). Is the interim data of such 3D and 2D also thought of? This data has the advantage that a common data can be used also by a view by 3D and 2D.
<dbaron> what's the agenda for after break?
dbaron, a forgotten item of animation
unfortunately dean had to leave
but patrick will be calling in and wants to discuss css animations targetting attributes
DJ: [who had to leave
earlier]
... Haven't made any progress on any of the animation
issues
<ed> http://www.w3.org/Graphics/fx/track/actions/48
<pdengler2> calling in one sec
ED: so that is what we decided in Seattle, the action on Dean
PD: I wanted to ask the group if
anyone's in a position to put a stake in the ground about SVG
attributes modelled using the attr() thing we discussed, or
promoting them to properties
... I kind of wanted to get a sense of their positions
... both WebKit/Firefox can target properties on SVG elements,
which is great
... I developed some JS to mimic it in IE, and found it
confusing knowing which ones were attributes and which ones
weren't
... wanted to get the temperature from other folks
DB: this is putting attr() on the left side of a declaration?
TA: yes, on the property side
PD: yes, but it was very
simple
... just to play with it
... [explains how he did that in js to mimic the
proposal]
... just to get a feel ancedotally how it works
... Firefox/WebKit target SVG properties
... we (IE) only have it where SVG properties overlap with HTML
ones
... independent of SMIL, I think we could do more creative
things
ED: one thing dean said before he
left, he didn't want to be the gating factor
... he was fine with someone taking the ACTION-48
... and was suggesting Brian to do that
PD: this is what I'd love to
do
... I'm happy for someone to go off, do the investigation
(again?)
... let's decide
CC: could you do something like the data-* that was proposed for CSS recently?
DB: attr-* sounds a bit nicer
than attr()
... I think attr() doesn't match the forward compatible
grammar
CM: first, should we solve this problem?
DB: yes, just not quite sure how it's going to work
CL: I am concerned about property
bloat
... showing up on many elements
... they don't apply to many elements
TA: I'm a bit troubled by allowing something specifically in animations, and not generally
CL: if it's seen more as a syntax
that pretends an attribute as properties, rather than promoting
properties, I'm more conformtable
... less uncomfortable
TA: there are a few conflicts,
from the discussion several months ago, where the grammars are
a bit different
... I think there are a few cases where the same attribute name
are used with different values on different elements
PD: is that such a bad
thing?
... we have rules to say how that's resolved
... there are a lot of issue that have come up, there are
reasonable calls to make either way you go
... I think it's a matter of committing and going
<TabAtkins_> As a note - while "attr(): foo;" violates the Core Grammar, it's compatible with the error-parsing rules; the parser will just skip to the next ";".
<dbaron> yeah, CSS forward compatible grammar doesn't allow anything other than idents on the left side of the : in a declaration
[ discussion about way forward ]
<scribe> ACTION: Patrick to come up with a concrete proposal for CSS Animations targetting SVG attributes and mail it to public-fx [recorded in http://www.w3.org/2011/11/03-fx-minutes.html#action15]
<trackbot> Sorry, couldn't find user - Patrick
ChrisL, that worked :)
<ChrisL> nope, because the lasst thing is
<ChrisL> CM: a poll?
<ChrisL> VH: three options
ChrisL, refresh
<ChrisL> and then the minutes end
(maybe shift+refresh or whatever)
<ChrisL> oh, right
<ChrisL> ok, its good
This is scribe.perl Revision: 1.136 of Date: 2011/05/12 12:01:43 Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/ Guessing input format: RRSAgent_Text_Format (score 1.00) Succeeded: s/Opera/Abbra/ Succeeded: s/filteres/filters/ Succeeded: s/dev/content dev/ Succeeded: s/CC/RC/ Succeeded: s/affects/effects/ Succeeded: s/ASV/ASV, IE10/ Succeeded: s/... for mini/ED: for mini/ Succeeded: s/somethign/something/ Succeeded: s/Compsiting/Compositing/ Succeeded: s/nobody uses clip in SVG content, since it's broken/nobody uses the 'clip' property in SVG content, since it's broken/ Succeeded: s/Exclusiosn/Exclusions/ Succeeded: s/immutable/a mutable/ Succeeded: s/you can/you don't have to/ Succeeded: s/SF/SG/ Succeeded: s/immutable/mutable/ FAILED: s/CSS 2D and 3D/CSS 2D and CSS 3D/ Succeeded: s/all these/the memory overflow/ FAILED: s/attack/attacks/ Succeeded: s/WebGL/shader/ Succeeded: s/use/yes/ FAILED: s/TB/DB/ FAILED: s/TB/DB/ FAILED: s/TB/DB/ FAILED: s/set u/set up/ FAILED: s/coudl/could/ Found Scribe: Cameron Found ScribeNick: heycam WARNING: Replacing list of attendees. Old list: +1.206.675.aaaa [Microsoft] tpac cabanier New list: tpac cabanier tbah WARNING: Replacing list of attendees. Old list: tpac cabanier tbah New list: tpac +1.425.868.aaaa Default Present: tpac, +1.425.868.aaaa Present: Cameron_McCormack Erik_Dahlstrom Tab_Atkins Doug_Schepers Jun_Fujisawa Sylvain_Galinaeu David_Baron Simon_Fraser Dean_Jackson Timothy_Horton Shane_Stephens Cyril_Concolato Satoru_Takagi Jennifer_Yu Chris_Lilley Rik_Cabanier_phone Patrick_Dengler_phone Tavmjong_Bah_phone Vincent_Hardy Eli_Fidler Johannes_Behr Eric_Mueller Alan_Stearns Got date from IRC log name: 03 Nov 2011 Guessing minutes URL: http://www.w3.org/2011/11/03-fx-minutes.html People with action items: cyril dean ed erik jen patrick vincent[End of scribe.perl diagnostic output]