20:30:49 RRSAgent has joined #svg 20:30:49 logging to http://www.w3.org/2016/12/15-svg-irc 20:30:51 RRSAgent, make logs public 20:30:51 Zakim has joined #svg 20:30:53 Zakim, this will be GA_SVGWG 20:30:53 ok, trackbot 20:30:54 Meeting: SVG Working Group Teleconference 20:30:54 Date: 15 December 2016 20:31:10 Chair: Nikos 20:31:12 scribe: nikos 20:31:21 Agenda: https://lists.w3.org/Archives/Public/www-svg/2016Dec/0007.html 20:31:29 present+ nikos 20:32:05 present+ shepazu 20:33:58 present+ Tav 20:35:29 present+ stakagi 20:36:12 present+ AmeliaBR 20:39:58 Topic: Publish FPWD SVG Animations 20:40:39 We talked about publishing FPWD of SVG Animations 20:40:40 http://andronikos.id.au/svgwg-spec/animations/Overview.html 20:40:57 This is the animation chapter from SVG 1.1 which wasn't copied into SVG 2 20:41:06 ... There's some additions, but I expect they will be dropped before CR 20:41:16 ... so this will be purely what's implemented now 20:41:22 AmeliaBR: Have you been in touch with Brian? 20:41:32 ... is he ok publishing as is? 20:41:55 nikos: Yes I have, he is supportive of eventually publishing without the extra additions 20:42:12 ... though he doesn't have time to do any substantive editing 20:42:42 ... Note this was listed as level 2 before, but I removed that version number because we'll be removing the new features like discard, etc 20:44:10 ... There's a changes appendix that lists what has changed in this document since it was taken out of SVG 1.1 20:44:19 RESOLUTION: Publish FPWD of SVG Animations 20:45:04 Topic: Extending SVG - pain points 20:45:11 http://tavmjong.free.fr/SVG/POLYFILL/ 20:45:44 Tav: My plan for polyfilling fills - particularly mesh gradients, is to create a canvas the size of the fill inside the object 20:46:10 ... so insert a foreignObject that is the size of the mesh you want. Put a canvas inside that fO and clip to the shape you're filling 20:46:15 ... then render the stroke on top of that 20:46:29 ... I came across a few problems 20:46:42 ... problem number one is that Canvas is not rendered at the same places in all browsers 20:46:48 ... You can see this in my 'Test' 20:47:24 ... In Chrome you're not seeing the purple, which is the background to the foreignObject 20:47:41 ... On Firefox you see two Canvas objects - the green and the yellow 20:47:56 ... Once you're in the foreignObject it's treated as HTML so objects get stacked 20:48:13 ... But if you look at he Chrome version, you do not see the Canavs objects inside the foreignObject 20:48:30 nikos: Yeah I can see them, but they're not inside the square 20:48:39 AmeliaBR: foreignObject is horribly buggy 20:48:51 Tav: In Chrome I won't be able to paint my fill with the way it's currently working 20:49:11 AmeliaBR: My recommendation would be to avoid foreignObject and use an offscreen canvas, extract it as an image and use a data URI 20:49:25 Compare with conic-gradient: http://tavmjong.free.fr/SVG/POLYFILL/canvas_in_svg_clipped.svg 20:49:34 https://leaverou.github.io/conic-gradient/ 20:49:39 ... leaverou didn't have an option of using an on screen Canvas because this is a CSS feature 20:49:50 ... so she had to get an image that could be used by another CSS function 20:50:00 ... you could look at the way she's extracting the image from the offscreen canvas 20:50:37 ... think she gets an offscreen canvas, generates a data uri, and puts it in an SVG so it's scalable 20:50:54 Tav: that sounds like a good solution 20:51:17 AmeliaBR: It does remind us that we need better testing suites for foreignObject 20:51:51 nikos: Don't know exactly where the right place to put your test is, but it would be worth turning it into a reftest and submitting to web-platform-tests 20:52:10 Tav: second problem I think isn't such a problem 20:52:21 ... it's to do with clipping to self, but I don't think I need to do that 20:52:28 ... it would be nice because you could do stroke-inside that way 20:52:37 ... in this case Chrome does it correctly but Firefox does not 20:53:17 AmeliaBR: I've found this before when using the use element. Found you need a defs elsewhere so circular reference tests don't discard it 20:53:40 Tav: It's nice to be able to clip to self, but not neccessary 20:53:49 AmeliaBR: you can get around it by using a 'pattern' as the basis for the polyfill 20:55:13 nikos: Cool, sounds promising for being able to complete this 20:55:17 AmeliaBR: this is interesting and exciting! 20:55:41 Tav: The next version of Inkscape will definitely have mesh gradients 20:56:28 ... Have a nice way of colouring where you spray and it affects the vertices 20:56:44 ... or sample the colours from some picture underneath 20:57:16 ... Should have release candidate done by the end of the year 20:58:37 Topic: Testing 20:59:38 nikos: I had a little play with running Firefox tests in Webkit 20:59:45 ... ran into some silly flaky script issues 20:59:57 ... so I don't have a full list of results 21:00:22 ... but the tests transfer over easily - just need to rename the refs for Webkit 21:00:34 ... but Webkit runs WPT, or at least a subset ( I need to check) 21:00:44 ... so a better path is to get firefox tests into WPT 21:01:08 ... the concern with importing tests into WPT is the manpower needed to check they're correct 21:02:06 ... so not too much to report, but I created another PR for some new marker tests 21:02:28 AmeliaBR: were you able to find solutions that didn't have the anti aliasing issue? 21:02:56 nikos: So first off I removed the viewBox so everything maps to the parent document space 21:03:09 ... I also restructured the tests so they differ minimally by what is being tested 21:03:26 ... rather than making the reference out of only path elements for example 21:03:48 ... but even just removing the viewBox helped a lot to make things more consistent 21:04:01 ... I haven't updated the guidelines yet, but I'll do that 21:05:05 AmeliaBR: going forward it will probably mean less work setting up the references if we are just trying minimise the difference between the ref and the test 21:05:20 ... the key then is to make sure we have the proper sequence of tests 21:06:23 nikos: In one of my tests I used a clip-path to simulate a viewBox - I made the marker sizes different so that at least if viewBox and clip-path weren't doing their job the test would still fail 21:06:30 AmeliaBR: so the shape outside the overflow was different in each case? 21:06:33 nikos: Yes 21:07:18 AmeliaBR: The other thing with this topic is setting up so we can have maximum community sourced involvement 21:07:24 ... would it make sense to set up a CG that is SVG testing? 21:07:31 ... is there an underutilised group we can take over? 21:07:51 ... when I tweeted that SVG 2 is dying I got a lot of questions about how to help 21:08:08 ... one option is take an SVG 1.1 test and make a new reference 21:08:45 nikos: That's a good way to get the community to help out - basically we want to minimise the barrier to jumping in 21:08:51 ... probably need to make a list of candidate tests 21:08:55 ... and some step by step instructions 21:09:09 shepazu: We could make a community group or we could just try to do it on github 21:09:19 AmeliaBR: certainly one option is to create a whole set of Github issues 21:09:58 shepazu: I'd be perfectly happy doing an SVG testing community group 21:10:09 ... think we should coordinate with the W3C on that 21:10:19 ... I feel Github has the lowest barrier to entry 21:10:27 ... community group does have that centrality and officialness 21:10:43 AmeliaBR: think it's a matter of a combination - create a community group with a mailing list for central command 21:10:47 ... use github to track test by test 21:11:04 shepazu has joined #svg 21:12:13 ... with Github for tracking what tests are needed - anyone can file that without getting involved in the CG 21:12:30 shepazu: I'm happy to create the CG. THink this is something we should do in January 21:14:55 ... think the CG might be a good place to talk about the polyfill 21:15:38 nikos: Don't know if I'll be around, but that should be the topic for the first telcon in January 21:18:01 AmeliaBR: the other thing that may be worth trying again is seeing if we can get more involvement from browsers - if it's clear that the focus is on testing and interop 21:18:42 nikos: Yeah we might get a different set of involved people - like gsnedders 21:19:10 shepazu: if it is a CG we might get more people too 21:19:48 nikos: Yeah we could totally open up the telcons - if we need to have a 15 minute official one we can do that 21:20:03 ... think that would be a good way to keep people who are submitting engaged 21:22:07 shepazu: We want an easy way for people who find problems or gaps to bring those up and then we can push the changes to resolve that 21:22:41 Topic: marker directionality 21:22:41 https://github.com/w3c/svgwg/issues/300 21:23:05 AmeliaBR: The issue is when you have a closed path with a sharp corner at the start/end 21:23:22 ... should markers auto angles be calculated the same way they are at any other sharp corner? 21:23:31 ... which is what we say in the spec 21:23:47 ... when Nikos tested this, browsers are inconsistent in their result 21:24:27 nikos: I haven't double checked 1.1 but I assume this is a clarification for something that was vague 21:24:42 Tav: thought we had resolved that mid angle should only be used on marker-mid 21:24:59 AmeliaBR: You can't put a mid marker on the start/end point of a closed path 21:25:21 ... ideally you'd put marker-start and marker-mid and that would cover ever corner 21:25:34 nikos: I think we definitely want to keep the SVG 2 specced behaviour 21:26:16 Tav: Yeah you do want to use the in and out when it's closed 21:26:25 ... I did some tests on this a couple of months ago - there's a difference in how you close 21:26:51 ... if the closing segment is zero length there were issues with some browsers 21:27:10 AmeliaBR: that's partly why we added clarifications about ignoring zero length paths when working out directionality 21:28:39 nikos: The other thing I was questioning in the issue is whether auto-start-reverse should always be 180 degrees, even on a closed path 21:28:46 AmeliaBR: I say that yes it should 21:28:50 Tav: I agree 21:28:59 AmeliaBR: then we just need to confirm what auto is to get consistency 21:29:25 nikos: In terms of what auto is, I'm very happy with the way that SVG 2 is currently specced 21:29:31 AmeliaBR: that closed corners are treated like any other corner? 21:29:35 nikos: yes 21:29:41 Tav: I agree 21:30:00 ... and if you want different behaviour, don't close the path 21:30:46 nikos: That's what the tests I submitted to WPT verify so no changes needed there 21:32:06 https://jsfiddle.net/dodgeyhack/7h0csof5/ https://usercontent.irccloud-cdn.com/file/VzrLWTTg/MS%20Edge%20results%20for%20marker%20test 21:32:44 nikos: So they do follow the SVG 2 spec, but don't support auto-start-reverse at all 21:33:52 AmeliaBR: We need to note in the PR for the tests that it's expected that browsers are all different for one of those tests 21:35:05 RRSAgent, make minutes 21:35:05 I have made the request to generate http://www.w3.org/2016/12/15-svg-minutes.html nikos 22:27:04 shepazu has joined #svg