- From: Cameron McCormack <cam@mcc.id.au>
- Date: Fri, 13 Feb 2015 18:04:43 +1100
- To: www-svg@w3.org
http://www.w3.org/2015/02/12-svg-minutes.html [1]W3C [1] http://www.w3.org/ - DRAFT - SVG WG Sydney F2F 2015, day 2 12 Feb 2015 [2]Agenda [2] https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Agenda_proposals See also: [3]IRC log [3] http://www.w3.org/2015/02/12-svg-irc Attendees Present +61.2.933.6.aaaa, Doug_Schepers Regrets Chair ed Scribe Cameron, Nikos, tav Contents * [4]Topics 1. [5]superpath 2. [6]optimizing for machine generation 3. [7]Miter line join 4. [8]auto closing path closing 5. [9]Text on a shape 6. [10]x/y/width/height on <symbol> 7. [11]svg2 issues 8. [12]Text bounding box 9. [13]Open SVG 2 issues 10. [14]svg2 issues in the color chapter 11. [15]Remove above two interfaces. 12. [16]Painting chapter issues 13. [17]Issue: stroke-dashcorner doesn't work well for rounded rects * [18]Summary of Action Items __________________________________________________________ <heycam> Scribe: Cameron <heycam> ScribeNick: heycam superpath <cyril> [19]http://moissinac.github.io/SuperPath/ [19] http://moissinac.github.io/SuperPath/ cyril: my colleague has been working on this superpath prototype ... the idea is that in many graphics, you need to share paths or pieces of paths among bigger paths ... for example you need to share them if you have regions in a map, share them sometimes in direct order, sometimes in reverse order ... so the idea is to reuse a piece of a path in another path ... benefits in reducing file size, but also more semantically correct content. not duplicating information when not needed. ... viewers could do better antialiasing on that path, it's only present once ... it could be rendered seamless ... last time we talked about it, I exposed the fact that we wanted to have a path with an ID attribute, then another path referencing that initial path ... after some investigation we realised that it's very hard to extract a piece of a path and make it a separate path alone ... because what command would you put at the front ... the geometry of the path often depends on the point before or the point after ... so we changed our idea here ab it ... nikos suggested instead of having the reusable path a separate path, define it while using it in the first place ... so you have the full context ... you have the previous point if you want to reuse it in reverse order, or the next point if you are reusing in direct order Tav: that's clear, but not sure if it's necessary cyril: you can see some examples on this page ... don't pay much attention to the syntax yet ... my colleague is happy to change the syntax, it's just a prototype <cyril> d="M 90,190 220,90 330,150 (p1|L330,150 280,230 L330,310 280,400)L120,375 z" cyril: this is an example of syntax; the path you will be reusing is between parens ... the ID is the thing after the open paren, and it ends with the bar ... when you want to reuse it <cyril> d="M 500,385 390,460 280,400!p1|L450,50 565,81 z" cyril: that's a reverse use ... and I think the prototype uses # for forward use <cyril> [20]http://moissinac.github.io/SuperPath/Samples/piece01withExt ernalScript.svg [20] http://moissinac.github.io/SuperPath/Samples/piece01withExternalScript.svg cyril: there's a more complex example with a map <cyril> [21]http://moissinac.github.io/SuperPath/Samples/bretagneSuperP ath.svg [21] http://moissinac.github.io/SuperPath/Samples/bretagneSuperPath.svg cyril: this is a region of france with three subregions ... the blue path for the sea ... as I said, the syntax is probably not the best ... but the big change is the path is defined inline ... when it's first used ... to have the full context ... what is preserved is the geometry ... what he does is any path used is converted to a path that has relative commands, so it's easier to reverse ... then the reversed relative commands are applied ... the next step for us is to fix the syntax, then have it run on many examples ... JC is writing a program to analyse existing content and replace duplicated paths with this ... when the content has been authored and the paths don't exactly match, e.g. with slightly different floating point values Tav: in inkscape you can output in relative or absolute ... I want to talk about auto closing a path ... with a rounded segment ... so you'd leave out the first point, then put the first point in the path nikos: it wasn't to do with smooth curve final segments was it? Tav: it helps with positioning the marker heycam: so that's a mid marker Tav: and makes the orientation expected cyril: what does the group think of defining the reusable path name in the path data? krit: how do we handle compatibility? cyril: for the path that defines the reusable path, it you could skip the ID then it could render ... the path that reuses it you couldn't really do anything Tav: now you define a country, as one path, and a region in that would be the path that you share? cyril: the country would be a single path element, but the d attribute would be divided into many subpaths, each having an ID for example ... then you define a region with an external border with the country, when you define the path data for that region you reuse the subpath defines in the country border Tav: I find that conceptually more complicated than defining each subpath separately nikos: you could define all the subpaths in defs ... and then you only need to reference it because you want to fill it cyril: if you don't care that the path segment between the previous point and the first point of the reused path, then doing what you suggest is good ed: can you get a continuous curve with reused subpaths? cyril: yes ed: it's a similar problem to the autoclosing command ... also wondering with this proposed syntax, is it possible to have nested reusable subpaths? cyril: I haven't tested that, I guess the prototype doesn't accept that ... but in theory it could work ... one of the difficult things in the current impl is that the path is converted to relative, and if the path you are defining is at the end of a big path, and the big path uses another path, you need to resolve that one first ... there's a possibiltiy you need to process the whole file before doing anything ... there's also the possibility of doing loops Tav: don't we have some rules for dealing with that already ed: yes for ID cycles cyril: so that would need to be specified heycam: bit uneasy about defining the names in the path data ... seems odd birtles: if I add the get-path-data-as-floats API, how would this work? cyril: it would return the expanded path ... animation is also an open issue ... I don't know how it can be implemented in browsers ... polyfilling is easy heycam: we wouldn't do the seamless rendering first, that would need lots of graphics library rewriting cyril: I don't think I need a resolution or an action, but if anyone is willing to help/test ... e.g. prototype in inkscape Tav: I'd like to but have enough other prototypes to work on for now <scribe> ACTION: jean-claude to further develop the protoype including with animation support [recorded in [22]http://www.w3.org/2015/02/12-svg-minutes.html#action01] <trackbot> Created ACTION-3734 - Further develop the protoype including with animation support [on Jean-Claude Moissinac - due 2015-02-19]. optimizing for machine generation jet: I wanted to talk to the group about some implementation experience that I've had ... recently and in the past ... at Mozilla we recently implemented a flash player in JS ... and just deployed it in nightly Firefox builds ... previously I worked at Adobe on the flash player ... before that at Macromedia on the flash authoring tool ... at Macromedia, Adobe was building their LiveMotion authoring tool ... I wanted to share with the group some of why flash got the ubiquity it did and Adobe's SVG didn't ... it wasn't so much that the technology was better, but that we did things at Macromedia so that it would defeat SVG at the time ... I think there's an opportunity to get past that after all this years ... and move interactive animations on the web in a way that SVG could not at the time ... the things that made it get over that hump at the time, weren't the things you'd expect ... Adobe's authoring tool was good, had a reputation for quality software, plugin worked in many places ... but when we would evanglize Flash over SVG, we'd demo with the worst browsers with SVG, and the best browser with Flash ... one company in particular the Flash developers went to at the time was Disney ... experts in animation, decided to use Flash on the front page of their site ... at the time, if you wanted to use animation you'd use GIF89, and there wasn't really anything else ... this is the era of 9600 baud modems and 386 computers ... today, the hardware is better, but similar network issues ... the things that made Flash successful was bug compatibility across browsers, and performance characteristics that were consistent across browsers ... for example Flash had retained mode API, binary file format ... small, fast, compiled ... after a while, the workflow would be that you'd take the authoring file format, .fla (which is a zip with xml resources, not quite svg) ... what I'm getting at is that SVG is an excellent authoring format, but a poor runtime format ... not because of XML vs binary is better or worse, but that we're unable to offer the consistent runtime/rendering experience because of what the format offers ... an example: coons patches, flash doesn't support that; nor gradient meshes ... but you can build a gradient mesh in the authoring tool and it spits out a bitmap under the covers ... there are things like that which make SVG very expressive, but which on a phone rendering a coons patch for your logo is less practical ... so what I'd like to get from the SVG group to see if there's an appetite to fix that ... is there a way for the implementors here to think about using SVG in a way that we can start with a subset that is normative for a runtime implementation ... not enough that we'd say you have to implement a coons patch for SVG, but that you could render a subset of SVG and have bug compatibility if possible krit: it sounds a bit like the Basic SVG Profile jet: SVG is one facet of it ... vector art and animation, and interactivity ... the part that made Flash also be ubiquitous is that its OM was very contained and strict ... you wouldn't expect that the HTML hosting your Flash file could mess with the Flash OM ... so maybe a basic profile of SVG? ... today, we implemented flash in /canvas ... something similar to the React Canvas ... implementing flash in JS/canvas ... SVG is so rich and powerful that I think it's better suited as an authoring format than a runtime one ... if we could design a subset that is a subset that has clear DOM semantics ... that the runtime can then make decisions about rasterising etc. ... that's the spiel, don't have concrete ideas heycam: are you coming from the perspective of trying to implement Flash in SVG, and the performance wasn't there? jet: not all performance, but also different rendering model ... we also have an ad use case ... flash can bundle things up in a package neatly ChrisL: sounds like you're asking for a package format ... which travels in one unit ... or can play without being unpacked jet: yes, that's one way. maybe it is a zip container. ... there are things that made flash as a tagged binary file format, in the order of use ... you know before you use an element that you would've pushed it through the network ... the packaged file fromat like jar files, you have to get the whole blob before you can start cyril: the work I presented yesterday uses mp4 container rather than zip ... which can be used for streaming ... to come back to the earlier statement, I agree that design of Flash was very different ... authoring format, and publication format ... SVG is completely different in that the authoring format is the publication format ... so the tradeoffs are different ... performance and compact model is not the same ... that's a benefit but also a problem for optimisation ... looking at converting cartoons to SVG, there are thousands of ways of doing it ... so it's hard to optimise ... there are so many ways to do the same thing jet: for an authoring format, that's great ... flash was an authoring tool before it was a runtime format ... the compile-to-runtime was an artifact of having to send things over slow networks ... the answer I get to asking people why they're still writing flash, games/ads/etc., is both (a) these issues and (b) tooling ... so this is a problem we could solve, if we agree that we can start with a subset today that is available across all implementations Rossen: I heard you mention a few times offering a subset ... and also guaranteeing interop ... I think we can all agree on how to spec a subset ... I don't know about guaranteeing interop ... it's what we all try to do ... but how do you guarantee it? jet: I think that opens us up to the same disadvantages Rossen: here's one way to go ... if this is something that we expose a number of APIs to the web platform, that you can implement SVG as one library, and that library is circulated and used ... that's the only way I can see that it's interoperable always ... going back for a second, you're mentioning a subset ... do you have an idea? jet: I say subset just so it would be surmountable problem ... if we say basic shapes are required and then pixel perfect requirements ... because that's a simple problem ChrisL: last meeting we tried to decide "is a geometry coordinate at the top/left of a pixel, or middle of a pixel" ... and we couldn't agree, because different graphics libraries are different ... one reason Flash was successul was that there was one implementation (that mattered) ... and that the implementation is basically the spec jet: so we implemented Flash using JS/canvas ... that it was possible is somethign taht got me thinking ... if we can render it today, why couldn't we all do the same thing? why can we not do it for a format other than swf? ... firefox is going to pre-ship with the JS flash implementation, but it's not feasible to make all cartoon authors have to ship this library ... couldn't we polyfill a format other than flash, perhaps a subset of svg? ... I'd like to build on things already in the web platform cyril: there is history to that. SVG Tiny 1.2 was that; an attempt to make a subset of SVG that was more efficient for mobile devices krit: we could do that right now with specifications that exist. you could use web components to make your own vector format, if you have the right primitives cyril: I doubt you'd have good performance there though Rossen: I'm still thinking you're talking about two different things here ... one is packaging, plus maybe additional step of standardising extension API where a platform piece can be delivered or hosted on CDNs and have lifetimes/updates and implementations will download them periodically ... so that they become part of the native packaged platform ChrisL: [tooling] ... the other reason I have Flash installed on my machine is that I like to watch video krit: content protection jet: we're solving the video problems another way, I think we'll get there ... the use cases are the ones I'd like to cover are ads, 2D games ... the people who makes those games/ads in Flash, is that SVG implementations are fragile ... can we make it so that it's less fragile across implementaitons, by saying that there's a subset that has to be normative across the board Rossen: I think everything that we publish is normative ... in order to get interop you either have to converge on a single implementation, or just pray cyril: if you subset SVG, in some sense you don't have 10 ways to do the same thing ... you can optimise that Rossen: example? krit: asm.js cyril: how do you frame based animation in SVG? Rossen: what is it today? cyril: you can use display, visibility, opacity ... Brian just exposed yesterday all the challenges if you want to optimise your animation ... there are several ways, will-change, transfromZ Rossen: let's go back to SVG ... from the SVG spec, tell me what is exposed is ambiguous and can be implemented in many ways ... if we're saying we're going to converge on one single technology that covers the entire web platform, I don't think this is the right forum ... I'd still like to figure out the problem for SVG ChrisL: I'd like to see detail on what they find is fragile roc: do people demand exact rasterisation consistency on all targets? or are they more concerned about performance consistency? ... or other things? jet: it was consistency across targets roc: rasterisation consistency? jet: that, performance, ... ... we built a Flash renderer in JS, could this be a SVG renderer Rossen: what does versioning look like in this case? ... I think we are falling down to some basic software engineering problems where the answer is either scaling down to one implementation, or you pray ... there's always a first to market, and others following ... are you going to hold everything back so that nobody jumps the gun and releases a feature? ... I think we build new features so that you have graceful progression ... and that comes back to the single implementation roc: are you implicitly saying that you find that canvas has sufficient rastiersation consistency to satisfy these people, and that builindg something on canvas would help these people? cyril: I can't speak for Google, talking to the people who work on swiffy, they said exactly that. they started with SVG, and moved to canvas roc: they're finding canvas more consistent then ... you could have authoring tools produce canvas and JS ... and compile down to that level ... if you do that I think everyone gets what they want jet: there's something amiss there, then you have to implement the playback engine roc: you can customise that engine right down to exactly what the ad needs ... you won't need most of the features that Shumway has ... I don't know how small we can make that, but I think for a lot of ads we can make it pretty small jet: is that something we could standardise? roc: we wouldn't need to, which is why it'd be a great solution ... in standards, we could look at making canvas rendering consistent ... as canvas is more focused than svg is cyril: what's the scalability of canvas? ChrisL: well it's immediate mode roc: that's a problem that canvas-using apps already have ... there's a couple of pieces to solving that ... we have consensus on solving that; there's an event that first when canvas needs to be re-rendered ... and an application listens for that event and rerender ... and we need a way for the app to size the backing store to device pixels ... which is a renderedWidth/Height property on the canvas jet: then maybe all we have missing is the packaging side roc: you might be able to design your ad such that --- well you have image assets etc. ... there have been several proposals for zip-like but streamable bundles ... (you can make zip streamable if you format it correctly iirc) ... I'm not sure why they didn't go anyway ... maybe the use cases weren't compelling enough? ... some people were trying to do it as a performance thing in a single HTTP transaction ... but then SPDY came along ... so for speeding up website loading that solved it ... but for this problem of content traversing multiple networks was not really thought of as a use case ... technically it's not a mysterious problem cyril: you should look at the SVG streaming spec; it's still a draft, but it might help you heycam: marcos will know about packaging roc: if we could re-use this new app packaging format that might be a solution cyril: my recollection is that it wasn't streamable <Tav> [23]http://tavmjong.free.fr/SVG/MITER_LIMIT/index.html [23] http://tavmjong.free.fr/SVG/MITER_LIMIT/index.html Miter line join <cyril> [24]https://github.com/w3ctag/packaging-on-the-web [24] https://github.com/w3ctag/packaging-on-the-web jet ^ (packaging) Tav: people were asking for a different type of miter ... instead of clipping at a certain point, when you reach the limit, you get a uniform clipping ChrisL: the existing one is discontinuous krit: in canvas, what do we do there? ... do we do the second one? Tav: the guy from nvidia (not neil) said that half graphics engines do it one way, half do the other ... the lower one is existing behaviour in some engines? roc: we just use the underlying graphics libraries ... so I'm sure it would be different on different platforms <krit> [25]https://developer.mozilla.org/samples/canvas-tutorial/4_8_c anvas_miterlimit.html [25] https://developer.mozilla.org/samples/canvas-tutorial/4_8_canvas_miterlimit.html krit: I think different platforms do align Tav the proposal is to have a fourth (well, we have 'arcs') Tav so if you're already doing something to implement arcs (i.e. not solely relying on existing libraries), then implementing this proposal is trivial ChrisL: a new value would be good Tav: I've played with the cairo line join code ... and doing this is trivial krit: does it work cross platform? cairo uses CoreGraphics on OS X. roc: so the image rasteriser, not the other backends <roc> cyril: in what way is [26]http://w3ctag.github.io/packaging-on-the-web/#streamable-pa ckage-format not streamable? [26] http://w3ctag.github.io/packaging-on-the-web/#streamable-package-format <roc> shepazu: can you hear us? ed: the proposal is? krit: a new value that has this behaviour Rossen: are you proposing an interpolation function that goes between these things? <cyril> roc: it depends on the definition of streamable. My definition includes timing/synchronization. This packaging format is progressively processable, not streamable. Not seekable for instance. Tav: no just clip the miter rather than fall back to the other point <roc> ah <roc> cyril: OK. When Jet was talking about the Flash format being streamable, for the purposes of ad delivery, I think he meant "progressively processable" <cyril> roc: there are use cases for adaptive streaming of ads as well ChrisL: so you're using a line cap which never triggers miter-limit ... the numerical value for miter-limit wouldn't affect it? Tav: it would ChrisL: you're looking for a line-join keyword? <cyril> roc: mp4 being ubiquitous in all browser, I think it's a candidate that shouldn't be dropped without investigation <roc> cyril: maybe, but I think you can't have adaptive streaming and a single inviolable package. ChrisL: miter-clip <cyril> cyril: still controlled/timed delivery of big packages is interesting too <cyril> roc: still controlled/timed delivery of big packages is interesting too RESOLUTION: We will add line-join:miter-clip in SVG 2. <scribe> ACTION: Tav to add line-join:miter-clip to SVG 2. [recorded in [27]http://www.w3.org/2015/02/12-svg-minutes.html#action02] <trackbot> Created ACTION-3735 - Add line-join:miter-clip to svg 2. [on Tavmjong Bah - due 2015-02-19]. -- 15 min break -- auto closing path closing <Tav> [28]http://tavmjong.free.fr/SVG/AUTO_PATH_CLOSING/index.html [28] http://tavmjong.free.fr/SVG/AUTO_PATH_CLOSING/index.html Tav: there are problems when you have a curved segment at the begin/end of a path ... in that in order to close the path you have to have a 0-length z ... that causes problems with how markers are rendered ... there are inconsistencies with how browsers handle them ... if you paste that link in 2 different browsers, compare the rendering, you'll see that they're inconsistent ... due to rounding errors, if you use relative path segments by the time you get to the end your last point may not match up with the first point ... would be nice to have a way that specifies they should match up ... some possible solutions on how to do that ... one possibility is new commands ... the Z command is essentially an L command, where the point is the first point ... so you could extend that, but I don't think it's good to extend Z_a or whatever ... you could use a non-numerical parameter ... which means "use the first point" ... you could use a Z to indicate that you should replace a missing point with the first point in the path ... so either the second or third solution would be a way of doing it heycam: would you accept this special symbol anywhere in the path? Tav: maybe but it wouldn't be as useful heycam: makes me wonder if you would want to go back to any point, not just the first point Tav: it reminds me of a different problem, if 2 points are on top of each other, say a handle is on top of the start, how is direction determined for markers? heycam: I think we covered the marker direction issue a couple of weeks ago cyril: the whole problem comes from rounding errors, right? Tav: yes nikos: even ignoring precision issues, having a Z command that closes a bezier is useful anyway ... you could expand the meaning of Z to mean "close a path and create a segment if it needs to" heycam: that's the third option nikos: what if in an arc command you omitted the flag values and put a z there heycam: I think just make that invalid RESOLUTION: We will allow a Z to fill in any final coordinate pairs missing from the previous command. <scribe> ACTION: Tav to add the new Z behaviour. [recorded in [29]http://www.w3.org/2015/02/12-svg-minutes.html#action03] <trackbot> Created ACTION-3736 - Add the new z behaviour. [on Tavmjong Bah - due 2015-02-20]. <Tav> [30]http://tavmjong.free.fr/SVG/TEXT_ON_A_SHAPE/index.html [30] http://tavmjong.free.fr/SVG/TEXT_ON_A_SHAPE/index.html Text on a shape Tav: inkscape originally drew ellipses/circles with paths ... some people noticed they could no longer put text along a circle ... because it's a common thing to do, it was proposed that we allow text on shapes ... in inkscape this is easy to do, because at the time we disply we've already converted the shape to a path ... the major issues have already been solved, such as the start point on a circle, because we had to define that using markers heycam: and dashing Tav: there are a couple of challenges ... if you put text on a circle it might make sense to use a negative startOffset ... how do you put text on the other side ... we could have a flag to say which way the text goes heycam: sounds fine ... what about the flag? ChrisL: what would the names be? inside/outside? left/right? Tav: left/right ChrisL: as long as you have a good definition roc: clockwise/anticlockwise? ... mapping people use "true left" of a river, left when moving downstream Tav: how about negative startOffset? heycam: negative startOffset is already allowed, but we probably don't define what happens with closed subpaths RESOLUTION: We will allow <textPath> to reference shapes and a flag to say which side of the path the text is put. <scribe> ACTION: Tav to update textPath for text on a shape. [recorded in [31]http://www.w3.org/2015/02/12-svg-minutes.html#action04] <trackbot> Created ACTION-3737 - Update textpath for text on a shape. [on Tavmjong Bah - due 2015-02-20]. x/y/width/height on <symbol> Tav: this is an issue I came across <Tav> [32]http://tavmjong.free.fr/SVG/viewport.svg [32] http://tavmjong.free.fr/SVG/viewport.svg Tav: Opera Presto and Inkscape you see no red boxes ChrisL: and red is bad right? Tav: it means x/y/width/height are being interpreted when the spec says they shouldn't be cyril: Firefox/Chrome behave the same <ChrisL> IE11 is correct Tav: Batik does it wrong, and probably everyone assumed Batik does it right ... so I don't think following those attributes is useful ... I think the spec should be followed in this case roc: I suspect those attributes got cloned onto the <svg> and they're being interpreted in place ... so maybe we should add them for consistency with referencing <svg>? ChrisL: is it fully defined what it means, if we removed that rule from the spec? ... given that nested <svg>s already allow this Rossen: I don't want to change ChrisL: the reason I changed was that we added x/y to <svg>, and now referencing it is different from referencing <symbol> roc: if the issue is what I think it is, I think it would be easy to fix. but consistency between <svg> and <symbol> would be good. krit: does <symbol> have viewBox? Tav: yes krit: then I'm starting to agree with roc <shepazu> +1 to roc's proposal... we should do the same for <marker>, etc. ed: if you have width/height on the <use> it will override the ones on the cloned tree Rossen: and that makes sense roc: this is not an argument for making symbol behave differently though Tav: it's only used by a <use> element ed: I think you'll still get the same behaviour if you default width/height on <symbol> to 100% ... so if we did that I'd be fine with it krit: what happens now that x/y are properties? Rossen: what is the main use case here that would be broken if we don't do this? Tav: if someone has incorrectly put x/y/width/height ... some browsers have ignored it, others have not Rossen: what would be the expected behaviour or use that comes out from tooling? ... what would be more natual for tooling to output for this? ... when you're using <use>, I would expect tooling would probably define x/y/width/height on the <use> heycam: so I agree that x/y on <symbol> is not useful ... but the argument would be consistency with referencing <svg> krit: it's an edge case, I don't think content would be relying on this behaviour Rossen: what would be the most natural thing from the author's point of view? ... in either case the code change would be straightfowrard ... I want to know what the effect for users would be krit: <symbol width height> and <use x y> without width/height, that would be useful to avoid duplicating width/height all the time ... I think there is an argument to simplify the code ... by treating these the same ... the user could live with specifying width/height on <use> dmitry: it looks more to be a bug in the spec rather than the browsers ... as an author, I would expect x/y/width/height to be available on <symbol> ... it's not a big deal ChrisL: the underlying model when this was designed is that <use> positions a new thing, and that referenced thing has its centre of its coord system would pin it ... it does mean sometimes you need to display all four quadrants ... and there are some issues with clipping ... some people would rather specify the middle rather than 0,0 Tav: well we now have refX/refY on symbol, to match marker Rossen: what would users want/say roc: I don't think users are necessarily going to use this ... do we change the spec to make things things more consistent <pdr__> cyril asked me to confirm that swiffy has indeed switched to canvas ed: send a mail to www-svg asking for feedback, wait two weeks, decide then? Rossen: sounds reasonable <scribe> ACTION: Tav to mail www-svg about the symbol x/y/width/height issue and report back in two weeks [recorded in [33]http://www.w3.org/2015/02/12-svg-minutes.html#action05] <trackbot> Created ACTION-3738 - Mail www-svg about the symbol x/y/width/height issue and report back in two weeks [on Tavmjong Bah - due 2015-02-20]. <ed> scribeNick: ed svg2 issues <heycam> [34]https://svgwg.org/svg2-draft/layout.html [34] https://svgwg.org/svg2-draft/layout.html heycam: this is the chapter for x,y,cx,cy and so on properties <ChrisL> botie, tell cyril he was mean to zakim <botie> ChrisL: excuse me? heycam: issue 1: need to check the initial values for all of them krit: r has different initial values for gradients and circle ... propose to make it 'auto' ... to make it work out the correct value depending on element heycam: is this done with UA styles? TabAtkins: auto is more for when auto is going to affect the results ... if you're just doing based on the element you should use UA styleaheets krit: next issue, rx and ry should use zero as initial value ... something that's not there is fx and fy ... on radial gradient ... the descirption is complicated, by default uses values from cx and cy... ... we could set them to auto and make them do the same thing heycam: it's a strange feature krit: it doesn't define specialcasing for fx,fy heycam: we did decide to make fx and fy properties, right? krit: yes heycam: did we only do this because we did the other gradient attributes? krit: I think so heycam: we should focus on the basic shapes ... don't do this for the gradient elements, even with cx, cy on gradients ChrisL: but you can put presentation attributes on any element ed: can't we just make them presentation attributes on particular elements? heycam: if it's easier since presentation attributes work on any element (?) krit: in webkit we didn't turn cx cy to properties on radialgradient heycam: i'd prefer not making them presattrs in this case RESOLUTION: don't make the layout properties into presentation attributes on the gradient elements heycam: issue 2, what to do about x and y on text elements? Tav: we also have them on tspan right? heycam: yes ... the issue is that they're list of values ... either we could allow list of values in the property, but only use the first value ... or the attribute has some special processing ... one option is to not make x y presentation attributes on any of the text elements krit: I like that, or alternatively make xy presattr on text, but map them to other properties ... don't quite like the second idea though heycam: we already decided that the x,y lists are bad due to font issues ... so don't think we should allow the second one krit: another way might be to apply the xy property to text elements, but also apply the positoning fromthe xy attributes also ... that would allow positioning from css heycam: that'd be a little bit confusing ... but might be the best solution Tav: so discourage use of the x,y,dx,dy? heycam: I think we should try it out krit: ok, so spec that and await feedback from implementations? Tav: ok RESOLUTION: add a new keyword value to the x and y properties that means use-the-list-of-lengths in the attributes, and set that with the UA stylesheet <scribe> ACTION: krit to add a new keyword value to the x and y properties that means use-the-list-of-lengths in the attributes, and set that with the UA stylesheet and add a note to say that it's still an open issue [recorded in [35]http://www.w3.org/2015/02/12-svg-minutes.html#action06] <trackbot> Created ACTION-3739 - Add a new keyword value to the x and y properties that means use-the-list-of-lengths in the attributes, and set that with the ua stylesheet and add a note to say that it's still an open issue [on Dirk Schulze - due 2015-02-20]. <heycam> [36]https://svgwg.org/svg2-draft/coords.html [36] https://svgwg.org/svg2-draft/coords.html heycam: next chapter, coordinates ... issue 2, are there any more up-to-date defs for sizing? (i haven't checked) ... prob needs some closer review by somebody ... someone should take an action to look at this? <scribe> ACTION: krit to review the svg2 coordinate chapter [recorded in [37]http://www.w3.org/2015/02/12-svg-minutes.html#action07] <trackbot> Created ACTION-3740 - Review the svg2 coordinate chapter [on Dirk Schulze - due 2015-02-20]. heycam: issue 9, about pAR <heycam> [38]https://svgwg.org/svg2-draft/coords.html#PreserveAspectRati oAttribute [38] https://svgwg.org/svg2-draft/coords.html#PreserveAspectRatioAttribute heycam: do ppl use 'defer' or can we drop it? ChrisL: is this somehting new? heycam: I think it's from the original 1.0 spec krit: don't think webkit implements this heycam: we have some tests for defer, but doesn't mean that ppl are using it ... would be happy to try removing it ed: I'm fine with removing it heycam: firefox at least supports parsing it Tav: inkscape doesn't support it krit: webkit parses it but ignores it ed: so does that imply that we should allow it but say in the spec that it must be ignored? heycam: would prefer just to remove it (don't think there's much content using it) krit: think we should parse it but ignore it heycam: I'd prefer removing it RESOLUTION: make defer do nothing (and investigate removing it later) <scribe> ACTION: krit to make defer be ignored in pAR [recorded in [39]http://www.w3.org/2015/02/12-svg-minutes.html#action08] <trackbot> Created ACTION-3741 - Make defer be ignored in par [on Dirk Schulze - due 2015-02-20]. heycam: next, issue 15 <heycam> [40]https://svgwg.org/svg2-draft/coords.html#BoundingBoxes [40] https://svgwg.org/svg2-draft/coords.html#BoundingBoxes heycam: in the bbox section ... bbox of text with the widht/height set on it ... should it be the box that it's laid out in, or the union of the glyph cells? Tav: the text would just be the content area, can be reduced due to padding/margin krit: we should handle it like normal block elements in html heycam: so what should getBbox return? Tav: there are different bboxes in css <text x=10 y=10 width=100>A</text> heycam: sometimes you have content that can't wrap Rossen: inline elements don't have width in css ... this is closer to block ... the blockrelated properties is what should apply to svg here heycam: we don't need to make getbbox does like getboundingclientrect ... if we ignore the width feature ... we might return the size of A Rossen: with the width today if you specify it <shepazu> (SVG also has different bboxes... geometric bbox, decorated bbox, etc.) Rossen: you can say it's the bbox or that it's the union of the two, or just the text inside Tav: depends on how much text you put in heycam: it's a run of glyphs ... we can do pre-formatted text ... we can union the bboxes ... i think we shouldn't return the rect area defined by width/height for text Tav: if you've wrapped text, some text sticks out further than the others, you should make that affect the bbox ... you'd have to look at all the lines to figure out the exact bbox nikos: if we say width(height is always returned from getbbox you could just check the attribute Rossen: the information for size of each line is available internally ... you might want each line separately ed: multiline text is new in svg2, do we want to allow fetching the size of each line? krit: cssom defines that getclientrects maps to getbbox (?) roc: maybe think of it as shrinkwrapped ... the intrinsic preferred width heycam: problem is tht dx dy influences the bbox krit: we could disable them for the case of having width/height heycam: the options ... 1) look just a the glyphs, take bbox of each and then union the bboxes ... 2) if you have width attribute then bbox has that exact width and height be multiple of lineheight ... 3) union of option 1 and 2 TabAtkins: option 2 is closest to what css is doing today Rossen: what do we do for negative margin on inline boxes? TabAtkins: doesn't count Rossen: not sure it translates well to svg (draws on whiteboard) Rossen: think that we want two ways, if you want getclientrects (the content) you get only the text - you can do union, intersection or whatever you want heycam: if we want options we have a param for getBBox that we can use Rossen: so list of text content boxes, or the parent box that's the union essentially heycam: we can always add a way to get the other one Rossen: right, because we don't have any way to get the lineboxes heycam: the only downside is that it's inconsistent with non-areabased text ... where we're using css to layout the text ... but shrinkwrapping the text Rossen: that's fine though, the bbox is defined by the text content in that case Tav: think we should not consider dx, dy and rotate in the textarea case ... for the bbox heycam: I think the block level element in css should provide the bbox (positioned) Rossen: when width is auto one of the three possible ways to size the box ... one is dependency on parent, in percentage ... other is that it's fixed ... third is that it's attached to the text content -- break for lunch -- <nikos> scribe: Nikos <scribe> scribenick: nikos Text bounding box heycam: we discussed over lunch ... when you call getBBox on a text element that has % or px or specified width then bounding box is the specified width ... and height is the height of the CSS box that gets created ... and if you leave off the width, then you take the union of all the bounding boxes for the text ... to handle cases where things are positioned ... if you don't have positions then it's like the other two cases where you're looking at the box and returning the bounding box anyway ... think that makes it a consistent model ... probably don't need to describe in terms of those three things Tav: looks like a good solution to me RESOLUTION: for text bounding boxes with specified width, % or px, then the bounding box is the specified width with height being the height of CSS box that is created - otherwise bounding box is union of all child text bounding boxes <scribe> ACTION: heycam to spec behaviour of getBBox on text [recorded in [41]http://www.w3.org/2015/02/12-svg-minutes.html#action09] <trackbot> Created ACTION-3742 - Spec behaviour of getbbox on text [on Cameron McCormack - due 2015-02-20]. <heycam> [42]https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Ope n_issues [42] https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Open_issues heycam: bogdan suggested we gather up open issues on this page - we might not have a chance to resolve them all this meeting ... so I summarised which I thought were substantive issues that need discussing ed: back to text, if you have text element without width or height and you have white space property set to pre wrap ... you have some return characters to specify text as multiple lines ... you get three lines of text ... behaviour of bounding box should be as auto Open SVG 2 issues <heycam> [43]https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Ope n_issues [43] https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Open_issues heycam: this list is based just on the red issues that are noted in the spec ... may be a few more things in tracker <scribe> ... new ones may also pop up as we continue reviewing the existing text UNKNOWN_SPEAKER: Erik and I have reviewed some chapters ... neither of us are through the whole spec yet ... so probably later chapters need a closer look than the earlier ones ... bearing that in mind, this wiki lists the substantive issues that are noted in the spec cyril: some chapters start at issue number > 1? heycam: we've already discussed some and some don't need discussing ... we may or may not get through this list ... how would you like to prioritise? BogdanBrinza: normally for us we take a first pass at the list and find highest priority items Rossen: hope we're in agreement we want to ship the spec? ... so we can tackle a couple of ways ... we can look at the spec as a whole - if we agree we want to close all issues and ship the spec ... then move to a modular way of advancing svg ... then first pass should be to decide the must unstable and non core things ... that we can live without ... and make those modules right now ... that will reduce the amount of work we need to do as a group to discuss issues ... so as a first pass lets find big areas we can remove ... then from remaining we can assess what is in most dire need of group discussion time heycam: I like the idea of creating modules immediately for things we're removing cyril: maybe not the case for all chapters - but some seem to be very close to modules <BogdanBrinza> [44]http://www.w3.org/Graphics/SVG/WG/wiki/SVG2_readiness_asses sment [44] http://www.w3.org/Graphics/SVG/WG/wiki/SVG2_readiness_assessment Rossen: is your list an extraction of this table? heycam: has some correlation probably but this is just my judgement of the issues ... and which are not editorial BogdanBrinza: think we agree on chapters that have most issues Rossen: do we think we can go through the first step and move things to modules? krit: I'm in favour of that - do you have features that you want to move Tav: Think we'd spend more time arguing over which stuff to move than how to solve the issues BogdanBrinza: Chapters 15, mesh gradients has a lot of issues heycam: don't think we should be looking at the chapter level - but at features ... if we look at my list of open issues - do you agree that if we've solved open issues for a feature should it stay? Rossen: not sure - if we can move something to the next level why spend time talking about it? heycam: sounds like you have ideas about features you don't want to see in the spec - even though there are no open issues Rossen: I wouldn't oppose a stable feature staying BogdanBrinza: generally not about features we want in the spec - but everyone wants to see a stable spec heycam: do you think stability is not solely determined by open issues? BogdanBrinza: I'd say that's the most important thing - but severity matters too heycam: I was going to suggest looking at features that correspond to open issues ... so if we've resolved issues on a feature it can stay Rossen: do we consider features complete? ... or just enough stuff there so we think it's complete but not sure ... are we going to find issues when we review? ... ok lets go through each issue then heycam: let's finish co-ords chapter then we can talk about features in other chapters <scribe> ACTION: heycam to make stable issue identifiers in the spec [recorded in [45]http://www.w3.org/2015/02/12-svg-minutes.html#action10] <trackbot> Created ACTION-3743 - Make stable issue identifiers in the spec [on Cameron McCormack - due 2015-02-20]. issue 17, co-ords chapter heycam: issue 17, co-ords chapter ... should fill correspond to the main area of that element? ... so fill:false should exclude that rectangular region? <ed> for ACTION-3743 make sure that the template has fields for assigned actions, wg discussion and resolution heycam: if it's not an svg element you can't call getBBox, but you can call it on the parent ... so iframe or canvas should contribute to the bbox Rossen: if it's not exposed how can you get the bbox? ... should define getBBox on these elements krit: if you put HTML in an svg document, how does CSS box model contribute to the bounding box computations - it's a general problem Rossen: we define getBBox on foriegnObejct? Behaviour should be the same krit: but on fo you have a whole html doc heycam: fo and iframe and canvas just return the rectangle - but issue is whether fill dictionary parameter controls whether that contained element contributes or not Tav: To me fill:false is not a sensible option ... as a control heycam: sounds like we agree on that RESOLUTION: The fill dictionary parameter doesn't affect bounding box of iframe, canvas, etc <scribe> ACTION: heycam to update spec for fill dictionary parameter when called on iframe, canvas, etc [recorded in [46]http://www.w3.org/2015/02/12-svg-minutes.html#action11] <trackbot> Created ACTION-3744 - Update spec for fill dictionary parameter when called on iframe, canvas, etc [on Cameron McCormack - due 2015-02-20]. heycam: proposing to remove svg:transform’ attribute krit: already done ChrisL: where is it being moved to ? heycam: no one uses it ChrisL: mapping people use it ... my understanding is we changed behaviour for this to match what implementations do krit: the removed text was mostly pointless cyril: it's not the same as the transform attribute - same name but in a different namespace heycam: if you think it's being used by people it can stay ... just worried wording is outdated ChrisL: this was standardised through JIS krit: I'll put it in integration spec ChrisL: that's ok - just don't want it removed AlexD: isn't this what Takagi-san is using for tiling? ChrisL: yes cyril: don't think it should be in integration spec - should be module on it's own ... I see integration spec as between svg, html, css ChrisL: it's larger - how css uses things Tav: I'd like to see it moved before it's taken out krit: I'm doing it right now ... into a new module right/ ChrisL: section above it as well? heycam: there was going to be a mapping spec? ChrisL: yes but mapping spec by itself wasn't useful ... by itself ... so dispersed these features into svg 2 spec Tav: that's why it's good having annotations describing why things are moved RESOLUTION: svg:transform attribute will be moved to a new module heycam: let's look at remaining issues in terms of the features they encompass ... all path issues are for Catmull-Rom Rossen: who is implementing it? Tav: it's Doug's baby Rossen: can we have a Catmull-Rom module? <shepazu> why? ChrisL: tricky because it's in the path element shane: we did that in CSS ChrisL: was going to bring that up as a bad example shepazu: there's a not great way - which would still be good enough ... supersede description in new spec ... good way is define what path commands look like ... and say future specs may define new path commands ChrisL: agree, not sure how much work it is making it properly extensible shane: could put all stuff in path extension spec ChrisL: so in core svg 2 path syntax is the same as svg 1.1? heycam: we have bearing and stuff ... that's an example of a feature that is complete in the spec, but people have reservations about it being in core svg 2 Tav: it's not something I care too much about having - but feel it will be ignored once it's in another spec Rossen: that's how css works ... survival of the fittest - good features progress faster ... I think it's a good way to do things TabAtkins: don't be afraid of modules heycam: Doing things in modules is the right thing- but I'm concerned if we move features to modules then svg 2 won't be much different to svg 1.1 ChrisL: that's a problem because we've then spent 10 years producing a spec that doesn't have new features Rossen: if you have 5 other specs in the pipeline then you have a good story ChrisL: we've already gone from modules to one monolithic spec ... now we're going back Tav: how much work to fix Catmull Rom? heycam: need to add math to the spec ... issues could be summarily decided Rossen: this is a good example of a feature that could move imo ... it's a good feature ... some designers have questioned it's use Tav: there's a good use when connecting points in a graph heycam: I would have to do investigation of the math Tav: it's pretty simple Rossen: if it was such a hot feature I'd expect Adobe, InkScape, etc to be pushing it krit: Adobe already stated we don't care heycam: so if you want a sense of it staying in svg 2 or being split ... ? krit: not necessary for svg 2 Rossen: can we resolve to move it to it's own module heycam: as long as we create a new spec immediately ... don't want to lose the work we have done ed: do you have same concern about bearing? Rossen: I haven't read the bearing stuff heycam: I'll be less excited about shipping svg 2 with all the features removed shane: I think we'll fairly readily be able to find features that have no issues or trivial and those that have substantive issues ... why not appoint champion or owner for features with substantive issues ... if issues aren't resolved by wg within a certain time frame we move it out Rossen: features without issues shouldn't necessarily remain part of the core ... if features have expensive implementation cost then they should maybe moved out heycam: we could mark them at risk Jet: is there a list of at risk features/ ... that's probably the first step heycam: table in your wiki page isn't at feature granularity, which is what we need to discuss Rossen: it's easy to decide on some - basic types for example krit: svg 1.1 isn't going to disappear - it can still be referenced stakagi: not using transform at the moment - it is ok to remove it from this level ... you can put me as editor of the svg:transform spec heycam: Catmull-Rom - what are we doing? ... put with superpath as svg path level 1? shane: it's a really nice target for modularisation ... doesn't mean it won't be published at the same time as svg 2 heycam: let's publish first draft of these things when we publish CR of svg 2 RESOLUTION: Will create SVG path module heycam: should svg 2 path only be what is supported by 1.1? ... so move all new things (e.g. bearing) into the module? shane: there is work involved in moving stuff - if a feature has no issues then leave it heycam: I'm ok either way Rossen: i'm ok with either too heycam: minimum work is leave it where it is all: let's do that <scribe> ACTION: heycam to move Catmull-Rom to SVG path module [recorded in [47]http://www.w3.org/2015/02/12-svg-minutes.html#action12] <trackbot> Created ACTION-3745 - Move catmull-rom to svg path module [on Cameron McCormack - due 2015-02-20]. heycam: Editors will be Cam, Doug, and Cyril TabAtkins: do we want to use CSS naming where everything that builds off SVG 2 is next level? ... then we'd start at 2 all: that's confusing, let's start at ... 1 heycam: next bunch of issues are to do with text ... either shape text or rectangular ref text Rossen: are your issues in an order? heycam: just numeric Rossen: can we do things with only 1 issue? heycam: Let's do animate.html, Issue 2 birtles: basically new features we'll defer to a separate spec ... then there's one or two edits I should make with regards to correctness ... not sure about allowing animatemotion to use a basic shape ... not sure if we want to include those slight improvements ... or defer everything Rossen: what would it look like after your change? ed: we resolved to allow basic shapes for text on path birtles: so for consistency we should leave it ... major features will be deferred ... I can take care of the issues that are there ... and get rid of references to features which we'll put in a different module heycam: can we discuss attributeType="auto"? ed: I came across issue with SMIL elements and attributeType ... default is auto which means check if it's a property first ... if so that's what your'e animated, otherwise attribute ... since we made x and y properties ... it's a problem on text element ... which takes a list of values ... I'm wondering if we should try to be smarter here selecting the right thing heycam: why wouldn't that content work now? ... auto means when both property and presentation attribute, choose the property right? ed: if we make x a property, we'll try to animate x as a css property ... and that might not give the same result as previously heycam: outcome of previous discussion was that it would work ... property is the primary thing that determines the value ed: if you have a list of values (e.g. "10 20 30") it's not valid for the property, so animation will stop working when it used to work ... one suggestion is to make auto pick the xml version if it's a text element ... that will preserve old behaviour ... and pick css property for any other element Rossen: and when number of values is one? AlexD: I don't like behaviour of attribute depending on what it's parent is birtles: you have to look up parent or target anywhere when animating AlexD: but not when binding birtles: yes you need to look to see if there's an attribute of that name that can be animated AlexD: seems like strange behaviour to me ... choose one or the other and whatever it breaks it breaks Rossen: doesn't sound like much will break ed: expect most would use one value birtles: I think there'd be some breakage ... you see people moving characters around like that Rossen: I'd be more concerned about tools and tool makers birtles: that suggests keep backwards compat AlexD: don't know if there's any tool that generates this birtles: I was hoping to deprecate attributeType altogether ChrisL: attributeType was introduced to disambiguate a name class between width and height attributes and properties <birtles> Mozilla bug: [48]https://bugzilla.mozilla.org/show_bug.cgi?id=1062106 [48] https://bugzilla.mozilla.org/show_bug.cgi?id=1062106 ChrisL: so most of the time you didn't need to specify it ... in some was we have more of a clash now ... we've promoted lots of things that were attribtues into properties ... so I don't think it serves much purpose at the moment ... think people tended to guess as to which value to set ... and it usually didn't matter ... so you'd probably find uses - but removing attributeType would probably render just the same birtles: but how do we make text case work? Rossen: state it's deprecated birtles: if we get rid of attributeType how do you animate x attribute on text element? Rossen: so what are options we have? ... option a) remove attributeType altogether because pretty much all properties are attributes and only x is problematic ... we'll deprecate multiple x/y value animate for text ... as a consequence ed: do we want to consider deprecating having multiple x/y values on text element cyril: it's heavily used isn't it ? krit: yes but not for animation <scribe> ACTION: ed to add use counter for multiple x/y values on text element [recorded in [49]http://www.w3.org/2015/02/12-svg-minutes.html#action13] <trackbot> Created ACTION-3746 - Add use counter for multiple x/y values on text element [on Erik Dahlström - due 2015-02-20]. Rossen: let's wait for more data then ed: don't think we need to make both decisions at the same time Rossen: option b) get rid of attributeType and in this case have a fall back mechanism for the property that gives a list of values ... e.g. we can take last or first valid attribute from the list ... and animate with that ... which will again break animation, but not as badly (maybe) ... in one case you have no animations at all - second you have animations of one frame ... not perfect, but less invasive ... option c) get rid of attributeType and add special handling for x on text ... make it context aware ... is there another option where we extend the attributeType to specify instead of doing context aware heycam: it already has values to select attribute or property ed: we could make auto on text elements, pick xml as the default Rossen: option d) attributeType for animate inside of text is always xml - there is no auto ... would reduce options in future cyril: detect number of values? Rossen: that would be hacky birtles: I think we could drop attributeType and leave a note in the spec with the context aware behaviour as an open issue ... see what data we get on the use counter ... if there's not sufficient usage of multiple values for x we drop, otherwise we do context aware Rossen: what about if we deprecate it now and see who fights for it? birtles: I know there's a lot of opposition to multiple values for x anyway ed: difference between static text with multiple values and animated multiple values - there will be a lot less animated cyril: removing attributeType is ok - but the consequence in option a is not acceptable birtles: the consequence only applies to animation cyril: ahh ok birtles: there is a work around for jittering text ... using dx/dy RESOLUTION: remove attributeType and deprecate animation of multiple values in x/y Rossen: that was the big issue with animation - so this chapter is mostly clear birtles: I need to do some more tidy up but yes heycam: interact.html ISSUE 1: should we remove duplicate events like SVGLoad? is already resolved ... lacuna value for pservers.html ISSUE 3: linearGradient y2 lacuna value is already resolved ... the value should really be zero RESOLUTION: lacuna value of y2 on linearGreadient should be zero Rossen: what about masking.html ISSUE 2: define how overflow-x,y work ? krit: being moved ... ISSUE 3: should overflow:auto really be equivalent to visible ... we changed behaviour based on ie Rossen: thought we discussed in London? nikos: from London - All viewport-establishing elements will be overflow:visible by default, except for root <svg> of SVG whole documents. [50]http://www.w3.org/2014/08/22-svg-minutes.html#item04 [50] http://www.w3.org/2014/08/22-svg-minutes.html#item04 Rossen: seems like a perfect fit for integration spec krit: do we move overflow to integration spec? heycam: why is it in our spec? ed: we have lots of special rules heycam: remove that section, add relevant UA rule and that should be enough ... krit can we really remove it all? ... I need to think about it - give me the action <scribe> ACTION: Cameron to take care of overflow section in the masking chapter [recorded in [51]http://www.w3.org/2015/02/12-svg-minutes.html#action14] <trackbot> Created ACTION-3747 - Take care of overflow section in the masking chapter [on Cameron McCormack - due 2015-02-20]. nikos: a lot of the stuff in Clipping, Masking and compositing will move to rendering chapter or be removed so this chapter will probably go RESOLUTION: masking.html, issue 2 - Drop overflow-x,y issue and don't do anything specific in SVG krit: so all these changes are going to integration spec and are being removed from svg 2? Rossen: yes heycam: i'm concerned that it's not valid to state that auto on a particular element computes to a different value Rossen: we do that all the time RESOLUTION: masking.html ISSUE 3: should overflow:auto really be equivalent to visible? Should be moved to integration spec and removed from SVG 2 krit: can we remove 15.3 and 15.4 totally? heycam: think in rendering chapter we need to describe how these things fit into the scheme of things nikos: I think rendering chapter should say at what point these things occur and that's all <ed> -- 15 min break -- <Tav> scribe: tav <scribe> scribenick: Tav Rossen: , Let's cover issue in color chapter. svg2 issues in the color chapter <cyril> s/Rossen,/Rossen:/ <ed> [52]https://svgwg.org/svg2-draft/color.html#color-managed-image s [52] https://svgwg.org/svg2-draft/color.html#color-managed-images Rossen: Issue 1: ... should this be here? TabAtkins, : Should be in colors4. scribe: not in yet, will be soon. krit: What do we need to keep? Rossen: Tab, what do we need to keep? TabAtkins: Nothing. Rossen: Motion: move everything in this chapter to color4. <Rossen> [53]https://svgwg.org/svg2-draft/color.html#InterfaceSVGColorPr ofileRule [53] https://svgwg.org/svg2-draft/color.html#InterfaceSVGColorProfileRule krit: SVG Interface rule should disappear. ed: will icc-color be part of the <color> grammar in css? Rossen: Yes, should be in colors4. RESOLUTION: Drop SVG color profile rule interface. ... Remove color chapter from SVG 2. Refer to CSS Color 3 and 4. <scribe> ACTION: TabAtkins Finish CSS Color 4 (with stuff from SVG). [recorded in [54]http://www.w3.org/2015/02/12-svg-minutes.html#action15] <trackbot> Created ACTION-3748 - Finish css color 4 (with stuff from svg). [on Tab Atkins Jr. - due 2015-02-20]. <krit> [55]https://svgwg.org/svg2-draft/types.html#InterfaceSVGCSSRule [55] https://svgwg.org/svg2-draft/types.html#InterfaceSVGCSSRule <krit> [56]https://svgwg.org/svg2-draft/types.html#InterfaceSVGRenderi ngIntent [56] https://svgwg.org/svg2-draft/types.html#InterfaceSVGRenderingIntent Remove above two interfaces. ed: Should go. <ed> (to be clear, the entire room says that, not just me ;) RESOLVE: Remove InterfaceSVGCSSRule and InterfaceSVGRenderingIntent. Rossen: Only two chapters to go from heycam's list: painting & text. Painting chapter issues <heycam> Scribe: Cameron <heycam> ScribeNick: heycam <Rossen> [57]https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Ope n_issues [57] https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Open_issues heycam: first two issues are to do with arcs line-join Tav: first issue is the name ... nobody suggested a different name ... so let's just leave it as is ... second one is what do you so with miter-limit ... now that we have this clipping option, ... ... it's possible to get a very long arc ... I would suggest that taking the mid point of the end of the stroke before the cap, then measure along the mid-arc the miter limit RESOLUTION: arc line caps are affected by miter-limit by measuring along the middle arc and clipping a straight line perpendicular at that point <scribe> ACTION: Tav to make miter-limit work on arc line caps in this way [recorded in [58]http://www.w3.org/2015/02/12-svg-minutes.html#action16] <trackbot> Created ACTION-3749 - Make miter-limit work on arc line caps in this way [on Tavmjong Bah - due 2015-02-20]. <Tav> Scribe: Tav <scribe> ScribeNick: Tav Issue: stroke-dashcorner doesn't work well for rounded rects heycam: New feature in SVG 2. It's nice. ... look at pictures in section. <heycam> [59]https://svgwg.org/svg2-draft/painting.html#StrokeDashcorner Property [59] https://svgwg.org/svg2-draft/painting.html#StrokeDashcornerProperty heycam: Illustrator supports. krit: Illustator dashing different. heycam: Not the most important issue. krit: Could we have a stroking enhancement spec? ... would like to have a core with what is supported today. heycam: Not happy with pulling out stroking. ed, Rossen stroking should be well defined. krit: doesn't include stroke-alignment... Rossen: The fact that stroking will be well defined in SVG 2 we could still have a stroking spec.. What would be in it? heycam: I can summarize the new things: ... stroke-dashadjust ... stroke-dashcorner ... arcs line join ... stroke-alignment krit, tav: stroke-alignment often requested. tav: would like to have % Rossen: stroke-dashcorner: our (IE) implementation for stroking is pretty complicated, could be hard to do. krit: Used in illustrator. heycam: Can just stretch dash array. Rossen: We still don't have interopability with normal dashing today. roc: SVG stroking is actually rather simple. <ed> (in comparison to css border dashing) roc: We need an extensible stroking task force. Lots of neat things you can do. Rossen: Should there be a new module? ... What would be in the new SVG stroking module: ed: Variable width stroking. Rossen: That's a really cool feature. krit/Rossen Dashing and Variable width. Rossen: We extend in CSS specs with just one new value of a property. ... New specs should only add stuff that's not in already in SVG 2. krit: But what should we ship here for SVG 2? heycam: I think there are some things already implemented that should remain. Rossen: Should we start with stroke-dashcorner? (Moving to new spec) heycam: Question at approach: we've been telling authors about these new things. How can we maintain the message that things will be coming at the same pace. Rossen: I think that moving things into modules sends the message that we can move faster than with a big SVG2 spec. krit: I'm happy to move out new marker stuff to new spec. heycam: There would be some overlap in text between specs. Rossen: there are modules that we would ship ahead of SVG2. ... Interlude: explains IE/Microsoft philosophy towards choosing what to ship. krit: Can we have a resolution having a painting module? ... put in paint-order ed: Don't think that's a good idea. tav: Would you (Rossen) implement 'paint-order' if it was in a separate spec? Rossen: Yes. ed: We could say that this section is stable. Rossen: It's not in a stable spec. Discussion of where things should go.... Rossen: Should we start an SVG marker spec? heycam: I'm more concerned about public impression of SVG 2 if things get moved out. <shepazu> modularization is time consuming and confuses developers <ed> +1 BogdanBrinza: What the SVG working group thinks is more important than public perception. <ed> (the time consuming part) heycam: Things in the past that have been split out tend to mean that we don't want to work on it. ... One advantage of splitting out is that we would have a well defined owner for the spec. Tav: A markers spec would be a good trial of this. ed: Not clear that a marker spec could move faster. There is a lot of stuff tied to SVG core. Rossen: having something in PR is much better than having some text in the bigger spec. ... saying this is stable. krit: marker knockout should be moved to a separate markers spec. heycam: ignoring the marker knockout, the rest is pretty stable. Proposal: Start a new marker spec. ed: Not so sure about this but won't object. tav: with eric heycam: Is willing to try it. RESOLUTION: Move new marker features to a separate marker spec. Rossen: We won't be discussing the following issues: <Rossen> ISSUE 23: what to do with marker knockouts <Rossen> ISSUE 18: name these vertex or segment markers? <Rossen> ISSUE 30: should paint-order be able to select the different types of markers? <Rossen> ISSUE 32: should SVGMarkerInstance objects be live? (or should we remove those interfaces?) Rossen: Let's get back to stroke-dashcorner for rounded rects. heycam: Dashing will move slower than markers. Dashing should move into a stroking spec. Moving on to text issues. Tav: Meta issue: how do we treat all the various text properties? General discussion... Rossen: It would be reasonable to expect that paragraph level things would work. (text-indent, etc.) heycam: Properties that apply to inline elements should work. roc: some aren't appropriate perhaps. Rossen: overflow:scroll? ChrisL: Don't want a white list. krit: Text handled by normal code path. Rossen: So do we. ... In trident we have the concept of paragraphs that are like blocks with out the blocky stuff (padding, etc.) ... text alignment, writing mode, etc. are supported. ... underline, bold are handled in one level down. heycam: We should have a paragraph guiding our intentions so when new things come along they can be automatically included or excluded. Rossen: We could ask the CSS working group to add a term that defines paragraph level properties. roc: CSS does have the concept of anonymous blocks. We want everything that effects these blocks. But there is no name. krit: We should ask CSS for an "official" name. RESOLUTION: 'text-indent' applies to <text> as it is part of the CSS paragraph level properties. ... CSS Paragraph level properties are assume to apply to SVG <text> element with wrapping context. <heycam> Scribe: Cameron <heycam> ScribeNick: heycam Rossen: so that resolves issues 37 and 38 ... shape-inside, shape-outside Tav: I think I know what to do with these now after discussing with CSS folks Rossen: I am the editor of that spec, too ... so the rest of the issues are shapes related ... issue 2, are dx/dy/rotate ignored for auto-wrapped text ChrisL: when would you want to do that heycam: never Tav: I would be fine with that ed: I agree ChrisL: those things were because we didn't have wrapping text ... and some people wanted to do "better" text on a path heycam: you could argue from consistency with single line text ... you could apply the positioning attributes to content area text just as easily ... but it won't be useful RESOLUTION: dx/dy/rotate are ignored for text with a wrapping context Rossen: last, issue 4; should x/y specify the corner of the content area or the origin of the first glyph [Tav draws and shows the two options] Rossen: I suggest using extent rather than width/height ... then authors won't think you should be able to put both width and height RESOLUTION: Change width/height on <text> to extent <scribe> ACTION: Tav to make the text changes from today's meeting [recorded in [60]http://www.w3.org/2015/02/12-svg-minutes.html#action17] <trackbot> Created ACTION-3750 - Make the text changes from today's meeting [on Tavmjong Bah - due 2015-02-20]. RRSAgent: make minutes Summary of Action Items [NEW] ACTION: Cameron to take care of overflow section in the masking chapter [recorded in [61]http://www.w3.org/2015/02/12-svg-minutes.html#action14] [NEW] ACTION: ed to add use counter for multiple x/y values on text element [recorded in [62]http://www.w3.org/2015/02/12-svg-minutes.html#action13] [NEW] ACTION: heycam to make stable issue identifiers in the spec [recorded in [63]http://www.w3.org/2015/02/12-svg-minutes.html#action10] [NEW] ACTION: heycam to move Catmull-Rom to SVG path module [recorded in [64]http://www.w3.org/2015/02/12-svg-minutes.html#action12] [NEW] ACTION: heycam to spec behaviour of getBBox on text [recorded in [65]http://www.w3.org/2015/02/12-svg-minutes.html#action09] [NEW] ACTION: heycam to update spec for fill dictionary parameter when called on iframe, canvas, etc [recorded in [66]http://www.w3.org/2015/02/12-svg-minutes.html#action11] [NEW] ACTION: jean-claude to further develop the protoype including with animation support [recorded in [67]http://www.w3.org/2015/02/12-svg-minutes.html#action01] [NEW] ACTION: krit to add a new keyword value to the x and y properties that means use-the-list-of-lengths in the attributes, and set that with the UA stylesheet and add a note to say that it's still an open issue [recorded in [68]http://www.w3.org/2015/02/12-svg-minutes.html#action06] [NEW] ACTION: krit to make defer be ignored in pAR [recorded in [69]http://www.w3.org/2015/02/12-svg-minutes.html#action08] [NEW] ACTION: krit to review the svg2 coordinate chapter [recorded in [70]http://www.w3.org/2015/02/12-svg-minutes.html#action07] [NEW] ACTION: TabAtkins Finish CSS Color 4 (with stuff from SVG). [recorded in [71]http://www.w3.org/2015/02/12-svg-minutes.html#action15] [NEW] ACTION: Tav to add line-join:miter-clip to SVG 2. [recorded in [72]http://www.w3.org/2015/02/12-svg-minutes.html#action02] [NEW] ACTION: Tav to add the new Z behaviour. [recorded in [73]http://www.w3.org/2015/02/12-svg-minutes.html#action03] [NEW] ACTION: Tav to mail www-svg about the symbol x/y/width/height issue and report back in two weeks [recorded in [74]http://www.w3.org/2015/02/12-svg-minutes.html#action05] [NEW] ACTION: Tav to make miter-limit work on arc line caps in this way [recorded in [75]http://www.w3.org/2015/02/12-svg-minutes.html#action16] [NEW] ACTION: Tav to make the text changes from today's meeting [recorded in [76]http://www.w3.org/2015/02/12-svg-minutes.html#action17] [NEW] ACTION: Tav to update textPath for text on a shape. [recorded in [77]http://www.w3.org/2015/02/12-svg-minutes.html#action04] [End of minutes] __________________________________________________________ -- Cameron McCormack ≝ http://mcc.id.au/
Received on Friday, 13 February 2015 07:05:16 UTC