- From: Cameron McCormack <cam@mcc.id.au>
- Date: Fri, 31 Jan 2014 16:49:19 -0800
- To: "www-svg@w3.org" <www-svg@w3.org>
http://www.w3.org/2014/01/31-svg-minutes.html [1]W3C [1] http://www.w3.org/ - DRAFT - SVG F2F Seattle 2014 Day 2 31 Jan 2014 [2]Agenda [2] https://www.w3.org/Graphics/SVG/WG/wiki/F2F/Seattle_2014/Agenda See also: [3]IRC log [3] http://www.w3.org/2014/01/31-svg-irc Attendees Present Thomas, Chris, Cameron, Brian, Doug, Rossen, Dirk, Rik, Satoru, Sylvain, Erik, Tav Regrets Chair Cameron Scribe Brian, Cameron Contents * [4]Topics 1. [5]animation of values with different types 2. [6]Allowing CSS outline and background on SVG elements 3. [7]use cases for technical diagrams 4. [8]intrinsic sizing of SVG 5. [9]Deprecating/redefining symbol element 6. [10]pointer events and background colors 7. [11]non-scaling objects 8. [12]Shadow DOM in SVG 9. [13]getClippedBBox() 10. [14]Illustrator output 11. [15]RelaxNG schema validation 12. [16]Publishing another WD of SVG 2 13. [17]SVG selection * [18]Summary of Action Items __________________________________________________________ <birtles> scribenick: birtles <scribe> scribe: Brian animation of values with different types ed: I added this because someone wrote a blog about inconsistencies about animation [19]http://www.broken-links.com/2014/01/29/animating-offset-val ue-svg/ [19] http://www.broken-links.com/2014/01/29/animating-offset-value-svg/ krit: the problem is the attribute should be animated as SVGAnimatedNumber but percentages are also allowed by the attribute syntax <heycam> ScribeNick: heycam <scribe> Scribe: Cameron birtles: I think we can make it more clear that when it says "attribute type", that refers to the datatype of the attribute, not the IDL type ... it doesn't mean SVGAnimatedNumber, it means the datatype, which is either number or percent I think krit: in Blink/WebKit, we really take the object, SVGAnimatedWhatever, and animate this type birtles: I don't think that's right krit: I think the spec implies that birtles: CSS Animations/Transitions is clearer about this ... it says "animate this as length or percentage" ... that's the intent of SVG, but it's not as clear as it could be ... we should fix this, in Web Animations ... as for the DOM, that's up to Cameron krit: it's the same with animations of transforms ... in the past if you had <animate attributeName="transform"> then you can't say from="translate(...0)" birtles: animate attributeName="transform" in general is never possible, since the transform attribute was never animatable with <animate> krit: it is now birtles: yes, but SVG doesn't define that krit: we have the same problem with filters ... you can give a list of filters, but the type would be string ... according to the SVG animation model ... you want the CSS interpolation ChrisL: I think at the time, when SVG was using SMIL, each datatype needed its own definition for interpolation ... they were really looking on the syntax level, and if they didn't match you couldn't interpolate between them birtles: it leaves you with interesting things like you can't do <setTransform> e.g. ... which is frustrating ... shouldn't have made different elements for for different datatypes ... but I understand the history ChrisL: also it had a lot less developer input at that time ... it was mostly input from a few SMIL player people birtles: so this will get fixed with Web Animations anyway, so no specific actions needed here ... I posted a comment on the blog post and it hasn't appeared yet shepazu: in general your approach with animation, all the features apart from animateColor are going to be possible with Web Animations? birtles: yes ... we map what we've already defined in SVG onto the primitives we're defining in Web Animations <birtles> scribenick: birtles Allowing CSS outline and background on SVG elements shepazu: previously we talked about various use cases ... for having an outline ... I don't think anyone thinks those use cases don't exist ... I think we had consensus on the use case for outline for hover etc. ... we want to be able to allow the outline property on SVG elements ... so that you can have :hover and the outline will hover ... one assumes it is the bounding box of the element krit: SVG does not disallow the outline property and CSS does not restrict it to HTML therefore it applies to SVG shepazu: but we haven't defined what is means for SVG heycam: there are lots of properties like that but we need to define which box shepazu: since we don't have a box model it doesn't just fall out of the model Rossen_f2f: text-wrapping is a pain ... how does the box model apply to SVG? shepazu: it doesn't, but for things like outline the question is do we want to allow the padding property? ... in this case it would simply increase the size of the outline ... but would not affect text-wrapping at all heycam: it wouldn't be difficult Rossen_f2f: have you looked at shape-margin, shape-padding shepazu: I haven't, we might do that instead heycam: they are for text in non-rectangular shapes Rossen_f2f: it applies to an element and an element's shape ... it is meant for mapping the meaning of margin/padding in CSS to non-rectangular shapes heycam: what happens when you apply it to a rectangular shape ... what is the difference between margin/padding Rossen_f2f: one difference is you can only specify one value ... since you don't have four sides ... so it is meant to follow stroking rather than boxes ... if you have a 10px margin and it is a shape that has corners then it will round those corners shepazu: let's consider that for the future, but not for now ... use case: we have a shape and you want to add an outline on mouse over ... this already works since outline applies to all elements ... can we agree that it uses the bounding box of the element? krit: which bounding box? shepazu: the one we discussed yesterday (stroke bounding box, decorated bounding box, whatever we call it) ... the same one for filters, masking etc. ... I just think we align it to some pre-existing definition of a bounding box krit: we decided already filters, masking, and clipping do not affect outline ... so the problem is that the CSSWG defines it as: draw shape, stroke, fill, then filters, then mask/clip ... then if you clip an element outline will be clipped away ... on HTML it is based on the current rendering model that browsers implement ChrisL: the default clip is going to always clip away the outline heycam: is that right, if you have overflow:auto? krit: the default is auto where you don't clip shepazu: can we resolve we'll have outline and the outline will resolve to whatever bounding box we deem is appropriate ... of the ones we discussed yesterday ... one of the characteristics of outline is that it doesn't affect the box model REO RESOLUTION: outline will resolve to our definition of stroke bounding box shepazu: the second issue is, can we have the background property apply as well ... this would resolve to exactly the same area, it would just be the background ... it also apply to elements ... in terms of performance characteristics it is the same as outline ... it is the same area ... we have already resolved to have a viewport-fill using background heycam: on the outer SVG element it would cover the whole viewport but for inner SVG it would cover the bounding box area ... since we decided not to do viewport-fill but just to support background shepazu: how do we feel about having background apply to SVG elements? heycam: I think it's fine krit: I don't see the value in the extra work ... I think it slows down implementations ... I don't think the use case is strong enough heycam: I think it's useful for text Rossen_f2f: what will the background be clipped to? shepazu: the same as outline Rossen_f2f: so if I have a path, what will be filled? ... the area around the path? <Tavmjong> SVG 2 Text currently refers to a "content area" that is the same as defined in CSS. shepazu: yes RRSAgent: what is the use case for that? Rossen_f2f: what is the use case for that? ... outlines are not hit-testable ... but background is ... and background is often used for hit-testing shepazu: that is another use case where you use the background to enlarge the hit-test region heycam: we already solved this with pointer-events: bounding box shepazu: we could also say that background in SVG is not hit-testable ... it's simply visual, not hit-testable heycam: that would be ok with me Rossen_f2f: so you mean background images etc? shepazu: no, not images Rossen_f2f: why not? shepazu: the use case is having a visual indicator that something is in focus which applies to both outline and background Rossen_f2f: in order to get around this, if all you need is selection, can't you specify your outline to have fill or stroke? ... that way if you specify this fill, it fills in this area ... you're specifying an outline and you want to indicate that something is selected shepazu: how is that different to background Rossen_f2f: it doesn't open the door to everything else that is in background ... which is very complicated heycam: why shouldn't you be able to use backgrounds like gradients? krit: when you do that you have to work out sizing heycam: once we work out the size of the box, that is solved shepazu: I have heard many times from developers that they expected to be able to set the background on SVG elements ... right now if you want to have this effect you compose it yourself using rect ... if you want to have something highlightable you need transform a container group ed: I've heard the same but only for text and elements that establish viewports shepazu: personally, I've done this many times Thomas: we've used this many times ... you mouse over something and a background box highlights ... we do this manually using javascript ... it would be so much easier if it was directly supported shepazu: and it would also be more intuitive to people who are used to CSS birtles: does the shape you highlight correspond to the bounding box of the text Thomas: we actually generate the box from some data mining software... the box might actually be slightly larger than the text bounding box krit: is the shape always rectangular? Thomas: it often is shepazu: I'm just looking for the simplest possible thing that makes sense to developers krit: I'd like to see the concrete use case Rossen_f2f: I understand the use case but I'm not sure if this is the right approach <Tavmjong> We are moving to CSS based text layout. Hasn't CSS already figured this out? krit: do you use something other than a color for highlighting? Thomas: generally it's a solid color but I could see people using gradients heycam: if we are going to restrict it to color, then we should be able to expand it to other paints later ChrisL: this is how we ended up with viewport-fill, so we could expand it later shepazu: I don't think the use case supports having images ... since it's about highlighting things ... but perhaps they could have a subtle stippled image krit: if it is background-color, this doesn't allow lists of colors shepazu: I think we should support background but only support colors heycam: I think we should specifically just support background-color and then later we can support background if necessary ... then people don't use background to mean only background-color Rossen_f2f: if we support background only, the shorthand, then we have to support everything in background shepazu: I would be happy with background-color heycam: my argument against outline-fill is that it's hard to extend later shepazu: I also don't think we should add a property ... the other thing to talk about is hit-testing heycam: whether the background is hit-testable or not? ... with pointer-events: auto? shepazu: we could say that background is not hit-testable in SVG Rossen_f2f: in the previous use case where the outline is used to indicated that the shape has been hit-testable ... the background you use to indicate that it has been hit-tested also changes what gets hit-tested ed: I wanted to mention the difference between the outline and the background box ... I expect the outline to be axis-aligned but not the background ... for example, if you transform some text heycam: you can achieve that effect <heycam> <g transform="..."><text>...</text></g> <heycam> g:hover { outline: ... } <heycam> g:hover text { background-color: ... } shepazu: another use case is when something is selected by keyboard etc. krit: my question is what happens if you apply a clip path ... in the HTML world the background would be clipped ... do you want the background to be clipped here as well? shepazu: it should match CSS krit: so it would be clipped heycam: in that case you'd need a containing group to stop the background from being clipped shepazu: is background-color hit-testable in CSS? Rossen_f2f: yes heycam: the box is hit-testable Rossen_f2f: if the background is transparent it didn't used to be hit-testable heycam: is that right? now that we have pointer-events? ... in CSS if the background is transparent, the box is still hit-testable these days shepazu: (draws some shapes with boxes around them) ... suppose the backgrounds have alpha ... where does it stack everyone: with the element shepazu: how does it blend? is it a problem? (generally seems to be ok) krit: we still didn't clarify hit-testing ... or padding shepazu: I think hit-testing is characteristic of the box and not the background ... we should decide that later krit: for the highlighting use case you don't want backgrounds to be hit-testable shepazu: we can solve that later krit: do we want padding?? heycam: I think we do, particularly for Thomas' use cases shepazu: you could solve that with a background and thick outline of the same color ... so we don't *have* to have padding heycam: I think that's problematic if rendering is not pixel-aligned since you'll get seams shepazu: so do we want shape-padding or regular padding heycam: I think it's better to have padding if we're talking about a box shepazu: I think it makes most sense to allow padding krit: padding would also affect outline shepazu: yes krit: what about border? heycam: we can live without that shepazu: what about outline-radius? Rossen_f2f: there's no outline-radius heycam: interestingly, it's border radius that controls the rounding of the background shepazu: let's boil this lobster krit: how does padding work for outer SVG? shepazu: we special case that RESOLUTION: add outline, background-color, and padding to SVG2 with hit-testing to be determined later <heycam> -- 15 minute break -- <cabanier> scribenick: cabanier use cases for technical diagrams <Smailus> [20]https://www.w3.org/Graphics/SVG/WG/wiki/images/7/78/Boeing_ -_Vector_Drawing_Capabilities_of_Interest.pdf [20] https://www.w3.org/Graphics/SVG/WG/wiki/images/7/78/Boeing_-_Vector_Drawing_Capabilities_of_Interest.pdf Smailus: here's a pdf ... there's a paper in there that contains features that we think is important heycam: cgm vs SVG? Smailus: yes ... the text has to fill the space between the wires ... ... the author generates a diagram and it's important that it looks the same everywhere ... ... so stylesheets should not affect shepazu: how important is that? Smailus: it's not that is important ... if the diagram looks different, that is very bad ... there can be font differences ... we have ataa and faa requirements ... ... we have outstanding issues with non-scaling patterns and dashse ... ... if you zoom out, it would be very busy ... ... when you see the diagram as a whole, the user has to zoom in ... ... the author makes it with certain patterns, you want the line thickness to stay the same ... ... right not the lines get thicker which is a problem ... the paper talks about the issues ... line types and line styles are problems ... it would be easier if there was a table of line styles shepazu: you could do that with a class ... what's a line style? Smailus: dash patterns, diamond shepazu: are these predefined or conventions? Smailus: I think they are conventions shepazu: it would be useful to know that <shepazu> [21]http://www.cgmopen.org/technical/cgm-svg-20030508-2.htm [21] http://www.cgmopen.org/technical/cgm-svg-20030508-2.htm Smailus: the paper talks about this Rossen_f2f: wrt non-scaling pattern. do you have requirements for corners? Smailus: CGM has this and some people use that Rossen_f2f: so it has meaning in the diagram? Smailus: yes, whitespace at the corner could be confusing <stakagi> [22]https://www.w3.org/Graphics/SVG/WG/wiki/SVG2_Requirements_I nput#Skeleton_frames [22] https://www.w3.org/Graphics/SVG/WG/wiki/SVG2_Requirements_Input#Skeleton_frames <stakagi> [23]http://lists.w3.org/Archives/Public/www-svg/2013Jan/0009.ht ml [23] http://lists.w3.org/Archives/Public/www-svg/2013Jan/0009.html ChrisL: is there an iso standard for the dashing or is it for pay? Smailus: I will look that up ... size matters too for us ... it's important to keep it as small as possible ... but not as important as it was in the past shepazu: one of the things they do, is that they generate the bounding box at document creation time ... so having this will reduce the filesize dramatically Smailus: yes, at authoring time, we put a transparent rectangle at the front ... similarly for wires shepazu: so this could change the authoring tools? Smailus: yes ... preserving authoring intent is key <ChrisL> catia-authored cgm shepazu: could SVG replace CGM? <heycam> [24]https://en.wikipedia.org/wiki/CATIA [24] https://en.wikipedia.org/wiki/CATIA smailus: maybe eventually Rossen_f2f: corner preservation is important? smailus: people have told me that it sometimes matters. unsure how big of a deal it is? krit: do you want the dash array to be always the same when you zoom in/out? smailus: I don't think that really matters krit: is zooming perserving aspect ratio smailus: yes ... non-scaling lines would stay the same ChrisL: the paper that is referenced here, is the second revision. ... one of the particular things he picks, is bitonal images ... SVG only has png and jpeg ... his article uses an illustrator svg file that encodes a pdf file in the metadata <ChrisL> base64 data uri 16,613 iv-base64.txt <ChrisL> data uri compressed 12,623 iv-base64.txt.gz <ChrisL> original png 15,228 Saito_bwStucki.png <ChrisL> optimised png 12,438 Saito_bwStucki-iv.png <ChrisL> svg with data uri 16,759 svg-iv-base64.svg <ChrisL> svg compressed 12,746 svg-iv-base64.svgz ChrisL: I redid the file so it just contains the svg data shepazu: what should we be looking for? ChrisL: the optimized png is 12.6 k and the svg is 12k Smailus: in our diagrams we have switches that have a hot spot ... you can click on parts or the whole heycam: hierarchical regions? smailus: yes shepazu: in that case, you'd still use a rect as a hotspot smailus: in that case, we would probably use that all the time <ChrisL> the cad generation and the hotspot addition are done at separate stages in the workflow, typically smailus: the artwork is spread over the artwork and the hotspot ... often the artwork is sorted for plotting (arcs that are together) shepazu: you could do rectangles in certain area but for text you could relay on the SVG heycam: have you looked at hatch fills that Tav proposed? smailus: no heycam: not sure if they're non-scaling <ChrisL> [25]http://www.w3.org/TR/SVG2/pservers.html#Hatches [25] http://www.w3.org/TR/SVG2/pservers.html#Hatches Tavmjong: I assume that we'd eventually do that krit: what about if the aspect ration changes? heycam: not sure yet. Maybe we don't have to care about that <ChrisL> also, svg2 has non-scaling stroke [26]http://www.w3.org/TR/SVG2/painting.html#NonScalingStroke [26] http://www.w3.org/TR/SVG2/painting.html#NonScalingStroke krit: what if you use percentages? ... if you do, the viewport is not square and is difficult to implement ... but this is only an issue for relative lengths <scribe> ACTION: smailus to break his presentation out into specific issues that need to be addressed and take it to the mailing list [recorded in [27]http://www.w3.org/2014/01/31-svg-minutes.html#action01] <trackbot> Created ACTION-3572 - Break his presentation out into specific issues that need to be addressed and take it to the mailing list [on Thomas Smailus - due 2014-02-07]. <scribe> ACTION: ChrisL to work with Smailus to create examples of the issues [recorded in [28]http://www.w3.org/2014/01/31-svg-minutes.html#action02] <trackbot> Created ACTION-3573 - Work with smailus to create examples of the issues [on Chris Lilley - due 2014-02-07]. intrinsic sizing of SVG ed: responsize images and svg ... auto width and height gives you the size you need ... it's issue 3 on the wiki page <ed> [29]https://www.w3.org/Graphics/SVG/WG/wiki/Intrinsic_Sizing [29] https://www.w3.org/Graphics/SVG/WG/wiki/Intrinsic_Sizing <krit> <svg width="200px" height="200px" style="width: 300px; height: 300px;" viewBox="0 0 250 250"> krit: there are different opinions. maybe we want to do it like canvas ... widht and height properties and attributes control resolution and size heycam: do you know if this is only for inline out svg? <ed> <svg width="50%" viewBox="0 0 100 100"> <ed> <rect width="100" height="100" fill="blue"/> <ed> </svg> krit: webkit does presentational attribute mapping (sort of) heycam: we define that the intrinsic aspect ration comes from the viewbox? ed: I believe so <ed> [30]http://jsfiddle.net/M445V/ [30] http://jsfiddle.net/M445V/ krit: (drawing diagram) heycam: it seems webkit's interpretation makes more sense <ed> <div style="width: 100px; height: 100px"> <ed> <svg style="background:blue"></svg> <ed> </div> <ed> [31]http://jsfiddle.net/3dy9U/ [31] http://jsfiddle.net/3dy9U/ ed: I pasted a fiddle in krit: IE and firefox seem to agree ... [32]http://jsfiddle.net/M445V/1/ ... firefox doesn't scale height [32] http://jsfiddle.net/M445V/1/ <birtles> there's a long discussion about this: [33]https://bugzilla.mozilla.org/show_bug.cgi?id=668163 [33] https://bugzilla.mozilla.org/show_bug.cgi?id=668163 <ed> another long discussion here: [34]https://code.google.com/p/chromium/issues/detail?id=308992 [34] https://code.google.com/p/chromium/issues/detail?id=308992 heycam: we had a bug with bing maps krit: with/height: 100% seems to make a different for firefox ... we can say that if you leave them off, it should go to 100% heycam: what we want to say, if the presentation is there it maps to the style property. ... but if it's not, it's treated as auto krit: I suggest that auto is 300/150 ... I think we need more tests ed: we have a lot of tests krit: IE used to have strange behavior in the case there was viewbox ... I suggest we follow IE (and webkit) ... what happens if there's a div with no sizing Rossen_f2f: in CSS, auto goes to 150 ... if the containing block has a resolvable height, we use that <birtles> the reason we wanted not to map default values for width/height to style is: "The fact that our old behavior did apply to such default values was one of the most confusing things about using SVG in HTML -- for example, SVG elements that *do* have a viewBox used to have that viewBox's intrinsic ratio ignored when they were inside a container with a fixed <birtles> height (such that percentage heights were meaningful), but the intrinsic ratio was honored if they were in an auto-height container." <birtles> it seems like webkit/blink don't face this issue because % heights are resolved against the document viewport (unlike a div with % height) according to David Vest: [35]http://lists.w3.org/Archives/Public/www-svg/2013Dec/0095.ht ml [35] http://lists.w3.org/Archives/Public/www-svg/2013Dec/0095.html heycam: [36]http://jsfiddle.net/M445V/4/ [36] http://jsfiddle.net/M445V/4/ krit: webkit is not looking at the containing block ... it seems IE is the most reasonable Rossen_f2f: 10.3.2 <ed> (the numbers refer to CSS 2.1 sections, right?) Rossen_f2f: if the width is not specified, it should go to auto. What is auto on an SVG element with display: block ... if we follow SVG as a replaced element, 10.3.4 it should go to intrinsic ... but we are computing as non-replaced ... BUT if you require a shrink-to-fit such as a float, then we use 300 by 150 ... is SVG replaced element? heycam: is image replaced? no krit: x/y/width/height should be presentation attributes heycam: sure resolution: width and height attributes are presentation on the svg element heycam: I would like to see what the issue was <scribe> ACTION: heycam to investigate why firefox needs to treat SVG as a replaced element [recorded in [37]http://www.w3.org/2014/01/31-svg-minutes.html#action03] <trackbot> Created ACTION-3574 - Investigate why firefox needs to treat svg as a replaced element [on Cameron McCormack - due 2014-02-07]. <scribe> ACTION: ed to create inline SVG sizing tests [recorded in [38]http://www.w3.org/2014/01/31-svg-minutes.html#action04] <trackbot> Created ACTION-3575 - Create inline svg sizing tests [on Erik Dahlström - due 2014-02-07]. <scribe> ACTION: krit to make width and height attributes presentation attributes on the svg element [recorded in [39]http://www.w3.org/2014/01/31-svg-minutes.html#action05] <trackbot> Created ACTION-3576 - Make width and height attributes presentation attributes on the svg element [on Dirk Schulze - due 2014-02-07]. Deprecating/redefining symbol element heycam: shepazu do you have ideas? <Tavmjong> [40]http://tavmjong.free.fr/SVG/SYMBOL/symbol.html [40] http://tavmjong.free.fr/SVG/SYMBOL/symbol.html Tavmjong: I would be against this ... it was mentioned that browsers were not ignoring this. but that seems not to be the case ... I didn't check chrome or ie ... but all others did ... it is used quite a bit, especially Illustrator ... Andreas is also against removal ... inkscape uses it to populate a dialog shepazu: I think you misunderstood ... I was saying that Symbol should be defined as a special case of the SVG root Tavmjong: I thought you wanted to deprecate the symbol element shepazu: I take deprecation back. ... they are not defined as being non-displayed SVG roots Tavmjong: according to ???, what is missing is alignment ... markers have that possibility. Symbols don't shepazu: we should define marker and symbol the same way ... a marker should behave like a nested svg root ... so there's only 1 model that developers and browsers have to understand heycam: we already allude that they are similar krit: I have nothing against it but don't see the improvement Tavmjong: markers also have an orientation shepazu: I would like to see in the spec, "these are the differences between markers and symbols" Tavmjong: they are in different sections shepazu: let's go over that in the coming week resolution: we will not deprecate symbol and make it clear in the spec what their differences and similarities are. ... we will not deprecate symbol and make it clear in the spec what their differences and similarities are. ... feature freeze for SVG in june and last call in January 2015 <heycam> -- lunch time -- <heycam> Scribe: Cameron <heycam> ScribeNick: heycam pointer events and background colors krit: I just want to make sure the default behaviour is always reasonable shepazu: what's reasonable? krit: background-color:transparent should not influence hit testing ... but if it has a color, it would be strange by default if it doesn't affect hit testing ChrisL: if you're not doing hit testing you can't do :hover shepazu: you can, you just have to change pointer-events explicitly birtles: Rossen had a point, that if you have a background that is transparent, and therefore not getting hit testing, and you mouse over and fill it in, it's unusual for it then become hit testable ... so I think it makes more sense to never hit test, but you can still use pointer-events:bounding-box krit: ok RESOLUTION: background-color on SVG elements will never influence hit testing area krit: I suggest we look at CSS UI to see if there are other keywords to use for pointer-events <krit> [41]http://www.w3.org/wiki/User:Tantekelik/pointer-events [41] http://www.w3.org/wiki/User:Tantekelik/pointer-events krit: the only difference there is the new 'auto' value heycam: so you're proposing a new 'background' keyword for pointer-events? krit: yeah we could have that ... it would mean the background area heycam: is that different from bounding-box? krit: yes because it does not include padding heycam: so getBBox() would return the plain geometry bounding box, and we could use the other version of getBBox() that takes a dictionary to select which parts to include krit: yes ... we need to decide effectively what the content box shepazu: I think it should be the stroked bbox ... actually the decorated bounding box heycam: so including markers RESOLUTION: The effective content box of an SVG element is the decorated bounding box. <scribe> ACTION: Doug to make background-color, padding-*, outline-* apply to SVG elements. [recorded in [42]http://www.w3.org/2014/01/31-svg-minutes.html#action06] <trackbot> Created ACTION-3577 - Make background-color, padding-*, outline-* apply to svg elements. [on Doug Schepers - due 2014-02-07]. non-scaling objects <stakagi> [43]http://svg2.mbsrv.net/devinfo/devstd/non-scaling-objects-2/ [43] http://svg2.mbsrv.net/devinfo/devstd/non-scaling-objects-2/ stakagi: this is an issue that came up in 2011 ... I tried to standardise non-scaling features for SVG 2 ... I've found that SVG Tiny 1.2 has such a feature, ref(svg) ... based on this specification, SVG 2 should have such functionality ... but I found issues, listed in that document ... one is that is somewhat difficult and has a special description ... other is that it doesn't consider nested documents ChrisL: I don't think the restriction to non-nested documents is inherent in the feature, but SVG Tiny 1.2 doesn't support nested documents stakagi: the issue with nested documents is described in the last section "Fixed object for nested documents" on that page ... this section shows that non-scaling characteristics will be transmuted when nested document embedding is performed shepazu: does this account for all transforms, including those that are in CSS? stakagi: yes shepazu: what about 3D transforms? ChrisL: no, you'd need to change the formulae here to take into account 3D shepazu: does it need to? ChrisL: I don't see 3D being used here, it's more for local 3D inclusions in a 2D world shepazu: what does this do for zoom? ... is that defined as a transform? ChrisL: you do all your transforms up to the root, then an additional one for the zoom, that's where it comes in shepazu: I think it should take into account zooming, though not necessarily panning birtles: that page does talk about using the CTM for zooming ... the very last point it mentions browser chrome transformations, which further touches on zoom shepazu: is this the syntax we want? ... instead of doing vector-effects="...", a CSS property that says non-scaling with parameters to that? heycam: either is better than ref(svg) ed: yes ref(svg) made it hard to integrate with CSS Transforms shepazu: I would expect this to be a CSS property birtles: vector-effect is a CSS property ChrisL: people like non-scaling-stroke keyword ... I'm not seeing traction for vector effects more broadly shepazu: if we promoted more it would, but that's another matter heycam: I don't think I'd like vector-effect being used for non-scaling stroke and then a separate property for non-scaling other things shepazu: maybe "non-scaling" as the property name <birtles> scaling="fixed-stroke fixed-coordinate" stakagi: [translated from brian] normally with the transform:ref you only have one CTM, but in the case of nested documents, where you can nest to any depth, you can have a whole series of CTMs which stack up ... for that case, you'd need a different property value heycam: so "stop at the current document" or "go all the way"? stakagi: yes ChrisL: the "ref" bit means to walk up to where I'm referencing, so skip up to the specified element birtles: there's no way of indicating of the reference with this syntax ... four property values in this proposal ChrisL: one you can give numerical values ... one you can point to an ID ... one you can count <svg>s from the root, if you know you're nested 5 times ... (you could say to skip 2 of them) ... (and the default would be 1) shepazu: I'm uneasy about the syntax for saying how many levels to go up ... maybe I'm misunderstanding; which transformation contexts it's skipping is at the nested <svg> barrier ... I think one nesting barrier or all is probably as much as you need ... by default it might be only the current nesting context, and the other value would be all nesting contexts ... maybe in the case of widgets... ChrisL: my concern is composability ... if you take an existing application that uses non-transform-up-to-the-root, and you embed that somehwere, now your widget could break shepazu: I don't disagree, I don't see in practice people doing that ... I suggest we keep it simple, so one context or all ChrisL: I think the composability is important shepazu: so one place I use that kind of composability is presentation slides ... I'll use levels of nested SVGs there ... I'm trying to think of a case where I'd want non-scaling whatever that is only within a certain context; I'm not thinking of one heycam: [describes an example] shepazu: it seems brittle to describe it in terms of levels heycam: I agree ChrisL: IDs would be easier heycam: I think I'd rather solve the number-of-levels issue later if we need to, but keep it simple to start <ChrisL> so it should aleways refer to the rootmost svg element birtles: to clarify the four different keywords from the proposal document ... the additional-fixed-coordinates corresponds to ref(svg,100,100) ; that's for example for an icon on the map, which can change its location, its translation, but not its scale ... whereas fixed-coordinates means that it stays at the same position; for example for a UI for the map ... then what is it relative to? the coordinate space of the root of the document, but then the final two keywords, additional-fixed-coordinates-root and fixed-coordinates-root, are the coordinate system of the "browser" so to speak ChrisL: I understand the four things now, but maybe the names could be improved birtles: you want the property values to be like "fixed-scale", "fixed-position", ... ChrisL: since you have two types of things, one that can move its position and one not, the "no-pan" thing included the no scaling shepazu: you could have separate keywords <ChrisL> nopan-root nopan-viewport noscale-root noscale-viewport thomas: does that take into account rotation too? ... your map legend might not want to rotate when you rotate your map contents shepazu: my current thinking is to say a single property, whatever it's named -- maybe transform-limit -- and a bunch of parameters to say which things you're limit ... the auto value is no transform limit ... among them would be no-rotate, no-scale-stroke, no-scale, no-pan ... and then there are the scoping things ChrisL: those, followed by either a keyword that means viewport or root element, with an initial value that would mean stakagi: I'm not fussed about syntax ... regarding no-rotate, previous SVG's transform(ref) couldn't do that, so I didn't consider it ... but might be convenient, provided the math isn't convenient thorton: with a compass rose, you want that to rotate, but the map legend not to rotate stakagi: I'm looking for permission to write up the stuff from SVG Tiny 1.2 in a better syntax for SVG 2, mostly concerned about bringing across the current functionality birtles: I think if there are parts that are difficult to specify, like math for no-rotate, he might like to defer that ... but at least he wants to cover the two cases for transform(ref) stakagi: if someone wants to think about it I'm happy for you to do so shepazu: to get started, let's accept accept Takagi-san's proposal, he puts it into the spec, and we go from there RESOLUTION: We will accept the new transform(ref) proposal but with different syntax for SVG 2. <scribe> ACTION: stakagi to add the new transform(ref) functionality to SVG 2 [recorded in [44]http://www.w3.org/2014/01/31-svg-minutes.html#action07] <trackbot> Created ACTION-3578 - Add the new transform(ref) functionality to svg 2 [on Satoru Takagi - due 2014-02-07]. birtles: we mentioned non-scaling hatching ... we'd address that with the same property? ChrisL: I think we need to look at that shepazu: the flip invariant text could be handled here too heycam: yeah, a new value to snap non-rotation to 90 degrees? <ed> don't see why we should necessarily restrict it to n*90 degrees, let it be author controlled ISSUE: Consider allowing non-rotation, non-scaling/rotation of fill hatch/pattern options to the new non-transform functionality <trackbot> Created ISSUE-2453 - Consider allowing non-rotation, non-scaling/rotation of fill hatch/pattern options to the new non-transform functionality. Please complete additional details at <[45]http://www.w3.org/Graphics/SVG/WG/track/issues/2453/edit>. [45] http://www.w3.org/Graphics/SVG/WG/track/issues/2453/edit%3E. ISSUE-2453: Also non-scaling rotation of stroke (in case it includes a hatch pattern too). <trackbot> Notes added to ISSUE-2453 Consider allowing non-rotation, non-scaling/rotation of fill hatch/pattern options to the new non-transform functionality. Shadow DOM in SVG krit: the shadow tree has things where you can isolate style inheritance ... and you can explicitly inherit style into the tree ... is that something we care about for the <use> element? ed: I guess ... if it's something you can control ... one part that was requested was to add <shadow> to SVG <ed> [46]http://lists.w3.org/Archives/Public/www-svg/2014Jan/0018.ht ml [46] http://lists.w3.org/Archives/Public/www-svg/2014Jan/0018.html <ed> [47]http://www.w3.org/TR/shadow-dom/#shadow-element [47] http://www.w3.org/TR/shadow-dom/#shadow-element heycam: this is pdr's review of web components for SVG ... seems like it makes sense to allow <shadow> in SVG as he suggests krit: what about removing the instance tree? ed: everyone on the mailing list agreed but we haven't resolved yet ... so that would be removing SVGElementInstance etc. krit: groups within Adobe would like to extend the instance tree rather than removing it heycam: I think knowing the correspondence between template and shadow tree elements isn't critical ... you can work it out yourself if you need krit: I think most people agreed about the removal of the SVG instance tree RESOLUTION: SVG 2 will remove the SVG instance tree for <use>. krit: next is basing <use> on the Shadow DOM ... which is now in CR, or at least LC cabanier: so if it's a shadow tree you have a copy per instance ChrisL: yes shepazu: if I have a <use> element, and I change the thing it refers to, does it no longer update? cabanier: yes heycam: but I think maybe we want to keep the auto-updating behaviour krit: that is how Blink implements <use> in terms of shadow trees ... updates to the original cause the tree to get recreated heycam: that's how it works internally in Firefox now anyway [discussion of allowing inherited styles into shadow trees] RESOLUTION: SVG 2 will base <use> on shadow tree spec. heycam: pdr's first point in his mail, is that about the HTML parser? ed: there are two things defined in Shadow DOM ... <shadow> and <content> ... they're both inheriting from HTMLElement krit: should they inherit from Element so we can use it? heycam: not sure about that. ... don't want to lose all the HTMLElement things in HTML <ed> [48]http://w3c.github.io/webcomponents/spec/shadow/ [48] http://w3c.github.io/webcomponents/spec/shadow/ <ed> [49]http://w3c.github.io/webcomponents/spec/shadow/#content-ele ment [49] http://w3c.github.io/webcomponents/spec/shadow/#content-element <ed> [50]http://w3c.github.io/webcomponents/spec/shadow/#shadow-elem ent [50] http://w3c.github.io/webcomponents/spec/shadow/#shadow-element <scribe> ACTION: Erik to ask somebody what to do about content/shadow inheriting from HTMLElement [recorded in [51]http://www.w3.org/2014/01/31-svg-minutes.html#action08] <trackbot> Created ACTION-3579 - Ask somebody what to do about content/shadow inheriting from htmlelement [on Erik Dahlström - due 2014-02-07]. ACTION-3413 is cyril's action to make <use> use Shadow DOM ACTION-3413? <trackbot> ACTION-3413 -- Cyril Concolato to Investigate describing use in terms of the shadow DOM -- due 2013-02-10 -- OPEN <trackbot> [52]http://www.w3.org/Graphics/SVG/WG/track/actions/3413 [52] http://www.w3.org/Graphics/SVG/WG/track/actions/3413 <scribe> ACTION: Erik to remove <use> element instance tree. [recorded in [53]http://www.w3.org/2014/01/31-svg-minutes.html#action09] <trackbot> Created ACTION-3580 - Remove <use> element instance tree. [on Erik Dahlström - due 2014-02-07]. -- break -- getClippedBBox() stakagi: our use case is lazy loading according to clipped bounding boxes <stakagi> [54]https://www.w3.org/Graphics/SVG/WG/wiki/Proposals/ResourceP riorities_for_SVG#ClippedBBox [54] https://www.w3.org/Graphics/SVG/WG/wiki/Proposals/ResourcePriorities_for_SVG#ClippedBBox stakagi: this URL describes it ... at first, we should have an API getClippedBBox() heycam: I think we should have an API with a single bbox function (maybe in addition to getBBox(), or maybe exactly getBBox()) that takes options indicating which parts to include ... so stroke, fill, etc. ... and this function you could also indicate whether the clip-path is taken into account ... element.getBBox({ fill: true, stroke: true, clipped: true, markers: false }) ... and they'd have some default values ed: getStrokeBBox() is already implemented in Blink krit: but probably behind a flag ... it is in the spec now, and I think the spec says to include markers, even though the name is Stroke ed: it's not behind a flag heycam: I doubt anyone is using it yet krit: I want to use getBBox() on HTML content too ChrisL: what would it give you? krit: the boundaries of the element without its transform ChrisL: and which boundary would that be? ... content bounding box? krit: border boxes RESOLUTION: SVG 2 will extend getBBox with a dictionary parameter, including whether clip-path is included, and getStrokeBBox will go away. <scribe> ACTION: Cameron to add the extended getBBox to SVG 2. [recorded in [55]http://www.w3.org/2014/01/31-svg-minutes.html#action10] <trackbot> Created ACTION-3581 - Add the extended getbbox to svg 2. [on Cameron McCormack - due 2014-02-07]. krit: clip-path should be applied last heycam: we maybe should talk to CSSOM people, if we want it to apply to both HTML and SVG, and have CSS box keywords Illustrator output shepazu: for accessibility you need to make it possible/easy to add title/desc to each element, and to the document root ... second thing is, in general, consider the case for adding content for animation and apps, not just static output ... third thing was, be careful how much you use features like filters, clip-paths (especially), because it hurts performance ... the other thing is, an SVG file should be scalable by default, so have the viewBox be specified and width/height 100% krit: I think we just added that last one ... there is an option, responsive image, which should allow that ChrisL: the blog post said it didn't give you a fixed width/height, but it didn't say how it did it shepazu: and get rid of the xml prelude ... the comment about creator:adobe should put it in the document root heycam: are internal entities in DTDs gone? krit: I think so shepazu: add the ability to add a metadata license ... for the web case, it otherwise is ambiguous. allow having a CC-BY license mentioned in there. RelaxNG schema validation shepazu: for the validator, we don't have an rng schema ... SVG 2 should have one ... I asked around different people, and everyone wanted to charge to do it ... or charge to train us to do it ChrisL: who's asking for this? shepazu: hsivonen, MikeSmith, for the validator ChrisL: it's not just making a subset for a subset of rng that is valid, but mixing it up with html5 schema, arbitrary combinations of these ... a composable schema ... sounds like a lot of work shepazu: if we want SVG to validate I think we need to do this ... or at least confirm that this needs to happen <scribe> ACTION: Doug to ask Mike whether we need an RNG schema for SVG to validate in the validator [recorded in [56]http://www.w3.org/2014/01/31-svg-minutes.html#action11] <trackbot> Created ACTION-3582 - Ask mike whether we need an rng schema for svg to validate in the validator [on Doug Schepers - due 2014-02-08]. Publishing another WD of SVG 2 krit: anyone object? ChrisL: publishing just what's in there right now? or waiting for people to do edits first? krit: I want to do my stroke edits ChrisL: do we have a complete list of changes since the last WD? krit: I think everyone did add to changes.html shepazu: how about Tuesday Feb 11 ChrisL: ok krit: ok RESOLUTION: We will publish a WD of SVG 2 on Tuesday Feb 11. <scribe> ACTION: Cameron to prepare SVG 2 for publication on Tuesday Feb 11. [recorded in [57]http://www.w3.org/2014/01/31-svg-minutes.html#action12] <trackbot> Created ACTION-3583 - Prepare svg 2 for publication on tuesday feb 11. [on Cameron McCormack - due 2014-02-08]. SVG selection shepazu: we have a chapter that describes how we select text ... we should also say how we select other items, like graphical items ... and there's some implications to selection because selection is a prelude to copy and paste ... when you copy and paste what are you copying and pasting ... just the text, or maybe a png of the section you selected ... if you're copying the tree, do you copy all the things that the tree references, do you copy the original thing or do you expand it? ... do you copy css styles with the fragment you selected? ChrisL: I can argue for or against for each of those shepazu: HTML says when something is selected, it doesn't have a good copy and paste spec ... Clipboard API ChrisL: that's an API though so needs to be triggered by some gesture shepazu: I'll talk to the editor of Clipboar API about these questions <ChrisL> Clipboard API and events <ChrisL> W3C Working Draft 11 April 2013 <ChrisL> Hallvord R. M. Steen, Opera Software <ChrisL> [58]http://www.w3.org/TR/clipboard-apis/ [58] http://www.w3.org/TR/clipboard-apis/ shepazu: we've wanted to have a way of exporting a PNG of the SVG, has anything happened on that? ChrisL: [mumbles about people bringing up security] [talk about some use cases for getting a rendering of an SVG fragment] shepazu: I will find out more about what HTML does ... another consideration is if you select two elements, and if they are visually close together but in different DOM tree positions, how much of the tree do you export? ... we should have something on the SVG root, or somewhere, a method that says give me the selection ... we'll deal with this in whichever spec defines ranges and selections <shepazu> [59]http://www.w3.org/TR/SVG2/text.html#TextSelection [59] http://www.w3.org/TR/SVG2/text.html#TextSelection [discussion about selection] shepazu: I will talk with DOM people about setting the Selection object when clicking SVG elements RESOLUTION: SVG WG will request selection of non-text elements in DOM Range/Selection/whereever is appropriate. heycam: I wonder ::selection relates to this ChrisL: once you've defined that selection works on this, it should just fall out -- meeting adjourned -- Summary of Action Items [NEW] ACTION: Cameron to add the extended getBBox to SVG 2. [recorded in [60]http://www.w3.org/2014/01/31-svg-minutes.html#action10] [NEW] ACTION: Cameron to prepare SVG 2 for publication on Tuesday Feb 11. [recorded in [61]http://www.w3.org/2014/01/31-svg-minutes.html#action12] [NEW] ACTION: ChrisL to work with Smailus to create examples of the issues [recorded in [62]http://www.w3.org/2014/01/31-svg-minutes.html#action02] [NEW] ACTION: Doug to ask Mike whether we need an RNG schema for SVG to validate in the validator [recorded in [63]http://www.w3.org/2014/01/31-svg-minutes.html#action11] [NEW] ACTION: Doug to make background-color, padding-*, outline-* apply to SVG elements. [recorded in [64]http://www.w3.org/2014/01/31-svg-minutes.html#action06] [NEW] ACTION: ed to create inline SVG sizing tests [recorded in [65]http://www.w3.org/2014/01/31-svg-minutes.html#action04] [NEW] ACTION: Erik to ask somebody what to do about content/shadow inheriting from HTMLElement [recorded in [66]http://www.w3.org/2014/01/31-svg-minutes.html#action08] [NEW] ACTION: Erik to remove <use> element instance tree. [recorded in [67]http://www.w3.org/2014/01/31-svg-minutes.html#action09] [NEW] ACTION: heycam to investigate why firefox needs to treat SVG as a replaced element [recorded in [68]http://www.w3.org/2014/01/31-svg-minutes.html#action03] [NEW] ACTION: krit to make width and height attributes presentation attributes on the svg element [recorded in [69]http://www.w3.org/2014/01/31-svg-minutes.html#action05] [NEW] ACTION: smailus to break his presentation out into specific issues that need to be addressed and take it to the mailing list [recorded in [70]http://www.w3.org/2014/01/31-svg-minutes.html#action01] [NEW] ACTION: stakagi to add the new transform(ref) functionality to SVG 2 [recorded in [71]http://www.w3.org/2014/01/31-svg-minutes.html#action07] [End of minutes] __________________________________________________________
Received on Saturday, 1 February 2014 00:50:04 UTC