01:27:53 RRSAgent has joined #svg 01:27:53 logging to http://www.w3.org/2013/11/15-svg-irc 01:27:57 Zakim has joined #svg 01:28:07 Zakim, call Huangshan 01:28:07 sorry, heycam, I don't know what conference this is 01:28:15 Zakim, room for 4? 01:28:16 ok, heycam; conference Team_(svg)01:28Z scheduled with code 26631 (CONF1) for 60 minutes until 0228Z 01:28:19 Zakim, call Huangshan 01:28:19 ok, heycam; the call is being made 01:28:20 Team_(svg)01:28Z has now started 01:28:21 +Huangshan 01:28:22 nikos has joined #svg 01:29:31 kk 01:29:57 It's a good thing we just switched to unlimited minutes, from 600. 01:30:02 nikos1 has joined #svg 01:30:19 scribe: nikos 01:30:23 scribe: nikos1 01:30:28 My cell plan. 01:30:39 scribenick: nikos 01:30:42 +TabAtkins 01:30:43 -TabAtkins 01:30:43 +TabAtkins 01:30:45 jun has joined #svg 01:31:01 myakura has joined #svg 01:31:05 Topic: Path rotation and new circluar/elliptical arc commands 01:31:23 heycam: one of the requirements we had for svg 2 was for a path command to set current rotation 01:31:30 ... subsequent commands are then relative to that rotation 01:31:41 ... the reason for allowing was to avoid having to do trig 01:31:57 ... if you want to animate the path - e.g. rotate one section 01:32:11 ... I wanted that in conjunction with a simpler arc command 01:32:25 ... so you could do circular or elliptical arc from current position by a certain number of degrees 01:32:34 ... I've given that letter 'b' for bearing 01:32:49 ... the capital 'B' takes the angle in degrees 01:33:01 https://svgwg.org/svg2-draft/paths.html#PathDataBearingCommands 01:33:36 ... the idea is that when you have a bearing that is not zero, that effects only relative path commands after that 01:33:59 ... so 'h' would go that distance in the direction of the bearing 01:34:09 heycam: initial rotation is zero 01:34:41 TabAtkins: tradition for angles is to make them zero degrees pointing upwards - especially with bearing 01:35:37 TabAtkins: you need a capital B, but typically the way angles are done is that zero degrees points upwards 01:35:54 ... it doesn't matter a lot, not sure it makes a difference here 01:36:06 heycam: it makes a difference which path commands you use to go straight forward 01:36:14 TabAtkins: the notion of straight forward doesn't have a meaning here 01:36:57 heycam: if we want 'h' to mean head forward 01:37:06 ... then it makes sense for zero degrees to mean in the positive x axis 01:37:30 krit: we use always x axis for rotation 01:37:35 ... but bearing is usually looking north 01:37:42 ... e.g. negative y axis 01:37:55 heycam: unless we want the initial bearing value to be non zero 01:37:57 \me 'v' is Veer left, or Venestre ? 01:38:15 ... then we couldn't have zero degrees meaning upwards 01:38:21 ... and lower case 'h' to mean go to the right 01:38:47 krit: can this be combined with cubic and quadratic curves? 01:38:51 heycam: I've defined it so that it does 01:38:57 ... all points are rotated around the origin 01:39:06 ... for straight line segments and quadratics and cubics 01:39:13 ... the point gets rotated 01:39:23 krit: it's changing the co-ordinate space 01:40:50 heycam: you can't build up a path in Direct2D and apply a transform half way through 01:41:07 ... I've described in the respective sections what it means to have the transform applied 01:41:43 heycam: if you look at the cubic bezier command section for example, I added a paragraph detailing how the control points are transformed 01:41:53 cyril: what are the consequences on animate motion? 01:42:05 heycam: it's the same as if you have two line segments 01:42:19 ... where we might have to think about it is with the methods that give a path segment that is a particular length 01:43:06 heycam: I think it makes sense for the default to be zero, and that to be in the positive x axis 01:43:22 cyril: do you think it should be normalised? 01:43:27 heycam: good question, I guess it should 01:43:42 cyril: what about path morphing? Should have no effect right? 01:43:51 ... you normalise first then you apply 01:43:56 ... by morphing I mean path animation 01:44:07 ... so do you require a 'b' to match up with a 'b'? 01:44:11 heycam: I think so 01:44:18 ... you want to animate the 'b' 01:44:37 heycam: the other part of the discussion I wanted is 01:44:46 ... the best way to get a bearing relative elliptical arc 01:44:50 ... haven't added this to the spec yet 01:45:11 ... the last thing we came up with in Switzerland was to add the two arc commands that canvas has 01:45:18 ... maybe with long names since we're running out of letters 01:45:24 ... we can still do that 01:45:58 ... but I don't think the canvas arcs are good for doing an arc from the current position in a given direction 01:46:08 ... I wrote up a couple of options for doing that in a text file 01:46:24 TabAtkins: we also wanted to add in one of the arc commands from paper.js 01:46:34 ... where you give two points that are on the arc 01:46:43 ... three points in total 01:46:46 http://pastebin.com/se55bMW3 01:47:10 ... the 'i' command does a circular arc in the given direction for a certain number of degrees 01:47:43 i 01:47:44 = circular arc with the given radius, beginning in the current bearing 01:47:44 direction, drawing degrees of the circle, defaults to going clockwise 01:47:44 e 01:47:44 = elliptical arc with the given radii, beginning in the current bearing direction, 01:47:45 as if you were already around the ellipse, going to , 01:47:45 defaults to going clockwise 01:48:07 heycam: I was thinking of having two commands. One for circular, one for elliptical 01:48:30 ... the circular arc (i) goes fowards from the current position in the current direction with a radius and a certain number of degrees 01:48:44 ... the elliptical version takes the x and y radius 01:48:51 ... you also have to specify the start angle 01:49:12 ... might not be so useful but included for completeness 01:49:19 TabAtkins: the i command makes it easier to do corners for example 01:49:30 ... h, i 90 degrees 4 times 01:49:42 heycam: the current bearing never changes unless you give a 'b' command 01:50:06 ... so you'd do "h i 90 degrees b 0 (zero degrees off previous arc command) h " and so on 01:50:30 cyril: with 'e', why do you need a start angle? 01:50:39 heycam: you need to know where around the elliptical arc you are 01:50:45 cam draws on whitebaord 01:50:55 TabAtkins: basically because ellipses aren't radially symmetric 01:51:26 heycam: the angle is the angle around the arc, not the initial bearing 01:51:52 shepazu: if you're making a pie chart, is the initial angle always going to be 90 degrees? 01:51:58 TabAtkins: this command isn't great for making a pie chart 01:52:01 heycam: it's good for pie charts 01:52:09 ... maybe not as good as the canvas one with the center point 01:52:19 ... you can move the the center point, then bear in whatever direction 01:53:27 ... "m 100,100 b -90 h 40 b 90 i 20 0 b 90 h 40 " 01:53:30 ... then some more 01:53:40 cyril: why do you need the 'b 90' ? 01:54:14 heycam: you turn 90 degrees at the end of the upwards line 01:54:26 shepazu: I like the idea of being able to do angles in svg finally 01:55:09 Hmm, bearings help a little bit with pie charts, but only if you're drawing all the segments in one go. 01:55:24 heycam: one thing with these two circular elliptical and bearing path commands is that there is no natural absolute version of these commands 01:55:41 ... you could make it so that with the abs version you don't do the rotation of the bearing 01:55:46 ... but it's unlikely you would use it 01:55:49 You need the Canvas arc command to do pie segments separately in an easy way. 01:56:07 SO MANY ARCS NECESSARY 01:56:09 shepazu: this introduces angles into SVG 01:56:20 ... I'm wondering is this a pattern we are going to duplicate? 01:56:26 ... are there other places we could use angles? 01:56:34 ... is this a suitable precedent to follow? 01:56:45 wonsuk has joined #svg 01:57:06 TabAtkins: does the star element use angles? 01:57:12 shepazu: it doesn't 01:57:23 heycam: I was wondering whether zero degrees should be positive x? 01:57:32 TabAtkins: I can't find a decent way to make proper bearing angles easy to use 01:57:40 ... so I think we go with the current proposal 01:57:46 heycam: I like how 'h' can be thought of as move ahead 01:58:30 ... if anyone have any better ideas for bearing relative arc commands let me know 01:58:48 ... otherwise I'll add lower case 'i's and 'e's 01:59:01 TabAtkins: not bothered about absolute commands 01:59:51 heycam: 'b' and lowercase 'i' and 'e' break pattern of last value of command is the ending co-ordinate 02:00:00 ... don't think that's a problem 02:00:25 I honestly didn't even realize that was a pattern. 02:00:42 heycam: question of what to do with the SVG dom? 02:00:49 ... new path seg interface derivatives? 02:00:55 ... probably no 02:01:08 birtles: would you even add this feature to the old svg ? 02:01:10 heycam: ideally not 02:01:24 heycam: just like with transforms we do have to define what happens if you use them 02:01:33 ... can do the same thing as transforms 02:01:55 ... should markers be painted at the b? 02:02:00 heycam: I think no 02:02:03 TabAtkins: agree 02:02:12 cyril: no, they don't introduce a segment 02:03:11 cyril: a colleague of mine edited some path commands, where should I put it? 02:03:17 heycam: mail it? 02:03:39 Topic: SuperPath commands 02:03:43 cyril: a colleague of mine edited some path commands, where should I put it? 02:03:46 heycam: mail it? 02:06:25 cyril: the idea is to have 'p' for referring to a path 02:07:02 http://lists.w3.org/Archives/Public/public-svg-wg/2013OctDec/0055.html 02:07:42 cyril: we are proposing two commands, with absolute and relative 02:07:54 ... the piece command takes a url fragment 02:08:13 ... draws a sub path from the current point using the commands from the referenced fragment 02:08:34 ... r draws the referenced path backwards 02:09:11 krit: so the path needs to be in the same document 02:09:25 ... the syntax is not clear about that 02:09:28 cyril: iri is defined 02:09:41 krit: iri is defined to be url and then iri 02:09:50 cyril: but if the url is not there then it is a fragment to the current document 02:09:56 ... don't think we want to allow the url 02:10:13 heycam: I would like to use ids for reference in current document, not iri 02:10:46 cyril: so in the syntax the '#' would be removed 02:10:54 cyril: can you have spaces in ids? 02:11:07 birtles: I don't like ids, but we can come back to that 02:11:21 krit: how do you differ between the different command without '#' 02:11:26 ... could be the pr command for example 02:11:40 ... having # would be a delimiter you could detect 02:12:48 krit: we aren't strict about spaces or comments 02:13:20 ... I think you want to make it clear that it's a reference 02:13:32 heycam: I think it's only a problem if we have the repeated parameter thing 02:13:55 thorton has joined #svg 02:14:26 cyril: the difficulty here is how you draw a reverse path 02:14:35 ... usually you have the ending point and then the following points 02:15:02 ... if you reverse a quadratic bezier the first point isn't given in the command 02:15:22 ... have added some notes in the text 02:15:46 ... see annotation 5 02:16:11 cyril draws on the board 02:18:40 shepazu: someone told me (maybe David Dailey) that he heard feedback that the super path thing turns out not to be the solution for mapping that they thought it would be 02:18:55 ... because when you normalise paths the differences aren't significant 02:19:03 ... could you communicate with David Dailey about this? 02:19:15 krit: the proposal doesn't say how to deal with dash-array especially with shared paths 02:19:18 cyril: I know 02:19:32 krit: many implementations can't do it at the moment 02:19:44 krit: I'd like it added as 'at risk' from the beginning 02:19:54 ... I don't think it will be implemented in the next version of browsers 02:20:33 heycam: I think all features will be assessed when going to CR 02:20:45 shepazu: it gives a lack of confidence marking as at risk initially 02:21:22 ... implementers won't even look at it if it's marked as 'at risk' 02:21:31 ... we can always mark it at last call 02:21:42 heycam: especially since it's in the list of requirements 02:22:00 cabanier: Flash was never able to fix stroking on edge lists 02:22:03 ... it always looked bad 02:22:25 ... what happens with end caps, etc? 02:22:42 cyril: the model we had in mind was to copy all the paths as if they were specified there 02:22:51 heycam: this doesn't address shared edges 02:23:39 cyril: this isn't trying to address the problem of having touching objects 02:23:47 ... it's for maths 02:24:04 ... you just say you have a common path between two objects 02:24:32 shepazu: if I have two states on a map that are adjacent 02:24:44 ... in that case, this proposal says they have a shared line 02:24:55 ... and it's referenced in the syntax 02:24:56 s/it's for maths/it's for maps/ 02:26:22 heycam: this does give you information about which pixels are completely covered 02:26:33 ... the underlying graphics libraries aren't going to give us the facility to make use of that 02:26:43 shepazu: That might be the essence of what David Dailey was alluding to 02:27:22 cyril: we're not changing how the rendering is working 02:27:31 ... it's just for syntax 02:27:41 krit: the idea of super paths was to have shared edges 02:27:48 cyril: that's not what I was thinking 02:28:15 ... it's adding semantics to the document so that path data can be re-used 02:28:28 .. with animations applied, etc 02:28:37 krit: I don't think this is the real requirement of super paths 02:28:47 shepazu: I'd like to point out another thing that troubles me 02:28:59 ... that is, for me it's common when I'm using a map that I 02:29:05 ... might pull out a particular shape 02:29:15 ... e.g. pull out Germany from a map of Europe 02:29:26 ... if I do that now it's got it's own shape 02:29:36 ... with this I have to follow the reference 02:29:44 ... we already have an API for that 02:30:00 cyril: I was thinking we could import the points into the normalised version 02:30:30 shepazu: the authoring experience is made more complicated with references 02:31:02 heycam: in your example you are referencing p1 02:31:23 ... if case of commands was different what would be the effect? 02:32:09 cyril: if the path you are referencing uses relative commands then those commands are relative to the last point before the referenced path 02:32:16 ... and if the path uses absolute commands then they're absolute 02:32:34 heycam: does that mean, if you had a mix of absolute and relative, that segment sizes would be different for the same re-used path? 02:32:36 cyril: yes 02:32:54 cyril gives example 02:33:08 thorton has joined #svg 02:33:22 cyril: we kept small 'p' and small 'r' because all existing commands had two versions 02:33:25 ... but they're useless 02:34:04 krit: 'r' is reserved 02:34:08 cyril: call it 'x' 02:34:40 heycam: could you enumerate the problems? 02:35:00 cyril: I heard it's not solving all the problems 02:36:01 cyril: I'd like to add it to the spec for further discussion 02:36:03 heycam: I'm ok with that 02:36:41 ACTION: cyril to add piece commands to SVG 2 specification 02:36:41 Created ACTION-3546 - Add piece commands to svg 2 specification [on Cyril Concolato - due 2013-11-22]. 02:41:02 mgylling has joined #svg 02:58:43 mgylling has joined #svg 03:03:10 kurosawa has joined #svg 03:07:01 scribenick: someone else 03:07:05 Zakim, who is on the call? 03:07:05 On the phone I see Huangshan, TabAtkins 03:08:30 -Huangshan 03:08:50 >_< 03:09:11 Zakim, call Huangshan 03:09:11 ok, heycam; the call is being made 03:09:14 -TabAtkins 03:09:14 +TabAtkins 03:09:15 +Huangshan 03:10:12 Scribe: Cameron 03:10:15 ScribeNick: heycam 03:10:18 Topic: Filter effects 03:10:26 http://dev.w3.org/fxtf/filters/ 03:10:37 http://dev.w3.org/fxtf/filters/#issues-index 03:10:38 I lied, I can't hear anything but an occasional burst of voice. 03:11:18 cyril has joined #svg 03:11:25 krit: first issue is xlink attributes 03:11:30 ... we have it on most elements 03:11:33 ... which did we decide to remo e 03:11:34 Note that that #issues-index section is auto-generated by Bikeshed. Yet another reason to switch! 03:12:42 heycam: we should remove all except xlink:href 03:12:48 ... then do the thing we planned to do with introducing href 03:12:57 krit: can we agree on removing those other attributes? 03:13:00 cabanier: yes 03:13:16 s/remo e/remove/ 03:13:48 RESOLUTION: Remove all xlink attributes apart from xlink:href from Filters. 03:14:14 krit: next issue is something I'd like to discuss at the next F2F 03:14:16 ... then, issue 3 03:14:44 ... the text is saying that xlink:href="" is an IRI to something within the current SVG document fragment 03:14:51 ... this limits filters to only the current document 03:14:59 ... I think Filter is the only thing restricted like this 03:15:02 ed: gradients does this too 03:15:10 ... only for inheriting definitions of gradients 03:15:12 isn't it the 10th time we resolve on removing xlink:href ? 03:15:41 krit: does Firefox implement this? 03:15:45 birtles: I think it may 03:15:52 krit: for WebKit and Blink I'm pretty sure we don't 03:16:14 krit: do we want to deprecate it? 03:16:19 ed: cleaner just to remove it? 03:16:43 heycam: I don't see it as very useful for 03:16:53 ed: it's of very limited use 03:17:43 heycam: I've never liked this inheriting pattern 03:17:49 krit: Inkscape uses it for gradients 03:17:57 ... it doesn't for filters 03:18:30 ed: I wanted to lift the restriction at some point, but the feature isn't that useful 03:18:42 ed: and we decided to keep it limited, since we want to remove it 03:19:10 krit: I won't implement it in WebKit and Blink 03:19:38 heycam: it's probably all right for us to remove it then 03:19:56 RESOLUTION: Remove from Filter Effects. 03:21:23 krit: issue 4, discuss at next F2F 03:21:28 ... issue 5 is difficult to discuss without Chris 03:22:05 it's about this in the spec: 03:22:08 Unless otherwise stated, all image filters operate on premultiplied RGBA samples. Some filters like , and work more naturally on non-premultiplied data. For the time of the filter operation, all color values must temporarily be transformed to the required color multiplication of the current filter unless stated differently on the particular filter primitive. 03:22:18 krit: I think the last part doesn't matter, since none of the primitives have special handling 03:22:27 ... they all require one of the colour spaces 03:22:37 ... the input must be in premultipled or non-premultiplied 03:22:45 ... I think the last sentence is confusing 03:23:19 ... I just want to remove the "unless ..." 03:25:12 ... the issue is incorrect, it's nothing to do with color space 03:26:17 cabanier: [asking about sepia] 03:26:20 krit: that would be a separate issue 03:26:44 krit: next issue 6 03:26:50 ... "Why is SourceGraphic drawn into a fixed linear RGB?" 03:27:07 ... SourceGraphic takes the parent object, why do you need to draw it into a temporary buffer in linearRGB? 03:27:14 ... why can't you change it to something different? 03:27:23 ... would like to get some input from Chris 03:27:32 ... Issue 7 03:27:47 ... the FillPaint and StrokePaint allow you to reference the fill/stroke of the element you're filtering 03:27:56 ... and use these fill or paint servers as generated input images 03:28:07 ... the question is, it's not really defined how you actually use them 03:28:22 ... you can have FillPaint referencing a paint server, like a pattern, and that can be userSpaceOnUse or objectBoundingBOx 03:28:31 ... the objectBoundingBox of what? the element that is filtered? 03:28:43 heycam: I'd say the bounding box of the thing it's targeting 03:28:46 krit: that would make sense 03:28:53 ... but the spec doesn't say 03:29:20 ... if the paint server is drawn using objectBoundingBox, then it should use the boundign box of the element being filtered 03:29:49 ed: the alternative would be the filter region 03:30:17 RESOLUTION: FillPaint/StrokePaint objectBoundingBox should be relative to the bbox of the filtered element. 03:30:30 krit: issue 8 03:30:36 ... which coordinate space for userSpaceOnUse? 03:30:48 ... if you have a paint server with userSpaceOnUse, which user space to use? 03:31:17 ... the filter can be in an SVG element that has a different viewport from the filtered element 03:31:37 heycam: I think again it only makes sense to use the filtered element's user space 03:31:39 ed: I agree 03:31:54 RESOLUTION: FillPaint/StrokePaint userSpaceOnUse should use the coordinate space of the the filtered element. 03:31:58 krit: skip issue 9 03:32:07 ... issue 10, we discussed this multiple times before 03:32:11 ... we have different subregions 03:32:33 ... should the input of the filter prmitive be clipped, the output clipped, both? or not at all? 03:32:41 ... the spec really says you should clip the output 03:32:45 ... implementations are inconsistent 03:33:07 ... you can't test what they implement, since it's hard to figure it out; it doesn't matter in most cases 03:33:12 ... would be good if we define which we use 03:33:15 ... just pick one 03:33:22 ed: if it doesn't make a big difference, why do we need to define it? 03:33:42 krit: it does make a difference, but it's hard to test -- it depends on the particular filter operator 03:34:24 heycam: what was the outcome of the previous discussion? 03:34:32 krit: we talked about clipping both 03:34:35 ... but that is the most limiting 03:34:41 ... do we want to change this? or keep it as it is? 03:35:11 heycam: I say just keep our previous decision 03:35:17 shepazu has joined #svg 03:35:17 ed: alternative is to add some control over it 03:35:21 krit: don't think that's necessary 03:35:34 RESOLUTION: Filter primitives will clip both input and output. 03:35:42 krit: issue 11 03:35:54 ... should we add all remaining blend modes from Compositing? 03:36:07 ... feBlend has certain blend modes 03:36:11 ... Compositing has more 03:36:13 ... do we backport them? 03:36:30 heycam: I think so 03:36:32 ed: yes 03:36:50 krit: I'd like to have a wiki page with all features that aren't in Filters but we might want to deal with in the next level 03:37:07 ... I'd like to defer these to the next level 03:38:38 krit: there was also a request to backport all the Compositing modes from that spec to feComposite 03:38:54 ... but we removed compositing from CSS 03:39:04 nikos: the extended porter-duff isn't in level 1, deferred to level 2 03:39:12 cabanier: but it is in there for canvas 03:39:20 ... you can do all the porter duff with the current keywords 03:39:41 ... so I think you should just close this issue 03:39:52 shepazu: whenever I talk to developers/designers, who really want compositing 03:39:59 ... what was the rationale for deferring this? 03:40:05 krit: they really want blending, rather than porter duff 03:40:16 shepazu: what was the rationale for not putting it into this level? 03:40:31 cabanier: it was impossible to implement in the way that you expect it 03:40:33 ... we're working on it 03:40:41 ... I think the browsers are all upgrading their compositors 03:40:49 ... we still get pushback because it's much more complex than it first seems 03:41:11 ... but we're slowly moving towards getting it working 03:41:16 nikos: and the blend modes have been implemented 03:41:46 shepazu: what's the timeframe for porter duff? 03:41:59 cabanier: we'll start working on the level 2 spec as soon as this one goes out 03:42:08 cabanier: for blink, it'll probably be 1 year out 03:43:22 cabanier: it's not technical issues, but it's convincing people 03:43:25 shepazu: a matter of resources, ok 03:44:22 RESOLUTION: We will defer the addition of the Compositing spec's blend modes to feBlend. 03:44:41 krit: issue 12, this is one together with issue 14 from Tav 03:44:54 ... he is saying at the moment if you don't specify anything for in2="", in Firefox/WebKit the filter operation doesn't work 03:45:05 agenda+ svg logo 03:45:06 ... but he expects in2="" to use the same as in="" 03:45:48 ... looks like some implementations do so 03:45:59 ... I think the spec text meant just that the syntax is the same, though 03:46:51 heycam: should the whole filter fail if you leave off in2? 03:46:57 nikos: or should the input 2 be transparent? 03:47:21 ... I think it makes sense for it not to be optional 03:47:52 krit: so Firefox and Blink make the whole filter invalid when you leave off in2 03:48:00 ed: the whole filter? 03:48:03 ... or just that primitive? 03:48:19 krit: actually not sure 03:48:43 ed: maybe one thing Opera did that the others didn't was to come up with lacuna values, so use something in most cases 03:48:48 ... that might be the reason why it's rendering something 03:48:56 ... that was never defined for Filters, since they weren't in 1.2T 03:49:09 krit: sounds like most people think the filter primitive should be invalid in this case? 03:49:30 RESOLUTION: Filter primitives that take in2="" are invalid if in2 is not specified. 03:50:22 Rossen__ has joined #svg 03:50:22 http://tavmjong.free.fr//INKSCAPE/MANUAL/images/FILTERS/Filters_SolarFlare.svg 03:50:25 http://tavmjong.free.fr//INKSCAPE/MANUAL/images/FILTERS/Filters_SolarFlare.svg 03:52:29 s/RESOLUTION: Filter primitives that take in2="" are invalid if in2 is not specified.// 03:52:50 krit: we'll delay this for a week to see if IE people have an opinion, since they don't treat it as invalid 03:53:18 krit: issue 13. some time ago we decided feBlend just to do blending, at the moment is does blending and compositing 03:53:23 ... if you want to have that, we'd need to decide on a keyword 03:53:33 ... I don't think is important 03:53:57 ... though we resolved in Tokyo to have it, we didn't resolve on a name 03:54:24 cabanier: how long will the spec be before CR? 03:54:30 ... two years out? 03:54:37 ... we could put it in 03:54:43 krit: then we should choose a name 03:55:04 ... XML doesn't allow attributes without values 03:55:11 heycam: you do abc="" or abc="abc" 03:55:39 krit: this attribute would switch between blending with or without compositing 03:55:53 Boolean attributes in HTML just give the attribute the empty string as value. 03:56:22 Please no boolean words. 03:56:58 http://dev.w3.org/fxtf/filters/#feConvolveMatrixElementPreserveAlphaAttribute 03:57:19 heycam: we could also stick another keyword in the mode="" attribute 03:57:23 ... to disable the compositing 03:58:15 krit: mode="darken no-composite"? 03:59:52 ... or mode="darken src-over" vs mode="darken src"? 04:00:15 myakura has joined #svg 04:00:20 nikos: saying "src" still implies there's a compositing operation 04:01:00 ... if you used Compositing & Blending 'src' for the composite operation, and a blend operation, you'd get a different result 04:01:13 ... for the two overlapping circles, you'd have a bit of the circle showing up 04:01:21 ... if you want to blend without compositing, you kind of want to draw both 04:01:23 cabanier: no 04:01:29 ... you want to avoid contributing the backdrop twice 04:01:56 nikos: I think it might be confusing in the future when you have the other method of compositing 04:02:06 nikos: I think you should be clear there's no compositing at all 04:02:21 ... since we're going to add compositing, I think it would be confusing 04:02:43 cabanier: the intent is for canvas compositing and css compositing that you can specify blending & compositing, combining the 2 keywords 04:02:52 ... if we do it in this filter, it would be consistent with that 04:03:03 ... though today it would be a bit odd, having only "src" and "src-over" 04:03:06 nikos: discuss on the ML? 04:03:07 krit: ok 04:03:37 krit: issue 15, feConvolveMatrix and fe lighting are device pixel dependent 04:03:45 ... you kind of make it independent using kernelUnitLength 04:04:05 ... but unless you create a filter primitive only for a single element, you can't really do that 04:04:19 ... you can't generalise it 04:04:43 ... my question is, if you want to specify that instead of kernelUnitLength that it always works on device pixels, you always have clear results, but is highlight device dependent 04:04:48 ... depends on the pixel density 04:05:05 ... otherwise you could do it in the user space of the element 04:05:09 heycam: where one unit = one pixel? 04:05:11 krit: yes 04:05:20 ... pixellated results, but it's consistent 04:06:23 krit: I'm fine with having kernelUnitLength in the spec for now, with a note saying it may change in the future 04:06:25 ... but without a solution yet 04:06:38 ed: fine with me 04:06:59 RESOLUTION: We will keep kernelUnitLength but add a note explaining why it's not great, and that we may have something different in the future. 04:07:04 krit: issue 16 & 17 are related 04:07:22 ... issue 16 the whole para is differing between high res and low quality implementations 04:07:26 ... we discussed yesterday about that 04:07:33 ... I don't think we should differ between them 04:07:56 ... in general, we should allow implementations to scale the whole filter operation if it couldn't be computed otherwise 04:08:00 ... if it would run out of memory etc. 04:12:23 krit: I would like to discuss about image-rendering in general 04:12:38 ... about whether certain kinds of interpolations are required or not for "high quality" or not implementations 04:12:53 heycam: do you want to require a particular kind of scaling here for filters? 04:12:56 krit: no 04:13:07 heycam: how about remove the last two sentences there altogether? 04:13:08 krit: ok 04:13:46 image-rendering puts only the barest of requirements on what is required. 04:14:07 At the lowest level, you can do linear-interpolation for "auto" and nearest-neighbor for the other two. 04:14:18 When the image must be resampled, it is recommended that high quality viewers make use of appropriate interpolation techniques, for example bilinear or bicubic. Depending on the speed of the available interpolents, this choice may be affected by the ‘image-rendering‘ property setting. 04:14:27 (Actually, you can do nearest neighbor for "auto" if you need to.) 04:14:27 sentence from current spec 04:14:34 ed: so you're saying image-rendering should not affect the scaling? 04:14:38 krit: for us it doesn't 04:14:54 ed: so it shouldn't be allowed to 04:14:55 ? 04:15:01 krit: it's a MAY 04:15:04 ed: I don't have a strong preference 04:15:07 ... it is a hint anyway 04:15:31 krit: what do you think about the first sentence? 04:15:35 ed: the first sentence can go 04:15:41 krit: because image-rendering also specifies bilinear 04:17:31 krit: I'd also like to put that whole sentence and put it at the start of the para 04:17:42 krit: I'll come up with a proposal for changing the wording here 04:18:01 krit: issue 18 is a result of a previous resolution of input/output clipping 04:18:05 ... don't need to discuss that now 04:18:13 ... issue 19 is also related to that, I need to look into it 04:18:36 ... issue 20. it's about feImage and images that don't exist or are blocked. what should happen? 04:18:48 ... I think the whole filter chain should fail 04:20:09 heycam: what happens if the 404 response is an image? 04:20:31 ... should the feImage still work on the 404 image response? 04:20:45 ... if a normal element displays a 404 image response then it should work here 04:23:47 krit: the 404 image is trying to say there is something that should be displayed here, but couldn't 04:23:52 ... I don't want to indicate that the image doesn't exist 04:24:00 ... it might be a computation map for the filter 04:25:45 heycam: so the broken image image that the browser renders shouldn't be the feImage output, I agree 04:25:55 ... but what about if the 404 response from the server had type image/png? 04:26:03 ... *that* behaviour should be the same as 04:26:07 Images defines the concept of an "invalid image" and uses that in a few different ways, depending on th econtext. 04:27:05 http://dev.w3.org/csswg/css-images-3/#invalid-image 04:27:28 krit: can you agree that if you don't get an image back from the server that the whole filter chain fails? 04:27:37 heycam: not sure if the whole chain should fail, or just the primitive 04:27:48 ... or what happens if an individual primitive fails 04:28:12 ed: the question is when do you detect the 404? you could have an feImage inside a filter, that's not used in the filtering 04:28:15 ... just sitting on the side 04:28:20 ... should you still cancel the entire chain? 04:28:50 krit: we generally still proceed with the filter chain if a failing primtiive isn't used in the chain 04:28:58 krit: I suppose it would be the same here for feImage 04:29:17 krit: I will look into it further and propose something 04:29:29 ... continue the remaining issues after lunch; most don't require discussion 04:30:09 -Huangshan 04:30:16 -TabAtkins 04:30:17 Team_(svg)01:28Z has ended 04:30:17 Attendees were Huangshan, TabAtkins 05:04:36 cyril has joined #svg 05:08:56 RRSAgent pointer 05:09:02 RRSAgent, pointer 05:09:02 See http://www.w3.org/2013/11/15-svg-irc#T05-09-02 05:09:25 RRSAgent, draft minutes 05:09:25 I have made the request to generate http://www.w3.org/2013/11/15-svg-minutes.html cyril 05:13:47 RRSAgent, make minutes public 05:13:47 I'm logging. I don't understand 'make minutes public', cyril. Try /msg RRSAgent help 05:34:16 myakura has joined #svg 05:38:53 kuroawa has joined #svg 05:54:41 stakagi has joined #svg 05:57:40 mgylling has joined #svg 06:03:45 Zakim, room for 4? 06:03:46 ok, heycam; conference Team_(svg)06:03Z scheduled with code 26632 (CONF2) for 60 minutes until 0703Z 06:03:48 Zakim, call Huangshan 06:03:48 ok, heycam; the call is being made 06:03:48 Team_(svg)06:03Z has now started 06:03:51 +Huangshan 06:05:08 +TabAtkins 06:06:18 we haven't really started 06:06:22 just an off topic discussion about color 06:07:22 kk 06:07:54 Scribe: Cameron 06:07:57 ScribeNick: heycam 06:08:00 Topic: More filter issues 06:08:23 krit: http://dev.w3.org/fxtf/filters/#issues-index 06:08:27 nikos has joined #svg 06:08:33 krit: issue 18 and 21 are related 06:08:37 ... both are solved by the previous resolutions 06:08:52 krit: issue 22, we talked about gaussian blur before 06:08:59 ... if it has a negative value, we say it's like a null filter 06:09:07 ... erik on the ML asked if we could do the same for feMorphology 06:09:08 ... a year ago 06:09:13 ... might be a good time to decide that 06:09:20 ... even if you have a negative value, it's treated as if it were zero 06:09:32 ChrisL has joined #svg 06:09:39 ChrisL: clamped to zero 06:09:43 krit: we also need to define what zero does 06:10:36 krit: which i've done -- null filter if negative or zero is used 06:12:30 krit: so, identity filter 06:12:33 RESOLUTION: If radius on feMorphology is zero or negative, the filter operates like an null filter (output = input). 06:13:00 krit: issue 23 06:13:40 ... "This filter primitive produces an image which contains the specular reflection part of the lighting calculation. Such a map is intended to be combined with a texture using the add term of the arithmetic method." 06:13:44 Tav wanted to replace "map" with "image" 06:13:51 s/Tav/krit: /Tav/ 06:13:56 nikos_ has joined #svg 06:13:57 krit: I don't agree though, since it is a bump map 06:14:01 cabanier: but a bump map is an image 06:14:33 see http://lists.w3.org/Archives/Public/public-fx/2013OctDec/0137.html 06:14:58 cabanier: does it make a difference if it's required? 06:15:08 ... is the result intended to be used, or is required to be used? does it make a difference? 06:15:39 heycam: you need to combine it explicitly 06:16:08 ... so it's "intended", because you should feMerge the output of the lighting fliter with the thing you are lighting 06:16:12 ... to get the intended effect 06:16:23 ... but you are not required to put that additional feMerge, of course 06:18:20 heycam: I'm surprised if browsers differ in how they handled the lighting filter output if it's not merged with the original input, as Tav says 06:18:48 ACTION: Dirk to investigate how lighting filter outputs work when not composited on top of the original thing being lit 06:18:48 Created ACTION-3547 - Investigate how lighting filter outputs work when not composited on top of the original thing being lit [on Dirk Schulze - due 2013-11-22]. 06:19:17 krit: issue 24. clamping the feTurbulence numOctaves. firefox clamps it to 10. 06:19:52 ChrisL: so it's diminishing returns with higher octave values? 06:19:53 ed: yes 06:19:57 heycam: is it fine to choose 10, really? 06:20:11 ChrisL: it would be nice to see in non-clamping implementations what the visual effect is 06:20:21 ed: Presto clamped, can't remember what number 06:20:28 ed: I have some examples written up to show this 06:20:43 Assuming there's example code, it would be easy to demonstrate in canvas. 06:20:54 TabAtkins, there's pseudocode in the spec... 06:21:06 glenn_ has joined #svg 06:21:06 ACTION: Erik to find his numOctaves examples to find out what a good number to clamp to is 06:21:06 Created ACTION-3548 - Find his numoctaves examples to find out what a good number to clamp to is [on Erik Dahlström - due 2013-11-22]. 06:21:33 Ah, yeah, the spec has C code. 06:22:45 krit: issue 25. this and the next issue is determining "distance" between filters, for additive animation 06:22:51 ... for paced animation 06:24:23 shepazu has joined #svg 06:24:59 http://lists.w3.org/Archives/Public/public-fx/2013JulSep/0094.html 06:26:37 heycam: I agree with my previous proposal 06:27:40 glenn has joined #svg 06:28:07 nikos has joined #svg 06:28:47 krit: some of these filter primtiives aren't really linear when you combine them 06:29:09 heycam: I think it's similar to transforms, just concatenate the lists 06:29:14 krit: that's mostly fine 06:29:18 ... some functions are not linear 06:31:46 krit: what if you have "grayscale blur" on one and "blur grayscale" on the other 06:31:52 heycam: doesn't matter, you just concatenate the lists 06:32:34 ChrisL: sounds like the right thing to do 06:32:45 RESOLUTION: Additive animation of filter property works by concatenating the lists. 06:33:02 krit: let's discuss the issue of distance calculations for paced animation of filter on the list 06:33:23 file:///Users/dschulze/Documents/hg/FXTF/filters/index.html#FloodColorProperty 06:33:34 krit: there is one more issue with flood-color and lighting-color 06:34:08 http://dev.w3.org/fxtf/filters/#propdef-flood-color 06:34:26 krit: currently you have ' ' 06:34:38 ... should we refer to css-color-4, which includes icccolor in ? 06:34:53 ChrisL: I'm reluctant to remove it from SVG until it's definitely in CSS 06:35:11 ... when it's in a WD 06:35:35 ... it's better if it's in CSS as well, but there is still pushback and discussion about the syntax 06:35:49 ... however, I talked also with you about needing two types "" things 06:35:54 ... one is everything that can be a color 06:36:05 ... the other is something used for the fallback sRGB color 06:36:09 ... doesn't allow HSL, etc. 06:36:15 ... so we need to be careful which one we're using 06:36:37 ... for flood-color at the end of the day we have that means "all possible color syntaxes" 06:39:57 ChrisL: css-color-3 defines to mean "sRGB colors, HSL colors, etc.", but not ICC colors 06:40:06 ... SVG defines to just mean sRGB colors (and not the functional form) 06:40:14 ... we need to be careful about which one we're meaning 06:40:25 TabAtkins: why do we need a difference between those two? 06:40:38 ChrisL: because in the definition of the larger one you use the smaller one as the "fallback" 06:40:44 ... as it's used in SVG for sRGB fallback 06:41:59 ... we should add an issue in the spec to say we how we'll update when point to css-color-4 06:42:12 ChrisL has joined #svg 06:42:16 krit: I'll do that 06:42:18 Is it for when ICC specifies something outside the srgb gamut? 06:43:33 heycam: it's for when you don't understand ICC colors 06:43:46 ... but also when you use device colors, and you e.g. apply a filter to that element, which needs rgb colours 06:44:19 Topic: use and shadow dom 06:44:27 krit: we decided to use the shadom dom for the use element, in Hamburg 06:44:30 ... the spec hasn't changed yet 06:44:33 ... not sure who has the action yet 06:44:36 ... the biggest problem is the instance tree 06:44:44 ... the Blink people wanted to remove it, and Firefox did not implement it 06:44:49 ... the only other engine that supports it is Presto 06:44:51 ... not sure about IE 06:44:59 ... it might be possible to implement the instance tree on top of shadow dom 06:45:03 ... we're exploring it in Blink 06:45:14 ... I'd like to try to specify use on top of shadow dom, and instance tree on top of shadow dom 06:46:06 heycam: so the instance tree is for navigating over the original nodes really, since there's no cloning going on 06:46:11 ... but for shadow tree, they're cloned nodes 06:46:22 ChrisL: you can modify the shadow dom, but you can also modify the thing that created the shadow dom 06:46:27 ... reflecting both changes in to the tree? 06:46:33 ... or does instantiating losing the link to the original elements? 06:46:38 TabAtkins: that's not true 06:46:43 ... using mutation events we could make it live update 06:46:48 ChrisL: but that's something you need to do manually? 06:46:49 TabAtkins: no 06:46:53 ... we can make that part of how use works 06:46:58 ChrisL: that's kind of how you wanted it 06:47:06 ... changing the original, and it will affect all of them 06:47:44 heycam: so while with Web Components, the author has to do the mutation observers and propagate changes manually, here we should do it automatically in the spec? 06:47:45 TabAtkins: yes 06:47:51 krit: I won't have time to work on that before Jan 06:47:59 ... if we want it to be in SVG2, we'll need to delay 06:48:37 shepazu: we already decided because of the DOM discussions, to delay LC of SVG2 06:48:44 heycam: but we didn't decide to delay our end of year cutoff 06:50:24 heycam: ok, so we've decided to move our cutoff date to the end of the January F2F, but any other items brought up in that F2F we decide to add at that point, we'll give it a couple of months 06:50:48 Topic: Promotion of attributes to properties 06:51:02 krit: who had the action do to this? 06:51:06 s/do to/to do/ 06:51:32 heycam: nobody really 06:51:34 krit: can you do it? 06:51:37 heycam: not sure I really want to 06:52:05 krit: it's a big effort, since we need to decide e.g. how 'auto' applies to 06:52:14 heycam: also I'm still not 100% sure I want to do it 06:52:22 ed: not sure how much it ties in to the SVG sizing discussion 06:52:27 ... width/height on the root element is special 06:52:44 ed: I think Firefox already made width/height on the root special 06:52:49 ... they're presentation attributes more or less 06:52:52 krit: I don't think so? 06:53:00 ed: I think they're separate from the properties 06:53:02 ed: it's kind of both 06:53:08 ChrisL: for many years we pushed that these things were different 06:53:13 ... not the same as width/height properties 06:53:22 ... it was the canonical examples for attributeType="XML/CSS" in SMIL 06:53:38 http://lists.w3.org/Archives/Public/www-svg/2013Oct/0014.html describes the issue 06:53:48 ... then, when MS said they'd only do animation of properties, and we discussed promotion of a whole lot of properties, they got merged 06:53:56 ... there were unresolved issues there though 06:54:01 ... especially around percentages 06:54:27 ... we ended up with something saying you either make a fixed width/height to make it nonscalable, or give me an area to draw in and I'll draw as much as I can 06:54:32 ... 100% in CSS means something different though 06:54:42 ... if we want to make these width/height attributes be the same as the properties, we'd need to redefine them 06:54:47 ... and worry about old content 06:55:00 krit: the only thing that needs to be clear is that width attribute and property are the same 06:55:10 ... for 'auto' you could say that it defaults to 100% 06:55:16 ChrisL: auto-magic 06:55:26 ... and what does 100% mean explicitly? 06:55:38 krit: same as on a div 06:55:44 ChrisL: of the containing block? 06:56:04 ... if I say is my SVG the whole CSS canvas width? 06:56:27 dbaron: it refers to the containing block width 06:56:40 ... which is mostly the content edge, but for many abs positioned objects it's the padding edge 06:57:07 ChrisL: if we do have content that is used in HTML, and it has an explicit width="100%", which is common from authoring tools, what does that change? 06:57:54 ... seems like 100% would mean 100% of the cb width 06:58:08 ... what about for height? 06:58:20 dbaron: [ missed ] 06:59:06 ChrisL: we don't want all SVGs getting 300x150 06:59:10 krit: that's what happens in Firefxo 06:59:14 dbaron: didn't we sort this out? 06:59:25 krit: at that point, we still had separate width/height attributes from properties 07:00:06 dbaron: I think what we worked out needed those to be different things 07:00:22 ChrisL: so do we have to join these two things? 07:00:26 heycam: yeah maybe not... :) 07:00:53 heycam: even if we promote a bunch of things, we can just keep width/height attributes on special 07:01:12 ChrisL: not being able to animate them with CSS isn't a great problem 07:03:34 Rossen__ has joined #svg 07:03:56 heycam: if we *do* do the promotion of attributes, SVG2 is the time frame to do it! 07:05:40 krit: so the main reason is to have CSS animations/transitions on it 07:05:42 shepazu: is that still necessary? 07:06:02 ed: it would be nice to be able to animate width/height on a rect using CSS animations 07:06:18 ChrisL: sure, but some of these like cx/cy/r -- every element now has these properties? 07:06:30 krit: alternative was to have new property names 07:06:54 shepazu: an alt alt proposal -- why can't we just make CSS animations applying to attributes? 07:07:06 ChrisL: because attributes are sacrosanct! /s 07:08:23 heycam: initially we considered a proposal where you could just target the attributes somehow in CSS animations 07:08:43 ChrisL: selecting attributes in CSS is a thing that's recently come up 07:09:15 dbaron: it's the property more than the selector, though 07:09:26 shepazu: Tab had a proposal for Attribute Sheets... 07:09:30 krit: that's a different thing 07:09:50 TabAtkins: it's for setting a bunch of attributes at once 07:11:13 heycam: I feel like it's a smaller change to allow targetting of attributes in the CSS animation 07:11:17 TabAtkins: but a larger change in implementations 07:13:04 ChrisL: what's the implementation status? 07:13:07 heycam: don't think anyone did anything 07:13:23 krit: so we wait for implementations first then specify? 07:13:30 ChrisL: was just wondering whether they did make any impl progress 07:13:33 krit: no, nothing 07:13:43 ChrisL has joined #svg 07:13:52 ChrisL: I'm fine with promoting attributes to properties if they're genuinely properties 07:13:56 ... if they apply to different elemetns 07:14:01 ... having a radius on everything seems weird 07:14:14 heycam: there's a reason they're attributes to begin with... 07:14:44 ChrisL: [explains history of choice between attributes and properties] 07:15:23 krit: let's talk about later 07:15:56 Topic: load events in SVG 07:16:11 ed: I recently began working on a patch to remove eRR from blink 07:16:17 ... in doing that, I discovered that load event handling was strange 07:16:26 ... I would like to make the way that load events work more similar to how it works in HTML 07:16:32 cyril_ has joined #svg 07:16:32 ... this is basically a bunch of proposals to do that 07:16:37 http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/load-events/ 07:16:45 ed: first we should use a simple event called "load" 07:16:51 ... right now we have SVGLoad 07:17:02 ... it seems if you compare what impls are doing now, some of them send SVGLoad, some send load, some send both 07:17:10 ... at least you do get load events... 07:17:17 ... it would be more consistent to use the same one as in html 07:17:34 heycam: is it unlikely people are doing addEventListener("SVGLoad')? 07:17:36 ed: I think so 07:17:40 ... I have some examples ... 07:17:41 http://dahlström.net/svg/events/load-events/ 07:17:50 ... couple of test files 07:18:02 ... I don't feel the need to go through those examples now 07:18:27 ed: for #3, why originally did we make everything fire load events even when not loading external resources? 07:18:38 ed: I think it was for progressive rendering, which was defined in terms of when things were loaded 07:18:46 cyril_: you could also trigger an animation based on that load 07:18:48 ed: true 07:18:53 ... how is that different from parsing? 07:18:57 cyril_: in terms of timeline that's not the same 07:19:11 ... if you load an element 30s after the beginning of the document, because your connection is slow, ... 07:19:18 ChrisL: I think the load event is fired once it's rendered, not parsed 07:19:21 ed: that's not how it works 07:19:27 ... at least, not my understanding of it 07:19:41 RRSAgent, pointer 07:19:41 See http://www.w3.org/2013/11/15-svg-irc#T07-19-41 07:19:44 ... currently, you parse and then go through and see which elements have a listener for it, only fire if it does 07:19:49 ... then you do have to get the order right 07:20:01 ... so there is a function called to go through the tree upwards and make sure the load events get to the root 07:20:11 ChrisL: so your proposal #3 says that's not useful and can be removed? 07:20:16 ed: if we could remove that, it'd be more similar to html 07:20:26 RRSAgent, make minutes public 07:20:26 I'm logging. I don't understand 'make minutes public', heycam. Try /msg RRSAgent help 07:20:29 RRSAgent, help 07:20:51 RRSAgent, set logs public 07:21:00 ChrisL has joined #svg 07:21:15 ed: I don't think any viewers wait for a load event to do rendering 07:21:46 RRSAgent, pointer? 07:21:46 See http://www.w3.org/2013/11/15-svg-irc#T07-21-46 07:21:56 ed: the proposal #3 is to fire only the load events if you have an external reference to something 07:22:14 ed: another interesting thing is if there are errors, or the link is a 404, then some viewers send both load and error events 07:22:17 ... which is a bit strange 07:22:23 ... in HTML, the element sends either load or error 07:22:27 ... but not both 07:22:31 ... I think we should do the same thing 07:22:35 ... also use "error" and not "SVGError" 07:22:41 ... same with some other SVG* events 07:23:25 heycam: for firing load events only when external resources are needed, does that include e.g. 'fill' with an external paint server? 07:23:27 ed: no 07:23:34 ... though I haven't tested what's done tehre 07:23:47 ed: I'm surprised that Firefox doesn't send load for at all 07:23:50 ... only the root 07:24:05 ... judging by that, hopefully there's not much content relying on getting load events there 07:24:16 heycam: this all makes sense to me so far 07:25:12 RESOLUTION: We will only dispatch "load" event to elements that have a non-style related external reference, and never "SVGLoad". 07:25:22 heycam: we should check what HTML does for common elements like script, style, etc. 07:25:55 ed: #7 is something that is a bit more interesting 07:26:07 ... currently, in Blink, we fire the load event on elements before actually completing the load 07:26:12 ... so it's like a parse time load, not everything done load 07:26:19 ... which sort of doesn't make sense to me 07:26:26 ... and you have to set eRR="true" to make it wait 07:26:29 ... I think the spec was a bit unclear 07:26:40 ... maybe with some reading of it you could say that's correct... but it's not what I'd expect as an author 07:26:58 ... I don't think that's necessary to stop rendering, if you don't have the resources, you should just continue 07:27:02 ... don't think we need to say anything special for that 07:27:09 ... possibly I will remove some spec text to address this 07:27:39 cabanier: can you just reference HTML? 07:27:44 ed: it's very complicated there 07:27:50 ... we probably don't need all the quirky cases 07:28:19 ed: one issue I found is listed at the bottom 07:28:27 ... the outermost svg element, whether we should mimic what is doing in HTML 07:28:36 ... if you have onload, it actually sets the window onload 07:28:42 ... is this something we want in SVG? 07:28:47 ... or can we live with normal behaviour? 07:29:36 heycam: do we dispatch load to root svg all the time? 07:29:40 ed: we need to decide that 07:29:46 heycam: if we don't, then we probably do need the auto-forwarding to window 07:29:56 ... since there is lots of content that has onload="" on a root and expects it to fire 07:30:44 heycam: in HTML, does the root (or the ?) always get a load event? 07:30:52 ... if you use addEventListener? 07:30:54 ed: don't think so 07:31:05 heycam: that might argue for doing the window-forwarding 07:31:16 ed: it's probably what we want anyway, as it will wait for all resources to be loaded 07:31:34 heycam: what's the set of events that does forward to window? 07:31:48 ed: onblur, onerror, onfocus, onscroll, ... 07:32:07 heycam: I think we should probably do that then 07:32:30 ed: even for inline svg in html? 07:32:32 heycam: don't know... 07:34:09 ed: is everyone ok with removing the SVG-prefixed events/ 07:34:13 glenn has joined #svg 07:34:13 heycam: just do it, see what happens 07:34:44 ed: for inline svg, is content putting onload="" on that svg fragment root? 07:34:47 s/ed/heycam/ 07:35:03 cyril_: that does mean the events can't be used for animation 07:35:11 ... right now we have this table, with the name of the event, how we can use it 07:35:22 ... we'll need to be careful there, maybe make a list of keywords you can use for triggering animations 07:35:23 ed: sure 07:35:31 ... I think the events will still be there, just not with the SVG prefix 07:36:05 ed: one way to handle the inline fragment, is to have the author just put the listener on the window 07:37:22 ... I think it's not so likely for people to be using onload on the inline fragment root 07:37:44 heycam: can we try not firing the event there? 07:37:45 ed: ok 07:37:54 ... if things break we can figure out a solution 07:37:58 ... it's possible it's not a big problem 07:38:53 RESOLUTION: onload etc. on root will forward to window like HTML, and we will try not firing load on inline SVG fragment roots 07:39:16 ACTION: Erik to do these event cleanups 07:39:16 Created ACTION-3549 - Do these event cleanups [on Erik Dahlström - due 2013-11-22]. 07:43:58 -Huangshan 07:45:00 Was that intentional? 07:48:59 disconnecting the lone participant, TabAtkins, in Team_(svg)06:03Z 07:49:01 Team_(svg)06:03Z has ended 07:49:01 Attendees were Huangshan, TabAtkins 07:49:08 ChrisL has joined #svg 07:49:51 Tomoyuki has joined #svg 08:06:48 Tomoyuki1 has joined #svg 08:09:38 ChrisL has joined #svg 08:09:51 Tomoyuki has joined #svg 08:10:52 kurosawa has joined #svg 08:13:56 Tomoyuki1 has joined #svg 08:14:11 http://wiki.csswg.org/tools/shepherd/specs 08:15:02 Zakim, room for 4? 08:15:04 ok, heycam; conference Team_(svg)08:15Z scheduled with code 26632 (CONF2) for 60 minutes until 0915Z 08:15:18 Zakim, dial Huangshan 08:15:18 ok, heycam; the call is being made 08:15:19 mgylling has joined #svg 08:15:19 Team_(svg)08:15Z has now started 08:15:21 +Huangshan 08:16:22 ChrisL has joined #svg 08:17:21 Topic: zooming and panning 08:17:28 stakagi: I wrote a wiki page 08:17:32 http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/GpuZoomPan#Smooth_Zooming_and_Panning_UX_for_SVG 08:17:33 ChrisL has joined #svg 08:17:44 cyril has joined #svg 08:17:47 stakagi: thomas smailus posted some related input 08:17:49 http://lists.w3.org/Archives/Public/public-svg-wg/2013OctDec/0049.html 08:18:03 stakagi: he added a third paragraph to the wiki page 08:18:08 (Many are manually ....) 08:18:57 krit: you say that many implementations do not implement pan&zoom for svg 08:19:05 ... you mean with fingers? 08:19:13 ... gestures 08:19:40 stakagi: the issues I want to fix are the slowing down of zooming/panning gesture 08:21:04 heycam: so you want a way to "freeze" the rendering so that zooming/panning can occur on the gpu without having to rerender the element at each step 08:21:38 krit: by the way, Cmd+Shift+K works in Blink to do zooming & panning 08:23:17 heycam: so previously I had thought that a better way to support zooming & panning is some way to integrate it with CSS box overflow 08:23:21 ... didn't flesh out any proposal 08:23:35 stakagi: so I want not only the built in browser z&p ux, but doing this from js 08:23:42 ... currently with js you can't do this 08:24:42 heycam: so we have buffered-rendering property 08:24:45 ... which is a hint, but related 08:25:00 ed: which is implemented in blink 08:25:11 heycam: so some people want a stronger indication of when to layerize an element 08:25:17 ... to avoid having to use transform:translateZ(0) 08:25:33 krit: the buffered-rendering property only works for the element in Blink 08:27:10 heycam: I imagine we could have a property which was stronger than buffered-rendering 08:27:26 ... which means "definitely don't re-render this element if only its transform property changes" 08:27:47 stakagi: for this hierarchy of elements, all of the documents should not re-render when zooming and panning 08:28:20 heycam: yes I think that's how it would work 08:28:35 ... if you set it on an element, then anything below that element won't be rerendered if you only change the transform 08:28:57 Tomoyuki has joined #svg 08:30:10 heycam: I think suspendRedraw isn't a great solution for this because it's on SVGSVGElement, but would be good to have on any element 08:30:22 ... also, suspendRedraw was traditionally defined to stop rendering on *any* change, not just on a transform change 08:30:26 ... and the implementation of that was hard 08:30:36 ... can you explain the mentions of the mouse events? 08:31:34 stakagi: that's just an example of how you would use the methods 08:32:08 heycam: I think this could apply to any content, even HTML 08:32:22 stakagi: I prefer it applying to any HTML content, but SVG tends to have heavy content 08:32:31 ... so it's more important with SVG content 08:32:44 ed: I'm not sure what's the best solution 08:32:55 ... to me, it seems a bit strange to add suspendRedraw again 08:33:02 ... I'm not sure if it makes sense to have it on all SVG elements 08:33:08 ... because it still has this "tracking" behaviour 08:33:11 ... which is hard to implement 08:33:19 ... and you still have to worry about all the DOM modifications 08:33:35 ... if it just renders to a bitmap, when does it get updated? 08:33:51 ... to me it sounds similar to buffered-rendering, at least, so why not use that? 08:33:57 heycam: a new value for buffered-rendering? 08:35:33 ed: maybe not ... just make the existing buffered-rendering? 08:35:56 s/buffered-rendering?/buffered-rendering work here/ 08:36:11 cabanier: this could be related to display:clip 08:36:15 s/display/overflow/ 08:37:03 kotakagi has joined #svg 08:37:45 heycam: so is it ok if the element is re-rendered in the middle of the zoom and pan, if you stop moving your fingers? 08:37:52 ... so if there is a chance to re-render, it is allowed? 08:37:59 ... or do you want to require that the re-rendering not happen? 08:38:04 ... as long as that does not produce additional delay 08:38:12 ... until you call unsuspendRedraw (or remove the property) 08:38:13 http://svg2.mbsrv.net/devinfo/devstd/panZoom/ 08:41:14 stakagi: I think it's application dependent 08:41:28 heycam: so maybe two values for buffered-rendering then... the existing one, which means you can re-render if you want 08:41:37 ChrisL: prioritise UI over rerendering 08:41:53 heycam: yes. and another value, which means "never rerender this if you only change the transform until I say to" 08:42:33 ed: is it a good thing to allow the content to fill up graphics memory? 08:42:38 ... it's simple to do, in that case 08:43:04 heycam: what about a best effort? 08:44:00 ed: in the worst case, you could render to a buffer in memory 08:44:21 ed: would the worst case make it slower than it would otherwise be? 08:45:13 heycam: what are the current values of buffered-rendering? 08:45:25 ed: auto, dynamic, static 08:45:46 myakura has joined #svg 08:46:58 heycam: I'm not sure what would be a good name to add for a new value for buffered-rendering 08:49:42 kotakagi_ has joined #svg 08:49:56 kotakagi_ has joined #svg 08:50:00 ChrisL: sounds like a good idea, doing it this way 08:50:10 heycam: and it's consistent with our goal to allow implementing z&p widgets using script 08:50:17 kotakagi_ has joined #svg 08:50:33 stakagi: I think this is not useful only for mapping, but other professional graphics, high precision graphics 08:54:56 RESOLUTION: We will add a new value to buffered-rendering to allow smooth z&p widgets to be created. 08:55:11 ACTION: Cameron to add a new buffered-rendering value to support smooth z&p widgets, per these minutes. 08:55:11 Created ACTION-3550 - Add a new buffered-rendering value to support smooth z&p widgets, per these minutes. [on Cameron McCormack - due 2013-11-22]. 08:55:55 masatakayakura has joined #svg 08:56:08 Topic: SVG Fonts still in SVG2? 08:56:19 ChrisL: Erik argued for keeping SVG Tiny fonts in SVG2 due to the implementation Opera 08:56:26 ... but now Opera uses Blink, that's no longer true 08:56:33 ... given the traction behind SVG-in-OpenType 08:56:41 ... and that SVG Fonts was a short term hack 08:56:57 ... I propose that we get rid of SVG Fonts completely from SVG 2 08:58:01 cyril: what is problematic with removing this is making them on the fly 08:58:07 ChrisL: have you seen roc's font workshop page? 08:58:08 cyril: no... 08:58:45 heycam: [explains how the font workshop works] 09:00:01 link? 09:00:32 http://robert.ocallahan.org/2013/08/svg-in-opentype-progress-update.html 09:00:42 https://github.com/rocallahan/svg-opentype-workshop 09:00:57 http://people.mozilla.com/~roc/animated-SVG-glyphs.webm 09:01:13 shepazu: I still like SVG Fonts, but I don't think we're going to win this fight 09:01:31 ChrisL: I liked SVG Fonts in that they used the same graphics as in the document 09:01:39 ... but we knew it had large limitations in terms of i18n 09:01:48 ... the new proposal uses great new OpenType features 09:02:02 ... the SVG glyphs in OpenType give you both of those things 09:03:16 ChrisL has joined #svg 09:03:20 RESOLUTION: We will remove the SVG Fonts from SVG2, and informatively point to the SVG-in-OpenType spec. 09:03:31 ACTION: Cameron to remove SVG Fonts from SVG2. 09:03:31 Created ACTION-3551 - Remove svg fonts from svg2. [on Cameron McCormack - due 2013-11-22]. 09:06:42 Topic: F2F schedule for 2014 09:07:20 ChrisL: so we have Seattle in January 09:07:30 ... maybe Winchester in August, next to Graphical Web 09:07:48 shepazu: TPAC will be at the end of October next year, in Santa Clara 09:08:23 ... we should meet at TPAC 09:08:29 ... we should request to have our sessions on the first 2 days 09:09:25 (where is winchester?) 09:09:47 UK 09:09:48 south england 09:09:55 Ah, cool. 09:10:02 shepazu: we should do a meeting with local developers 09:10:10 heycam: so we did the survey asking about number of meetings next year 09:10:21 ... there was an even split between 3 and 4 meetings, in the responses 09:10:32 http://www.w3.org/Graphics/SVG/WG/wiki/Meetings#F2F_Meeting_Information 09:10:41 ChrisL has joined #svg 09:12:09 ChrisL: where is Libre Graphics? 09:12:12 ed: Lepzig 09:12:18 s/Lepzig/Leipzig/ 09:12:48 ChrisL: could probably get a meeting room at the conference 09:13:16 krit: I live in Leipzig! 09:13:36 nikos: that's April 2-5 09:14:15 heycam: if we do have 4 meetings, it is pretty evenly spread 09:14:19 3 months between each, approx 09:14:39 so two US, two Europe (no Asia) 09:14:50 krit: before/after these conferences, doesn't matter? 09:14:51 shepazu: right 09:15:29 krit: if we're really serious about the new SVG DOM, we should probably have 4 09:15:37 ChrisL: having nothing between January and August wouldn't be great 09:16:17 +1 Leipzig, +1 Winchester 09:19:37 RESOLUTION: We will have 4 meetings in 2014; Seattle in January, two adjacent to Libre Graphics and Graphical Web, and then TPAC. 09:20:00 disconnecting the lone participant, Huangshan, in Team_(svg)08:15Z 09:20:01 Team_(svg)08:15Z has ended 09:20:01 Attendees were Huangshan 09:20:09 ChrisL has joined #svg 09:20:25 Topic: SVG Logo 09:20:43 shepazu: the guy who designed the HTML5 logo said he'd be willing to make a free CSS logo 09:21:27 ... so, I presented to the CSS WG that we should have a logo 09:21:29 ... they agreed 09:21:41 ... I started a mailing list about logo development and a wiki page about it 09:21:52 ... so we're going to have a meeting with the designer 09:21:59 ... he'll come back with some proposals 09:22:18 ... ultimately, we'll have the logo and release it 09:22:42 ... Dirk asked what about an SVG logo 09:23:08 ... I think it dovetail nicely with releasing SVG2 09:23:20 ... a good opportunity to rebrand 09:24:30 ChrisL: the CSS3 blue shield logo is pretty much the CSS logo 09:25:02 shepazu: so to the CSSWG I said, if anyone from the WG wants to join the conversation they can 09:25:13 ... I don't know if the same guy would also be willing to do a free SVG logo 09:25:51 I'm pretty sure Tantek nailed the CSS logo years ago: http://girliemac.github.io/presentation-slides/html5-mobile-approach/images/css-is-awesome.png 09:26:02 TabAtkins++ 09:26:52 -- meeting closed -- 09:27:10 -- meeting reopened briefly! -- 09:27:15 Topic: paint-order naming 09:27:34 ed: can we resolve on keeping the paint-order property name? 09:27:49 krit: didn't the CSSWG object? 09:28:08 heycam: in the end they said they can't think of a better name, so we can use it 09:28:29 RESOLUTION: We will settle on paint-order property name as is. 09:28:43 Topic: pointer-events:boundingBox 09:28:58 ed: the keyword can change; I'm interested in the functionality 09:29:52 ed: so should we back/forwardport this to SVG2, since we're not going to rely on CSS UI defining it? 09:29:59 ed: it'll be slightly different from in Tiny, it was too limited 09:30:01 ... missed some nice use cases 09:30:17 RESOLUTION: We will forward port pointer-events:boundingBox from 1.2T to SVG2. 09:30:24 ACTION: Erik to add pointer-events:boundingBox to SVG2. 09:30:25 Created ACTION-3552 - Add pointer-events:boundingbox to svg2. [on Erik Dahlström - due 2013-11-22]. 09:30:29 -- meeting really closed! -- 09:30:51 yup yup! 09:30:53 http://www.shenzhenparty.com/ferry/shekou-hong-kong 09:31:08 RRSAgent, make minutes 09:31:08 I have made the request to generate http://www.w3.org/2013/11/15-svg-minutes.html heycam 09:31:51 Present: Cameron, Doug, Brian, Satoru, Jun, Nikos, Chris, Cyril, Erik, Dirk, Rik, Tab 09:31:55 Chair: Cameron 09:32:02 RRSAgent, make minutes 09:32:02 I have made the request to generate http://www.w3.org/2013/11/15-svg-minutes.html heycam 09:32:18 stakagi has joined #svg 09:33:35 train journey planner 09:33:36 http://www.mtr.com.hk/eng/getting_around/aestations_hk.html 09:35:59 glenn has joined #svg 10:18:44 Rossen__ has joined #svg 10:46:37 glenn has joined #svg 10:58:10 myakura has joined #svg 11:46:55 glenn has joined #svg 11:48:33 glenn_ has joined #svg 11:58:36 myakura has joined #svg 12:59:01 myakura has joined #svg 13:33:05 glenn has joined #svg 13:59:29 myakura has joined #svg 14:59:54 myakura has joined #svg 16:00:19 myakura has joined #svg 17:00:46 myakura has joined #svg 18:01:08 myakura has joined #svg 18:16:53 kotakagi has joined #svg 18:34:21 myakura has joined #svg 18:36:16 thorton has joined #svg 19:13:28 kotakagi_ has joined #svg 19:38:59 kotakagi has joined #svg 19:46:08 kotakagi_ has joined #svg 21:26:13 myakura has joined #svg 22:30:57 myakura has joined #svg 22:36:42 thorton_ has joined #svg 23:31:22 myakura has joined #svg