22:01:16 RRSAgent has joined #svg 22:01:17 logging to http://www.w3.org/2013/02/07-svg-irc 22:01:18 RRSAgent, make logs public 22:01:19 Zakim has joined #svg 22:01:20 Zakim, this will be GA_SVGWG 22:01:20 ok, trackbot, I see GA_SVGWG(SVG1)4:00PM already started 22:01:21 Meeting: SVG Working Group Teleconference 22:01:22 Date: 07 February 2013 22:01:48 Zakim, code? 22:01:48 the conference code is 7841 (tel:+1.617.761.6200 sip:zakim@voip.w3.org), heycam 22:02:12 Chair: Cameron 22:02:36 Zakim, remind me in 8 hours to test the web forward 22:02:36 ok, heycam 22:02:54 + +61.2.937.4.aabb 22:03:00 RRSAgent, this meeting spans midnight 22:03:00 Zakim, who is on the call? 22:03:00 On the phone I see +1.408.536.aaaa, +61.2.937.4.aabb 22:03:11 cabanier has joined #svg 22:03:55 Cyril has joined #svg 22:04:07 scribe: Cyril 22:04:12 krit has joined #svg 22:04:31 Topic: SVG in OpenType spec proposals 22:04:44 scribeNick: Cyril 22:05:33 nikos1 has joined #svg 22:08:43 + +1.781.970.aacc 22:08:49 Zakim: who is on the call? 22:08:54 Zakim, who is on the call? 22:08:54 On the phone I see +1.408.536.aaaa, GoogleMeetingRoom, +1.781.970.aacc 22:09:18 nikos has joined #svg 22:10:15 Vlad has joined #svg 22:11:21 -GoogleMeetingRoom 22:11:30 Zakim, who is on the call? 22:11:30 On the phone I see +1.408.536.aaaa, +1.781.970.aacc 22:11:36 +??P16 22:11:43 Zakim, ??P16 is GoogleMeetingRoom 22:11:43 +GoogleMeetingRoom; got it 22:12:04 zakim, aacc is Vlad 22:12:04 +Vlad; got it 22:12:32 heycam: as a bit of background, we met with Sairus a year ago at Microsoft and we discussed in persons 22:12:40 ... some issues regarding the SVG in OpenType proposal 22:12:48 ... I recently started looking at it 22:12:56 ... in the meantime Sairus has suggested some spec text 22:13:14 ... and I thought a good way to engage and resolve differences was to write down what we have in our implementation 22:13:25 ... and start to converge both proposals 22:13:32 ... I'm not looking for any decision today 22:13:38 ... I don't want to publish 22:13:57 ... now 22:13:58 AlexD has joined #svg 22:14:10 ... edwin who worked on the implementation as an intern 22:14:16 ... wrote down the behavior that we have 22:14:26 ... last week I turned the description more like a spec 22:14:35 ... and sent it to the list last week 22:14:37 http://dev.w3.org/SVG/modules/fonts/SVG-OpenType.html 22:15:40 That's Edwin's and my write up. 22:15:42 http://lists.w3.org/Archives/Public/public-svgopentype/2012Aug/att-0000/SVG_in_OpenType_WD_2012-08-07.pdf 22:15:46 That's Sairus' write up. 22:17:02 heycam: I think they are not terribly different 22:17:06 ... there are a few main differences 22:17:11 ... I've not listed them 22:17:18 ... do you want to discuss them? 22:17:29 krit: the number of SVG documents is a good start 22:17:49 heycam: I think Robert said on the ML and gave some reasons to support multiple documents 22:18:05 ... in our proposal you have an index of byte ranges that correspond to each document 22:18:14 ... and you indicate which range of glyphs are in the document 22:18:20 nick: sairus 22:18:53 ... I believe in Sairus' proposal there is a single offset/length pair to indicate where the single compressed document is 22:19:00 sairus: I sent a report 22:19:00 s/krit/sairus/ 22:19:18 sairus: the pros and cons of the multiple svg documents 22:19:21 ... has been discussed 22:19:34 ... and a new pro was subsetting glyphs 22:19:56 ... I think the multiple svg documents approach has multiple pros (multiple dictionnaries ...) 22:20:08 ... emoji in one document 22:20:13 ... latin in another document 22:20:32 ... the issue of timeline has been brought against, not to go 22:20:52 ... I don't know how you feel about the timeline stuff in the proposal from last Friday 22:21:03 ... If we go with multiple documents it is fine with me 22:21:11 heycam: the main advantage I can think of 22:21:23 ... splitting avoids the overhead of having one document running 22:21:34 ... for all of the glyphs in the document 22:21:49 ... you probably want to split the document to reduce the number of glyphs active 22:22:11 sairus: I can imagine big fonts and relate problems 22:22:22 AlexD: you can also cache easily 22:22:36 ... caching part of a document is different 22:22:58 cabanier: the proposal is not to have one document per glyph? 22:23:16 heycam: not explicitely, it would be good to have guidelines to explain how to structure documents 22:23:27 cabanier: yes because resource sharing is a problem 22:23:38 heycam: resource sharing is not adressed in my document 22:24:08 ... there would be no way to share across documents, we could define extra tables with URI (blob or multi part) 22:24:15 ... I'm not sure it's worth at this point 22:24:36 AlexD: there is no problem with the one document approach, but it's more work to use existing font cache 22:24:52 krit: I'm not sure the font engine would be used for SVG 22:25:01 AlexD: I would hope they are used, because of performances 22:25:11 ... we should be thinking of speed and performances 22:25:31 heycam: there is a difference between reusing existing font cache mechanism and designing a new one 22:26:09 sairus: by subsettability I meant that you can create a font with just 5 glyphs 22:26:15 ... for embedding in another document 22:27:03 heycam: I remember us dicussing that last time, in one document, subsetting changes the document order and so style might be affected 22:27:07 ... it's not trivial 22:27:17 cabanier: what kind of style would be affected ? 22:27:32 heycam: nth child 22:27:41 s/heycam/AlexD/ 22:27:55 cabanier: I thnk the font should be independent of the number of child 22:28:09 heycam: the styling of any element shouldn't change if you remove any element 22:28:19 cabanier: yes, maybe 22:28:36 cabanier: if you use the 5th letter, it's not going to be the 5th child 22:28:56 heycam: but presumably you are writing styles because they make sense with the document 22:29:10 AlexD: that should be strongly discouraged 22:29:34 heycam: the work to be done wouldn't be too bad 22:29:54 sairus: subsetting complexity is already there in truetype 22:30:13 ... a subsetter has to follow dependencies in truetype 22:30:30 ... guidelines for SVG may be needed, but you have to take TrueType complexity into account 22:30:39 cabanier: I don't think there is an issue with the order 22:31:03 heycam: I would be happy with a warning to authors to avoid styling documents that change with order 22:31:05 dmitry has joined #svg 22:31:13 ... and also warn them to do subsetting properly 22:31:50 cabanier: what happens if you open that svg file 22:31:59 heycam: you could set the viewport to view something 22:32:18 heycam: you could structure your document to view the svg in some way 22:32:26 cabanier: or use style= display none 22:32:38 heycam: display none on an ancestor of the glyph definition 22:32:57 ... I woud want to behave just like use 22:33:19 ... use elements are displayed even if display none is set on the referenced ancestor 22:34:03 heycam: one of the big differences btw the 2 proposals, is that you have it compressed, we don't 22:34:25 ... what happens when you serve a document, it may be compressed 22:34:29 AlexD: WOFF is compressed 22:34:58 sairus: any place fonts can be embedded there are ways to compress with more than WOFF or HTTP compression 22:36:15 AlexD: we should mandate compression if we allow it, it shouldn't be optional 22:36:18 heycam: agree 22:36:29 ... It might make it difficult to pass to the XML parser 22:36:41 ... you have to allocate the uncompressed version in memory 22:36:53 AlexD: no you decompress it and stream it to your parser 22:37:13 heycam: I don't have any fundamental objections with having the tables compressed 22:37:20 ... I assumed it was simpler not to 22:37:48 nikos: one of the other differences is the SVG glpyh class 22:37:52 ... this is a nice thing 22:38:02 heycam: yes this is the other major difference 22:38:20 nikos: it allows you to know if the glyph is present without loading the file 22:38:28 sairus: it is a cache 22:39:30 sairus: I defined it to know which glyphs were defined with SVG in this font 22:40:02 ... you could imagine clients that don't support animation would appreciate to know it upfront 22:40:18 heycam: our table has index entries to say which documents cover which glyphs 22:40:36 ... it doesn't say if the glyph is there, if it is, it has to be in this document 22:40:41 ... so you'd have to open it 22:40:58 ... the glyph range could be more than the glyphs in the document 22:41:05 ... there might be holes in the range 22:41:20 the table doesn't define the holes 22:41:39 ... say a single document, range 1 to 64000 but with only one glyph in it 22:42:02 sairus: the issue is that it involves calling the svg renderer 22:42:19 ... we should make it simple for clients to take the first step 22:42:35 ... really making it easy, no parsing unless they have too 22:42:40 s/have too/have to/ 22:43:03 heycam: I feel the distinction animated/static and determining if a glyph is there at all are two different things 22:43:18 ... right now, you have to search the glyph id 22:43:28 ... I can see the benefit of having the right range in the table 22:43:48 heycam: I think the sharing is a separate thing as well 22:43:58 sairus: we want to be precise in the index table entry 22:44:10 heycam: I think ti would be better with your proposal 22:45:02 ed: when you define you SVG glyph can you define data coming from the CFF or glyph tables 22:45:20 s/define/reference/ 22:45:27 sairus: go across glyph technologies ? 22:45:41 ... so far they've been seen as mutually exclusive 22:45:50 heycam: no proposal have this feature 22:46:11 sairus: I can see it would be useful, for instance style with CSS normal glyphs 22:46:35 ed: I could see use cases were you want multi colored glyphs without duplicating the glyph data 22:46:46 heycam: it would require special adressing 22:46:54 Cyril: fragment identifiers ? 22:47:19 sairus: it is probably not worth adding the complexity 22:47:28 heycam: I'm sure it would be possible to make it work 22:48:38 Would SVG renderer allow importing binary outline descriptions into XML-based SVG document? IF not, I don't see a use case for this references 22:48:40 Cyril_ has joined #svg 22:48:46 cabanier: is it written that you can't write reference to external resources? 22:48:50 heycam: yes 22:49:16 sairus: could be an extension in the future, not required for v1.0 22:49:19 heycam: (reading vlad's comment) 22:49:45 Vlad: you would need to invert them ? 22:50:27 Vlad: without being able to enforce it, I don't see the use of the reference 22:50:47 heycam: the advantages I could see, is avoiding to duplicate 22:50:53 s/invert/import 22:50:54 ... it's basically an optimization 22:51:14 ... you'd have to define how path animations would work 22:51:31 cabanier: hinting is another thing 22:51:43 ed: I don't think that's what all browsers do 22:52:43 heycam: I feel like it is a reasonnable way to support animated and non animated with the same definition 22:52:54 ... you render the document without the animation element 22:53:16 ... I might have written a tiny example, how you could animate a circle radius to 10 and back 22:53:32 ... for the non animated version, you ignore the animation and render the r attribute base value 22:53:33 s/ I don't think that's what all browsers do/ I don't think all browsers apply hinting if the outlines are fetched for rendering (depending on scale)/ 22:53:49 cabanier: you limit yourself to the non animated case as a snapshot 22:54:07 birtles: you could have a set that turns the glyph to something different at the beginning 22:54:49 sairus: I think both main proposals have converged to having a single glyph definitions and you render the animation or not 22:55:00 ... just like when you print an animated svg document 22:55:21 heycam: people design graphics in this way for viewing animated content in IE 22:55:41 heycam: there is a way to switch on to some different graphics 22:56:07 Cyril: I don't know what we have decided with the snapshotTime 22:56:23 birtles: this requires to apply the animation 22:56:37 AlexD: yes, you need more than a static engine 22:57:24 ... I don't think snapshotTime is a very good tool for that 22:58:09 q+ 22:58:10 heycam: if an app using the font wants to say render the font statically with a snapshot time 22:58:16 ... they'd be able to do that 22:59:10 ScribeNick: heycam 22:59:19 shepazu: when I was reading the font spec… what file are the fonts defined in? 22:59:27 … are they defined in the file that is the font file? 22:59:30 … or can they be external? 22:59:34 AlexD: they would be in the font file 22:59:57 shepazu: it seems almost arbitrary that they need to be in the font file, rather than the document that is being rendered 23:00:22 … what's the limitation that says we can't reference them internally? 23:00:33 … in which case how does this save us anything from SVG Fonts as they are defined? 23:00:48 cabanier: it's backward compatible; the user doesn't know it's SVG 23:00:52 … the font just renders 23:01:01 shepazu: but isn't that also the case with what I said? 23:01:16 cabanier: this is not just for HTML, but everywhere 23:01:57 shepazu: one of the use cases I get mailed off list, is that people like to be able to define the SVG font in the file itself 23:02:32 heycam: the advantage of not having them in the document is to not be able to modify them at runtime 23:02:55 shepazu: it should be explicit in the spec 23:03:13 AlexD: the big reason is to support complex scripts 23:03:20 ... there is no advantage for latin 23:03:31 ... svg fonts can be external documents 23:03:36 scribenick: Cyril 23:03:52 heycam: if there are particular reasons why we are choosing this model, it should be clarified 23:04:02 Vlad: this is not really going to be part of the SVG spec 23:04:11 ... this is going to be in the OpenTYpe spec 23:04:31 AlexD: it opens up the possibility of HTML to use SVG for text 23:04:41 ed: but you can already use SVG fonts with HTML 23:05:08 sairus: next point, I'd like to discuss is 23:05:23 ... so far the Adobe proposal doesn't change the SVG spec 23:05:33 ... we want to ease the burden of implementations 23:05:54 ... there are some aspects of the SVG spec that need to be changed in the Mozilla proposal 23:06:06 ... the glyph id is it absolutely needed ? 23:06:14 ... and the color by number schemes ? 23:06:48 heycam: we've started to add the new paint values inSVG because they are useful in other context (markers) 23:06:57 ... we have new keywords: contextFill and contextStroke 23:07:11 ... you reference the text element that is using the glyph 23:07:27 ... you can use them in the fill or stroke of the glyph 23:07:46 sairus: in the proposal there is a single fill or stroke 23:07:51 heycam: yes, no passing of arrays 23:08:21 sairus: I can have the base of a lower case i be rendered with a color and the dot with another color 23:08:54 heycam: you could define a gplyh with some parts filled in context fill and some other parts to be always red for instance 23:09:30 (what about passing in "parameters"?) 23:09:45 ... you can override with colors specified in the font document 23:09:50 AlexD: what about gradients ? 23:10:07 heycam: contextFill uses the same gradient 23:10:37 AlexD: a gradient right now can be applied to a chunk of text 23:11:02 ... I don't see how you could do that with the glyph based gradient 23:11:27 heycam: we've made it work 23:11:39 ... the rendering of the glyph is not passed to a font engine 23:11:45 ... normal glyphs only 23:11:54 ... svg glyphs we paint them ourselves 23:11:59 http://dev.w3.org/SVG/modules/fonts/SVG-OpenType.html#value-context-fill-stroke 23:12:08 ... so the gradient is smoothly applied to the run of text 23:12:17 ... have a look at example 3 23:12:42 s/contextFill/context-fill/g 23:12:49 s/contextStroke/context-stroke/g 23:13:27 cabanier: that's when the gradient is in the referencing document, and it would be different when the gradient is in the svg glyph document 23:14:04 sairus: we'd like fonts to come with various swatches of predefined colors (extended to opacity ...) that go together well 23:14:19 ... and the tool would offer these color options 23:14:27 ... each of them would have a name id 23:14:34 ... so that the user interface could show them 23:14:48 ... what would it take to do that? 23:15:09 heycam: without having thought about it too hard, using CSS variables could be the way to do it 23:15:18 ... how do you pass them in 23:15:33 ... same thing as parameters 23:15:59 sairus: are you saying the CSS thing could coexist with the context-fill and context-stroke ? 23:17:02 heycam: when you have text in the outer SVG document (SVG text) you can fill and sttroke it. In HTML you can only fill, but there are discussion to have stroking 23:17:11 ... I feel that those 2 operations are special 23:17:26 ... separate parameterized palette entries 23:17:35 Vlad: I support the use case that sairus presented 23:17:39 ... we should make it stronger 23:17:58 ... designers with specific colors in mind, wouldn't want these colors to be modified by the outside 23:18:07 ... just like they don't want the outlines to be modified 23:18:17 heycam: it is totally fine 23:18:38 ... if you specify a fixed color value, that's it, can't be overriden 23:18:45 ... same thing for patterns 23:19:09 sairus: stroking can alter the look of the glyph 23:19:19 ... OpenType doesn't mention stroking 23:19:51 ... OpenType gives an alpha mask and you're free to color it 23:20:07 ... I'm not particularly convinced that context-stroke is useful 23:20:30 heycam: for me, filling and stroking are the basic primitives that you can do to shapes 23:20:42 cabanier: but you won't be able to stroke an svg glyph 23:20:48 heycam: you will 23:21:18 ... you will not stroke the outline 23:21:54 ... you need to construct the document with stroke in it, if you want it 23:22:14 sairus: I'd like to have a place for palette in the font spec 23:22:23 ... I don't think it'll be implemented right now 23:22:42 ... but it needs to be speced 23:22:55 ... what would eb the values 23:23:01 heycam: that's what Leonard asked 23:23:11 ... what we have is very web specifi 23:23:26 ... we need to define what the context is outside of a web context 23:23:38 sairus: you said SVG has color spaces ? 23:23:47 heycam: CMYK, spot colors .. 23:24:05 ... in SVG 2, there is a new color syntax to refer to ICC colors, LAB, ... 23:24:16 ...I'm not sure all of that will be implemented in browsers 23:24:29 ... you can have a fallback sRGB 23:24:45 cabanier: the browser would not have to render the spot color, but a printer would 23:24:53 sairus: how would it look like 23:25:21 Cyril: you can use solidColor to make palettes 23:25:23 https://svgwg.org/svg2-draft/color.html 23:25:50 https://svgwg.org/svg2-draft/pservers.html 23:26:16 heycam: you can reference colors by name (gradient, patterns or solid colors) 23:26:34 ... I'm not sure that would be the best way to do it: defining set of names controlled by the outside 23:26:45 ... there is a proposal for parameters 23:26:58 ... that could be better or some information in the table header 23:27:19 q+ 23:27:22 sairus: that is one way SVG would be extended 23:27:30 ... but not only for fonts, right? 23:27:45 heycam: we've added taht to the main SVG spec, because they are useful in other situations 23:28:01 ... markers to be style the same way as the objects they are put on 23:28:26 sairus: what about glyph id 23:29:43 ScribeNick: heycam 23:29:49 shepazu: I'm wondering about non-Web contexts 23:30:02 … do we expect SVG glyphs to be used widely in non-Web contexts? 23:30:15 … and what does it mean for these context-* values in non-Web content 23:30:29 … there's a lot of stuff to implement SVG, even with the amount that's specified in the SVG-in-OpenType proposal 23:30:33 … are we going to cut that down? 23:30:57 heycam: we haven't really talked about what subset of SVG is required 23:31:16 ... should we annotate glyphs with versions of the svg spec 23:31:53 ... on the web we add new features and old browser do some thing, maybe in font, it could be different handling, I don't knonw 23:32:12 ScribeNick: Cyril 23:32:25 AlexD: are you expecting different engines than web engines ? 23:32:53 heycam: it doens't seem to make sense to not use some existing libraries 23:32:58 Cyril: performances ? 23:33:06 heycam: you can still write your own ? 23:33:14 ... Adobe is using webkit ? 23:33:19 cabanier: not decided yet 23:33:38 ... it would be silly because SVG would be a lot of work 23:33:54 sairus: so far the only restriction of the type of SVG content is secure animated mode 23:34:10 ... I have a feeling it is best to stick to that 23:34:21 ... not have a subset of svg defined 23:34:56 heycam: I would be similarly concerned with other groups subsetting SVG 23:35:15 shepazu: ePub, and ODF really butchered SVG 23:35:23 ... I wouldn't claim it to be really SVG 23:35:47 ... if we do things right, we will be talking to hardware manufacturers 23:36:29 ... we should be open to extra characterization 23:36:59 ... saying this element is not suitable for fonts 23:37:08 heycam: I'm not so concerned 23:37:36 ... for instance foreignObject with HTML is this allowed in fonts ? 23:37:40 AlexD: no 23:37:51 sairus: the SVG integration document should define that 23:38:55 heycam: we should look at the features in SVG and see if they make sense in fonts 23:39:45 sairus: glyph id is the only remaining extension to the SVG spec 23:40:01 heycam: in the Adobe proposal you propose to use the id attribute in a particular format 23:40:07 ... I think it's a bad idea 23:40:13 ... another attribute would be better 23:40:24 ... glyph id does not have effect on how things render 23:40:34 ... it's only used to locate 23:40:45 ... it could be added to the main SVG spec if it is a concern 23:41:29 sairus: OpenType and SVG processing should be separated 23:41:54 AlexD: using straight id, is you can use "use" elements 23:42:04 ... composite glyphs could use use 23:42:18 ... if you use glyph id you need to put both id and glyph id 23:42:47 sairus: the font tool will insure that hte ids are well formed 23:44:31 heycam: we can continue that one on the mailing list 23:44:35 Vlad: agree 23:44:47 ... having both glyph char and glyph id is confusing 23:44:53 heycam: that is a separate issue 23:45:13 Vlad: all processing is based on glyph id, definition additional things will be confusing 23:45:36 heycam: glyph char is unnecessary, only added as a convenience, to avoid looking at the cmap 23:45:48 ... I don't mind one way or the other 23:46:02 sairus: we can discuss color on the list too 23:46:19 heycam: final question, we don't want to continue with 2 documents 23:47:36 sairus: I do see 3 specs: defining the OpenType table (in OFF spec), SVG extensions (in SVG 2 or separate document as a 1.1 extension), Mozilla recording what they implement 23:48:02 heycam: in our spec, there is a description of how to process the SVG 23:48:14 ... where should it go ? 23:49:00 heycam: requirements on implementations behavior in case of error 23:49:26 sairus: if they are not only relevant to SVG in OpenType, they should be in the SVG spec 23:49:34 ... but if they are specific, they should be in OpenType 23:49:53 ... glyph id should be mentionned in the OpenType spec but defined in the SVG spec 23:50:20 heycam: maybe some wording from my spec should go into the OpenType spec maybe 23:51:12 ------ break ------- 23:51:17 - +1.408.536.aaaa 23:51:23 -Vlad 23:52:01 -GoogleMeetingRoom 23:52:03 GA_SVGWG(SVG1)4:00PM has ended 23:52:03 Attendees were +1.408.536.aaaa, +61.2.937.4.aabb, GoogleMeetingRoom, +1.781.970.aacc, Vlad 00:15:41 stakagi has joined #svg 00:15:50 shanestephens_ has joined #svg 00:21:34 scribenick: birtles 00:21:43 topic: next f2f 00:22:05 heycam: csswg have settled on 5-7 June 2013 00:22:08 ... in Tokyo 00:22:25 ... so we want to be there 3-4, and make 5th the day for joint topics 00:23:08 ... so that was our plan, but it was contingent on CSSWG firming up their dates 00:23:37 Cyril: if we need an extra day we could schedule things that are not of interest to CSSWG members on Thurs 00:23:45 krit: everything is of interest to me 00:23:52 heycam: are 2.5 days enough? 00:24:04 krit: should be ok 00:24:44 Cyril: will there be a Web Animations f2f? 00:25:02 birtles: we could have one 00:25:34 shanestephens_: we could have one before then 00:26:30 RESOLUTION: The next SVG F2F will be in Tokyo from 3-5 June 2013 with 5 June being a combined day with the CSSWG 00:28:09 birtles: Mozilla Japan will host, but the day of the 5 June may be at a different location 00:28:24 krit: what about the following f2f? 00:28:44 AlexD: you often get less done at TPAC 00:29:23 stakagi: note that the AC meeting is in Tokyo from 9-11 June 2013 00:29:49 AlexD: the graphical web conference may be in the Bay Area in September 00:30:09 birtles: where is TPAC? 00:30:30 AlexD: Shenzhen, China 00:31:12 heycam: do people think that June, Sept and Nov is too much? 00:31:15 ... I feel like it is 00:31:39 krit: what about a shared/split F2F? 00:32:08 AlexD: I think a lot of people here will be going to the graphical web 00:32:14 ... as opposed to TPAC 00:32:22 heycam: I think I'd prefer to go to TPAC 00:32:30 ... for the interaction with other groups 00:32:41 AlexD: so maybe the graphical web should be decoupled from the wg 00:32:52 ... and just make it more of a web conference: focussed on designers/developers 00:33:02 ... so it might make sense to just to tpac 00:33:31 krit: some of us will have conflicts since we need to attend css etc. 00:33:40 cabanier: I think we can find time 00:34:54 heycam: so is everyone ok to meet at tpac instead of the graphical web? 00:35:09 all: yes 00:35:30 RESOLUTION: The F2F after Tokyo will be at TPAC in Shenzhen, China 00:36:17 TPAC is 18-22 November 00:37:12 topic: Proposed combined Matrix interface 00:37:13 http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/Matrix 00:37:43 krit: this is a shrunken version of the proposal from Dean 00:38:07 ... my questions are: rotate is not correct 00:38:17 ... Dean proposed to have rotateX, rotateY, rotateZ 00:38:27 https://svgwg.org/svg2-draft/coords.html#InterfaceSVGMatrix 00:38:33 ... as separate methods 00:38:44 ... but I would prefer if they were not separate methods 00:39:12 ... the current SVG matrix rotates just around the Z matrix 00:39:16 ... because it's only 2D 00:39:42 ... so it just have one argument 00:39:58 ... Dean's proposal has three arguments 00:40:04 s/as separate methods/as separate arguments/ 00:40:14 ... the problem is how is this compatible with the current SVG matrix? 00:40:17 rotate(x,y,z) 00:40:31 dino: SVGMatrix has just one argument (around the Z axis) 00:40:54 ... but in this proposal has a function of the same name that takes three arguments 00:41:04 heycam: you could overload it 00:41:20 dino: but normally with overloading you remove arguments from the end, not add them at the beginning 00:41:24 Cyril: can you reorder them? 00:41:32 heycam: you don't really want z, x, y 00:41:50 ... SVG uses just z 00:41:52 ... in the three argument version you have x, y, z 00:42:18 dino: the other option is to use rotateAxisAngle 00:42:41 ... instead of rotate(angle, angle, angle) 00:42:52 ... rotateAxisAngle(0, 1, 0, angle) 00:43:23 s/rotate(angle, angle, angle)/rotate(0, angle, 0)/ 00:43:52 shanestephens_: if you have rotate with three arguments it's x, y, z 00:44:01 dino: I much prefer the four-argument form 00:44:12 krit: then there's rotateFromVector(x, y) 00:44:44 heycam: which is already on SVGMatrix 00:45:15 krit: and it's 2d 00:45:29 ... and it transforms the matrix from the centre into the direction of the vector 00:45:36 heycam: it's like apply a rotation from this vector 00:45:58 Cyril: in some 3d languages you give a vector and then you give an angle and rotate around the vector 00:46:23 krit: so in this case you give it a point, and it rotates it there 00:46:32 dino: I call that look-at 00:46:40 krit: but the problem is we need to keep the SVG name 00:46:56 cabanier: does it need to be in the merged matrix too? 00:47:15 krit: we can make rotateFromVector work with 3D 00:47:21 ... by adding an optional 3rd argument 00:47:28 ... it should work 00:47:31 ... but we can't rename it 00:47:45 heycam: the name makes it sound like you're doing something *from* the vector 00:48:01 Cyril: and you also want rotate around vector 00:48:07 krit: it' not in SVG only in CSS 00:48:15 ... I'd like to have it but it's not used a lot 00:48:38 ... Dean's proposal is rotateAxisAngle 00:48:38 ... maybe rotateAroundVector would make more sense? 00:48:44 ... is that ok? instead of rotateAxisAngle? 00:48:50 dino: that's fine with me 00:49:19 birtles: why can't we rename again? 00:49:29 krit: because SVGMatrix would be an alias for this 00:49:42 heycam: not sure if it's exactly aliasing but yes, you might use this in places where an SVGMatrix is expected 00:50:31 krit: rotate with 3 arguments is hard to use (for authors) 00:50:39 ... so it might not make sense to have it at all 00:50:45 ... and just keep rotate around the z axis 00:50:58 shanestephens_: I agree the three argument version is hard to use 00:51:13 krit: but CSS transforms supports x and y (with just one argument) 00:51:21 ... we might want to have that as well to be compatible 00:51:28 nikos1 has joined #svg 00:51:30 dino: but not on this matrix interface 00:51:57 ... if you're diving into matrix, you're doing something complicated 00:52:07 krit: I added skewY and skewX from SVGMatrix 00:52:14 ... but do we want them? 00:52:28 ... I'd rather not add them to the interface 00:52:34 dmitry: I'd like to have rotate around a point 00:52:55 ... like in SVG transform syntax 00:53:05 krit: we could add that 00:53:11 ... but then do we do the same for scale? 00:53:17 ... scale already has 3 arguments 00:53:25 heycam: so add another 3? 00:53:42 dmitry: make them optional and 0 by default 00:53:47 krit: then you have 6 arguments 00:53:58 dmitry: it's a technical toolset 00:54:15 ... as a developer I would really like this 00:54:23 heycam: if we have rotate from vector, then that's another shortcut 00:54:32 dmitry: if we have rotate from vector I really want rotate from point 00:55:00 cabanier: maybe a new attribute on the matrix interface? transformPoint? 00:55:11 krit: that's not what dmitry was asking for 00:55:15 ... that's a global transform origin 00:55:25 ... dmitry was asking for a per-operation transform origin 00:55:45 cabanier: but maybe that's what you want? to use the same transform point? 00:56:20 heycam: it's like how transform origin is not as useful as it could be already 00:56:32 ... once you have a transform chain it's no longer useful 00:56:37 ... in this case you'd have to reset the transform point 00:56:51 ... I think it's pretty common to rotate/scale around a point 00:57:04 dmitry: I don't mind math but not excessive math 00:58:19 krit: do we want rotate with three additional arguments? 00:59:23 ... scale is more complex, because you have 6 arguments 01:00:26 birtles: is it worth considering a 3DPoint interface for the sake of code readability? 01:01:08 krit: I don't mind adding the three arguments 01:01:55 heycam: we already have scaleUniform and scaleNonUniform 01:02:01 ... I think scaleUniform is more common 01:02:09 ... for the common-case where you want to scale uniformly around a point 01:02:36 ... we can leave scaleUniform with a single scale factor and add optional x/y/z arguments 01:02:56 krit: I don't think that's useful to scale by the same amount in each dimension 01:03:08 heycam: I think it's common when you want to, e.g. zoom in, but not deform the world 01:03:22 ... when dmitry is doing a uniform scale he doesn't have to put a zero in 01:03:33 ... or 1 in the case of scale 01:03:54 ... does it make sense to separate uniform and non-uniform 01:03:55 AlexD has joined #svg 01:03:57 cabanier: yes 01:04:06 dmitry: I think it makes simple stuff simple and complicated stuff possible 01:05:28 cabanier: I prefer have a transform point on the matrix, it seems more natural 01:05:53 birtles: what about a point dictionary that you re-use 01:06:01 ... then you can see { x: 0, etc. 01:06:03 heycam: we can make these take different arguments 01:06:13 ... the numbers, a dictionary, a native point etc. 01:07:03 ... it's possible, but not necessarily what we want to do 01:07:08 ... just the float arguments would be fine 01:07:22 krit: the proposal from dean has radians for angles 01:07:35 ... SVG doesn't say degrees or radians but it's assumed to be degrees 01:07:53 ... so for backwards-compatibility I suggest degrees 01:08:30 birtles: I agree 01:08:49 krit: next, the SVGMatrix interface uses floats 01:08:55 ... Dean's proposal uses doubles 01:08:59 heycam: we should use doubles 01:09:13 AlexD: floats are for wimps 01:09:28 heycam: each time you return a float you have to extend it out to a double 01:09:56 all: let's use doubles 01:10:09 krit: next, I added flipZ next to flipX and flipY 01:10:14 ... just to be consistent 01:10:19 ... not sure if it's really used 01:10:41 krit: invert(), inverts the matrix but throws an exception if it's not invertible 01:11:09 s/invert(), /inverse(), / 01:11:22 ... and determinant() is the same 01:11:54 ... there are mutable and immutable functions 01:12:12 ... mutable operations need to reproduce the functionality but with different names 01:12:32 ... the current proposal does that by adding "By" for the mutable versions 01:13:23 heycam: it's unfortunate that SVG uses a mix of nouns and verbs when all of them are immutable 01:13:33 ... some of the names sound like they are modifying the object 01:14:37 heycam: why is there no mutable flipX, flipY etc.? 01:15:18 krit: because they're not important, what would you call them? 01:15:52 ... I didn't find a better name but you might want to know if a matrix is 2D or not so I added is2dMatrix() 01:15:59 heycam: what about is2D() ? 01:16:06 ... since you're calling it in the context of a matrix 01:16:16 dmitry: can you also add a method to split a matrix into translations etc. 01:16:19 krit: that was proposed 01:16:27 ... but the problem is rotation 01:16:50 ... how do you describe the rotation? 01:16:55 ... you could use Euler 01:17:00 ... but then you could lose information 01:17:24 ... so an alternative is gimbal lock 01:17:39 ... in CSS transforms we used quarternions 01:17:47 ... but I don't think that's really useful for authors 01:19:12 dino: Euler angles still allow you to specify any angle in 3d space 01:19:31 ... the reason you use quarternions is for animating between two points 01:19:34 ... it takes the best path 01:19:45 dmitry: is it impossible to do the decomposition of the matrix 01:19:51 ... could we add that method to the matrix? 01:19:57 krit: the Euler function? 01:20:04 dino: yes we could do that 01:20:18 heycam: is the problem that it's just one possible decomposition amongst others 01:20:23 ... why do we use this one 01:20:32 dino: because it's the most common one 01:20:53 heycam: what would be return value of decompose() 01:21:19 krit: quarternions would be four values to describe one angle 01:21:53 heycam: if I call decompose() I would expect to get , , etc., not "here is a quarternion" 01:21:59 ... how would we return those values? 01:22:01 ... a dictionary? 01:22:32 ... an array of numbers where position in the array determines the meaning 01:23:03 krit: what do we want to return? not a quarternion? 01:23:21 ... a quarternion just represents the rotation 01:24:15 dmitry: I want to get "the rotation is 45 degrees" etc. 01:26:46 [discussion about quarternions, matrices, quarternions, matrices, Euler, mass confusion] 01:28:17 dino: why are we adding this function? 01:28:40 krit: I think you don't need to get these components 01:29:01 heycam: I think the point of this is there are things where you do need these components 01:29:21 shanestephens_: I just implemented CSS decomposition in javascript because it wasn't available 01:29:59 ... to say decomposing gives you quarternions complicates the issue 01:30:04 ... it gives you the scale etc. 01:30:10 ... so, do we want this function? 01:30:14 ... and what format do we want it in? 01:30:30 ... I want this function 01:30:40 dmitry: I and at least three others want it 01:31:17 shanestephens_: is anyone opposed to it except for on the basis that it is a lot of work? 01:31:29 dino: I think if we do it, it should do exactly what CSS transforms too 01:31:33 shanestephens_: I agree 01:31:40 dino: it's really only use for animations 01:32:05 ... and in most cases when you write a tool to do the animations, typically the user wants to change the scale 01:32:26 ... the only time you want to decompose the matrix 01:32:37 ... is when you don't know the steps that built up the matrix 01:32:57 ... typically you want to know the steps that built up the matrix and know where to apply the transformation 01:33:14 shanestephens_: I agree, but sometimes you're forced to work with the matrix you're given 01:33:29 ... I don't think it's a lot of work to do what CSS transforms do since it's already implemented 01:33:38 dmitry: but often you want to work with content from another author 01:34:05 ... for example, a clock where you know which element the hand is 01:34:12 ... and you want to animate it, or measure the time etc. 01:34:23 dino: the only problem there is that the decomposition will work most of the time but not all of the time 01:34:36 ... if the matrix is unusual enough you might get an unexpected result 01:34:54 ... you want to go back 90 degrees but you might not go the right way 01:35:01 ... it might not solve all your problems 01:35:10 shanestephens_: but generally you can decompose and control the decomposed result 01:35:22 dino: I think dmitry's case where you're just changing one angle should be fine 01:35:27 ... but once you're doing more than one thing 01:35:35 ... you're more likely to run into something you didn't expect 01:35:42 ... but I don't oppose putting it in 01:35:56 ... but I want to be clear that it might not solve all cases 01:36:12 shanestephens_: it feels like when we have these algorithms that are part of the web platform we should be exposing them to js 01:36:16 krit: I'm ok with it 01:36:24 ... the question is how to represent the result 01:36:26 ... a dictionary? 01:36:34 heycam: another option would be an array of numbers 01:36:45 ... where the order of numbers determines the meaning 01:36:52 ... e.g. position 0 means scaleX 01:36:56 ... but that's a bit harder to use 01:37:23 krit: I expect this will be used by people who know matrices 01:38:17 ACTION: Dirk to work together with Cameron on a representation of the decomposed values of a matrix 01:38:17 Created ACTION-3456 - Work together with Cameron on a representation of the decomposed values of a matrix [on Dirk Schulze - due 2013-02-15]. 01:38:51 -- lunch break -- 01:51:59 nikos has joined #svg 02:29:27 shanestephens_ has joined #svg 02:31:20 stakagi has joined #svg 02:38:58 RRSAgent, pointer 02:38:58 See http://www.w3.org/2013/02/07-svg-irc#T02-38-58 02:39:00 RRSAgent, pointer? 02:39:00 See http://www.w3.org/2013/02/07-svg-irc#T02-39-00 02:40:48 ScribeNick: heycam 02:41:12 Topic: Matrix continued 02:43:45 krit: Dmitry pointed out that we also have SVGPoint in the SVG DOM 02:43:54 … the question is, this seems to be useful in general 02:44:06 … we've used it on some CSS properties, to convert events from one user space to another 02:44:21 … do we want to provide a Point to other languages? So Point instead of SVGPoint? which can also be transformed... 02:44:33 … if yes, what are the pros? 02:45:23 … Point is interesting when you want to transform it 02:45:44 … if you want to transform it with this 4x4 Matrix, so the point should have 4 components 02:45:46 heycam: 3 components? 02:45:48 … with a 1 on the end 02:46:12 krit: if you transform a 4-valued Point with an arbitrary 4x4 matrix, all 4 of these coordinates could change 02:47:19 heycam: I would say we don't need the fourth component for a 3D point 02:47:58 nikos has joined #svg 02:48:14 krit: we need the fourth component for intermediate calculations 02:48:21 … beside that, why would you need it? can we just drop it? 02:48:32 birtles: could you have a dictionary that has x, y, z plus whatever you call the last one? 02:48:33 krit: w? 02:48:49 birtles: the z defaults to 0, the w to 1; as a dictionary it wouldn't have methods, but something on the Matrix class could take a dictionary and return a dictionary 02:48:54 … so no need to define a new Point interface 02:49:09 … when you've got a method that takes a point in, you pass in { x: 1, y: 2 } and in 2D space you don't specify any more 02:49:24 krit: once you set this point, can you still read back the fourth component? 02:49:35 birtles: yes the method could stick the "w" property on there and authors could ignore it 02:49:45 krit: I'm not in favour of a dictionary 02:50:00 birtles: Matrix.transformPoint() could take a dictionary and return a dictionary 02:50:25 birtles: it's convenient to use that syntax 02:50:37 … and you can still get ".x" from the return value 02:51:01 e.g. var ret = matrix.transformPoint({ x: 23, y: 24 }) 02:51:12 console.log(ret.x) 02:52:48 dmitry: I like this; I don't like `new Point(23, 24)` 02:53:49 dino: I kind of like the idea of not needing a defined type 02:54:08 krit: SVGPoint has a transform method 02:54:11 … what would we do with that? 02:54:22 ed: could just leave SVGPoint around 02:55:51 … it's used for SVGAnimatedPoints 02:55:55 … and it's live there 02:56:12 birtles: currentTranslate is also an SVGPoint 02:56:14 heycam: and that's live too 02:56:49 … so we'll add a new transform method on Matrix? taking a point? 02:56:51 krit: yes 02:56:57 … I think we're deciding to use a dictionary 02:57:09 birtles: then you could also use that in some of the other methods on that interface 02:57:18 … scale() etc., instead of taking x, y, z you could take a point 02:57:25 … then with 2D transforms you wouldn't need to specify the last few arguments 02:57:33 … also when you read the code it's clearer which is x, y, z 02:57:36 krit: ok 02:57:52 dmitry: I like it [again] 02:58:10 krit: do we also want to have a flatten function, that converts a 3D transform to a 2D transform? 02:58:22 birtles: what's the use case for that? 02:58:29 krit: to use it in canvas for example 02:58:36 … you might want a 2d version of a canvas 02:59:46 krit: what would you do in canvas if you give a 3d matrix as the ctm for canvas? 02:59:54 cabanier: I think canvas should ignore it 03:00:01 … silently fail 03:00:36 cabanier: will you be able to set a CSS Transform with this Matrix? 03:00:38 krit: yes 03:00:50 … in CSS OM, in the future 03:01:39 dmitry: I like it 03:02:02 heycam: where is this Matrix living? 03:02:05 krit: in its own spec 03:02:21 … I'd like to work on that spec 03:03:12 heycam: so what about Rect? 03:03:15 krit: I don't care about Rect 03:03:18 dmitry: I don't forget vectors 03:04:35 s/I d/D/ 03:04:52 ACTION: Cameron to investigate HTML global attributes. 03:04:52 Created ACTION-3457 - Investigate HTML global attributes. [on Cameron McCormack - due 2013-02-15]. 03:19:09 Topic: Multiple strokes 03:19:22 [some freeform whiteboarding about possibilities for multiple strokes specified in properties] 03:19:41 stroke="red, white blue" stroke-position="-50%, 0, 50%" could make toothpaste 03:19:45 like in ed's example from SVG Open 03:20:08 nikos has joined #svg 03:20:08 heycam: sometimes I think that 'stroke' should be a shorthand for stroke-width, stroke-opacity, stroke-paint, etc. 03:22:21 my example from svgopen: http://xn--dahlstrm-t4a.net/svg/presentations/svgopen2012/presentation/ 03:31:11 Topic: SVG requirements list culling continued 03:31:14 http://www.w3.org/Graphics/SVG/WG/wiki/SVG2_Requirements_Commitments 03:31:36 [79] Clarify that svgz should be as usable everywhere svg files can 03:32:02 heycam: might mean registering a new mime type for svgz 03:32:12 ed: not all browsers support opening svgz from the local file system 03:32:32 heycam: is it enough to add a sentence saying svgz can be opened from the file system? 03:32:33 ed: yes 03:32:54 ACTION: Erik to do the "Clarify that svgz should be as usable everywhere svg files can" SVG 2 requirement. 03:32:55 Created ACTION-3458 - Do the "Clarify that svgz should be as usable everywhere svg files can" SVG 2 requirement. [on Erik Dahlström - due 2013-02-15]. 03:33:03 RESOLUTION: We will keep the SVG 2 "Clarify that svgz should be as usable everywhere svg files can" requirement. 03:33:29 [80] Have a DOM method to convert a element to outline path data 03:34:02 heycam: it sounded like we went a bit off this idea of direct access to the glyph data 03:34:11 … and instead to use the Path object to do some operations on glyph data 03:34:23 cabanier: it's too bad there are not platform apis to consistently get outlines 03:34:38 nikos has joined #svg 03:34:57 RESOLUTION: We will defer the "Have a DOM method to convert a element to outline path data" SVG 2 requirement to the Path object spec, but just allowing operations on glyph data and not direct access to the data. 03:35:03 [81] Have simpler interpolation between two paths 03:35:20 birtles: not having the same number of segments 03:35:52 … I reckon it's really good to do, maybe not part of SVG 2? 03:35:59 … we could look at that as part of Web Animations 03:36:03 … and decide when to address that 03:36:12 ACTION: Shane to investigate easier path animations. 03:36:12 Created ACTION-3459 - Investigate easier path animations. [on Shane Stephens - due 2013-02-15]. 03:36:26 RESOLUTION: We will defer the "Have simpler interpolation between two paths" SVG 2 requirement to Web Animations, possibly later. 03:36:36 [82] Explicitly support Web Open Font Format (WOFF) 03:36:43 heycam: done 03:36:50 [83] Add snapshot time for animated documents and may specify how to get at the rendered image 03:37:01 heycam: seems like two separate things 03:37:32 silvia has joined #svg 03:37:38 birtles: it doesn't help for UAs that don't do animation 03:38:46 birtles: better to define the document in such a way that it looks the way it should without animations 03:39:14 Cyril: are there cases where you can't create content where if the animation is not processed it wouldn't produce the same output 03:39:26 AlexD: a cartoon.. frame 0 might be different/empty from what you want 03:39:37 dino: maybe you don't want to show any frame of the cartoon, maybe you want something different 03:39:52 … people embed single frames into youtube videos, it gets used as the poster 03:40:51 RESOLUTION: We will not do the "Add snapshot time for animated documents and may specify how to get at the rendered image" SVG 2 requirement. 03:41:42 [84] Adopt the requiredFonts attribute 03:42:27 heycam: I don't think this is good; you need to know that specific glyphs are available 03:42:34 RESOLUTION: We will not do the "Adopt the requiredFonts attribute" SVG 2 requirement. 03:42:38 [85] Add the solidColor element and its properties 03:42:41 heycam: done 03:42:46 [86] Follow what HTML does for RDFa and microdata 03:43:02 heycam: I'll think about that as part of global attributes 03:43:06 [87] Add buffered-rendering 03:43:11 ed: that is done I think 03:43:40 [88] Have the vector-effect property 03:44:04 ed: that is done too 03:44:07 [89] Have the viewport-fill and viewport-fill-opacity for zoom – now should be background-color etc. 03:44:38 Cyril: I remember we discussed that background-color is not the same thing as viewport-fill 03:44:50 heycam: nobody is excited about doing it 03:44:59 RESOLUTION: We will defer the "Have the viewport-fill and viewport-fill-opacity for zoom – now should be background-color etc. " SVG 2 requirement. 03:45:02 [90] Have constrained transformations based on SVG 1.2 Tiny 03:45:17 AlexD: I think they're useful 03:45:20 … doesn't mean we should have them though 03:45:29 shanestephens_: we're going to look into having some form of constrained transformation 03:45:35 … based on some of the other requirements 03:46:56 … I had an action to look into it 03:47:03 … based on the results of that we can decide in June 03:47:08 [91] Improve the bounding box text based on SVG Tiny 1.2 03:47:29 heycam: keep it, leave it to Doug 03:47:35 [92] Include the improved text from SVG Tiny 1.2 on characters and glyphs, text layout, text selection, text search 03:47:50 heycam: I will redo the whole chapter, will do it as part of that 03:47:54 [93] Have the HTML content editable feature 03:48:29 heycam: don't know if it's worth doing at this point 03:48:34 AlexD: think it's too big for SVG 2 03:48:35 Cyril: defer it 03:48:44 RESOLUTION: We will defer the "Have the HTML content editable feature" SVG 2 requirement. 03:48:47 [94] Have the transformBehavior feature in its spec or as part of the merged transform spec 03:48:51 Cyril: we talked about this the other day 03:48:55 … I think Shane will look at that too 03:49:16 [95] Add the features of the SVG Tiny 1.2 animation element but not the element itself 03:49:24 heycam: we've got iframe element 03:49:27 Cyril: but there's the timing too 03:49:32 birtles: time containers 03:49:37 Cyril: that's also related to the video element 03:51:04 ACTION: Cyril to do the "Add the features of the SVG Tiny 1.2 animation element but not the element itself" SVG 2 requirement. 03:51:04 Created ACTION-3460 - Do the "Add the features of the SVG Tiny 1.2 animation element but not the element itself" SVG 2 requirement. [on Cyril Concolato - due 2013-02-15]. 03:51:12 RESOLUTION: We will keep the "Add the features of the SVG Tiny 1.2 animation element but not the element itself" SVG 2 requirement. 03:51:14 [96] Have synchronization support from somewhere in the web platform 03:51:17 Cyril: this is Web Animations 03:51:32 RESOLUTION: We will defer the "Have synchronization support from somewhere in the web platform" SVG 2 requirement to Web Animations. 03:51:48 [97] Have a solution for specifying focusability and navigation order, and be consistent with HTML 03:52:31 heycam: Rich is looking into tabindex 03:53:09 RESOLUTION: We will keep the "Have a solution for specifying focusability and navigation order, and be consistent with HTML" SVG 2 requirement. 03:53:17 [98] Have a mechanism for controlling focus indication, consistent with CSS and HTML 03:53:45 Cyril: this was focusHighlight attribute from Tiny 03:53:58 ed: I don't think we even require any behaviour in Tiny 03:55:01 Cyril: we can leave it to Rich 03:55:12 RESOLUTION: We will keep the "Have a mechanism for controlling focus indication, consistent with CSS and HTML " SVG 2 requirement. 03:55:16 [99] Support an API to control focus consistent with HTML 03:55:21 krit: is this also Rich 03:55:22 heycam: yes 03:55:32 RESOLUTION: We will keep the "Support an API to control focus consistent with HTML " SVG 2 requirement. 03:55:35 [100] Have support for key events from DOM Level 3 Events 03:55:52 heycam: I don't think we need to do anything more than reference this spec 03:55:58 … so, keep it 03:56:10 RESOLUTION: We will keep the "Have support for key events from DOM Level 3 Events " SVG 2 requirement. 03:56:14 [101] Have the SVGRotate event from SVG Tiny 1.2 03:56:35 ed: I don't think it's very important 03:56:45 RESOLUTION: We will defer the "Have the SVGRotate event from SVG Tiny 1.2 " SVG 2 requirement. 03:56:50 [102] Support progress events using the HTML 5 method 03:57:41 heycam: this could apply to 03:57:50 … we'll already have this on