- From: Brian Birtles <bbirtles@mozilla.com>
- Date: Thu, 12 Jun 2014 07:08:40 -0700 (PDT)
- To: www-svg@w3.org
Minutes: http://www.w3.org/2014/06/12-svg-minutes.html as text below: [1]W3C [1] http://www.w3.org/ - DRAFT - SVG Working Group Teleconference 12 Jun 2014 [2]Agenda [2] http://lists.w3.org/Archives/Public/www-svg/2014Jun/0038.html See also: [3]IRC log [3] http://www.w3.org/2014/06/12-svg-irc Attendees Present birtles, heycam, ed, stakagi, cabanier, [IPcaller], +1.415.832.aaaa, Tav, krit Regrets nikos Chair Cameron Scribe birtles Contents * [4]Topics 1. [5]Missing 'turn' unit in SVGAngle 2. [6]Aiming for SVG Integration Last Call by April 2015 3. [7]Moving definition of getSVGDocument to HTML 4. [8]Geometry interfaces: Replace isIdentity? 5. [9]Geometry interfaces: various issues 6. [10]Geometry interfaces: replacee translateBy by translateSelf for better expressiveness? 7. [11]F2F in London * [12]Summary of Action Items __________________________________________________________ <trackbot> Date: 12 June 2014 <scribe> scribenick: birtles <scribe> scribe: birtles Missing 'turn' unit in SVGAngle <ed> [13]http://www.w3.org/2013/07/11-svg-minutes.html#item05 [13] http://www.w3.org/2013/07/11-svg-minutes.html#item05 ed: I spoke with Dirk about this and we already had a resolution for this ... we decided not to add new IDL constants for the old SVG DOM ... so the previous resolution wasn't exactly clear what we should do with new units for example ... for parts of the DOM that expect a unit ... I take this to mean we don't want to change any of the behaviour ... i.e. act as if those new units weren't supported when you inspect the SVG DOM heycam: so you'd get the unknown value when you look up the unit? ed: and if you use valueAsString you'd get the default value as if the unit wasn't supported ... since the new resolution only concerned not adding new IDL constants ... I wanted to make sure the rest was covered heycam: we've had a few instances of this kind of thing of not having a new constant in the IDL ... but these issues that you bring up now show that it's kind of awkward ... it makes those interfaces completely useless ... I wonder what we should do if in the future we don't go ahead with the new SVG DOM proposal ... in that case perhaps we should extend these old interfaces ... or should we say you can only use get/setAttribute for these new unit types krit: most of these libraries just use get/setAttribute ... most of attributes get presentation properties and then they can use 'style' for examples to set the value ... and get the string <heycam> element.style.someAngledProperty = '2turn' krit: with, of course, the units ... I don't want to shut the door on the SVG DOM but maybe we should wait until we decide what we want to do with the SVG DOM ... but keep it as it is for now heycam: so keep things exactly as they are for now until we finally decide what we're doing with the DOM ... then we can add the constants or not depending on which course we take ... it would be great to have that behavior defined in the spec (re: when you use one of the new units) ed: I think it is defined already ... it's just the angle interface is not so useful ... it basically just behaves as if the unit was not supported heycam: ok, I guess the existing spec text is sufficient ed: yes, I think it is, but I just wanted to confirm that's what we wanted ... SVGAngle is not so useful but the same issue applies to SVGLength and SVGTransform heycam: I'm ok with that ed: I think the existing resolution and spec text is enough but just wanted to confirm Aiming for SVG Integration Last Call by April 2015 heycam: I was speaking with Vlad who works on the OpenType font format spec which is the spec with the SVG table now ... we've been discussing what to do about the reference to the SVG Integration spec ... April 2015 is basically the last point where they can update references in the spec ... so if the SVG Integration spec can be in last call by then, then it's fine to leave it in as a normative reference ... I need to check if that would mean the LC URL would be baked in, or if we could use the more general URL ... but that's the timeline ... so I wanted to see if we can have something usefully at LC by then? krit: I think we should try to do it before then heycam: there is a period for final comments for the MPEG group which finishes in about 1.5 days ... I'll send in a few suggested wording tweaks including suggestions about the SVG reference Moving definition of getSVGDocument to HTML ed: I think I got this from Simon Pieters and I think we should go ahead and let HTML define getSVGDocument ... basically removing it from the SVG spec heycam: so getSVGDocument was a function the Adobe player exposed on the <object> and <embed> elements when they referenced an SVG document ... as a way of getting to the SVG document DOM ... since then contentDocument has been added ... and people should use that, so getSVGDocument is a bit useless ... getSVGDocument is defined to be the same thing as contentDocument but it isn't precise ... it's probably easier to define in HTML where definitions about browsing contexts etc. are available ed: I think contentDocument doesn't work for <embed> elements heycam: does getSVGDocument work? ed: yes, I believe so heycam: somebody asked me again recently what was the status of this and whether it was ok for the HTML spec to add it and us to remove it ... any objections? ??: no RESOLUTION: SVG2 will remove the definition of getSVGDocument and it will move to the HTML spec Geometry interfaces: Replace isIdentity? <krit> [14]http://dev.w3.org/fxtf/geometry/ [14] http://dev.w3.org/fxtf/geometry/ krit: we had some discussions about isIdentity and to have something more reliable like hasTransform which basically returns false if there are no transforms on the matrix ... so it's more reliable because something that has not been transformed is definitely not identity ... but at the end I think people thought it was more useful to have isIdentity even if might return false sometimes where it could return true ... I think at the end we agreed on the behavior but I just wanted to tell the group about it ... in the end isIdentity is used for optimizations so it just means the code might not run as optimally as it could ... there are cases where you transform something and transform it back and you might end up returning false in that case ... but hasTransform would also return false then ... isIdentity would return true more often than hasTransform heycam: so how is this different from what is currently defined? krit: it's not cabanier: hasTransform never made it into the spec heycam: so it just checks for 0s and 1s? krit: yes, the simple-minded way Geometry interfaces: various issues [15]http://lists.w3.org/Archives/Public/public-fx/2014AprJun/01 64.html [15] http://lists.w3.org/Archives/Public/public-fx/2014AprJun/0164.html krit: is2D is the next issue ... after discussion we decided to make this track transformations ... if you have transforms that are 3D it will return false ... if all transforms are 2D it will return true heycam: so it's a flag that once it becomes false it stays that way? krit: right ... this is something that Benoit preferred and I'm fine with it too heycam: so it requires you to store extra state in the object cabanier: but usually you just allocate a 2D matrix until a 3D transformation is made and then you swap it out heycam: so you'd have some state there already krit: I think that was the only open issue there ... the use case came from when you have rotation points around the x-axis ... if you swap to 3D and back for one frame that would be odd heycam: in what cases do you expect authors to use it? krit: it might be the result of some calculation that you need to check if you need to switch to 3D calculations or not ... I definitely want people to view the spec and send objections to the list ... Geometry interfaces: replacee translateBy by translateSelf for better expressiveness? Geometry interfaces: replacee translateBy by translateSelf for better expressiveness? krit: people found translateBy confusing, we think translateSelf is easier to understand heycam: I agree krit: the other suggestion was 'this' instead of 'self' heycam: I'm not sure which I prefer krit: another topic which may need agreement of WG was whether we should have 'invert' or 'invertSelf' ... SVG has 'inverse' ... but 'invertSelf' is more consistent with the other methods heycam: what's the plan for aligning SVGMatrix and DOMMatrix? ... does SVGMatrix inherit from DOMMatrix or alias it? krit: alias it heycam: in that case, will there still be an Inverse method for compatibility ed: SVG's Inverse returns a new matrix I think krit: yes ... so any objections to adding 'invertSelf' heycam: it seems bad to have 'invert' and 'inverse' cabanier: it would be 'inverse' and 'invertSelf' heycam: I though Dirk was suggesting we have 'invert' for consistency krit: no, the question was do we want to rename 'invert' to 'invertSelf' heycam: yes, definitely ... do you think it's a silly idea to have 'invert' as well? krit: why? heycam: for completeness and matching the pattern <heycam> 'inverse', 'invert', 'invertSelf' <heycam> where inverse means the same as invert heycam: I would probably shy away from having all 3 but it's also tempting to have for completeness krit: we keep inverse, that's for sure ... would invert modify itself? ... I'm not a fan of adding things for completeness heycam: ok, we can add it later cabanier: we can always add it later heycam: the other matrix interfaces you want to have compatibility with, MSMatrix, WebkitMatrix etc., what do they have on them? <cabanier> [16]https://developer.apple.com/library/safari/documentation/Au dioVideo/Reference/WebKitCSSMatrixClassReference/WebKitCSSMatri x/WebKitCSSMatrix.html [16] https://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitCSSMatrixClassReference/WebKitCSSMatrix/WebKitCSSMatrix.html heycam: is it a goal to be compatible with them or just to have the same features krit: it would be good to be compatible. Both have inverse, just like SVGMatrix heycam: do they have the other methods that modify the same object? krit: no, they only have the methods that return a new object cabanier: WebKitCSSMatrix has setMatrixValue krit: I didn't add it because it seems to be redundant ... with the constructor that also takes a string heycam: so you couldn't modify an existing object by giving it a value using a string krit: yes, that's correct ... if there's a need for that, we'll add it then cabanier: you don't have any plans to alias WebKitCSSMatrix to DOMMatrix right? krit: actually, yes I'd like to do that ... but I'd still like to make setMatrixValue not part of DOMMatrix ... not sure yet how I will do that, but somehow cabanier: (checking github to see if anyone uses setMatrixValue) krit: Rik mentioned that he would like to make isIdentity and is2D readonly attributes ... it's just a cosmetic issue ... I'd like to make them the same (i.e. both attributes or both methods) ... I'm leaning towards methods ... attributes seem to suggest something is stored whereas methods suggest checking something ... it's not a hard-and-fast rule but that's how I understand it ... what does the group think? heycam: from my intuition I think attributes are right ... I think it's fine to have attributes that reflect some state of the object ed: I think I agree with Cameron krit: ok, we'll change it to attributes cabanier: I found some places where setMatrixValue are used krit: should we add it then, or try to avoid it? heycam: I think it would be handy to be able to assign with a string value ... is it also on MSCSSMatrix krit: yes heycam: then I'd say go with that krit: the last question, should the in-place transformations return the same object? <cabanier> for instance: [17]https://github.com/yui/yui3-gallery/blob/5b0e2d507be5916560 aebae04f8a74d4211af402/src/gallery-node-transform2d/js/node-tra nsform2d.js#L20 [17] https://github.com/yui/yui3-gallery/blob/5b0e2d507be5916560aebae04f8a74d4211af402/src/gallery-node-transform2d/js/node-transform2d.js#L20 krit: for example translateSelf, changes it in place ... should it return the same object? <cabanier> should the xxxSelf function return the object? <krit> everything is void atm <cabanier> so m.translateSelf(...).scaleSelf(...) <krit> matrix.translateSelf() <krit> matrix.scaleSelf() <krit> matrix.translateSelf() krit: the current return value of these is void <krit> change this to <krit> m.translateSelf(...).scaleSelf(…).translateSelf(...) krit: I would like to change it so it returns the object and you can chain like this ^ birtles: why would you not do that? heycam: I'm not sure I'm a fan of that kind of chaining style approach in general but I think it makes sense in this case ... since I think you often want to do these operations in a row birtles: promises use a lot of chaining <ed> why would one not do m.stringSetter = "translate...scale ... translate" ed: repeating "self" a lot is a bit redundant krit: that's because we're dealing with the legacy of SVGMatrix which took the short names heycam: you could change 'self' to 'me' :) ... translateMe krit: the benefit of 'me' is it's shorter (same as 'by') heycam: I think 'self' is better krit: I will make all these changes ... I would like to have people review the spec ... I'd like people to have a look after I've made the changes too ... I will have it done today or so ... I would like to ask for last call in the next week or the week after ... it depends if working group members want more time for review ... just let me know me next week if you need more time or not ... I'll send a mail to the WG and to www-style as well F2F in London heycam: I've booked a room for the F2F ... I need to tell the office person a few weeks beforehand about numbers/dietary requirements so plenty of time still ... Chris sent up a registration form for it ... I'll look into hotels too <heycam> /me birtles do you wear a headset? <krit> my apologies: Nikos Summary of Action Items [End of minutes] __________________________________________________________ Minutes formatted by David Booth's [18]scribe.perl version 1.138 ([19]CVS log) $Date: 2014-06-12 14:04:24 $ __________________________________________________________ [18] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm [19] http://dev.w3.org/cvsweb/2002/scribe/ Scribe.perl diagnostic output [Delete this section before finalizing the minutes.] This is scribe.perl Revision: 1.138 of Date: 2013-04-25 13:59:11 Check for newer version at [20]http://dev.w3.org/cvsweb/~checkout~/2002/ scribe/ [20] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/ Guessing input format: RRSAgent_Text_Format (score 1.00) Succeeded: s/by/me/ Found ScribeNick: birtles Found Scribe: birtles Inferring ScribeNick: birtles Default Present: birtles, heycam, ed, stakagi, cabanier, [IPcaller], +1. 415.832.aaaa, Tav, krit Present: birtles heycam ed stakagi cabanier [IPcaller] +1.415.832.aaaa T av krit Agenda: [21]http://lists.w3.org/Archives/Public/www-svg/2014Jun/0038.htm l Found Date: 12 Jun 2014 Guessing minutes URL: [22]http://www.w3.org/2014/06/12-svg-minutes.html People with action items: [21] http://lists.w3.org/Archives/Public/www-svg/2014Jun/0038.html [22] http://www.w3.org/2014/06/12-svg-minutes.html [End of [23]scribe.perl diagnostic output] [23] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm
Received on Thursday, 12 June 2014 14:09:09 UTC