21:49:27 RRSAgent has joined #svg 21:49:27 logging to http://www.w3.org/2015/02/12-svg-irc 21:49:47 RRSAgent, stay 21:50:03 rrsagent, this meeting spans midnight 21:50:10 RRSAgent, make logs public 21:50:51 Meeting: SVG WG Sydney F2F 2015, day 2 21:50:57 chair: ed 21:51:00 roc has joined #svg 21:51:17 Agenda: https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Agenda_proposals 21:53:35 tantek has joined #svg 22:09:02 stakagi has joined #svg 22:11:08 Scribe: Cameron 22:11:10 ScribeNick: heycam 22:12:04 Topic: superpath 22:12:14 cyril has joined #svg 22:14:20 BogdanBrinza has joined #svg 22:14:52 http://moissinac.github.io/SuperPath/ 22:15:07 cyril: my colleague has been working on this superpath prototype 22:15:25 ... the idea is that in many graphics, you need to share paths or pieces of paths among bigger paths 22:15:42 ... for example you need to share them if you have regions in a map, share them sometimes in direct order, sometimes in reverse order 22:15:47 ... so the idea is to reuse a piece of a path in another path 22:15:56 Tav has joined #svg 22:16:05 ... benefits in reducing file size, but also more semantically correct content. not duplicating information when not needed. 22:16:13 ... viewers could do better antialiasing on that path, it's only present once 22:16:22 ... it could be rendered seamless 22:16:38 ... 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 22:16:51 ... after some investigation we realised that it's very hard to extract a piece of a path and make it a separate path alone 22:16:56 ... because what command would you put at the front 22:17:05 ... the geometry of the path often depends on the point before or the point after 22:17:36 ... so we changed our idea here ab it 22:17:53 ... nikos suggested instead of having the reusable path a separate path, define it while using it in the first place 22:17:57 ... so you have the full context 22:18:11 ... 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 22:18:19 Tav: that's clear, but not sure if it's necessary 22:18:28 cyril: you can see some examples on this page 22:18:33 ... don't pay much attention to the syntax yet 22:18:41 jet has joined #svg 22:18:53 ... my colleague is happy to change the syntax, it's just a prototype 22:19:02 d="M 90,190 220,90 330,150 (p1|L330,150 280,230 L330,310 280,400)L120,375 z" 22:19:13 ... this is an example of syntax; the path you will be reusing is between prens 22:19:15 s/prens/parens/ 22:19:23 ... the ID is the thing after the open paren, and it ends with the bar 22:19:34 ... when you want to reuse it 22:19:35 d="M 500,385 390,460 280,400!p1|L450,50 565,81 z" 22:19:50 ... that's a reverse use 22:19:56 ... and I think the prototype uses # for forward use 22:20:09 http://moissinac.github.io/SuperPath/Samples/piece01withExternalScript.svg 22:20:24 ... there's a more complex example with a map 22:20:24 AmeliaBR_ has joined #svg 22:20:29 http://moissinac.github.io/SuperPath/Samples/bretagneSuperPath.svg 22:20:50 ... this is a region of france with three subregions 22:20:55 ... the blue path for the sea 22:21:18 ... as I said, the syntax is probably not the best 22:21:25 ... but the big change is the path is defined inline 22:21:28 ... when it's first used 22:21:32 ... to have the full context 22:21:37 ... what is preserved is the geometry 22:21:51 ... what he does is any path used is converted to a path that has relative commands, so it's easier to reverse 22:21:56 ... then the reversed relative commands are applied 22:22:12 ... the next step for us is to fix the syntax, then have it run on many examples 22:22:24 ... JC is writing a program to analyse existing content and replace duplicated paths with this 22:22:49 ... when the content has been authored and the paths don't exactly match, e.g. with slightly different floating point values 22:23:12 Tav: in inkscape you can output in relative or absolute 22:23:17 ... I want to talk about auto closing a path 22:23:23 ... with a rounded segment 22:23:42 ... so you'd leave out the first point, then put the first point in the path 22:23:58 nikos: it wasn't to do with smooth curve final segments was it? 22:24:55 Tav: it helps with positioning the marker 22:25:01 heycam: so that's a mid marker 22:25:11 Tav: and makes the orientation expected 22:25:22 jun has joined #svg 22:25:46 cyril: what does the group think of defining the reusable path name in the path data? 22:26:38 krit: how do we handle compatibility? 22:26:58 cyril: for the path that defines the reusable path, it you could skip the ID then it could render 22:27:08 ... the path that reuses it you couldn't really do anything 22:27:29 rossen_syd has joined #svg 22:27:39 Tav: now you define a country, as one path, and a region in that would be the path that you share? 22:27:52 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 22:28:11 ... 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 22:28:21 Tav: I find that conceptually more complicated than defining each subpath separately 22:28:30 nikos: you could define all the subpaths in defs 22:28:38 ... and then you only need to reference it because you want to fill it 22:29:38 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 22:29:47 ed: can you get a continuous curve with reused subpaths? 22:29:49 cyril: yes 22:29:59 ed: it's a similar problem to the autoclosing command 22:30:31 ed: also wondering with this proposed syntax, is it possible to have nested reusable subpaths? 22:30:50 cyril: I haven't tested that, I guess the prototype doesn't accept that 22:31:16 ... but in theory it could work 22:31:49 ... 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 22:32:00 ... there's a possibiltiy you need to process the whole file before doing anything 22:32:10 ... there's also the possibility of doing loops 22:32:21 Tav: don't we have some rules for dealing with that already 22:32:24 ed: yes for ID cycles 22:32:29 cyril: so that would need to be specified 22:33:38 heycam: bit uneasy about defining the names in the path data 22:33:41 ... seems odd 22:33:54 birtles: if I add the get-path-data-as-floats API, how would this work? 22:34:00 cyril: it would return the expanded path 22:34:06 ... animation is also an open issue 22:34:49 cyril: I don't know how it can be implemented in browsers 22:34:52 ... polyfilling is easy 22:36:20 heycam: we wouldn't do the seamless rendering first, that would need lots of graphics library rewriting 22:36:40 cyril: I don't think I need a resolution or an action, but if anyone is willing to help/test 22:36:46 ... e.g. prototype in inkscape 22:36:54 Tav: I'd like to but have enough other prototypes to work on for now 22:38:34 ACTION: jean-claude to further develop the protoype including with animation support 22:38:35 Created ACTION-3734 - Further develop the protoype including with animation support [on Jean-Claude Moissinac - due 2015-02-19]. 22:38:55 Topic: optimizing for machine generation 22:39:53 jet: I wanted to talk to the group about some implementation experience that I've had 22:39:55 ... recently and in the past 22:40:02 ... at Mozilla we recently implemented a flash player in JS 22:40:06 ... and just deployed it in nightly Firefox builds 22:40:21 RRSAgent, meeting spans midnight 22:40:23 ... previously I worked at Adobe on the flash player 22:40:28 RRSAgent, draft minutes 22:40:28 I have made the request to generate http://www.w3.org/2015/02/12-svg-minutes.html cyril 22:40:29 ... before that at Macromedia on the flash authoring tool 22:40:40 ... at Macromedia, Adobe was building their LiveMotion authoring tool 22:40:54 ... I wanted to share with the group some of why flash got the ubiquity it did and Adobe's SVG didn't 22:41:06 ... 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 22:41:13 ... I think there's an opportunity to get past that after all this years 22:41:23 ... and move interactive animations on the web in a way that SVG could not at the time 22:41:39 ... the things that made it get over that hump at the time, weren't the things you'd expect 22:41:51 ... Adobe's authoring tool was good, had a reputation for quality software, plugin worked in many places 22:42:09 ... but when we would evanglize Flash over SVG, we'd demo with the worst browsers with SVG, and the best browser with Flash 22:42:35 ... one company in particular the Flash developers went to at the time was Disney 22:42:50 ... experts in animation, decided to use Flash on the front page of their site 22:43:05 ... at the time, if you wanted to use animation you'd use GIF89, and there wasn't really anything else 22:43:14 ... this is the era of 9600 baud modems and 386 computers 22:43:27 ... today, the hardware is better, but similar network issues 22:43:50 ... the things that made Flash successful was bug compatibility across browsers, and performance characteristics that were consistent across browsers 22:44:06 ... for example Flash had retained mode API, binary file format 22:44:09 ... small, fast, compiled 22:44:40 ... 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) 22:44:58 ... what I'm getting at is that SVG is an excellent authoring format, but a poor runtime format 22:45:18 ... 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 22:45:35 ... an example: coons patches, flash doesn't support that; nor gradient meshes 22:45:48 ... but you can build a gradient mesh in the authoring tool and it spits out a bitmap under the covers 22:46:06 ... 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 22:46:23 ... so what I'd like to get from the SVG group to see if there's an appetite to fix that 22:46:48 ... 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 22:47:09 ... 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 22:47:25 krit: it sounds a bit like the Basic SVG Porilfe 22:47:29 s/Porilfe/Profile/ 22:47:34 jet: SVG is one facet of it 22:47:41 ... vector art and animation, and interactivity 22:47:53 ... the part that made Flash also be ubiquitous is that its OM was very contained and strict 22:48:08 ... you wouldn't expect that the HTML hosting your Flash file could mess with the Flash OM 22:48:12 ... so maybe a basic profile of SVG? 22:48:43 ... today, we implemented flash in SVG/canvas 22:48:50 s/SVG// 22:49:00 ... something similar to the React Canvas 22:49:08 ... implementing flash in JS/canvas 22:49:17 Rossen has joined #svg 22:49:35 ... SVG is so rich and powerful that I think it's better suited as an authoring format than a runtime one 22:49:46 ... if we could design a subset that is a subset that has clear DOM semantics 22:49:57 ... that the runtime can then make decisions about rasterising etc. 22:50:33 ... that's the spiel, don't have concrete ideas 22:51:10 heycam: are you coming from the perspective of trying to implement Flash in SVG, and the performance wasn't there? 22:51:37 Tav: not all performance, but also different rendering model 22:51:40 s/Tav/jet/ 22:51:48 jet: we also have an ad use case 22:51:56 ... flash can bundle things up in a package neatly 22:52:05 ChrisL: sounds like you're asking for a package format 22:52:11 ... which travels in one unit 22:52:16 ... or can play without being unpacked 22:52:23 jet: yes, that's one way. maybe it is a zip container. 22:52:40 ... there are things that made flash as a tagged binary file format, in the order of use 22:52:50 ... you know before you use an element that you would've pushed it through the network 22:53:00 ... the packaged file fromat like jar files, you have to get the whole blob before you can start 22:53:10 cyril: the work I presented yesterday uses mp4 container rather than zip 22:53:13 ... which can be used for streaming 22:53:27 ... to come back to the earlier statement, I agree that design of Flash was very different 22:53:32 ... authoring format, and publication format 22:53:39 ... SVG is completely different in that the authoring format is the publication format 22:53:43 ... so the tradeoffs are different 22:53:52 ... performance and compact model is not the same 22:53:59 ... that's a benefit but also a problem for optimisation 22:54:09 ... looking at converting cartoons to SVG, there are thousands of ways of doing it 22:54:14 ... so it's hard to optimise 22:54:20 ... there are so many ways to do the same thing 22:54:26 jet: for an authoring format, that's great 22:54:32 ... flash was an authoring tool before it was a runtime format 22:54:48 ... the compile-to-runtime was an artifact of having to send things over slow networks 22:55:22 ... the answer I get to asking people why they're still writing flash, games/ads/etc., is both (a) these issues and (b) tooling 22:55:57 ... 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 22:56:07 Rossen: I heard you mention a few times offering a subset 22:56:11 ... and also guaranteeing interop 22:56:20 ... I think we can all agree on how to spec a subset 22:56:28 ... I don't know about guaranteeing interop 22:56:32 ... it's what we all try to do 22:56:36 ... but how do you guarantee it? 22:56:45 jet: I think that opens us up to the same disadvantages 22:56:54 Rossen: here's one way to go 22:57:13 ... 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 22:57:19 ... that's the only way I can see that it's interoperable always 22:57:47 ... going back for a second, you're mentioning a subset 22:57:49 ... do you have an idea? 22:57:56 jet: I say subset just so it would be surmountable problem 22:58:10 ... if we say basic shapes are required and then pixel perfect requirements 22:58:17 ... because that's a simple problem 22:58:34 ChrisL: last meeting we tried to decide "is a geometry coordinate at the top/left of a pixel, or middle of a pixel" 22:58:51 ... and we couldn't agree, because different graphics libraries are different 22:59:07 ... one reason Flash was successul was that there was one implementation (that mattered) 22:59:15 ... and that the implementation is basically the spec 22:59:22 jet: so we implemented Flash using JS/canvas 22:59:30 ... that it was possible is somethign taht got me thinking 22:59:46 ... 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? 23:00:25 ... 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 23:00:51 ... couldn't we polyfill a format other than flash, perhaps a subset of svg? 23:00:56 ... I'd like to build on things already in the web platform 23:01:13 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 23:01:34 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 23:01:40 cyril: I doubt you'd have good performance there though 23:01:53 Rossen: I'm still thinking you're talking about two different things here 23:02:22 ... 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 23:02:29 ... so that they become part of the native packaged platform 23:02:47 Zakim has joined #svg 23:02:51 Zakim, room for 4? 23:02:52 ok, heycam; conference Team_(svg)23:02Z scheduled with code 26631 (CONF1) for 60 minutes until 0002Z 23:03:48 Team_(svg)23:02Z has now started 23:03:56 + +61.2.933.6.aaaa 23:04:37 ChrisL: [tooling] 23:04:48 ... the other reason I have Flash installed on my machine is that I like to watch video 23:04:52 +Doug_Schepers 23:04:54 krit: content protection 23:05:05 jet: we're solving the video problems another way, I think we'll get there 23:05:15 ... the use cases are the ones I'd like to cover are ads, 2D games 23:05:26 ... the people who makes those games/ads in Flash, is that SVG implementations are fragile 23:05:42 ... 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 23:05:47 Rossen: I think everything that we publish is normative 23:06:01 ... in order to get interop you either have to converge on a single implementation, or just pray 23:06:14 cyril: if you subset SVG, in some sense you don't have 10 ways to do the same thing 23:06:17 ... you can optimise that 23:06:20 Rossen: example? 23:06:28 krit: asm.js 23:06:44 cyril: how do you frame based animation in SVG? 23:06:47 Rossen: what is it today? 23:06:52 cyril: you can use display, visibility, opacity 23:07:02 ... Brian just exposed yesterday all the challenges if you want to optimise your animation 23:07:09 ... there are several ways, will-change, transfromZ 23:07:14 Rossen: let's go back to SVG 23:07:25 ... from the SVG spec, tell me what is exposed is ambiguous and can be implemented in many ways 23:07:55 ... 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 23:08:20 ... I'd still like to figure out the problem for SVG 23:08:31 ChrisL: I'd like to see detail on what they find is fragile 23:08:56 roc: do people demand exact rasterisation consistency on all targets? or are they more concerned about performance consistency? 23:08:58 ... or other things? 23:09:03 jet: it was consistency across targets 23:09:09 roc: rasterisation consistency? 23:09:32 jet: that, performance, ... 23:10:03 ... we built a Flash renderer in JS, could this be a SVG renderer 23:10:20 Rossen: what does versioning look like in this case? 23:10:40 ... 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 23:10:50 ... there's always a first to market, and others following 23:11:03 ... are you going to hold everything back so that nobody jumps the gun and releases a feature? 23:11:20 ... I think we build new features so that you have graceful progression 23:11:37 ... and that comes back to the single implementation 23:11:59 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? 23:12:22 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 23:12:30 roc: they're finding canvas more consistent then 23:12:45 roc: you could have authoring tools produce canvas and JS 23:12:45 ... and compile down to that level 23:12:47 ... if you do that I think everyone gets what they want 23:13:02 jet: there's something amiss there, then you have to implement the playback engine 23:13:09 tantek has joined #svg 23:13:11 roc: you can customise that engine right down to exactly what the ad needs 23:13:23 ... you won't need most of the features that Shumway has 23:13:40 ... I don't know how small we can make that, but I think for a lot of ads we can make it pretty small 23:13:47 jet: is that something we could standardise? 23:13:56 roc: we wouldn't need to, which is why it'd be a great solution 23:14:06 ... in standards, we could look at making canvas rendering consistent 23:14:13 ... as canvas is more focused than svg is 23:14:23 cyril: what's the scalability of canvas? 23:14:29 ChrisL: well it's immediate mode 23:14:34 roc: that's a problem that canvas-using apps already have 23:14:39 ... there's a couple of pieces to solving that 23:14:50 ... we have consensus on solving that; there's an event that first when canvas needs to be re-rendered 23:14:56 ... and an application listens for that event and rerender 23:15:06 ... and we need a way for the app to size the backing store to device pixels 23:15:17 ... which is a renderedWidth/Height property on the canvas 23:15:37 jet: then maybe all we have missing is the packaging side 23:15:54 roc: you might be able to design your ad such that --- well you have image assets etc. 23:16:02 ... there have been several proposals for zip-like but streamable bundles 23:16:26 ... (you can make zip streamable if you format it correctly iirc) 23:16:37 ... I'm not sure why they didn't go anyway 23:16:43 ... maybe the use cases weren't compelling enough? 23:16:52 ... some people were trying to do it as a performance thing in a single HTTP transaction 23:16:55 ... but then SPDY came along 23:17:04 ... so for speeding up website loading that solved it 23:17:16 ... but for this problem of content traversing multiple networks was not really thought of as a use case 23:17:27 ... technically it's not a mysterious problem 23:17:35 cyril: you should look at the SVG streaming spec; it's still a draft, but it might help you 23:18:03 heycam: marcos will know about packaging 23:18:15 roc: if we could re-use this new app packaging format that might be a solution 23:18:19 cyril: my recollection is that it wasn't streamable 23:18:51 http://tavmjong.free.fr/SVG/MITER_LIMIT/index.html 23:18:57 Topic: Miter line join 23:19:11 https://github.com/w3ctag/packaging-on-the-web 23:19:20 jet ^ (packaging) 23:19:33 Tav: people were asking for a different type of miter 23:20:04 ... instead of clipping at a certain point, when you reach the limit, you get a uniform clipping 23:20:20 ChrisL: the existing one is discontinuous 23:20:24 krit: in canvas, what do we do there? 23:20:28 ... do we do the second one? 23:21:17 Tav: the guy from nvidia (not neil) said that half graphics engines do it one way, half do the other 23:21:26 ... the lower one is existing behaviour in some engines? 23:21:33 roc: we just use the underlying graphics libraries 23:21:39 ... so I'm sure it would be different on different platforms 23:21:58 https://developer.mozilla.org/samples/canvas-tutorial/4_8_canvas_miterlimit.html 23:21:59 krit: I think different platforms do align 23:22:22 ... the proposal is to have a fourth (well, we have 'arcs') 23:22:45 ... so if you're already doing something to implement arcs (i.e. not solely relying on existing libraries), then implementing this proposal is trivial 23:22:53 s/.../Tav/ 23:22:53 s/.../Tav/ 23:23:00 ChrisL: a new value would be good 23:23:30 Tav: I've played with the cairo line join code 23:23:35 ... and doing this is trivial 23:23:44 krit: does it work cross platform? cairo uses CoreGraphics on OS X. 23:23:53 roc: so the image rasteriser, not the other backends 23:24:16 zakim, who's on the phone ? 23:24:16 On the phone I see +61.2.933.6.aaaa, Doug_Schepers 23:24:34 cyril: in what way is http://w3ctag.github.io/packaging-on-the-web/#streamable-package-format not streamable? 23:26:16 shepazu: can you hear us? 23:26:41 ed: the proposal is? 23:26:48 krit: a new value that has this behaviour 23:27:32 Rossen: are you proposing an interpolation function that goes between these things? 23:27:39 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. 23:27:45 Tav: no just clip the miter rather than fall back to the other point 23:27:46 ah 23:28:13 cyril: OK. When Jet was talking about the Flash format being streamable, for the purposes of ad delivery, I think he meant "progressively processable" 23:28:50 roc: there are use cases for adaptive streaming of ads as well 23:28:53 ChrisL: so you're using a line cap which never triggers miter-limit 23:29:00 ... the numerical value for miter-limit wouldn't affect it? 23:29:02 Tav: it would 23:29:19 ChrisL: you're looking for a line-join keyword? 23:29:37 roc: mp4 being ubiquitous in all browser, I think it's a candidate that shouldn't be dropped without investigation 23:29:42 cyril: maybe, but I think you can't have adaptive streaming and a single inviolable package. 23:29:51 ChrisL: miter-clip 23:30:34 -Doug_Schepers 23:30:50 cyril: still controlled/timed delivery of big packages is interesting too 23:31:31 roc: still controlled/timed delivery of big packages is interesting too 23:33:01 RESOLUTION: We will add line-join:miter-clip in SVG 2. 23:33:09 ACTION: Tav to add line-join:miter-clip to SVG 2. 23:33:10 Created ACTION-3735 - Add line-join:miter-clip to svg 2. [on Tavmjong Bah - due 2015-02-19]. 23:33:21 -- 15 min break -- 23:33:24 ChrisL has joined #svg 23:33:55 jdaggett has joined #svg 23:48:06 jdaggett_ has joined #svg 23:54:09 tantek has joined #svg 23:56:52 Topic: auto closing path closing 23:57:09 http://tavmjong.free.fr/SVG/AUTO_PATH_CLOSING/index.html 23:57:32 Tav: there are problems when you have a curved segment at the begin/end of a path 23:57:40 ... in that in order to close the path you have to have a 0-length z 23:57:47 ... that causes problems with how markers are rendered 23:57:55 ... there are inconsistencies with how browsers handle them 23:58:10 ... if you paste that link in 2 different browsers, compare the rendering, you'll see that they're inconsistent 23:58:28 ... 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 23:58:35 ... would be nice to have a way that specifies they should match up 23:58:44 ... some possible solutions on how to do that 23:58:52 ... one possibility is new commands 23:59:03 ... the Z command is essentially an L command, where the point is the first point 23:59:20 ... so you could extend that, but I don't think it's good to extend Z_a or whatever 23:59:28 ... you could use a non-numerical parameter 23:59:33 ... which means "use the first point" 23:59:45 ... you could use a Z to indicate that you should replace a missing point with the first point in the path 23:59:52 ... so either the second or third solution would be a way of doing it 00:00:31 heycam: would you accept this special symbol anywhere in the path? 00:00:42 Tav: maybe but it wouldn't be as useful 00:00:52 heycam: makes me wonder if you would want to go back to any point, not just the first point 00:01:34 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? 00:02:11 heycam: I think we covered the marker direction issue a couple of weeks ago 00:03:16 cyril: the whole problem comes from rounding errors, right? 00:04:09 BogdanBrinza_ has joined #svg 00:04:17 Tav: yes 00:04:39 nikos: even ignoring precision issues, having a Z command that closes a bezier is useful anyway 00:04:55 ... you could expand the meaning of Z to mean "close a path and create a segment if it needs to" 00:05:27 heycam: that's the third option 00:06:24 nikos: what if in an arc command you omitted the flag values and put a z there 00:06:51 heycam: I think just make that invalid 00:07:00 disconnecting the lone participant, +61.2.933.6.aaaa, in Team_(svg)23:02Z 00:07:03 Team_(svg)23:02Z has ended 00:07:03 Attendees were +61.2.933.6.aaaa, Doug_Schepers 00:07:31 RESOLUTION: We will allow a Z to fill in any final coordinate pairs missing from the previous command. 00:07:46 ACTION: Tav to add the new Z behaviour. 00:07:46 Created ACTION-3736 - Add the new z behaviour. [on Tavmjong Bah - due 2015-02-20]. 00:08:05 http://tavmjong.free.fr/SVG/TEXT_ON_A_SHAPE/index.html 00:08:11 Topic: Text on a shape 00:08:51 Tav: inkscape originally drew ellipses/circles with paths 00:09:20 ... some people noticed they could no longer put text along a circle 00:09:35 ... because it's a common thing to do, it was proposed that we allow text on shapes 00:09:49 ... in inkscape this is easy to do, because at the time we disply we've already converted the shape to a path 00:10:06 ... the major issues have already been solved, such as the start point on a circle, because we had to define that using markers 00:10:12 heycam: and dashing 00:10:18 Tav: there are a couple of challenges 00:10:31 ... if you put text on a circle it might make sense to use a negative startOffset 00:10:37 ... how do you put text on the other side 00:11:17 ... we could have a flag to say which way the text goes 00:12:01 heycam: sounds fine 00:12:41 heycam: what about the flag? 00:12:51 ChrisL: what would the names be? inside/outside? left/right? 00:12:54 Tav: left/right 00:13:00 ChrisL: as long as you have a good definition 00:13:24 roc: clockwise/anticlockwise? 00:14:01 RRSAgent, draft minutes 00:14:01 I have made the request to generate http://www.w3.org/2015/02/12-svg-minutes.html cyril 00:14:31 roc: mapping people use "true left" of a river, left when moving downstream 00:14:50 Tav: how about negative startOffset? 00:15:43 heycam: negative startOffset is already allowed, but we probably don't define what happens with closed subpaths 00:16:37 RESOLUTION: We will allow to reference shapes and a flag to say which side of the path the text is put. 00:16:47 ACTION: Tav to update textPath for text on a shape. 00:16:48 Created ACTION-3737 - Update textpath for text on a shape. [on Tavmjong Bah - due 2015-02-20]. 00:17:05 Topic: x/y/width/height on 00:17:17 Tav: this is an issue I came across 00:18:04 http://tavmjong.free.fr/SVG/viewport.svg 00:18:21 Tav: Opera Presto and Inkscape you see no red boxes 00:18:29 ChrisL: and red is bad right? 00:19:04 Tav: it means x/y/width/height are being interpreted when the spec says they shouldn't be 00:19:20 cyril: Firefox/Chrome behave the same 00:19:40 IE11 is correct 00:20:17 Tav: Batik does it wrong, and probably everyone assumed Batik does it right 00:20:48 Tav: so I don't think following those attributes is useful 00:20:53 ... I think the spec should be followed in this case 00:23:57 roc: I suspect those attributes got cloned onto the and they're being interpreted in place 00:24:26 ... so maybe we should add them for consistency with referencing ? 00:24:57 ChrisL: is it fully defined what it means, if we removed that rule from the spec? 00:25:10 ... given that nested s already allow this 00:25:55 Rossen: I don't want to change 00:26:38 ChrisL: the reason I changed was that we added x/y to , and now referencing it is different from referencing 00:27:32 roc: if the issue is what I think it is, I think it would be easy to fix. but consistency between and would be good. 00:27:41 krit: does have viewBox? 00:27:44 Tav: yes 00:27:49 krit: then I'm starting to agree with roc 00:28:38 +1 to roc's proposal... we should do the same for , etc. 00:29:09 ed: if you have width/height on the it will override the ones on the cloned tree 00:29:15 Rossen: and that makes sense 00:29:24 roc: this is not an argument for making symbol behave differently though 00:29:32 Tav: it's only used by a element 00:31:43 stakagi_ has joined #svg 00:33:02 RRSAgent, pointer? 00:33:02 See http://www.w3.org/2015/02/12-svg-irc#T00-33-02 00:33:12 ed: I think you'll still get the same behaviour if you default width/height on to 100% 00:33:18 ... so if we did that I'd be fine 00:33:21 s/fine/fine with it/ 00:33:46 krit: what happens now that x/y are properties? 00:34:34 stakagi__ has joined #svg 00:35:40 Rossen: what is the main use case here that would be broken if we don't do this? 00:35:50 Tav: if someone has incorrectly put x/y/width/height 00:35:57 ... some browsers have ignored it, others have not 00:36:23 Rossen: what would be the expected behaviour or use that comes out from tooling? 00:36:30 ... what would be more natual for tooling to output for this? 00:36:45 ... when you're using , I would expect tooling would probably define x/y/width/height on the 00:37:42 heycam: so I agree that x/y on is not useful 00:37:57 ... but the argument would be consistency with referencing 00:38:08 krit: it's an edge case, I don't think content would be relying on this behaviour 00:38:18 Rossen: what would be the most natural thing from the author's point of view? 00:38:27 ... in either case the code change would be straightfowrard 00:38:32 ... I want to know what the effect for users would be 00:38:56 krit: and without width/height, that would be useful to avoid duplicating width/height all the time 00:39:11 ... I think there is an argument to simplify the code 00:39:19 ... by treating these the same 00:39:27 ... the user could live with specifying width/height on 00:39:40 dmitry: it looks more to be a bug in the spec rather than the browsers 00:39:53 ... as an author, I would expect x/y/width/height to be available on 00:39:58 ... it's not a big deal 00:40:40 ChrisL: the underlying model when this was designed is that positions a new thing, and that referenced thing has its centre of its coord system would pin it 00:40:47 ... it does mean sometimes you need to display all four quadrants 00:40:51 ... and there are some issues with clipping 00:41:04 ... some people would rather specify the middle rather than 0,0 00:41:11 Tav: well we now have refX/refY on symbol, to match marker 00:42:04 Rossen: what would users want/say 00:42:10 roc: I don't think users are necessarily going to use this 00:42:50 ... do we change the spec to make things things more consistent 00:43:54 cyril asked me to confirm that swiffy has indeed switched to canvas 00:44:17 ed: send a mail to www-svg asking for feedback, wait two weeks, decide then? 00:44:19 Rossen: sounds reasonable 00:44:42 ACTION: Tav to mail www-svg about the symbol x/y/width/height issue and report back in two weeks 00:44:42 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]. 00:46:06 zakim, pick a victim 00:46:06 sorry, cyril, I don't know what conference this is 00:46:16 zakim, this will be svg 00:46:16 I do not see a conference matching that name scheduled within the next hour, ChrisL 00:46:21 zakim, this is SVG 00:46:21 sorry, cyril, I do not see a conference named 'SVG' in progress or scheduled at this time 00:46:28 zakim, go to hell 00:46:28 I don't understand 'go to hell', cyril 00:46:43 scribeNick: ed 00:46:44 zakim, pick a victim !important 00:46:44 I don't understand 'pick a victim !important', ChrisL 00:46:46 Zakim, cyril is a meanie 00:46:46 I don't understand 'cyril is a meanie', shane 00:47:08 topic: svg2 issues 00:47:20 https://svgwg.org/svg2-draft/layout.html 00:47:26 botie has joined #svg 00:47:38 heycam: this is the chapter for x,y,cx,cy and so on properties 00:47:48 botie, tell cyril he was mean to zakim 00:47:48 ChrisL: excuse me? 00:47:53 ... issue 1: need to check the initial values for all of them 00:48:10 krit: r has different initial values for gradients and circle 00:48:18 ... propose to make it 'auto' 00:48:31 ... to make it work out the correct value depending on element 00:48:48 heycam: is this done with UA styles? 00:49:04 TabAtkins: auto is more for when auto is going to affect the results 00:49:11 zakim, enjoy your 137 days left 00:49:11 I don't understand 'enjoy your 137 days left', cyril 00:49:25 ... if you're just doing based on the element you should use UA styleaheets 00:50:38 krit: next issue, rx and ry should use zero as initial value 00:50:54 ... something that's not there is fx and fy 00:50:58 ... on radial gradient 00:51:20 ... the descirption is complicated, by default uses values from cx and cy... 00:51:34 ... we could set them to auto and make them do the same thing 00:51:48 heycam: it's a strange feature 00:52:27 krit: it doesn't define specialcasing for fx,fy 00:52:40 heycam: we did decide to make fx and fy properties, right? 00:52:43 krit: yes 00:53:06 heycam: did we only do this because we did the other gradient attributes? 00:53:07 krit: I think so 00:53:24 heycam: we should focus on the basic shapes 00:53:42 ... don't do this for the gradient elements, even with cx, cy on gradients 00:54:35 ChrisL: but you can put presentation attributes on any element 00:54:52 ed: can't we just make them presentation attributes on particular elements? 00:56:04 heycam: if it's easier since presentation attributes work on any element (?) 00:56:34 krit: in webkit we didn't turn cx cy to properties on radialgradient 00:56:54 heycam: i'd prefer not making them presattrs in this case 00:58:25 RESOLUTION: don't make the layout properties into presentation attributes on the gradient elements 00:58:46 heycam: issue 2, what to do about x and y on text elements? 00:59:10 Tav: we also have them on tspan right? 00:59:13 heycam: yes 00:59:25 ... the issue is that they're list of values 00:59:50 ... either we could allow list of values in the property, but only use the first value 01:00:00 ... or the attribute has some special processing 01:00:30 ... one option is to not make x y presentation attributes on any of the text elements 01:01:28 krit: I like that, or alternatively make xy presattr on text, but map them to other properties 01:01:36 ... don't quite like the second idea though 01:01:57 heycam: we already decided that the x,y lists are bad due to font issues 01:02:15 ... so don't think we should allow the second one 01:03:25 krit: another way might be to apply the xy property to text elements, but also apply the positoning fromthe xy attributes also 01:03:34 ... that would allow positioning from css 01:03:46 heycam: that'd be a little bit confusing 01:03:55 ... but might be the best solution 01:04:49 Tav: so discourage use of the x,y,dx,dy? 01:05:01 heycam: I think we should try it out 01:05:22 krit: ok, so spec that and await feedback from implementations? 01:05:27 Tav: ok 01:06:18 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 01:07:11 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 01:07:12 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]. 01:07:15 https://svgwg.org/svg2-draft/coords.html 01:07:27 heycam: next chapter, coordinates 01:07:47 ... issue 2, are there any more up-to-date defs for sizing? (i haven't checked) 01:07:57 ... prob needs some closer review by somebody 01:08:29 ... someone should take an action to look at this? 01:09:12 ACTION: krit to review the svg2 coordinate chapter 01:09:13 Created ACTION-3740 - Review the svg2 coordinate chapter [on Dirk Schulze - due 2015-02-20]. 01:09:38 heycam: issue 9, about pAR 01:09:39 https://svgwg.org/svg2-draft/coords.html#PreserveAspectRatioAttribute 01:09:55 ... do ppl use 'defer' or can we drop it? 01:10:22 ChrisL: is this somehting new? 01:10:31 heycam: I think it's from the original 1.0 spec 01:10:40 krit: don't think webkit implements this 01:10:59 heycam: we have some tests for defer, but doesn't mean that ppl are using it 01:11:08 ... would be happy to try removing it 01:11:43 ed: I'm fine with removing it 01:11:50 tantek has joined #svg 01:12:13 heycam: firefox at least supports parsing it 01:12:22 Tav: inkscape doesn't support it 01:13:17 krit: webkit parses it but ignores it 01:14:14 ed: so does that imply that we should allow it but say in the spec that it must be ignored? 01:14:28 heycam: would prefer just to remove it (don't think there's much content using it) 01:15:25 krit: think we should parse it but ignore it 01:15:33 heycam: I'd prefer removing it 01:16:21 tantek_ has joined #svg 01:16:35 RESOLUTION: make defer do nothing (and investigate removing it later) 01:17:09 ACTION: krit to make defer be ignored in pAR 01:17:10 Created ACTION-3741 - Make defer be ignored in par [on Dirk Schulze - due 2015-02-20]. 01:17:46 heycam: next, issue 15 01:17:50 https://svgwg.org/svg2-draft/coords.html#BoundingBoxes 01:17:52 ... in the bbox section 01:18:18 ... bbox of text with the widht/height set on it 01:18:36 ... should it be the box that it's laid out in, or the union of the glyph cells? 01:19:06 Tav: the text would just be the content area, can be reduced due to padding/margin 01:19:22 krit: we should handle it like normal block elements in html 01:19:33 heycam: so what should getBbox return? 01:19:55 Tav: there are different bboxes in css 01:21:24 A 01:21:24 heycam: sometimes you have content that can't wrap 01:22:02 Rossen: inline elements don't have width in css 01:22:10 ... this is closer to block 01:22:24 ... the blockrelated properties is what should apply to svg here 01:22:40 heycam: we don't need to make getbbox does like getboundingclientrect 01:22:53 ... if we ignore the width feature 01:23:07 ... we might return the size of A 01:23:21 Rossen: with the width today if you specify it 01:23:36 (SVG also has different bboxes... geometric bbox, decorated bbox, etc.) 01:23:37 ... you can say it's the bbox or that it's the union of the two, or just the text inside 01:23:59 Tav: depends on how much text you put in 01:24:05 heycam: it's a run of glyphs 01:24:15 ... we can do pre-formatted text 01:24:21 ... we can union the bboxes 01:24:42 ... i think we shouldn't return the rect area defined by width/height for text 01:32:03 Tav: if you've wrapped text, some text sticks out further than the others, you should make that affect the bbox 01:32:03 ... you'd have to look at all the lines to figure out the exact bbox 01:32:05 nikos: if we say width(height is always returned from getbbox you could just check the attribute 01:32:10 Rossen: the information for size of each line is available internally 01:32:15 ... you might want each line separately 01:32:18 ed: multiline text is new in svg2, do we want to allow fetching the size of each line? 01:32:23 krit: cssom defines that getclientrects maps to getbbox (?) 01:32:23 roc: maybe think of it as shrinkwrapped 01:32:23 ... the intrinsic preferred width 01:32:23 heycam: problem is tht dx dy influences the bbox 01:32:26 krit: we could disable them for the case of having width/height 01:32:26 heycam: the options 01:32:57 ... 1) look just a the glyphs, take bbox of each and then union the bboxes 01:33:59 ... 2) if you have width attribute then bbox has that exact width and height be multiple of lineheight 01:34:15 ... 3) union of option 1 and 2 01:34:27 TabAtkins: option 2 is closest to what css is doing today 01:35:11 Rossen: what do we do for negative margin on inline boxes? 01:35:28 TabAtkins: doesn't count 01:35:48 Rossen: not sure it translates well to svg 01:36:51 (draws on whiteboard) 01:39:41 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 01:40:01 heycam: if we want options we have a param for getBBox that we can use 01:43:01 Rossen: so list of text content boxes, or the parent box that's the union essentially 01:43:35 heycam: we can always add a way to get the other one 01:43:48 Rossen: right, because we don't have any way to get the lineboxes 01:44:10 heycam: the only downside is that it's inconsistent with non-areabased text 01:44:19 ... where we're using css to layout the text 01:44:26 ... but shrinkwrapping the text 01:44:56 Rossen: that's fine though, the bbox is defined by the text content in that case 01:46:13 Tav: think we should not consider dx, dy and rotate in the textarea case 01:46:22 ... for the bbox 01:47:06 heycam: I think the block level element in css should provide the bbox (positioned) 01:47:29 Rossen: when width is auto one of the three possible ways to size the box 01:47:42 ... one is dependency on parent, in percentage 01:48:04 ... other is that it's fixed 01:48:12 ... third is that it's attached to the text content 01:54:23 -- break for lunch -- 02:28:57 tantek has joined #svg 03:01:22 stakagi has joined #svg 03:02:09 scribe: Nikos 03:02:11 scribenick: nikos 03:02:46 Topic: Text bounding box 03:03:05 heycam: we discussed over lunch 03:03:35 heycam: when you call getBBox on a text element that has % or px or specified width then bounding box is the specified width 03:03:43 ... and height is the height of the CSS box that gets created 03:04:05 BogdanBrinza has joined #svg 03:04:08 ... and if you leave off the width, then you take the union of all the bounding boxes for the text 03:04:15 ... to handle cases where things are positioned 03:04:32 ... 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 03:04:38 ... think that makes it a consistent model 03:04:48 ... probably don't need to describe in terms of those three things 03:05:03 Tav: looks like a good solution to me 03:06:49 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 03:07:22 ACTION: heycam to spec behaviour of getBBox on text 03:07:22 Created ACTION-3742 - Spec behaviour of getbbox on text [on Cameron McCormack - due 2015-02-20]. 03:07:34 https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Open_issues 03:07:58 heycam: bogdan suggested we gather up open issues on this page - we might not have a chance to resolve them all this meeting 03:08:12 ... so I summarised which I thought were substantive issues that need discussing 03:09:05 ed: back to text, if you have text element without width or height and you have white space property set to pre wrap 03:09:15 ... you have some return characters to specify text as multiple lines 03:09:19 ... you get three lines of text 03:09:28 ... behaviour of bounding box should be as auto 03:09:46 AlexD has joined #svg 03:09:48 Topic: Open SVG 2 issues 03:09:51 https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Open_issues 03:10:03 heycam: this list is based just on the red issues that are noted in the spec 03:10:08 ... may be a few more things in tracker 03:10:18 ... new ones may also pop up as we continue reviewing the existing text 03:10:24 ... Erik and I have reviewed some chapters 03:10:32 ... neither of us are through the whole spec yet 03:10:43 ... so probably later chapters need a closer look than the earlier ones 03:11:03 ... bearing that in mind, this wiki lists the substantive issues that are noted in the spec 03:11:23 cyril: some chapters start at issue number > 1? 03:11:30 heycam: we've already discussed some and some don't need discussing 03:11:37 ... we may or may not get through this list 03:11:44 ... how would you like to prioritise? 03:12:13 BogdanBrinza: normally for us we take a first pass at the list and find highest priority items 03:12:34 Rossen: hope we're in agreement we want to ship the spec? 03:12:46 ... so we can tackle a couple of ways 03:13:01 ... we can look at the spec as a whole - if we agree we want to close all issues and ship the spec 03:13:07 ... then move to a modular way of advancing svg 03:13:17 ... then first pass should be to decide the must unstable and non core things 03:13:19 ... that we can live without 03:13:23 ... and make those modules right now 03:13:32 ... that will reduce the amount of work we need to do as a group to discuss issues 03:13:42 ... so as a first pass lets find big areas we can remove 03:13:56 ... then from remaining we can assess what is in most dire need of group discussion time 03:14:12 heycam: I like the idea of creating modules immediately for things we're removing 03:14:44 cyril: maybe not the case for all chapters - but some seem to be very close to modules 03:15:32 http://www.w3.org/Graphics/SVG/WG/wiki/SVG2_readiness_assessment 03:16:07 Rossen: is your list an extraction of this table? 03:16:18 heycam: has some correlation probably but this is just my judgement of the issues 03:16:24 ... and which are not editorial 03:16:35 BogdanBrinza: think we agree on chapters that have most issues 03:17:01 ChrisL has joined #svg 03:17:22 Rossen: do we think we can go through the first step and move things to modules? 03:17:43 krit: I'm in favour of that - do you have features that you want to move 03:18:24 Tav: Think we'd spend more time arguing over which stuff to move than how to solve the issues 03:19:47 BogdanBrinza: Chapters 15, mesh gradients has a lot of issues 03:20:02 heycam: don't think we should be looking at the chapter level - but at features 03:20:24 heycam: 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? 03:20:40 Rossen: not sure - if we can move something to the next level why spend time talking about it? 03:20:57 heycam: sounds like you have ideas about features you don't want to see in the spec - even though there are no open issues 03:21:07 Rossen: I wouldn't oppose a stable feature staying 03:21:24 BogdanBrinza: generally not about features we want in the spec - but everyone wants to see a stable spec 03:21:39 heycam: do you think stability is not solely determined by open issues? 03:21:51 BogdanBrinza: I'd say that's the most important thing - but severity matters too 03:21:59 heycam: I was going to suggest looking at features that correspond to open issues 03:22:13 ... so if we've resolved issues on a feature it can stay 03:22:27 Rossen: do we consider features complete? 03:22:34 ... or just enough stuff there so we think it's complete but not sure 03:22:41 ... are we going to find issues when we review? 03:23:05 Rossen: ok lets go through each issue then 03:23:32 heycam: let's finish co-ords chapter then we can talk about features in other chapters 03:24:28 ACTION: heycam to make stable issue identifiers in the spec 03:24:29 Created ACTION-3743 - Make stable issue identifiers in the spec [on Cameron McCormack - due 2015-02-20]. 03:24:43 issue 17, co-ords chapter 03:24:51 heycam: issue 17, co-ords chapter 03:25:00 heycam: should fill correspond to the main area of that element? 03:25:10 ... so fill:false should exclude that rectangular region? 03:25:21 for ACTION-3743 make sure that the template has fields for assigned actions, wg discussion and resolution 03:26:01 heycam: if it's not an svg element you can't call getBBox, but you can call it on the parent 03:26:07 ... so iframe or canvas should contribute to the bbox 03:26:33 Rossen: if it's not exposed how can you get the bbox? 03:26:45 ... should define getBBox on these elements 03:27:10 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 03:27:26 Rossen: we define getBBox on foriegnObejct? Behaviour should be the same 03:27:38 krit: but on fo you have a whole html doc 03:28:25 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 03:29:16 Tav: To me fill:false is not a sensible option 03:29:20 ... as a control 03:29:26 heycam: sounds like we agree on that 03:30:06 RESOLUTION: The fill dictionary parameter doesn't affect bounding box of iframe, canvas, etc 03:30:53 ACTION: heycam to update spec for fill dictionary parameter when called on iframe, canvas, etc 03:30:53 Created ACTION-3744 - Update spec for fill dictionary parameter when called on iframe, canvas, etc [on Cameron McCormack - due 2015-02-20]. 03:31:19 heycam: proposing to remove svg:transform’ attribute 03:31:23 krit: already done 03:31:28 ChrisL: where is it being moved to ? 03:31:31 heycam: no one uses it 03:31:48 ChrisL: mapping people use it 03:31:55 tantek has joined #svg 03:32:09 Zakim has left #svg 03:32:09 ... my understanding is we changed behaviour for this to match what implementations do 03:32:32 krit: the removed text was mostly pointless 03:33:05 cyril: it's not the same as the transform attribute - same name but in a different namespace 03:33:12 heycam: if you think it's being used by people it can stay 03:33:18 ... just worried wording is outdated 03:33:33 ChrisL: this was standardised through JIS 03:33:44 krit: I'll put it in integration spec 03:33:50 ChrisL: that's ok - just don't want it removed 03:34:01 AlexD: isn't this what Takagi-san is using for tiling? 03:34:04 ChrisL: yes 03:34:53 cyril: don't think it should be in integration spec - should be module on it's own 03:35:05 ... I see integration spec as between svg, html, css 03:35:13 ChrisL: it's larger - how css uses things 03:35:21 Tav: I'd like to see it moved before it's taken out 03:35:24 krit: I'm doing it right now 03:35:29 ... into a new module right/ 03:35:35 ChrisL: section above it as well? 03:35:48 heycam: there was going to be a mapping spec? 03:35:56 ChrisL: yes but mapping spec by itself wasn't useful 03:35:59 ... by itself 03:36:05 ... so dispersed these features into svg 2 spec 03:36:18 Tav: that's why it's good having annotations describing why things are moved 03:36:55 RESOLUTION: svg:transform attribute will be moved to a new module 03:37:41 heycam: let's look at remaining issues in terms of the features they encompass 03:37:48 ... all path issues are for Catmull-Rom 03:37:58 Rossen: who is implementing it? 03:38:04 Tav: it's Doug's baby 03:38:11 Rossen: can we have a Catmull-Rom module? 03:38:21 why? 03:38:30 ChrisL: tricky because it's in the path element 03:38:42 shane: we did that in CSS 03:38:57 ChrisL: was going to bring that up as a bad example 03:39:16 shepazu: there's a not great way - which would still be good enough 03:39:27 ... supersede description in new spec 03:39:34 ... good way is define what path commands look like 03:39:42 ... and say future specs may define new path commands 03:39:52 ChrisL: agree, not sure how much work it is making it properly extensible 03:40:16 shane: could put all stuff in path extension spec 03:40:41 ChrisL: so in core svg 2 path syntax is the same as svg 1.1? 03:40:44 heycam: we have bearing and stuff 03:41:16 heycam: that's an example of a feature that is complete in the spec, but people have reservations about it being in core svg 2 03:41:35 Tav: it's not something I care too much about having - but feel it will be ignored once it's in another spec 03:41:39 Rossen: that's how css works 03:41:47 ... survival of the fittest - good features progress faster 03:41:55 ... I think it's a good way to do things 03:42:00 TabAtkins: don't be afraid of modules 03:42:39 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 03:42:52 ChrisL: that's a problem because we've then spent 10 years producing a spec that doesn't have new features 03:43:05 Rossen: if you have 5 other specs in the pipeline then you have a good story 03:43:16 ChrisL: we've already gone from modules to one monolithic spec 03:43:19 ... now we're going back 03:43:31 Tav: how much work to fix Catmull Rom? 03:43:35 heycam: need to add math to the spec 03:43:44 ... issues could be summarily decided 03:44:33 Rossen: this is a good example of a feature that could move imo 03:44:36 ... it's a good feature 03:44:53 ... some designers have questioned it's use 03:45:25 Tav: there's a good use when connecting points in a graph 03:45:46 heycam: I would have to do investigation of the math 03:45:49 Tav: it's pretty simple 03:46:21 Rossen: if it was such a hot feature I'd expect Adobe, InkScape, etc to be pushing it 03:46:26 krit: Adobe already stated we don't care 03:47:21 heycam: so if you want a sense of it staying in svg 2 or being split ... ? 03:47:29 krit: not necessary for svg 2 03:47:36 Rossen: can we resolve to move it to it's own module 03:47:50 heycam: as long as we create a new spec immediately 03:47:54 ... don't want to lose the work we have done 03:48:34 ed: do you have same concern about bearing? 03:48:38 Rossen: I haven't read the bearing stuff 03:48:53 heycam: I'll be less excited about shipping svg 2 with all the features removed 03:49:14 shane: I think we'll fairly readily be able to find features that have no issues or trivial and those that have substantive issues 03:49:30 ... why not appoint champion or owner for features with substantive issues 03:49:44 ... if issues aren't resolved by wg within a certain time frame we move it out 03:50:02 Rossen: features without issues shouldn't necessarily remain part of the core 03:50:37 ... if features have expensive implementation cost then they should maybe moved out 03:50:45 heycam: we could mark them at risk 03:50:55 Jet: is there a list of at risk features/ 03:51:00 ... that's probably the first step 03:51:14 heycam: table in your wiki page isn't at feature granularity, which is what we need to discuss 03:51:33 jet has joined #svg 03:51:34 Rossen: it's easy to decide on some - basic types for example 03:52:41 krit: svg 1.1 isn't going to disappear - it can still be referenced 03:52:57 stakagi: not using transform at the moment - it is ok to remove it from this level 03:53:07 ... you can put me as editor of the svg:transform spec 03:53:33 heycam: Catmull-Rom - what are we doing? 03:53:40 heycam: put with superpath as svg path level 1? 03:53:49 shane: it's a really nice target for modularisation 03:53:56 ... doesn't mean it won't be published at the same time as svg 2 03:54:12 heycam: let's publish first draft of these things when we publish CR of svg 2 03:54:34 RESOLUTION: Will create SVG path module 03:55:24 heycam: should svg 2 path only be what is supported by 1.1? 03:55:31 ... so move all new things (e.g. bearing) into the module? 03:55:57 shane: there is work involved in moving stuff - if a feature has no issues then leave it 03:56:00 heycam: I'm ok either way 03:56:06 Rossen: i'm ok with either too 03:56:13 heycam: minimum work is leave it where it is 03:56:20 all: let's do that 03:56:39 ACTION: heycam to move Catmull-Rom to SVG path module 03:56:40 Created ACTION-3745 - Move catmull-rom to svg path module [on Cameron McCormack - due 2015-02-20]. 03:56:59 heycam: Editors will be Cam, Doug, and Cyril 03:57:36 TabAtkins: do we want to use CSS naming where everything that builds off SVG 2 is next level? 03:57:41 ... then we'd start at 2 03:57:46 all: that's confusing, let's start at 03:57:49 ... 1 03:57:55 heycam: next bunch of issues are to do with text 03:58:06 ... either shape text or rectangular ref text 03:58:15 Rossen: are your issues in an order? 03:58:18 heycam: just numeric 03:58:26 Rossen: can we do things with only 1 issue? 03:58:58 heycam: Let's do animate.html, Issue 2 03:59:20 birtles: basically new features we'll defer to a separate spec 03:59:31 ... then there's one or two edits I should make with regards to correctness 03:59:39 ... not sure about allowing animatemotion to use a basic shape 03:59:52 ... not sure if we want to include those slight improvements 03:59:56 ... or defer everything 04:00:04 Rossen: what would it look like after your change? 04:00:18 ed: we resolved to allow basic shapes for text on path 04:00:27 birtles: so for consistency we should leave it 04:00:34 birtles: major features will be deferred 04:00:59 ...I can take care of the issues that are there 04:01:10 ... and get rid of references to features which we'll put in a different module 04:01:34 heycam: can we discuss attributeType="auto"? 04:02:00 ed: I came across issue with SMIL elements and attributeType 04:02:12 ... default is auto which means check if it's a property first 04:02:18 ... if so that's what your'e animated, otherwise attribute 04:02:25 ... since we made x and y properties 04:02:30 ... it's a problem on text element 04:02:35 ... which takes a list of values 04:02:50 ... I'm wondering if we should try to be smarter here selecting the right thing 04:02:56 Florian has joined #svg 04:03:04 heycam: why wouldn't that content work now? 04:03:14 ... auto means when both property and presentation attribute, choose the property right? 04:04:11 ed: if we make x a property, we'll try to animate x as a css property 04:04:17 ... and that might not give the same result as previously 04:04:26 heycam: outcome of previous discussion was that it would work 04:04:44 ... property is the primary thing that determines the value 04:05:16 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 04:05:48 ... one suggestion is to make auto pick the xml version if it's a text element 04:05:53 ... that will preserve old behaviour 04:05:59 ... and pick css property for any other element 04:06:05 Rossen: and when number of values is one? 04:06:33 AlexD: I don't like behaviour of attribute depending on what it's parent is 04:06:43 birtles: you have to look up parent or target anywhere when animating 04:06:45 AlexD: but not when binding 04:07:01 birtles: yes you need to look to see if there's an attribute of that name that can be animated 04:07:07 AlexD: seems like strange behaviour to me 04:07:18 ... choose one or the other and whatever it breaks it breaks 04:07:23 Rossen: doesn't sound like much will break 04:07:27 ed: expect most would use one value 04:07:31 birtles: I think there'd be some breakage 04:07:45 ... you see people moving characters around like taht 04:07:51 s/taht/that 04:08:03 Rossen: I'd be more concerned about tools and tool makers 04:08:14 birtles: that suggests keep backwards compat 04:08:22 AlexD: don't know if there's any tool that generates this 04:09:01 birtles: I was hoping to deprecate attributeType altogether 04:09:18 ChrisL: attributeType was introduced to disambiguate a name class between width and height attributes and properties 04:09:20 Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1062106 04:09:30 ... so most of the time you didn't need to specify it 04:09:36 ... in some was we have more of a clash now 04:09:49 ... we've promoted lots of things that were attribtues into properties 04:09:59 ... so I don't think it serves much purpose at the moment 04:10:06 ... think people tended to guess as to which value to set 04:10:11 ... and it usually didn't matter 04:10:24 ... so you'd probably find uses - but removing attributeType would probably render just the same 04:10:30 birtles: but how do we make text case work? 04:10:39 Rossen: state it's deprecated 04:11:00 birtles: if we get rid of attributeType how do you animate x attribute on text element? 04:11:48 Rossen: so what are options we have? 04:12:33 Rossen: option a) remove attributeType altogether because pretty much all properties are attributes and only x is problematic 04:12:50 ... we'll deprecate multiple x/y value animate for text 04:13:00 ... as a consequence 04:13:49 ed: do we want to consider deprecating having multiple x/y values on text element 04:13:59 cyril: it's heavily used isn't it ? 04:14:03 krit: yes but not for animation 04:14:35 ACTION: ed to add use counter for multiple x/y values on text element 04:14:35 Created ACTION-3746 - Add use counter for multiple x/y values on text element [on Erik Dahlström - due 2015-02-20]. 04:14:53 Rossen: let's wait for more data then 04:15:00 ed: don't think we need to make both decisions at the same time 04:15:24 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 04:15:35 ... e.g. we can take last or first valid attribute from the list 04:15:38 ... and animate with that 04:15:45 ... which will again break animation, but not as badly (maybe) 04:15:56 ... in one case you have no animations at all - second you have animations of one frame 04:16:10 Rossen: not perfect, but less invasive 04:16:25 ... option c) get rid of attributeType and add special handling for x on text 04:16:43 ... make it context aware 04:18:25 Rossen: is there another option where we extend the attributeType to specify instead of doing context aware 04:18:36 heycam: it already has values to select attribute or property 04:18:54 ed: we could make auto on text elements, pick xml as the default 04:19:21 Rossen: option d) attributeType for animate inside of text is always xml - there is no auto 04:19:33 ... would reduce options in future 04:19:39 cyril: detect number of values? 04:19:45 Rossen: that would be hacky 04:20:22 birtles: I think we could drop attributeType and leave a note in the spec with the context aware behaviour as an open issue 04:20:27 ... see what data we get on the use counter 04:20:42 ... if there's not sufficient usage of multiple values for x we drop, otherwise we do context aware 04:20:51 Rossen: what about if we deprecate it now and see who fights for it? 04:21:25 birtles: I know there's a lot of opposition to multiple values for x anyway 04:21:43 ed: difference between static text with multiple values and animated multiple values - there will be a lot less animated 04:23:24 cyril: removing attributeType is ok - but the consequence in option a is not acceptable 04:23:35 birtles: the consequence only applies to animation 04:23:39 cyril: ahh ok 04:23:53 birtles: there is a work around for jittering text 04:24:06 ... using dx/dy 04:24:56 RESOLUTION: remove attributeType and deprecate animation of multiple values in x/y 04:25:14 Rossen: that was the big issue with animation - so this chapter is mostly clear 04:25:20 birtles: I need to do some more tidy up but yes 04:25:45 heycam: interact.html ISSUE 1: should we remove duplicate events like SVGLoad? is already resolved 04:26:06 ... lacuna value for pservers.html ISSUE 3: linearGradient y2 lacuna value is already resolved 04:26:14 ... the value should really be zero 04:26:29 RESOLUTION: lacuna value of y2 on linearGreadient should be zero 04:27:09 Rossen: what about masking.html ISSUE 2: define how overflow-x,y work ? 04:27:48 krit: being moved 04:28:58 krit: ISSUE 3: should overflow:auto really be equivalent to visible 04:29:06 ... we changed behaviour based on ie 04:29:16 Rossen: thought we discussed in London? 04:29:58 Florian has joined #svg 04:31:30 nikos: from London - All viewport-establishing elements will be overflow:visible by default, except for root of SVG whole documents. 04:31:46 http://www.w3.org/2014/08/22-svg-minutes.html#item04 04:32:15 Rossen: seems like a perfect fit for integration spec 04:32:24 krit: do we move overflow to integration spec? 04:32:28 heycam: why is it in our spec? 04:32:32 ed: we have lots of special rules 04:32:49 heycam: remove that section, add relevant UA rule and that should be enough 04:33:32 heycam: krit can we really remove it all? 04:33:45 heycam: I need to think about it - give me the action 04:34:09 ACTION: Cameron to take care of overflow section in the masking chapter 04:34:09 Created ACTION-3747 - Take care of overflow section in the masking chapter [on Cameron McCormack - due 2015-02-20]. 04:35:16 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 04:37:28 RESOLUTION: masking.html, issue 3 - Drop overflow-x,y issue and don't do anything specific in SVG 04:38:02 s/masking.html, issue 3/masking.html, issue 2/ 04:41:13 jdaggett has joined #svg 04:41:54 krit: so all these changes are going to integration spec and are being removed from svg 2? 04:41:58 Rossen: yes 04:42:35 heycam: i'm concerned that it's not valid to state that auto on a particular element computes to a different value 04:42:38 Rossen: we do that all the time 04:44:32 RESOLUTION: masking.html ISSUE 3: should overflow:auto really be equivalent to visible? Should be moved to integration spec and removed from SVG 2 04:45:39 krit: can we remove 15.3 and 15.4 totally? 04:45:51 heycam: think in rendering chapter we need to describe how these things fit into the scheme of things 04:47:20 nikos: I think rendering chapter should say at what point these things occur and that's all 04:55:04 -- 15 min break -- 05:16:52 scribe: tav 05:17:10 scribenick: Tav 05:17:36 Rossen, Let's cover issue in color chapter. 05:17:50 topic: svg2 issues in the color chapter 05:17:57 s/Rossen/Rossen:/ 05:18:02 s/Rossen,/Rossen:/ 05:18:54 https://svgwg.org/svg2-draft/color.html#color-managed-images 05:19:02 Rossen, Issue 1: 05:19:09 s/Rossen,/Rossen:/ 05:19:10 ... should this be here? 05:19:37 TabAtkins, : Should be in colors4. 05:20:24 .... not in yet, will be soon. 05:21:34 krit: What do we need to keep? 05:21:44 Rossen: Tab, what do we need to keep? 05:21:55 TabAtkins: Nothing. 05:22:13 Rossen: Motion: move everything in this chapter to color4. 05:22:38 https://svgwg.org/svg2-draft/color.html#InterfaceSVGColorProfileRule 05:22:42 krit: SVG Interface rule should disappear. 05:23:38 ed: What about ICC? 05:23:59 Rossen: Yes, should be in colors4. 05:24:19 RESOLUTION: Drop SVG color profile rule interface. 05:24:46 s/What about ICC?/will icc-color be part of the grammar in css?/ 05:25:06 RESOLUTION: Remove color chapter from SVG 2. Refer to CSS Color 3 and 4. 05:25:55 ACTION: TabAtkins Finish CSS Color 4 (with stuff from SVG). 05:25:55 Created ACTION-3748 - Finish css color 4 (with stuff from svg). [on Tab Atkins Jr. - due 2015-02-20]. 05:26:18 https://svgwg.org/svg2-draft/types.html#InterfaceSVGCSSRule 05:26:28 https://svgwg.org/svg2-draft/types.html#InterfaceSVGRenderingIntent 05:26:40 Topic: Remove above two interfaces. 05:27:02 ed: Should go. 05:27:39 (to be clear, the entire room says that, not just me ;) 05:27:44 RESOLVE: Remove InterfaceSVGCSSRule and InterfaceSVGRenderingIntent. 05:28:43 Rossen: Only two chapters to go from heycam's list: painting & text. 05:29:12 Topic: Painting chapter issues 05:29:30 Scribe: Cameron 05:29:33 ScribeNick: heycam 05:29:40 https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Open_issues 05:30:03 heycam: first two issues are to do with arcs line-join 05:30:10 Tav: first issue is the name 05:30:17 ... nobody suggested a different name 05:30:19 ... so let's just leave it as is 05:30:39 ... second one is what do you so with miter-limit 05:30:53 ... now that we have this clipping option, ... 05:31:12 ... it's possible to get a very long arc 05:32:47 ... 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 05:35:16 RESOLUTION: arc line caps are affected by miter-limit by measuring along the middle arc and clipping a straight line perpendicular at that point 05:36:49 ACTION: Tav to make miter-limit work on arc line caps in this way 05:36:49 Created ACTION-3749 - Make miter-limit work on arc line caps in this way [on Tavmjong Bah - due 2015-02-20]. 05:38:06 Scribe: Tav 05:38:13 ScribeNick: Tav 05:38:56 Topic: Issue: stroke-dashcorner doesn't work well for rounded rects 05:39:23 heycam: New feature in SVG 2. It's nice. 05:39:34 ... look at pictures in section. 05:40:02 https://svgwg.org/svg2-draft/painting.html#StrokeDashcornerProperty 05:40:27 ... Illustrator supports. 05:40:44 krit: Illustator dashing different. 05:41:02 heycam: Not the most important issue. 05:41:13 krit: Could we have a stroking enhancement spec? 05:41:54 ... would like to have a core with what is supported today. 05:42:10 heycam: Not happy with pulling out stroking. 05:42:24 ed, Rossen stroking should be well defined. 05:42:40 krit: doesn't include stroke-alignment... 05:43:25 Rossen: The fact that stroking will be well defined in SVG 2 we could still have a stroking spec.. What would be in it? 05:43:44 heycam: I can summarize the new things: 05:43:58 ... stroke-dashadjust 05:44:08 .... stroke-dashcorner 05:44:37 ... arcs line join 05:44:50 ... stroke-alignment 05:45:54 krit, tav: stroke-alignment often requested. 05:46:02 tav: would like to have % 05:48:15 Rossen: stroke-dashcorner: our (IE) implementation for stroking is pretty complicated, could be hard to do. 05:48:23 krit: Used in illustrator. 05:48:35 heycam: Can just stretch dash array. 05:49:12 Rossen: We still don't have interopability with normal dashing today. 05:49:30 roc: SVG stroking is actually rather simple. 05:50:03 (in comparison to css border dashing) 05:50:21 roc: We need an extensible stroking task force. Lots of neat things you can do. 05:50:44 Rossen: Should there be a new module? 05:51:20 Rossen: What would be in the new SVG stroking module: 05:51:30 ed: Variable with stroking. 05:51:38 Rossen: That's a really cool feature. 05:51:39 s/with/width/ 05:51:41 stakagi has joined #svg 05:52:03 krit/Rossen Dashing and Variable width. 05:52:35 Rossen: We extend in CSS specs with just one new value of a property. 05:53:55 Rossen: New specs should only add stuff that's not in already in SVG 2. 05:54:16 krit: But what should we ship here for SVG 2? 05:54:52 heycam: I think there are some things already implemented that should remain. 05:55:26 Rossen: Should we start with stroke-dashcorner? (Moving to new spec) 05:56:32 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. 05:57:30 Rossen: I think that moving things into modules sends the message that we can move faster than with a big SVG2 spec. 05:58:25 krit: I'm happy to move out new marker stuff to new spec. 05:58:47 heycam: There would be some overlap in text between specs. 05:59:53 Rossen: there are modules that we would ship ahead of SVG2. 06:01:56 Rossen: Interlude: explains IE/Microsoft philosophy towards choosing what to ship. 06:02:43 krit: Can we have a resolution having a painting module? 06:02:52 ... put in paint-order 06:03:08 ed: Don't think that's a good idea. 06:03:56 tav: Would you (Rossen) implement 'paint-order' if it was in a separate spec? 06:04:02 Rossen: Yes. 06:04:29 ed: We could say that this section is stable. 06:04:39 Rossen: It's not in a stable spec. 06:05:12 Discussion of where things should go.... 06:05:48 Rossen: Should we start an SVG marker spec? 06:07:02 heycam: I'm more concerned about public impression of SVG 2 if things get moved out. 06:07:58 modularization is time consuming and confuses developers 06:08:06 +1 06:08:12 BogdanBrinza: What the SVG working group thinks is more important than public perception. 06:08:49 (the time consuming part) 06:08:53 heycam: Things in the past that have been split out tend to mean that we don't want to work on it. 06:09:50 heycam: One advantage of splitting out is that we would have a well defined owner for the spec. 06:10:27 Tav: A markers spec would be a good trial of this. 06:11:26 ed: Not clear that a marker spec could move faster. There is a lot of stuff tied to SVG core. 06:11:56 Rossen: having something in PR is much better than having some text in the bigger spec. 06:12:17 ... saying this is stable. 06:12:44 krit: marker knockout should be moved to a separate markers spec. 06:14:00 heycam: ignoring the marker knockout, the rest is pretty stable. 06:15:10 Proposal: Start a new marker spec. 06:15:33 ed: Not so sure about this but won't object. 06:15:52 tav: with eric 06:16:34 heycam: Is willing to try it. 06:19:42 RESOLUTION: Move new marker features to a separate marker spec. 06:20:17 RRSAgent, draft minutes 06:20:17 I have made the request to generate http://www.w3.org/2015/02/12-svg-minutes.html cyril 06:22:11 Rossen: We won't be discussing the following issues: 06:22:12 ISSUE 23: what to do with marker knockouts 06:22:27 ISSUE 18: name these vertex or segment markers? 06:23:34 ISSUE 30: should paint-order be able to select the different types of markers? 06:23:44 ISSUE 32: should SVGMarkerInstance objects be live? (or should we remove those interfaces?) 06:24:08 Rossen: Let's get back to stroke-dashcorner for rounded rects. 06:24:49 heycam: Dashing will move slower than markers. Dashing should move into a stroking spec. 06:25:30 Moving on to text issues. 06:28:02 Tav: Meta issue: how do we treat all the various text properties? 06:28:33 General discussion... 06:30:32 Rossen: It would be reasonable to expect that paragraph level things would work. (text-indent, etc.) 06:31:41 heycam: Properties that apply to inline elements should work. 06:31:57 roc: some aren't appropriate perhaps. 06:32:16 Rossen: overflow:scroll? 06:33:11 ChrisL: Don't want a white list. 06:33:30 krit: Text handled by normal code path. 06:33:38 Rossen: So do we. 06:34:17 Rossen: In trident we have the concept of paragraphs that are like blocks with out the blocky stuff (padding, etc.) 06:34:35 ... text alignment, writing mode, etc. are supported. 06:35:02 ... underline, bold are handled in one level down. 06:35:34 heycam: We should have a paragraph guiding our intentions so when new things come along they can be automatically included or excluded. 06:36:13 Rossen: We could ask the CSS working group to add a term that defines paragraph level properties. 06:37:21 roc: CSS does have the concept of anonymous blocks. We want everything that effects these blocks. But there is no name. 06:37:39 krit: We should ask CSS for an "official" name. 06:40:31 RESOLVE: 'text-indent' applies to as it is part of the CSS paragraph level properties. 06:41:31 s/RESOLVE:/RESOLUTION:/ 06:48:03 RESOLUTION: CSS Paragraph level properties are assume to apply to SVG element with wrapping context. 06:48:39 Scribe: Cameron 06:48:42 ScribeNick: heycam 06:48:49 Rossen: so that resolves issues 37 and 38 06:49:14 ... shape-inside, shape-outside 06:49:32 Tav: I think I know what to do with these now after discussing with CSS folks 06:49:39 Rossen: I am the editor of that spec, too 06:49:45 Rossen: so the rest of the issues are shapes related 06:49:59 ... issue 2, are dx/dy/rotate ignored for auto-wrapped text 06:50:48 ChrisL: when would you want to do that 06:50:50 heycam: never 06:50:53 Tav: I would be fine with that 06:50:57 ed: I agree 06:51:04 ChrisL: those things were because we didn't have wrapping text 06:51:14 ... and some people wanted to do "better" text on a path 06:52:15 heycam: you could argue from consistency with single line text 06:52:26 ... you could apply the positioning attributes to content area text just as easily 06:52:29 ... but it won't be useful 06:52:46 RESOLUTION: dx/dy/rotate are ignored for text with a wrapping context 06:53:10 Rossen: last, issue 4; should x/y specify the corner of the content area or the origin of the first glyph 06:54:08 [Tav draws and shows the two options] 07:01:19 Rossen: I suggest using extent rather than width/height 07:01:29 ... then authors won't think you should be able to put both width and height 07:01:37 RESOLUTION: Change width/height on to extent 07:02:04 ACTION: Tav to make the text changes from today's meeting 07:02:04 Created ACTION-3750 - Make the text changes from today's meeting [on Tavmjong Bah - due 2015-02-20]. 07:02:48 RRSAgent: make minutes 07:02:48 I have made the request to generate http://www.w3.org/2015/02/12-svg-minutes.html heycam 09:13:13 myakura has joined #svg 11:11:23 Tav has joined #svg 13:44:41 richardschwerdtfeger has joined #svg 14:10:36 shepazu_ has joined #svg 15:37:41 richardschwerdtfeger has joined #svg 15:47:26 richardschwerdtfeger has joined #svg 16:01:27 richardschwerdtfeger has joined #svg 17:06:49 svgwg is rocking it for sticking with the pathseg removal. 19:49:36 commit 7d2ff7e2f7a1fd55f152f6b308f695915a814408 19:49:37 Author: Cameron McCormack 19:49:37 Date: Fri Feb 13 22:13:02 2015 +1100 19:49:37 Markers module. 19:49:37 commit ce33635151342971e99b63c2cf63db8cb82a9e7e 19:49:37 Author: cconcolato 19:49:37 Date: Fri Feb 13 11:39:52 2015 +0100 19:49:37 fix broken markup 19:49:37 commit 74e23360c8d7460facb61ef92f7b5919e7518cc3 19:49:37 Author: Dirk Schulze 19:49:37 Date: Fri Feb 13 21:27:37 2015 +1100 19:49:37 Initial marker spec 19:49:50 heycam|away: I was ~1h earlier ;) 20:24:28 tantek has joined #svg 22:00:14 roc has joined #svg 22:01:16 trackbot, start telcon 22:01:18 RRSAgent, make logs public 22:01:18 Zakim has joined #svg 22:01:20 Zakim, this will be GA_SVGWG 22:01:20 I do not see a conference matching that name scheduled within the next hour, trackbot 22:01:21 Meeting: SVG Working Group Teleconference 22:01:21 Date: 13 February 2015 22:01:44 Chair: Cameron 22:02:03 Agenda: http://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Agenda_proposals 22:04:45 stakagi has joined #svg 22:05:26 cyril has joined #svg 22:12:57 rossen_syd has joined #svg 22:18:33 richardschwerdtfeger has joined #svg 22:22:18 BogdanBrinza has joined #svg 22:22:44 scribe: BogdanBrinza 22:22:52 scribeNick: BogdanBrinza 22:23:40 topic is SVG Markers 22:23:46 topic: SVG Markers 22:24:04 https://svgwg.org/specs/markers/ 22:24:08 https://svgwg.org/specs/marker/ 22:24:12 Tav has joined #svg 22:24:27 heycam: Both Dirk and I took first step o producing first spec version for SVG Marker Level 1 22:25:08 heycam: The question is - is this ready for first publish working draft 22:25:33 Rossen: In CSS WG the rule is you have a short name - which is stated on the module 22:26:00 Rossen: so that in mailing list you reference this and a page with issues 22:26:15 heycam: So in the end we should combine two versions 22:26:32 krit: We should decide on short name 22:26:55 shane: so markers would work nice and align with CSS 22:27:07 Tav: should we have a Level 2 already? 22:27:30 heycam: does everybody agree that knockout should be in L2? 22:27:46 Rossen: in FPWD we can have it and then split if needed. no reason to push this off 22:28:04 cyril: What about section 9? how markers are rendered? 22:28:29 heycam: I just missed copied that initially - will add this soon 22:28:52 heycam: so the current approach is to copy all stuff we had in old spec at the moment 22:29:34 shane: it should be fine to use either 22:30:01 RRSAgent, draft minutes 22:30:01 I have made the request to generate http://www.w3.org/2015/02/12-svg-minutes.html cyril 22:30:29 Rossen: again, the rule we follow in CSS is simple - if you're extending 2.1 you copy whole section and start extending 22:31:03 Rossen: if we're extending from SVG 1.1 this is something we can do, if we're extending from 2 (that is not ready) we can just get the deltas 22:31:14 birtles: As an author I don't like the deltas 22:31:35 (because I have to look up two specs) 22:32:07 heycam: so what are we doing? deltas / no deltas? 22:32:16 Rossen: let's agree on consistency 22:32:40 cyril: is there a pointer in CSS that goes from L2 to L3? 22:32:46 Rossen: not really 22:33:17 cyril: this might be confusing if you want to find the latest version - google will give you not the latest 22:33:41 Rossen: CSS snapshots address this and everything that is up to date at certain moment 22:34:09 Tav: pointer up might be useful 22:34:17 cyril: pointer to a stable URL might be useful 22:35:11 RESOLUTION: Publish SVG Markers Level 1 as FPWD 22:36:16 RESOLUTION: All specs would have a pointer to a stable SVG summary spec (snapshot) that lists the status of all modles 22:36:53 heycam: Because I took a text from SVG2 for this section - if SVG2 doesn't progress fast enough we might need to change links to SVG 1.1 22:37:23 Rossen: and you're going to move the section about rounding the markers? 22:37:29 heycam: knockouts? 22:37:37 Rossen: no details about the rendering 22:37:42 heycam: yes, I'll move this in 22:38:14 heycam: So remaining on the agenda is next F2F meeting, motion path animation and couple of Tav topics 22:38:28 shane: didn't we decide we won't talke about motion path? 22:38:44 krit: yes 22:38:52 richardschwerdtfeger has joined #svg 22:38:57 Rossen: where we left on remaining issues is 22:39:10 Rossen: we need to sync with Tav on remaining shapes issues 22:39:24 https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Sydney_2015/Open_issues 22:39:26 Rossen: next pat is painting where we took issues related to markers 22:39:47 we decided miter limits, arcs and remaining are stroking issues 22:40:30 Rossen: so the discussion was should we keep strokes in SVG2 or move to a new spec and fix the issues on fixed timelines 22:40:57 heycam: strokes are pretty much the same level of readiness as markers - so it should be also splittable if we want to 22:41:25 Rossen: this is great sign that SVG2 spec moved as set of modules 22:41:43 ed: so how do you want to do split? move jsut new things or everything? 22:42:02 Rossen: we should still move stroke the same way we moved markers 22:42:38 Rossen: so when we clean SVG2 strokes sections we should add extensions since 1 22:43:15 Rossen: when we ship SVG2 we'll have a section about stroking and new behavior goes to a separate spec 22:43:29 Rossen: and we can move or keep the new wording 22:43:38 heycam: it might be easier to take the whole section 22:44:09 Rossen: so who would be editor beside you? 22:44:44 heycam: there are stroke-dashcorner, miter-limit, arcs 22:44:56 birtles: what about variable stroke width? 22:45:29 s/birtles: what about variable stroke width?/someone: what about variable stroke width?/ 22:45:44 birtles: that got deferred because I don't have time to work on it at the moment 22:46:03 Rossen: yesterday we decided we shouldn't move good ready modules - so from previously noted list of stoking features which are stable or ready to move 22:46:15 heycam: there are number of issues and discussions those features need 22:46:50 heycam: so it would be useful to have implementors to try those features to provide feedback 22:47:15 Tav: Inkscape has prototype for arcs, not yet implementing dashing 22:47:32 Rossen: does anybody has implementation for stroke-dashing? 22:47:46 all: there are no current implementations of dagshin 22:47:55 s/dagshin/dashing 22:48:12 Rossen: so it would be good candidate to separate 22:48:44 Rossen: so arcs can live in current spec 22:48:54 heycam: we can have features at risk in the spec 22:49:10 heycam: so we're moving this decision a bit earlier 22:49:22 Tav: so why would be pain-order at risk? 22:49:35 heycam: it's not - it's example of feature not at risk 22:49:59 Tav: so what about multiple stroke width? 22:50:16 heycam: it's a new and can be moved 22:50:36 krit: so multiple stroke width can go with multiple stroke layers 22:51:29 heycam: unless we want to decide how we want to ship with / without multiple stroke width 22:51:37 nikos: agree 22:51:53 Rossen: so in that case who is going to be the editor of SVG stroking 22:52:05 heycam: it's currently all features I've added 22:52:13 Rossen: so Cameron and Dirk? 22:52:33 cyril: I have a question regarding naming 22:52:47 cyril: so we went with SVG Markers Level 1 22:53:09 Rossen: every module starts with Level 1 unless you're extending existing one 22:53:17 Tav: so what is extending in this case? 22:54:15 someone: so there was a initial confusion with CSS3 because it became a buzz word 22:54:26 krit: but we can start with Level 1 here 22:54:52 heycam: Let's stick with Level 1 22:55:06 cyril: so you have SVG 2 and Markers Level 1 22:55:20 cyril: wouldn't they assume it's based on SVG 1? 22:55:34 shane: people who you're talking about wouldn't read the spec 22:56:03 shane: and the target audience already understands that state and what is based on what 22:56:20 Rossen: for now let's not give them many levels 22:56:38 birtles: that's wonderful 22:56:59 Rossen: so SVG strokes / stroking / else? 22:57:17 all: SVG Strokes 22:58:10 RESOLUTION: Create new spec SVG Strokes with heycam and krit as editors 22:58:30 Rossen: can we move to FPWD? 22:58:43 heycam: I'd like to check the text and we can review after taht 22:58:48 s/taht/that 22:59:10 all: we would be happy to resolve to publish 22:59:28 RESOLUTION: Publish FPWD of SVG Strokes 22:59:59 Rossen: that is pretty much all issues Cameron brought up 23:00:23 Rossen: so we currently have two new modules and remaining issues. What else is blocking? 23:00:38 heycam: existing issues and editoral changes 23:01:08 heycam: so in order to move forward we might need to understand amount of editorial work and assign 23:01:17 https://www.w3.org/Graphics/SVG/WG/wiki/SVG2_readiness_assessment 23:02:45 Rossen: so let's take a look at the sections in red currently 23:03:06 krit: so document structure? 23:04:10 Rossen: give me one second to log and put owners names to chapters 23:04:59 Rossen: ed you mentioned you can use help from somebody? 23:05:32 ed: Rich send a mail that there might be changes to better align with HTML and provide better accessibility 23:05:51 ed: there shouldn't be major issues, but need to go through all 23:06:11 ed: the major one - use alignment with web components (Tav) 23:06:23 s/use/ 23:06:29 s/(Tav)/TabAtkins/ 23:06:59 ed: the rest are DOM interfaces, mostly clarifications 23:07:37 Rossen: API design is not somethign to blaze through 23:07:55 ed: this is not API design - this is clarifications 23:08:19 heycam: I'd like to have each chapter to have a single point of contact 23:09:30 Rossen: there is still decent number of issues on Document structure 23:09:42 ed: we did resolve some issues on F2F 23:10:21 Rossen: suggestion - can you take a first pass at issues and editorials and bring this back to WG discussion 23:11:13 Rossen: on Document structure, Erik is primary owner, TabAtkins would help with and rest is mostly editorial changes 23:11:29 Rossen: next one is Text and has a clear owner - Tav 23:11:44 Tav: yes, rest of the issues can be addressed pretty soon 23:12:17 Rossen: looking through the spec - we knocked most of them yesterday and at this point it's mostly cleaning up 23:12:36 Tav: for first pass I can take a look and get back with any outstanding issues 23:13:12 Rossen: Paining, etc - most of the issues have been moved to seprate specs, so cleaning out would give us a clean state 23:13:35 Rossen: the owner was still heycam? 23:13:37 heycam: yes 23:14:14 Rossen: next Paint Servers. There were issues on mesh gradients not in heycam's list? 23:14:34 Tav: those are minor issues. Inkscape has mesh gradients implementation for 3 years 23:15:16 Rossen: so in that case - after cleanup driven by Tav we can take another look and get help 23:16:24 Rossen: Basic Data Types - owner heycam and he has a good handle on this one 23:16:36 Rossen: next Styling 23:16:48 heycam: this might be in poor state and would need rewrite 23:17:08 heycam: I think what this chapter should become is description on which CSS modules are required 23:17:26 heycam: and description of presentation attributes 23:17:37 Rossen: why this is not part of integration chapter? 23:18:49 heycam: this chapter currently is describing how other things are used in SVG 23:19:06 Rossen: this is an inverse of integration chapter 23:19:39 krit: we also write what specifications we rely on CSS 23:19:55 heycam: we should put specifications SVG relies on 23:21:05 Rossen: so can we assign the owner to clean this and decide the struecture of this one? 23:21:15 heycam: I would like to do that 23:21:58 Rossen: we're having to much on heycam, but let's try this and on next telcons learn what we can do to help 23:24:01 BogdanBrinza: I can take remaining yellow ones 23:25:36 BogdanBrinza: so Paths, Embedded content are on me with help from WG 23:25:53 Rossen: next introduction section - cyril 23:26:18 nikos: Rendering model - that should be me 23:26:34 Rossen: next SVG Layout properties 23:26:37 krit: that's me 23:29:04 Rossen: Basic shapes - Rossen 23:29:37 krit: Color section would go entirely with additional work from TabAtkins 23:30:30 Rossen: Clipping and masking - krit, nikos 23:30:41 all: Filter effects are gone 23:30:43 richardschwerdtfeger has joined #svg 23:31:08 cyril: Linking makes sense to keep with Interactivity 23:31:37 s/Interactivity/Embedded content 23:32:08 BogdanBrinza: so Linking goes to BogdanBrinza as well 23:33:31 Rossen: Animations - birtles 23:33:56 Rossen: Scripting might be close to Animations 23:34:34 birtles: might not be able to take it before April 23:34:43 Rossen: ok, BogdanBrinza and Rossen will take it 23:35:14 Rossen: Metadata - owner ed pending merge with document 23:35:41 ACTION ed to merge Metadata chapter with Document structure 23:35:41 Created ACTION-3751 - Merge metadata chapter with document structure [on Erik Dahlström - due 2015-02-20]. 23:36:42 ACTION krit to remove Backwards Compatibility 23:36:42 Created ACTION-3752 - Remove backwards compatibility [on Dirk Schulze - due 2015-02-20]. 23:37:51 Rossen: Extensibility - I can take this 23:38:43 ACTION BogdanBrinza to add Addendums to the SVG readiness table 23:38:44 Created ACTION-3753 - Add addendums to the svg readiness table [on Bogdan Brinza - due 2015-02-20]. 23:39:36 -- 15 min break -- 23:39:59 ACTION BogdanBrinza summarize owners for chapters in https://www.w3.org/Graphics/SVG/WG/wiki/SVG2_readiness_assessment 23:40:00 Created ACTION-3754 - Summarize owners for chapters in https://www.w3.org/graphics/svg/wg/wiki/svg2_readiness_assessment [on Bogdan Brinza - due 2015-02-20]. 00:03:31 Zakim has left #svg 00:14:20 TOPIC: Timeline for SVG2 and modules 00:15:23 Rossen: how about we put timelines/cap on chapters 00:15:37 Rossen: next telcon is not goign to happen in next two weeks 00:16:46 Rossen: so owners of the chapter need to put items on the agenda and highlight most critical issues 00:17:31 heycam: we might not cover all things we have on the next call 00:18:46 Rossen: is there anyone who believes we won't meet 3 weeks for having all of the assessments and starting actual work? 00:19:50 heycam: by March 5th we should have those things listed in actionable state 00:20:58 heycam: there are couple Appendicies I would propose to remove 00:21:14 heycam: Internatialization support appendix 00:21:27 https://svgwg.org/svg2-draft/i18n.html 00:21:50 cyril: I can add things in Introduction chapter? 00:22:19 RESOLUTION: Remove the Appendix F: Internationalization Support 00:22:21 https://svgwg.org/svg2-draft/minimize.html 00:22:32 ed: next one Appendix G 00:23:03 RESOLUTION: Remove Appendix G: Minimizing SVG File Sizes 00:23:21 heycam: Next one Appendix N: Media Type Registration for image/svg+xml 00:23:34 heycam: Chris would check where that links to 00:23:48 ed: this might point to latest TR version of it 00:24:14 iana link: [http://www.w3.org/TR/SVG/mimereg.html] 00:24:35 check this page: http://www.iana.org/assignments/media-types/media-types.xhtml#image 00:24:57 ACTION ChrisL to check and remove Appendix N: Media Type Registration for image/svg+xml 00:24:57 Created ACTION-3755 - Check and remove appendix n: media type registration for image/svg+xml [on Chris Lilley - due 2015-02-21]. 00:26:40 ed: Appendix L: IDL Index - do we need this? 00:26:47 krit: this is just an index 00:27:19 heycam: IDL definitions would include all, maybe we don't need them in two places? 00:28:41 heycam: so let's leave that in place 00:28:45 https://svgwg.org/svg2-draft/access.html 00:28:56 heycam: next one Appendix E: Accessibility Support 00:29:58 ping 00:30:46 BogdanBrinz has joined #svg 00:30:51 ping 00:31:00 ACTION Rich to define the further steps for Appendix E: Accessibility Support 00:31:01 Created ACTION-3756 - Define the further steps for appendix e: accessibility support [on Richard Schwerdtfeger - due 2015-02-21]. 00:31:14 TOPIC: SVG2 WD publication 00:31:48 RESOLUTION: SVG WG to publish SVG2 WD 00:33:49 TOPIC: Next F2F meetings 00:33:53 https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Linkoping_2015 00:34:05 https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Linkoping_2015 00:34:12 https://www.w3.org/2002/09/wbs/19480/Linkoping2015 00:34:57 please sign up 00:34:59 ed: What is our next after Linkoping? 00:35:04 Tav: what are the options? 00:35:09 Rossen: Paris with CSS WG 00:36:02 all: also SVG Open 00:40:42 RESOLUTION: Next SVG F2F after June would be TPAC 00:42:43 Scribe: Cameron 00:42:46 ScribeNick: heycam 00:42:57 Topic: Smoothing in mesh gradients 00:43:05 http://tavmjong.free.fr/SVG/MESH_SMOOTHING/index.html 00:45:49 Tav: coons patch meshes suffer from a flaw 00:45:56 ... the derivative of the colour profile can have jumps at patch boundaries 00:46:03 ... leading to visible artifacts, bright lines, etc. at patch corners 00:46:19 ... this is enhanced by mach banding, where your eye is caught by changes in the color profile 00:46:32 ... you can see that the color distribution is continuous, but appears to your eyes that it has bright white bands 00:46:43 ... the way illustrator and coreldraw handle this is they smooth their meshes 00:47:00 ... for adobe, when you export the mesh, it subdivides a patch into an 8x8 array of patches 00:47:10 nikos: I think it might be adaptive 00:47:17 Tav: at least in one example I've seen 8x8 00:47:20 nikos: certainly a lot of patches 00:47:24 Tav: you can see it on the screen 00:47:28 ... you can see the little patches 00:47:43 ... it'd be nice to be able to do that smoothing in SVG, then you can reduce the number of patches in the file 00:47:49 nikos: and it means you don't lose the information in the editor 00:47:58 Tav: so I did some experiments with various smoothing algorithms 00:48:02 ... I show them in 1D 00:48:12 ... the top one on that page above is what you get out of a coons patch mesh now 00:48:16 ... you can see the discontinuity 00:48:40 ... the first thing to try is a hermite, a simple smoothing algorithm where the deriviative across the boundary is zero 00:49:00 ... it makes the profile within the patch not to be linear 00:49:23 ... looks wavy 00:49:30 ... next is to try Catmull-Rom interpolation 00:49:43 ... that gives you the hermite function, but what you need is the tangent across the boundaries 00:49:51 ... the next three examples on the page does that 00:49:55 ... the difference between them is the end treatment 00:50:39 ... one doubles the first/last points, one reflects them (the n+1 point is a reflection of the n-1 point) 00:50:53 ... the third is insisting that the polynomial is a quadratic 00:51:06 ... so you have the magnitude of two points on one side, and you have a tangent. you can fit a quadratic to that. 00:51:15 ... that seems to be what's happening in illustrator 00:51:26 cyril: I remember reading a paper explaining what adobe was doing 00:51:31 nikos: by Sun 00:51:58 Tav: the next problem is that Catmull-Rom curves can produce minimum and maximum values within a patch 00:52:27 ... you can avoid that by restricting the tangent to a value that's 3 times the value of the tangent you get when looking across the whole patch 00:52:31 ... it gives you a monotonic profile 00:52:51 ... so you adjust the tangents to get that 00:52:52 ... now, looking at 2D 00:53:30 ... there is a bicubic-interpolation you can do, which I've implemented in inkscape 00:53:42 [shows a demo] 00:55:26 ... my proposal is to have a patch have a type, default would be coons patch, second type would be smooth 00:56:09 nikos: this doesn't let you control the gradient across the boundary 00:56:16 ... if you want a sharp boundary you couldn't achieve it 00:56:21 Tav: you could by adding an extra row in 00:56:25 nikos: it'd be nice to have a control 00:56:29 Tav: that complicates things quite a bit 00:56:32 ... this is just one flag 00:56:37 ... the algorithm is here, fairly easy to implement 00:56:44 nikos: in Illustrator, can you control the gradient? 00:56:45 cyril: no 00:56:55 Tav: this matches Illustrator's behaviour 00:57:09 cyril: calling it "smooth".... "bicubic" would be clearer 00:57:16 Tav: I'm fine with that 00:57:24 Tav: my proposal is to add this and spec it all out 00:57:31 ... I've got the formulas and prototype implementation 00:57:39 cyril: you'll turn off all the other modes in inkscape? 00:57:43 Tav: yes that was just for demonstration 00:58:43 cyril: now that the mode does not say "smooth", it'd be good to ensure we don't preclude adding additional controls in the future 00:59:07 nikos: the reason we were talking about having different elements was that otherwise you'd have different attributes depending on the value of type="" 00:59:17 ... if we had smoothing and we wanted to add control points for the smoothing... 00:59:23 Tav: I don't see it ever happening 00:59:30 ... you'd need control points for the three different colours? 00:59:40 ... that's an order of magnitude more complicated in editing 00:59:47 nikos: if you give them the raw control, yes it's a lot of work 00:59:52 ... but I think you an simplify that through UI for authors 01:00:01 ... having a handle to control how far out something is spread would be useful I think 01:00:13 ... I just don't want to not have the option to do that later, or for it to be a confusing syntax later 01:00:19 Tav: do you have an idea what syntax you would use? 01:00:24 nikos: not at the moment 01:01:10 ... even if you controlled the channels separately for the handles, it's not nice for authors, but could be for converted content 01:01:14 ... vectorised photographs for example 01:01:32 Tav: I'm worried that that will delay meshes 01:01:36 nikos: I don't want to do that 01:01:39 ... I really like this proposal 01:01:41 ... we should go with it 01:01:51 ... I just want to keep the door open to extending without running into nasty syntax in the ftureu 01:01:59 Tav: you'd have to add a new thing to the patch 01:02:02 ... dx/dy for each of the colours 01:02:15 cyril: derivativecontrol="coords" 01:02:25 nikos: would rather have a different element when you have a different mode 01:02:38 cyril: is this part of the SVG 2 spec? 01:02:45 Tav: it's all worked out, I'd just add it to SVG 2 01:03:08 nikos: I'm OK with having a type="" I think 01:03:32 ... if you have something with extra handles you could have a new element later 01:03:34 ... ok 01:04:23 RESOLUTION: We will have a type="smooth-bicubic" or similar on 01:04:49 ACTION: Tav to add to the spec. 01:04:49 Created ACTION-3757 - Add to the spec. [on Tavmjong Bah - due 2015-02-21]. 01:06:00 nikos: because the control is on the patch, you can have a mesh made of smooth and coons patches 01:06:06 heycam: is that useful? 01:06:53 Tav: no the type="" goes on the 01:07:04 ACTION-3757: Actually type="" is on the element. 01:07:04 Notes added to ACTION-3757 Add to the spec.. 01:09:10 http://en.wikipedia.org/wiki/Monotone_cubic_interpolation 01:10:38 ACTION: Cyril to investigate web-platform-tests for SVG test suite and write up a wiki page 01:10:39 Created ACTION-3758 - Investigate web-platform-tests for svg test suite and write up a wiki page [on Cyril Concolato - due 2015-02-21]. 01:10:55 https://www.w3.org/Graphics/SVG/WG/wiki/Test_Suite_Overview 01:11:53 last update : June 2012 01:11:58 stakagi, :) 01:12:02 stakagi, that would be a good page to update 01:16:32 http://testthewebforward.org/docs/ 01:16:54 https://github.com/w3c/web-platform-tests 01:17:13 https://github.com/w3c/test-results/ 01:17:34 Topic: outermost svg element definition 01:17:54 https://svgwg.org/svg2-draft/struct.html#TermCurrentInnermostSVGDocumentFragment 01:18:54 01:19:35 [reads out definitions of "current innermost" and friends] 01:23:58 birtles: I think we can drop half of these definitions 01:24:03 krit: depends where they're used 01:24:18 ed: perhaps this chapter is not where they're used first 01:25:50 ACTION: Brian to fix outermost/innermost svg element definitions, checking where they're used currently 01:25:50 Created ACTION-3759 - Fix outermost/innermost svg element definitions, checking where they're used currently [on Brian Birtles - due 2015-02-21]. 01:26:11 -- adjourned -- 01:26:39 but first... 01:26:42 Topic: motion path 01:26:51 shane: couple of minor issues 01:26:55 http://dev.w3.org/fxtf/motion-1/ 01:27:06 ... some of these are adding more details/examples 01:27:20 ... another is what happens if the position is negative or exceeds the motion path length 01:27:29 ... we've decidd that if it's a closed path it wraps, if it's an open path it clamps 01:27:36 ... we have one about "more natual names" for auto and reverse 01:27:42 ... an issue about how to get the position in more detail 01:27:52 ... an issue about path transform computation needing to be more explicit 01:28:05 ... and finally do we need to specify an origin of an element in motion so it can be positioned appropriately 01:28:31 ... I think of all of those, the only ones we don't have a good answer for is the origin one 01:28:42 ... I think we should just use transform-origin in this case 01:28:49 ... it says in the issue we probably shouldn't, but we should! 01:28:57 ... the motion is going to end up in the transform list anyway 01:29:05 cyril: a problem is that the motion animation is an additional transform 01:29:20 ... you could combine those two; if you think they have the same origin... 01:29:30 shane: the motion path spec isn't a clean drop in replacement for animateMotion 01:29:44 ... you need to be careful about order of application 01:29:46 ... and origin setting 01:29:58 ... so this is more what the origin should be for a specified motion path use should be 01:30:06 ... I think the simplest thing to do is make it the same as transform-origin 01:30:26 ... if you're generating equivalent behaviour for , you might need to fiddle with some translations 01:30:38 krit: I think we will state this usse on the mailing list again 01:30:48 ... but here we just want to note all the open issues 01:31:06 shane: in the absence of significant discussion, I would say transform-origin we should proceed with 01:31:33 ... given this is the only substantive issue, I am asking whether we should we can have a FPWD of motion animation 01:32:02 RESOLUTION: We agree on a FPWD of Motion Path Module Level 1. 01:32:10 -- adjourn for real -- 01:32:17 RRSAgent: make minutes 01:32:17 I have made the request to generate http://www.w3.org/2015/02/12-svg-minutes.html heycam 03:12:27 roc has joined #svg 04:26:20 Note: I plan to rename "basic shapes"/"shapes" to "shape elements". The term is used in the spec as well already but makes more sense and does not collide with other definitions. 05:51:32 jdaggett has joined #svg 07:56:28 Tav has joined #svg 09:21:03 roc has joined #svg 11:16:01 jdaggett has joined #svg 11:50:41 jdaggett has joined #svg 14:08:29 richardschwerdtfeger has joined #svg 22:34:40 nikos has joined #svg 00:41:06 jdaggett has joined #svg 01:17:02 jdaggett has joined #svg 02:11:04 roc has joined #svg 06:56:56 krit, sounds fine to me 06:57:17 krit, rename the chapter from "Basic Shapes" to "Shapes" too? 07:34:22 shepazu has joined #svg 07:55:25 heycam: Shape elements unless there is more than that in the chapter 07:56:17 krit, there isn't. though we have a "Paths" chapter and not a "Path elements" chapter 07:56:31 I think "Shapes" would fit better 08:04:46 no objection 08:08:12 krit, more than 24 hours later? 08:08:25 yes, 27 all together 08:08:37 long journey :/ 08:08:37 5h in Munich alone 2 in Singapore 08:09:31 I had a 13h stopover in Melbourne for me ;) 08:22:26 heycam: ? 08:22:38 oh, you flew back and then to Oakland? 08:22:43 Auckland 08:22:44 yeah 08:22:49 ah right ;) 08:23:01 used to the other spelling :P 08:23:09 it's a bit further away ;) 08:23:34 yes :) and likely not as pretty 08:35:04 heycam: could you please remind me if we decided to move multiple stroke layers into a new spec as well, or if that is just for the rest of the new features? 08:35:21 heycam: also, are you doing the work or should I do it? 08:35:26 krit, hmm, I wonder if we didn't get back to that topic 08:35:31 krit, I would need to check the minutes 08:35:53 heycam: we resolved on having a new spec at least called SVG Strokes 08:36:00 (with plural s) 08:36:17 krit, yes. oh I remember now. 08:36:21 heycam: we can leave it in SVG2 for now and bring it up during the call 08:36:25 the layers remain in the main spec 08:36:26 yes 08:36:37 as they were small and done 08:36:39 heycam: ok, shall I do it, or do you? 08:36:57 krit, I can do it unless you want to 08:37:13 heycam: :) use a coin? 08:37:39 krit, http://justflipacoin.com/ 08:37:46 krit, heads means I do it 08:37:50 krit, tell me what it comes up as :) 08:38:00 Heads :/ 08:38:10 sounds like you really want to do it :p 08:38:25 can you do it using the current build scripts? 08:38:33 heycam: no 08:38:37 oh ;) 08:38:47 heycam: if you want to use the build script, you need to do it for now 08:38:57 ok 08:39:06 the current build scripts produce nicer looking output for the moment... 08:39:07 heycam: but it has no elements, so perfect for backside ;) 08:39:09 so I do prefer it... 08:39:13 that's true 08:39:26 how... 08:39:43 why auto correct from bikeshed to backside ? 08:39:59 ? 08:40:04 haha 08:40:14 OS X autocorrection 08:41:54 funny 08:43:01 heycam: to PathSeg: I think this is a definite keeper. Please do not remove. So much has been removed already in order to follow browser implementations rather than setting a spec that might be the next best thing to cheese. 08:43:19 heycam: I guess negative comments can be expected though 08:43:30 "next best thing to cheese"! 08:44:39 cheese smells .... 08:45:01 smells .... great! 08:47:19 krit, do you remember how you are authorized to push to the svgwg github repo? 08:47:32 heycam: hm, the SVG sizing thing we agreed on in Leipzig, where does that need to be in the spec? 08:47:48 krit, for SVG in image? that should be integration. 08:47:56 I don't... maybe because I am member of W3C group? 08:48:06 heycam: ok 08:48:12 heycam: we should work on that :P 08:48:19 krit, yeah that would be good! 08:50:05 heycam: maybe something for sweden, right after finishing SVG2 08:50:15 krit, sure :) 08:50:32 krit, well, we have the discussion/decision, just need to do it 08:50:33 heycam: and then we can collect the nobel price 08:50:37 lol 09:52:06 jet has joined #svg 12:33:04 plinss_away has joined #svg 12:33:43 Rossen_away has joined #svg 13:15:44 jdaggett has joined #svg 14:52:21 jdaggett has joined #svg 20:41:42 shepazu has joined #svg 20:44:00 roc has joined #svg 00:00:02 jdaggett has joined #svg 00:33:21 jdaggett_ has joined #svg 09:04:39 roc has joined #svg 10:48:02 jdaggett has joined #svg 14:27:52 in what? svg-size-onomics? 14:59:45 cyril has joined #svg 17:01:14 ed: ? 17:01:31 ed: reading your mail, SVGPathSegment looks very similar to Path2D 17:01:49 ed: so maybe it is better to reuse Path2D 17:02:13 ed: and In a way I would like Path2D integration with SVGPathElement 17:02:35 ed: In any case, we need to know the use cases first to see if we address them 17:04:02 ed: https://html.spec.whatwg.org/multipage/scripting.html#path2d 17:04:30 ed: maybe at very least, any new API should implement CanvasPathMethods https://html.spec.whatwg.org/multipage/scripting.html#canvaspathmethods 17:04:45 ed: lets take that for SVG3 :) 17:08:35 krit: assuming there's a way to map all the path2d ops to svg syntax... 17:08:56 (or well, *a defined* way) 17:13:00 ed: agree with defined way 17:13:13 ed: doesn't need a 1:1 mapping IMO 17:13:26 ed: even though this would probably be preferred if possible 17:15:39 krit: sure 17:19:34 the draft api tried to factor in brian's wish for getting "an array" of values for easier scripting 17:21:08 ed: Path2D is meant as a direct-to-draw API 17:21:21 ed: no read back intended (on purpose) 17:25:06 krit: right, I'm not sure that would address the use-cases people in that thread have (judging by the examples there) 17:25:35 ed: yes, might be. As said, the would not prevent us from using CanvasPathMethods 17:26:37 krit: true 17:28:43 ed: IMO, a simple API that stringifies what an author has should be enough. Don't want to have anotehr verbose API for things that authors can easily handle themselves in the webplatform 23:32:08 jdaggett has joined #svg 23:44:53 jdaggett_ has joined #svg 23:59:03 jdaggett_ has joined #svg 00:42:53 shepazu has joined #svg 00:51:08 shepazu has joined #svg 00:57:42 jdaggett_ has joined #svg 00:59:42 shepazu has joined #svg 01:42:41 jdaggett has joined #svg 01:44:36 shepazu has joined #svg 02:03:48 AlexD has joined #svg 02:32:25 AlexD has joined #svg 03:14:54 jdaggett has joined #svg 04:02:57 AlexD has joined #svg 08:05:27 stakagi has joined #svg 08:28:40 MarkS has joined #svg 10:31:28 now we're down to 19 chapters :) 10:32:17 if this trend continues we'll soon have more appendices than chapters 12:32:31 jdaggett has joined #svg 15:33:26 ed: the opacity/masking chapter will disappear 15:33:42 ed: and merge with rendering 15:36:54 ed: heycam|away: btw. "Feature strings for the hasFeature method call" https://svgwg.org/svg2-draft/svgdom.html#FeatureStrings Does that stay in the spec? 15:37:30 oohhh: Relationship with DOM Level 2 CSS 15:38:18 "user agents must support all of the required interfaces defined in DOM Level 2 CSS" how could we get SVG1.1SE to REC? 15:38:20 krit: I think we should discuss dropping that chapter 15:38:29 (the feature strings one that is) 15:38:53 ed: Relationship with DOM Level 3 Events was edited by Rich IIRC 15:47:57 ed: heycam|away: We require XML conform SVG document. What if we keep the requirement but allow host languages to override requirements? (Which HTML5 does today anyway.) 18:37:34 krit: Why not just drop that requirement? It comes for free from the XML serialization anyway; if you write invalid XML, it's not a valid document, and XML doesn't allow languages to override the processing. 18:38:16 TabAtkins: we do not have an SVG parser and the HMTL parser didn't work out in Blink... just to come up with one problem 18:38:42 krit: We have an *XML* parser in Blink, no? 18:38:58 TabAtkins: yes, and? 18:39:10 Then I don't understand your response. 18:39:26 TabAtkins: What I mean is that we still need XML as a requirement unless we write everything on our own (in the spec) 18:39:29 There's no such thing as "an SVG parser". SVG-as-XML is parsed with the XML parser. 18:39:54 TabAtkins: right, and if you use XML parser you require XML valid documents 18:40:16 No, you don't. *XML* requires XML valid documents. The language built on top of XML doesn't have to care. 18:40:40 So you can drop any *explicit* requirements for a valid XML document from SVG. That comes for free when you write SVG in the XML serialization. 18:41:47 TabAtkins: you can not take an external thing without following the requirement of it 18:42:09 ...I know. That's what I'm saying. 18:42:12 TabAtkins: using XML parser requires a valid XML document, SVG can't get away with it wihtout this requirement 18:42:48 I'm saying that SVG, *the spec document*, doesn't need to *explicitly require* that the XML document be valid. Because that's a requirement of XML *already*. 18:43:16 An invalid XML document isn't an XML document at all. It's a meaningless sequence of bytes, per the XML spec. 18:44:04 (Or it's an XML document that has recovered from an error, if the XML Error-Recovery effort ever gets serious. And in that case there's no longer a requirement to be valid anyway.) 18:44:46 Requirements are transitive over references, basically. 18:50:07 TabAtkins: I guess I am ok with removing the XML valid requirement if we keep the SVG as XML document thing for stand alone SVGs and allow host documents to set other requirements 18:51:36 You just have to say that the only standalone format the SVG spec currently defines is XML (and describe how that is changed into the SVG DOM; there's probably Infoset->DOM algo somewhere handy). Any host language can define their own syntax for SVG whenever they want; the SVG spec doesn't have to care. 20:26:01 krit, I agree with removing that "Feature strings for the hasFeature method call" given the DOM spec says hasFeature unconditionally returns true 21:36:22 nikos has joined #svg 23:54:49 jdaggett has joined #svg 01:15:54 shepazu_ has joined #svg 02:31:57 AlexD has joined #svg 04:18:18 I'm thinking we should move the definition of z-index to the rendering chapter - the painting chapter is more about painting individual elements rather than the document as a whole. Also I think it would be preferable to have it in one place rather than have it mentioned briefly in rendering and the detail in another chapter. Are others cool with this? 04:21:54 nikos, sounds ok to me 04:24:41 It rather neatly sorts out the 'should mention z-index here' issue in the rendering chapter ;) 04:39:42 ah good :) 05:09:01 krit, is that true (your retweet of gwhitworth)? 05:09:44 heycam: gwhitworth is an IE engineer 05:09:54 krit, yes I know :) 05:10:08 krit, that's why it would be big news if IE edge supported SMIL! 05:10:10 heycam: it is CSS animations/transitions 05:10:20 heycam: he didn't say that 05:10:22 oh 05:10:48 CSS targetting SVG elements, is it? 05:10:57 *CSS Animations 05:11:18 heycam: right 05:12:02 krit, ok that's more believeable 05:12:05 time to calm down ;) 05:12:19 https://twitter.com/gregwhitworth/status/567914337018314755 05:12:32 which is cool too 05:21:49 it is 05:42:23 jdaggett_ has joined #svg 05:45:56 shepazu_ has joined #svg 08:17:35 jdaggett_ has joined #svg 10:50:00 jdaggett has joined #svg