/irc-logs / w3c / #fx / 2015-02-11 / end

Options:

Previous day, Next day

  1. # Session Start: Wed Feb 11 00:00:00 2015
  2. # Session Ident: #fx
  3. # [00:00] <Tav> http://tavmjong.free.fr/SVG/SCHILLER/html
  4. # [00:00] <heycam> Tav: these are some tests I made from a few years ago, with SVG sizing in img, iframe, etc.
  5. # [00:02] <heycam> dbaron: what are we trying to accomplish right now?
  6. # [00:02] <heycam> Florian: tantek and I have an idea on patching the spec that seems reasonable. we want to see if it matches reality and that others agree.
  7. # [00:02] <heycam> ... if none of the browsers is doing the right then, then...
  8. # [00:02] <heycam> dbaron: what are the questions about how to integrate box-sizing?
  9. # [00:03] <heycam> Florian: as long as you don't involve max-height/width, it's easy
  10. # [00:03] <heycam> ... once you have a bit of an algorithm and lots of rules for width height, it doesn't say which width height to work on
  11. # [00:03] <heycam> dbaron: I think that algorithm should be interpreted as working on content box sizes
  12. # [00:03] * Joins: hyojin_ (~hyojin@public.cloak)
  13. # [00:03] <heycam> ... there might be other implementation bugs that are worth discussing separately
  14. # [00:03] * fantasai dbaron getting right to the point++
  15. # [00:03] <heycam> ... I think the box-sizing spec update should be done because that's how it should work
  16. # [00:04] <heycam> fantasai: is there any question in what you want to specify?
  17. # [00:04] <heycam> Florian: unless someone strongly believes a non-Presto behaviour is right, no
  18. # [00:05] <heycam> fantasai: that's fine
  19. # [00:05] <heycam> tantek: we didn't expect this many bugs :-)
  20. # [00:05] <heycam> dbaron: the SVG sizing stuff is pretty recently specced
  21. # [00:07] <TabAtkins> Just found out the <iframe src=foo.svg> sizes itself to the SVG's intrinsic dimensions, rather than 300x150 like the spec says.
  22. # [00:07] <TabAtkins> WTF explicitly changing sizing rules without telling the WG about it.
  23. # [00:07] <TabAtkins> Sorry, *in Safari*.
  24. # [00:07] <TabAtkins> dino: ^^^ ???
  25. # [00:07] <heycam> gregwhitworth: on windows, the very first test is similarly buggy in firefox/presto/IE
  26. # [00:08] <heycam> tantek: the concern is that we if we have bugwards compat on this purple case, that's worrisome, because we think Presto's behaviour is correct
  27. # [00:08] <fantasai> TabAtkins: Why do you think the spec says to make it 300x150?
  28. # [00:08] <heycam> ... presto is treating the intrinsic width all by itself, and because there's nothing in the dimensions that apply to the width computations at all, ...
  29. # [00:08] <heycam> Florian: there is no constraint on the width
  30. # [00:08] <cyril> email sent with updated svg tests (including a circle), please consider the second email (the first one had a wrong radius value)
  31. # [00:08] <heycam> ... in the height dimension it shrinks down to 70
  32. # [00:08] <heycam> tantek: there's no intrinsic ratio, so they're computed separately
  33. # [00:08] <TabAtkins> fantasai: Because the spec doesn't specify where to take dimensions from for <iframe>?
  34. # [00:08] <fantasai> It's a replaced element
  35. # [00:08] <cyril> https://lists.w3.org/Archives/Public/www-style/2015Feb/0247.html
  36. # [00:09] <fantasai> Just like an image
  37. # [00:09] <heycam> Florian: this purple subtest has no intrinsic ratio
  38. # [00:09] <heycam> ed: do you have enough to go on here?
  39. # [00:09] <fantasai> There is nothing in any spec that says <iframe> (as a tag) is style differently from <object> or <img>. No tag-specific behavior is specified anywhere.
  40. # [00:10] <hober> fantasai++
  41. # [00:10] <heycam> tantek: firefox sets the width to 47px, which is very odd
  42. # [00:10] * glazou starts wondering if this is the « best use of your ftf time »
  43. # [00:11] <heycam> gregwhitworth: since I don't know about SVG I'm completely ok with this
  44. # [00:11] <heycam> dbaron: the weird Firefox behaviour is not related to box-sizing
  45. # [00:11] <heycam> ... if I remove the box-sizing, remove the max-height, change the border, I get the same output
  46. # [00:11] <heycam> dbaron: this might be coming from default sizing not being 300x150, for SVG
  47. # [00:11] * ed thinks this topic should have been done 15mins ago...
  48. # [00:12] <heycam> dbaron: if you work through that long list of rules, the way max-height applies doesnt always preserve the intrinsic ratio
  49. # [00:12] <heycam> Florian: on the second one there's no intrinsic ratio
  50. # [00:12] <heycam> dbaron: or doesn't always preserve the things you want
  51. # [00:12] <heycam> ... if I change the max-height to height, you get the expected behaviour
  52. # [00:12] <heycam> ... I think therei s something in the spec rules that gives the 47px result
  53. # [00:13] <heycam> fantasai: I think the only weird cases are when you're balancing conflicting requirements
  54. # [00:13] <heycam> Florian: but in this case we're not over constrained
  55. # [00:13] * fantasai thinks tantek should definitely turn this into a CSS2.1 test
  56. # [00:14] * ed agrees
  57. # [00:14] <heycam> fantasai: let's resolve the behaviour on we want, not on "what Presto does"
  58. # [00:14] * ed bugs in presto? surely not ;)
  59. # [00:14] <heycam> SimonSapin: is this looking at CSS 2.1?
  60. # [00:14] <heycam> tantek: yes, plus box-sizing
  61. # [00:15] <SimonSapin> (as opposed to the CSS Images module)
  62. # [00:15] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  63. # [00:15] <heycam> RESOLUTION: We will patch the CSS 2.1 width computations to specify it uses content width, which is implied but not explicit (which we assume will get Presto's behaviour).
  64. # [00:16] <tantek> https://wiki.csswg.org/spec/css3-ui#issue-69
  65. # [00:16] <heycam> Topic: Interaction between overflow, positioning and filters
  66. # [00:16] <roc> http://fiddle.jshell.net/mkud1Lnm/1/
  67. # [00:17] <heycam> roc: this is basically a spec issue, as to what should be rendered
  68. # [00:17] <heycam> ... right now specs don't really say
  69. # [00:17] <heycam> ... and it's tricky to fix, there's no obvious way to fix it
  70. # [00:17] <fantasai> CSS2.1: “This property specifies the content width of boxes. ”
  71. # [00:17] <heycam> ... if you look at the fiddle, what we have is there's a div container with overflow hidden, but it could be any clipping
  72. # [00:17] <heycam> ... it has a filter on it, in this case a blur
  73. # [00:17] <fantasai> CSS2.1 is very clear that it's talking about content widths.
  74. # [00:17] <heycam> ... and a couple of elements inside
  75. # [00:17] <dbaron> FWIW, I can explain where the 47px comes from
  76. # [00:17] <heycam> ... one of the elements is position:fixed (but also happens with position:absolute)
  77. # [00:17] <heycam> ... the positioned div is not supposed to be clipped by the element that has overflow:hidden
  78. # [00:18] <heycam> ... but it's in a filter and some of the content of the filtered image should be clipped, while some shouldn't
  79. # [00:18] <heycam> ... it's really unclear how to render this example
  80. # [00:18] <smfr> to me this is a pretty fundamental failure to spec the interactions between the clipping tree (which follows containing blcok) and the z-order tree
  81. # [00:18] <fantasai> dbaron, go ahead, I'm very curious :)
  82. # [00:18] <heycam> ... if you bring it up in Chrome or Firefox, you get a rendering where both of the elments are clipped
  83. # [00:18] <heycam> ... in particular the yellow one is clipped to the overflow:hidden element, but technically it shouldn't be
  84. # [00:18] * Joins: cyril_ (~cyril@public.cloak)
  85. # [00:18] <heycam> ... you can't say it's not clipped, since with the blur, some pixels have contributions from both the blur and the yellow divs
  86. # [00:18] <heycam> ... it's unclear what the visual result should be
  87. # [00:19] <heycam> ... there's no way to preserve the behaviour that one of these elements is clipped, one is not, but they're filtered together
  88. # [00:19] <dbaron> Without the max-height, the SVG should be 100px wide and 150px tall, since the default size is 300px x 150px, and the SVG has a width=100 that overrides the 300. Then the max-height:150px with the box-sizing is equivalent to max-height: 70px... and when we apply the max-height, we scale the image down by its ratio, so the 150px -> 70px and 100px -> 47px (in the same ratio). So the bug is that we're incorrectly scaling down by ratio in that case, I believe.
  89. # [00:19] <heycam> ... the problem does not arise for opacity, that's because opacity commutes with clipping
  90. # [00:19] <heycam> ... if you clip then opacity, it's the same as opacity then clip
  91. # [00:19] <heycam> ... not true for general filters
  92. # [00:19] <heycam> ... because opacity commutes, you can push it down, and get the results you'd expect
  93. # [00:19] * Quits: cyril (~cyril@public.cloak) (Ping timeout: 180 seconds)
  94. # [00:19] <heycam> ... but with filters you can't
  95. # [00:20] <heycam> ... what gecko and chrome are doing is rendering the contents to a buffer, applying the filter, then because the filtered element is in overflow:hidden, we clip the filtered result
  96. # [00:20] <heycam> ... the question is what to spec
  97. # [00:20] <heycam> ... try to explain that behaviour, or we introduce some restrictions on the interactions between filters and overflow:hidden and positioning
  98. # [00:20] <heycam> ... so that it's well defined
  99. # [00:20] <heycam> ... is the problem clear?
  100. # [00:21] <heycam> ... we could directly specify what Chrome/Firefox are doing, and one way to do that would be to say that overflow clips --- right now overflow:hidden clips every descednatn for which it is a containing block
  101. # [00:22] * Joins: Florian (~Florian@public.cloak)
  102. # [00:22] <heycam> ... we could say it clips every descednatn for which it's a containing block plus it clips all descendants of elements that have a filter
  103. # [00:22] <heycam> ... that's option #0 (I didn't put that in my email)
  104. # [00:22] <heycam> ... option #1 from my email is that filter is like transform, becomes a containing block for positioned elements
  105. # [00:22] <heycam> ... so they can't escape from the filter
  106. # [00:22] <heycam> ... so the current definition of overflow:hidden would mean it applies to them
  107. # [00:23] <heycam> ... option #2 is you could say the filter doesn't affect the positioned descendant, it can escape the filter
  108. # [00:23] <heycam> ... so filters only apply to things for which the filtered element is the containing block
  109. # [00:23] <heycam> dino: so the yellow element would not be filtered
  110. # [00:23] <heycam> roc: yes
  111. # [00:24] <heycam> Tav: I'm a little confused. the way I think about it, if you take something that's being filtered -- if you have an image and you move/animate it, you don't want to see side effects
  112. # [00:25] <heycam> dino: simon prefers filtering winning over the overflow
  113. # [00:25] <heycam> ... so stacking context is more important overflow
  114. # [00:25] <heycam> ... so not the choice where yellow div is not filtered
  115. # [00:25] <heycam> roc: I'm for option #1
  116. # [00:25] <heycam> ... if we can make filters a container for positioned descendants
  117. # [00:25] <heycam> ... there's some web compat risk, not a whole lot
  118. # [00:26] <heycam> heycam: would you often want positioned things inside filtered elements? maybe not.
  119. # [00:26] <heycam> dino: simon says sucks opacity and filters are not treated the same
  120. # [00:26] <heycam> roc: it does kind of suck
  121. # [00:27] <heycam> ... I don't have any alternative to that
  122. # [00:27] <heycam> dino: with blending, we don't have the same issue?
  123. # [00:27] <heycam> roc: no, because blending commutes with clipping
  124. # [00:27] <heycam> ... if you have an opacity:0 pixel, blending can't turn that into something that is not opacity:0
  125. # [00:28] <heycam> krit: not yet
  126. # [00:28] <heycam> roc: if we add all the porter duff modes then it would be an issue
  127. # [00:28] <heycam> ... we could change blend modes now, to force the same behaviour
  128. # [00:28] <heycam> ... that would guard us in the future
  129. # [00:28] <heycam> Tav: option #1 makes sense to me
  130. # [00:28] <heycam> dino: I agree with making blending operate the same, and doing that now
  131. # [00:29] <heycam> roc: we've been talking about adding an escape hatch for transforms
  132. # [00:29] <heycam> ... so transforms are not a positioning container
  133. # [00:29] <heycam> ... if we do that we could have keyword on transforms
  134. # [00:29] <heycam> krit: all blend modes we implement use src-over compositing
  135. # [00:30] <heycam> krit: I don't think we want to combine blend modes with other compositing modes
  136. # [00:30] <heycam> roc: if we introduce other compositing modes, will it be in mix-blend-mode or a different property?
  137. # [00:30] <heycam> nikos: suggested to be in a separate property
  138. # [00:31] <heycam> roc: in that case we don't need to add restrictions for mix-blend-mode now
  139. # [00:31] <heycam> ... so that new property would need to create a container for positioned elements
  140. # [00:32] <heycam> ... so we won't change mix-blend-mode behaviour, but will do it for filters
  141. # [00:32] <heycam> heycam: you could restrict this filter behaviour for only some predefined filter keywords
  142. # [00:32] <heycam> roc: I don't feel like we want to do somethign taht complicated
  143. # [00:32] <smfr> heycam: ick, what if you animate between them?
  144. # [00:33] <heycam> smfr indeed, the position of elements could change when you change the filter behaviour
  145. # [00:33] <heycam> RESOLUTION: non-none values of filter induce a containing block for all positioned descendants
  146. # [00:34] <heycam> ACTION: Erik to make non-none values of filter induce a containing block for all positioned descendants
  147. # [00:34] * trackbot is creating a new ACTION.
  148. # [00:34] * RRSAgent records action 2
  149. # [00:34] <trackbot> Created ACTION-88 - Make non-none values of filter induce a containing block for all positioned descendants [on Erik Dahlström - due 2015-02-17].
  150. # [00:34] <heycam> -- 15 min break, back at 10:49 --
  151. # [00:36] * Quits: kwkbtr (~kwkbtr@public.cloak) (Client closed connection)
  152. # [00:37] * Joins: hyojin__ (~hyojin@public.cloak)
  153. # [00:49] * Joins: sgalineau (~sid26595@public.cloak)
  154. # [00:51] * Quits: stakagi (~stakagi@public.cloak) (Ping timeout: 180 seconds)
  155. # [00:55] * Quits: jun (~jun@public.cloak) (jun)
  156. # [00:58] <smfr> sgalineau: it’s break time
  157. # [00:58] <smfr> sgalineau: scones and cream
  158. # [00:58] <sgalineau> doh. carry on :)
  159. # [01:00] <sgalineau> smfr: scones are very important.
  160. # [01:00] <smfr> background: jam 100% 100%, cream 200% 200%;
  161. # [01:01] <shane> Anyone in Sydney: please RSVP for dinner tonight! I need numbers and menu preferences by 12. The venue is Redoak (redoak.com.au), at 7:00pm. Use this form: http://goo.gl/forms/KthFB4ip99
  162. # [01:02] <sgalineau> you had me at boutique beer
  163. # [01:03] <sgalineau> smfr: overflow: visible?
  164. # [01:03] <liam> sgalineau: overflow: burp
  165. # [01:03] <hober> fx
  166. # [01:04] <liam> wait, is that for scones or beer? :)
  167. # [01:04] * hober whoops, sorry
  168. # [01:06] * Quits: hyojin_ (~hyojin@public.cloak) (Ping timeout: 180 seconds)
  169. # [01:06] * Joins: stakagi (~stakagi@public.cloak)
  170. # [01:07] <shane> beer scone spiders - why not have both?
  171. # [01:07] <heycam> Topic: Canceling and interrupting transitions
  172. # [01:07] <heycam> https://lists.w3.org/Archives/Public/www-style/2014Dec/0150.html
  173. # [01:08] * Joins: kwkbtr (~kwkbtr@public.cloak)
  174. # [01:08] * Joins: jun (~jun@public.cloak)
  175. # [01:09] <heycam> dbaron: let's postpone until after lunch
  176. # [01:09] <heycam> Topic: Filter Effects CR
  177. # [01:10] * Joins: Rossen (~rossen@public.cloak)
  178. # [01:10] <krit> https://github.com/w3c/fxtf-drafts/blob/master/filters/issues-lc-2015.html
  179. # [01:10] <heycam> krit: this is the disposition of comments document
  180. # [01:11] <plinss> http://dev.w3.org/fxtf/filters/issues-lc-2015.html
  181. # [01:11] <heycam> krit: we have some open issues still in the spec
  182. # [01:12] <heycam> ... one of them is error handling in general with filter effects
  183. # [01:12] <krit> http://fiddle.jshell.net/ev10jtmp/3/
  184. # [01:12] <heycam> ... here's a test for error handling
  185. # [01:12] <heycam> ... the filter property can take a url, which references a <filter> element
  186. # [01:12] <heycam> ... what happens if the url is invalid
  187. # [01:13] <dbaron> or alternatively http://drafts.fxtf.org/filters/issues-lc-2015.html
  188. # [01:13] <heycam> ... if it's invalid then I think it's clear that we should ignore the setting of the filter property, and fall back to the default
  189. # [01:13] <heycam> ... that's standard CSS behaviour
  190. # [01:13] <heycam> ... what if it's valid syntax but does not reference a filter, or the ID doesn't exist
  191. # [01:13] <heycam> ... behaviour is different between browsers
  192. # [01:13] <heycam> ... SVG 1.1 said that the filtered element disappears
  193. # [01:13] <heycam> ... there were objections that this might not be the preferred behaviour
  194. # [01:14] <heycam> ... firefox does what SVG 1.1 says, so if you apply filter:url(#badID) then it makes the object disappear
  195. # [01:14] <heycam> ... other browsers ignore the filter
  196. # [01:14] <heycam> heycam: I think Firefox should display the element normally, i.e. ignore the filter
  197. # [01:15] <heycam> RESOLUTION: If a filter references a missing ID or an element that is not a <filter>, the element is rendered normally as if filter:none
  198. # [01:15] <heycam> krit: the next problem is, what happens if the URL is valid, you reference an element, it exists, but now you have certain filter effects in it and they take an input that doesn't exist
  199. # [01:15] <heycam> ... e.g. <feGaussianBlur in="invalid">
  200. # [01:16] <heycam> ... SVG 1.1 makes the whole filtered element disappear
  201. # [01:16] <heycam> ... WebKit does that, as Firefox does
  202. # [01:16] <heycam> ... Blink does something different
  203. # [01:16] * liam in fact encountered that earlier today with a typo in an id.. and wished firefox had said soemthing on the console
  204. # [01:17] <heycam> krit: or you could reference the previous filter effect (i.e. default in="" value) or default SourceGraphic
  205. # [01:17] <heycam> dino: or make the primitive use transparent black as input
  206. # [01:17] <heycam> roc: yes
  207. # [01:17] <heycam> krit: if you make a mistake in the filter chain, it's not going to give you a result you want
  208. # [01:18] <heycam> krit: if you reference a filter input that doesn't exist, that could kill the whole processing of the filter
  209. # [01:18] <liam> [having the element not rendered means you can't easily right-click on it and "inspect" to debug the problem]
  210. # [01:19] <heycam> krit: I don't think we should just make transparent black for that primitive's input
  211. # [01:19] <heycam> Tav: I agree with that
  212. # [01:19] <heycam> nikos: making just one primitive's input transparent black can help you understand where the error is
  213. # [01:19] <heycam> ed: I think what Presto is doing is following the 1.2T model, which says to take the default value if you have an error in an attribute
  214. # [01:19] <heycam> krit: which would be the previous filter effect
  215. # [01:20] <heycam> heycam: I'm fine with disabling the filter
  216. # [01:20] <heycam> RESOLUTION: If a filter primitive references an invalid input, then the whole filter is disabled and the element is rendered normally.
  217. # [01:20] <krit> http://dev.w3.org/fxtf/filters/issues-lc-2015.html#issue-6
  218. # [01:20] <heycam> krit: next, issue #6
  219. # [01:21] <heycam> ... if someone uses currentColor in feColorMatrix, what is it?
  220. # [01:23] <heycam> ... the proposal is to have currentColor resolve against the element that is being filtered, not with the value of color on the actual primitive element
  221. # [01:23] <heycam> Tav: we have context-fill
  222. # [01:23] <heycam> ... we decided to make that work in all referencing elements, like filter, pattern, etc.
  223. # [01:24] <heycam> krit: I'd like to delay putting anything in the filters spec for this
  224. # [01:24] <heycam> ed: I think that's fine with me
  225. # [01:24] <heycam> heycam: happy to do that later
  226. # [01:25] <heycam> RESOLUTION: Defer context-fill usage in Filter-specific properties until level 2 of Filters.
  227. # [01:25] <krit> file:///Users/dschulze/Documents/fxtf-drafts/filters/issues-lc-2015.html#issue-8
  228. # [01:25] * Quits: glazou (~glazou@public.cloak) (glazou)
  229. # [01:25] <heycam> ... next is issue #8
  230. # [01:25] <heycam> ... luminance has fixed colour matrix values. in most places they have 3 digits after the dot, in some places they have 4
  231. # [01:25] <heycam> ... the request was to have 4 digits everywhere, instead of just 3
  232. # [01:26] <krit> http://dev.w3.org/fxtf/filters/#element-attrdef-values
  233. # [01:27] <heycam> heycam: so it's using 4 digits in the luminance matrix, but 3 in the other types
  234. # [01:27] <heycam> krit: any objection to using 4 digits everywhere?
  235. # [01:27] <heycam> (none heard)
  236. # [01:27] <heycam> RESOLUTION: The feColorMatrix pre-defined matrices should all use 4 digits after the decimal point.
  237. # [01:28] <heycam> krit: next, issue #11
  238. # [01:28] <krit> file:///Users/dschulze/Documents/fxtf-drafts/filters/issues-lc-2015.html#issue-11
  239. # [01:28] <astearns> https://www.w3.org/Bugs/Public/show_bug.cgi?id=27464
  240. # [01:28] <heycam> ... if you have objectBoundingBox units, and you try to use say 47em, what does that mean?
  241. # [01:29] <heycam> ... not clear what element the ems are resolved to px
  242. # [01:30] <heycam> heycam: I guess they should be resolved against the font-size of the element they're on
  243. # [01:30] <heycam> ed: not sure if this needs to be mentioned in the spec
  244. # [01:30] <heycam> ... could put a note that these values will give useless results [as they're much > 1]
  245. # [01:31] <heycam> RESOLUTION: Make it clear that em units on filterUnits-affecting attributes are resolved against font-size on the same element; and we'll add a note mentioning that it won't do anything useful for you.
  246. # [01:32] <heycam> (unless you use very small em values of course)
  247. # [01:32] * krit fantasai could you fix the links when you edit the minuted please? :P
  248. # [01:32] <liam> [the note should explain why, as there are cases where it works]
  249. # [01:32] * heycam (*editing* minutes?)
  250. # [01:32] <krit> http://dev.w3.org/fxtf/filters/issues-lc-2015.html#issue-12
  251. # [01:32] <liam> (yes - I think that's not uncommon)
  252. # [01:32] <heycam> krit: finally, issue #12
  253. # [01:32] <heycam> ... I thought we already discussed this and decided
  254. # [01:32] <heycam> Tav: specularExponent is used in two different places
  255. # [01:33] <heycam> ... just adding a note to say that two uses of this are different
  256. # [01:33] <heycam> krit: I think I made that change already
  257. # [01:33] <heycam> krit: now, how do we want to proceed with the spec. should we continue with a WD or should we publish a CR of it?
  258. # [01:35] <heycam> ed: any objections to publishing as CR after the edits are done?
  259. # [01:35] <heycam> (none heard)
  260. # [01:35] <heycam> RESOLUTION: Publish a CR of Filters spec (under the new process).
  261. # [01:35] <heycam> Topic: CSS Blending PR
  262. # [01:35] <heycam> krit: I'm speaking for Rik who can't be here
  263. # [01:35] <heycam> ... we already had a resolution to PR at TPAC, but there was one issue that forced us to have another CR
  264. # [01:36] <heycam> ... there haven't been any complaints since then
  265. # [01:36] <heycam> ... Rik is working on the necessary documents to get to PR, and I'd like to have the resolution from the WG to go to PR
  266. # [01:36] <heycam> ChrisL: implementation report with two passes for everything?
  267. # [01:36] <heycam> krit: we do have 2 implementaitons for each feature and Rik is preparing that implementation report
  268. # [01:37] <heycam> ChrisL: shouldn't need a resolution of the WG
  269. # [01:37] <heycam> Florian: we could resolve that we think the test suite is sufficiently extensive
  270. # [01:38] <heycam> ... that passing it is meaningful
  271. # [01:38] <heycam> ... and then we you pass it everything is fine
  272. # [01:38] <heycam> ChrisL: what's the test coverage like?
  273. # [01:38] <heycam> Tav: including SVG?
  274. # [01:38] <heycam> krit: yes we have tests covering each section
  275. # [01:39] <krit> http://test.csswg.org/suites/compositing-1_dev/nightly-unstable/report/
  276. # [01:39] <heycam> krit: the other part of the test suite are the canvas tests that were published with philip's test suite
  277. # [01:40] <heycam> krit: what do the CR exit criteria say?
  278. # [01:40] <heycam> s/krit/ChrisL/
  279. # [01:41] <plinss> http://www.w3.org/TR/compositing-1/#cr-exit-criteria
  280. # [01:42] <heycam> ChrisL: the SotD section says that CR must last until at least March 17
  281. # [01:43] * Joins: ChrisL (clilley@public.cloak)
  282. # [01:44] <heycam> Tav: you have some SVG specific tests, but you don't test each of these things in both HTML and SVG?
  283. # [01:45] * Zakim excuses himself; his presence no longer seems to be needed
  284. # [01:45] * Parts: Zakim (zakim@public.cloak) (Zakim)
  285. # [01:45] <heycam> Tav: it'd be nice if each of these actually linked to the tests
  286. # [01:45] <plinss> http://test.csswg.org/harness/results/compositing-1_dev/grouped/
  287. # [01:46] <heycam> krit: I will ask Rik to provide the necessary documents
  288. # [01:46] <heycam> ChrisL: it looks like they're all HTML tests?
  289. # [01:47] <heycam> Tav: I am concerned we're not testing enough applying to SVG elements
  290. # [01:47] <heycam> ChrisL: there are some broken links too
  291. # [01:49] <ChrisL> links like ../support/* should be support/*
  292. # [01:49] <heycam> Tav: would be good for pure SVG documents so I can provide results for Inkscape
  293. # [01:50] <heycam> ACTION: Dirk to ask Rik to produce SVG versions of the blending tests.
  294. # [01:50] * trackbot is creating a new ACTION.
  295. # [01:50] * RRSAgent records action 3
  296. # [01:50] <trackbot> Created ACTION-89 - Ask rik to produce svg versions of the blending tests. [on Dirk Schulze - due 2015-02-18].
  297. # [01:51] <cyril_> scribe: Cyril
  298. # [01:51] <cyril_> scribeNick: cyril
  299. # [01:51] * Quits: tantek (~tantek@public.cloak) (Ping timeout: 180 seconds)
  300. # [01:51] <cyril_> Topic: Colored font palette control
  301. # [01:51] <cyril_> heycam: I sent an email to www-style about this
  302. # [01:51] <heycam> https://lists.w3.org/Archives/Public/www-style/2015Feb/0211.html
  303. # [01:51] <cyril_> heycam: in the latest version of hte OpenType spec
  304. # [01:52] <cyril_> ... which reached a stage where only editorial changes can be made
  305. # [01:52] <cyril_> ... there is 3 types of colourful glyphs:
  306. # [01:52] <cyril_> ... bitmap format like PNG
  307. # [01:52] <cyril_> ... vector format reusing existing glyf and cff table glyphs
  308. # [01:52] <cyril_> ChrisL: was it extended to CFF ?
  309. # [01:52] <cyril_> heycam: it was an assumption
  310. # [01:53] <cyril_> ... might not be
  311. # [01:53] <cyril_> ... and the 3rd option is embedded SVG document
  312. # [01:53] <cyril_> ... in the last 2 options they have the option of using a palette
  313. # [01:53] <cyril_> ... in fact for option 2 it is mandatory
  314. # [01:53] <cyril_> ... for SVG glyphs it is an option by using CSS variables
  315. # [01:54] <cyril_> ... some CSS variiables are defined automatically
  316. # [01:54] <cyril_> ... in the font you can define a number of palettes
  317. # [01:54] <cyril_> ... but there is no way to select the palette you want
  318. # [01:54] <cyril_> ... or provide your own custom palette
  319. # [01:54] <cyril_> ... I thought it moght be a good thing to allow
  320. # [01:55] <cyril_> ... my email has an actual proposal
  321. # [01:55] <cyril_> ... for selecting which palette, there would be a new property font-palette referencing the palette by a name
  322. # [01:55] <cyril_> ... there is no name in the font
  323. # [01:55] * liam thought it was a good proposal
  324. # [01:55] <cyril_> ... the idea would be to map indices to names for a particular font
  325. # [01:55] * TabAtkins liam, agreed.
  326. # [01:55] <cyril_> ... you don't want to set ffont-palette: 3 and then depend on the font
  327. # [01:56] <cyril_> dino: I think for these fonts, you know what you're doing
  328. # [01:56] <cyril_> ChrisL: we don't know what fonts you have on the machine or what fonts are downloaded
  329. # [01:57] * liam expecting to see www.download10000crappycolorfonts.com any time soon
  330. # [01:57] <cyril_> roc: there is an issue with editable content, it is easy for users to add characters that are not in the font
  331. # [01:58] <cyril_> ... and you can have fallback to system fonts and that might not be what you want
  332. # [01:58] <liam> [that's true for any font, including woff]
  333. # [01:58] <ChrisL> we already have that issue with font feature selection, where feature numbers are not portable across different fonts
  334. # [01:58] <cyril_> dino: the theory is that if you specify the palette you end up with a font that has the right palette ?
  335. # [01:59] * liam zakim, who is on the phone?
  336. # [01:59] * liam ah, no-one
  337. # [01:59] <cyril_> heycam: jdaggett was of the opinion that it should go in font feature values
  338. # [01:59] <cyril_> dino: it's not a big deal but it might be longer to specify
  339. # [02:00] <cyril_> ... people might end up with names 'one', 'two' ... for the palettes
  340. # [02:01] <liam> [could some suggested names be proposed for palette entries? e.g. highlight, shadow, front, layer1, layer2 ? We don't have CSS rules that are conditionally applied dependingon which font is in use]
  341. # [02:01] <cyril_> heycam: if people were happy with disabling palette selection if you use a fallback selection, I'll be happy
  342. # [02:01] <cyril_> dino: tab's suggestion is good too
  343. # [02:01] <cyril_> ... you can use palette name but if the name is a number that's the index then
  344. # [02:02] <cyril_> roc: we could disable fallback for now and add it later
  345. # [02:02] <cyril_> TabAtkins: reasonnable
  346. # [02:03] <cyril_> heycam: do people think this should be in the next level of the font spec ?
  347. # [02:03] <cyril_> ChrisL: it doesn't make sense to put in the current level because it's stable
  348. # [02:03] <cyril_> heycam: what about adding font palette selection to level 4
  349. # [02:04] <cyril_> ... and it uses an index to begin with and font fallback disables selection
  350. # [02:04] * Joins: tantek (~tantek@public.cloak)
  351. # [02:04] <cyril_> ... and later we can add a more detailed feature
  352. # [02:04] <cyril_> TabAtkins: yes
  353. # [02:04] <cyril_> resolution: add font palette selection to CSS Fonts level 4
  354. # [02:05] <cyril_> action: jdaggett to add font palette selection to CSS Fonts level 4
  355. # [02:05] * trackbot is creating a new ACTION.
  356. # [02:05] * RRSAgent records action 4
  357. # [02:05] <trackbot> Error finding 'jdaggett'. You can review and register nicknames at <http://www.w3.org/Graphics/fx/track/users>.
  358. # [02:05] <cyril_> heycam: the next step, if we want to, is to specify custom palette values
  359. # [02:06] <cyril_> ... for my example (in the email), the font creator would provide different fonts
  360. # [02:06] <cyril_> ... it's normal to have a choice to select the palette
  361. # [02:06] <cyril_> ... in my optional proposal #2, I added something similar
  362. # [02:07] <cyril_> ... adds a @font-palette
  363. # [02:07] <cyril_> TabAtkins: I don't think we need the indirection of the @font-palette
  364. # [02:07] <cyril_> ... we can use directly the font property to specify the color palette
  365. # [02:08] <cyril_> ... for colors, giving a name is useful
  366. # [02:08] <cyril_> ChrisL: people asked a long time ago to be able to name colors
  367. # [02:10] * liam thinks "Amanda" would be a good name for a colour.
  368. # [02:10] <cyril_> heycam: I'm happy with not having the named palettes and not having the @font-palette rule
  369. # [02:11] <cyril_> ... does the order of the names and colors in the font-palette property have to match the indices ?
  370. # [02:11] <cyril_> TabAtkins: no
  371. # [02:11] <cyril_> heycam: what happens if you miss out one of the palette entries ?
  372. # [02:11] <cyril_> ChrisL: you default to transparent black ?
  373. # [02:11] <cyril_> TabAtkins: no simply black
  374. # [02:12] * liam hopes the font can provide a default
  375. # [02:12] <cyril_> ChrisL: I agree I made a big mistake here
  376. # [02:12] <cyril_> heycam: do we agree we want the feature ?
  377. # [02:12] <cyril_> Tav: yes
  378. # [02:12] <cyril_> TabAtkins: why don't overload the color property ?
  379. # [02:13] <cyril_> ... you might to use a palette function
  380. # [02:13] <cyril_> heycam: what does fill=currentColor on a shape if you have that ?
  381. # [02:14] <cyril_> ChrisL: color can be used for other usages: stroke, fill, ...
  382. # [02:14] <cyril_> TabAtkins: yes
  383. # [02:14] <cyril_> ChrisL: not objecting but concerned about how it would evolve
  384. # [02:14] <cyril_> TabAtkins: so if palette is not used, we could default to using the color value
  385. # [02:15] <cyril_> ed: is it possible to use a palette and override some colors ?
  386. # [02:15] <cyril_> ChrisL: palette is a preset, you can override it all
  387. # [02:16] <cyril_> ... we've had that discussion on gradients, overriding some stops, but it's not used
  388. # [02:17] <cyril_> (chris digresses on Web audio)
  389. # [02:17] * Joins: glazou (~glazou@public.cloak)
  390. # [02:17] <cyril_> resolution: we add custom palette support without the @font-palette rule
  391. # [02:17] <TabAtkins> Assuming that duplicated palette index names take the last one, you can always store a palette in a custom property, and override individual bits by putting them at the end, like "font-palette: var(--my-palette), highlight white;"
  392. # [02:18] <cyril_> heycam: we'll still name the individual palette entries inside font-feature values
  393. # [02:18] <cyril_> heycam: the final part in my email, proposal 3
  394. # [02:18] <cyril_> ... you can specify if one of the predefined palette is appropriate for dark, light, both or neither background
  395. # [02:18] <cyril_> ... emoji fonts have dark versions and light version
  396. # [02:19] <cyril_> ... i'm suggesting adding keywords to select the version
  397. # [02:19] <cyril_> TabAtkins: +1
  398. # [02:20] <cyril_> ... I'm suggesting to name it according to the system it is supposed to be used: lightSomething, darkSomehting
  399. # [02:20] <cyril_> heycam: you probably always want to use the highcontrast one without analysing the background color
  400. # [02:20] <cyril_> ... I'm ok with starting with just light and dark
  401. # [02:20] * Quits: glazou (~glazou@public.cloak) (glazou)
  402. # [02:20] <cyril_> .. do people agree ?
  403. # [02:20] <cyril_> ChrisL: yes
  404. # [02:21] <cyril_> resolution: font-palette property will have light and dark keywords to select the first light or dark annotated palette in the font
  405. # [02:21] <TabAtkins> s/so if palette is not used/so if you omit some palette index names/
  406. # [02:21] <cyril_> heycam: I'd like to bring a little issue regarding css variables
  407. # [02:22] <cyril_> ... I tried to implement css variables and palettes
  408. # [02:23] <cyril_> ... (explaining something about caching)
  409. # [02:23] <cyril_> ... we could need a non-variable way to indicate palette
  410. # [02:23] <cyril_> ... I don't know if we can do that
  411. # [02:24] <cyril_> ... It's a bit late in the open type process
  412. # [02:24] <cyril_> ... but we might have this problem in other contexts
  413. # [02:25] <cyril_> TabAtkins: for svg fonts, I see the problem
  414. # [02:25] <cyril_> ... but using variables in UA specific way is a viloation of the spec anyway
  415. # [02:25] <cyril_> heycam: it's probably possible to detect that the palette variables are used in a sensible way
  416. # [02:26] <cyril_> ... but I'm concerned more about the general pattern
  417. # [02:26] <cyril_> ... like a stroke-width controllable by variables
  418. # [02:27] <heycam> Scribe: Cameron
  419. # [02:27] <heycam> ScribeNick: heycam
  420. # [02:27] <heycam> Topic: text-rendering
  421. # [02:27] <heycam> roc: this is a google request
  422. # [02:27] <heycam> ... we got an email from docs people complaining that in Firefox when you zoom the page in google docs, the layout of the text changes
  423. # [02:28] <heycam> ... the width of the string in css px changes when you zoom in/out of the page
  424. # [02:28] <heycam> ... turns out this is true in all pages, including chrome in some situations
  425. # [02:28] <heycam> ... the reason is because of font hinting, in this case
  426. # [02:28] <heycam> ... there are some other issues
  427. # [02:28] <heycam> ... with vertical metrics it can also occur if you round line height to pixels
  428. # [02:28] <heycam> ... they saw this as a bug, though I don't think it is a bug
  429. # [02:28] <heycam> ... generally you do want to hint on windows, as you want to match OS text rasterisation
  430. # [02:29] <heycam> ... basically after a short discussion, we determined that the right thing to do would be to make text-rendering:geometricPrecision disable hinting and try to make sure we just use the metrics in the font
  431. # [02:29] <heycam> ... and render that font with no regard to what the device resolution is
  432. # [02:29] <heycam> ... then if we do that consistently we can make text rendering device resolution independent
  433. # [02:29] <heycam> ... as you zoom in/out you'd get the same metrics
  434. # [02:29] <heycam> ... apparently chrome has or will do this
  435. # [02:30] <heycam> ChrisL: that seems consistent with what geometricPrecision was designed for
  436. # [02:30] <heycam> roc: if we do this, then the spec should make this a requirement
  437. # [02:30] <heycam> roc: this would apply to HTML and SVG
  438. # [02:30] <heycam> Rossen: when you zoom, what do you mean?
  439. # [02:30] <heycam> ... user zoom in firefox?
  440. # [02:30] <heycam> roc: a full page zoom that causes a layout
  441. # [02:31] <heycam> ... so for any layout-changing zoom
  442. # [02:31] <heycam> ... (non-layout-changing zoom already doesn't affect text metrics)
  443. # [02:31] <heycam> Rossen: so this would affect high dpi devices, you're opting in to some level of zoom?
  444. # [02:31] <heycam> roc: right now you can get different layout on high/lo dpi
  445. # [02:31] <heycam> ... this would make those layouts consistent with each other
  446. # [02:31] <heycam> ... and across the web
  447. # [02:31] <heycam> ... we could make layouts fully consistent across browsers, at least text width
  448. # [02:32] <heycam> Rossen: I think Ted and Matt Rakow want to make that happen
  449. # [02:32] <heycam> roc: in Firefox I would make text metrics incl advance widths depend only on the content of the OpenType font
  450. # [02:32] <heycam> ... the problem is platform APIs apply rounding in different situations
  451. # [02:32] <heycam> ... I'd like to bypass that and just get data from the font
  452. # [02:32] <heycam> Rossen: do you have any test cases we could look at?
  453. # [02:32] <heycam> roc: I'll send you one
  454. # [02:33] <heycam> ... I should mention that our plan is to continue to render glyphs with subpixel AA where possible
  455. # [02:33] <heycam> ... eventhough we're not doing any hinting
  456. # [02:33] <heycam> ... this doesn't mean we need to turn off subpixel AA
  457. # [02:33] <heycam> ... it's a layout issue, not glyph rendering issue
  458. # [02:33] <heycam> ... sounds OK?
  459. # [02:33] <heycam> ChrisL: yes
  460. # [02:33] <heycam> dino: yes
  461. # [02:33] * TabAtkins we lunching soon?
  462. # [02:34] * ed yes, this was the last topic in the AM slot (since we skipped the transitions ones)
  463. # [02:34] <heycam> RESOLUTION: text-rendering:geometricPrecision will require that font metrics and text measurement will be independent of the device resolution
  464. # [02:34] <heycam> ... and zoom level
  465. # [02:35] <heycam> ACTION: Cameron to make text-rendering:geometricPrecision change
  466. # [02:35] * trackbot is creating a new ACTION.
  467. # [02:35] * RRSAgent records action 5
  468. # [02:35] <trackbot> Created ACTION-90 - Make text-rendering:geometricprecision change [on Cameron McCormack - due 2015-02-18].
  469. # [02:35] <heycam> -- lunch break, 90 mins --
  470. # [02:35] * Quits: kwkbtr (~kwkbtr@public.cloak) (Client closed connection)
  471. # [02:36] * Quits: jun (~jun@public.cloak) (jun)
  472. # [02:36] * Joins: jun (~jun@public.cloak)
  473. # [02:37] * Quits: jun (~jun@public.cloak) (jun)
  474. # [02:38] * heycam is now known as heycam|away
  475. # [02:40] * Joins: shepazu_ (schepers@public.cloak)
  476. # [02:41] * Quits: ChrisL (clilley@public.cloak) (Ping timeout: 180 seconds)
  477. # [02:42] * Quits: shepazu (schepers@public.cloak) (Ping timeout: 180 seconds)
  478. # [02:43] * Quits: stakagi (~stakagi@public.cloak) (Ping timeout: 180 seconds)
  479. # [02:43] * Rossen is now known as Rossen_away
  480. # [02:43] * Quits: AndreyR_ (~AndreyR@public.cloak) (Ping timeout: 180 seconds)
  481. # [02:45] * Quits: hyojin__ (~hyojin@public.cloak) (Ping timeout: 180 seconds)
  482. # [02:48] * shepazu_ is now known as shepazu
  483. # [02:56] * Quits: murakami_ (~murakami@public.cloak) (Ping timeout: 180 seconds)
  484. # [03:00] * Joins: ChrisL (clilley@public.cloak)
  485. # [03:00] * Joins: ChrisLilley (clilley@public.cloak)
  486. # [03:07] * Quits: ChrisL (clilley@public.cloak) (Ping timeout: 180 seconds)
  487. # [03:09] * Quits: ChrisLilley (clilley@public.cloak) (Ping timeout: 180 seconds)
  488. # [03:15] * Joins: koji (~sid53200@public.cloak)
  489. # [03:31] * Quits: tantek (~tantek@public.cloak) (tantek)
  490. # [03:38] * Joins: hyojin (~hyojin@public.cloak)
  491. # [03:42] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  492. # [03:45] * heycam|away is now known as heycam
  493. # [03:50] * Joins: stakagi (~stakagi@public.cloak)
  494. # [03:53] * Joins: jun (~jun@public.cloak)
  495. # [04:02] * Joins: kwkbtr (~kwkbtr@public.cloak)
  496. # [04:02] * Quits: hyojin (~hyojin@public.cloak) (Ping timeout: 180 seconds)
  497. # [04:02] * Joins: Florian (~Florian@public.cloak)
  498. # [04:02] * Joins: AndreyR (~AndreyR@public.cloak)
  499. # [04:03] * Joins: murakami (~murakami@public.cloak)
  500. # [04:04] * Joins: tantek (~tantek@public.cloak)
  501. # [04:04] <nikos> scribenick: nikos
  502. # [04:04] <nikos> scribe: Nikos
  503. # [04:04] <nikos> Topic: Canceling and interrupting transitions
  504. # [04:04] <nikos> dbaron: There have been some relatively large edits since the WD - but only stuff that implementors would care about
  505. # [04:04] <nikos> ... such as cancelling and interrupting transitions
  506. # [04:05] <nikos> ... I think I'm ready to take the spec to new new process CR
  507. # [04:05] <nikos> ... there's a bunch of issues in bugzilla
  508. # [04:05] <nikos> ... I made some minor edits and there's a few we should talk about
  509. # [04:05] <nikos> ... anything that's a new feature is marked to defer to level 2
  510. # [04:05] <nikos> ... there are a few that are about animating specific value types
  511. # [04:05] <nikos> ... like images and gradientss
  512. # [04:05] <nikos> ... those should be deferred to css images
  513. # [04:06] <nikos> s/gradientss/gradients
  514. # [04:06] <nikos> dbaron: one question is whether there should be transition rules defined for z-index:auto
  515. # [04:06] <dbaron> https://www.w3.org/Bugs/Public/show_bug.cgi?id=16265
  516. # [04:06] <nikos> ... apparently testing showed that a bunch of engines do transitions between z-index:auto and numbers
  517. # [04:06] <nikos> ... this may or may not just be a bug related to treating the value as zero
  518. # [04:07] <nikos> ... the behaviour that was observed was that if tehre was a transition between auto and number there was interpolation as if it were between zero and a number
  519. # [04:07] <nikos> ... and a jump at the end
  520. # [04:08] <nikos> ... apparently zero to auto jumps were at both ends
  521. # [04:08] <nikos> ... do people thing we should have special transition rules for z-index:auto
  522. # [04:08] <nikos> ... ?
  523. # [04:08] <nikos> TabAtkins: I'd prefer not, I don't see how to do it properly
  524. # [04:08] <nikos> dbaron: a special rule would mean that any intermediate interpolation that was not 100% value or the other would treat auto as zero
  525. # [04:09] <nikos> dino: it looks to me like it's a bug
  526. # [04:09] <nikos> ... what would you do otherwise?
  527. # [04:09] <nikos> dbaron: current behaviour says if one value is auto you can't interpolate
  528. # [04:09] <nikos> dino: think it's just a bug that webkit should fix
  529. # [04:09] * Joins: ChrisLilley (clilley@public.cloak)
  530. # [04:09] <nikos> ... we don't check that it's auto
  531. # [04:10] <smfr> that might have compat risk for webkit but we should fix it (maybe with the non-prefixed transition, dino)
  532. # [04:10] <nikos> dbaron: a few of the issues are a mix of feature requests for new things or things we've fixed
  533. # [04:10] <nikos> ... so I'm inclined not to look at them
  534. # [04:11] <nikos> ... if someone wants to help?
  535. # [04:11] <nikos> RESOLUTION: Leave z-index as is
  536. # [04:11] * heycam is now known as heycam|away
  537. # [04:11] <nikos> dbaron: the one other issue filed is for more constraints specifying when computed values change
  538. # [04:11] <nikos> ... e.g. when transitions start
  539. # [04:11] <nikos> ... i've avoided specifying too much there
  540. # [04:12] <nikos> ... don't want to make this a spec for the browser refresh cycle
  541. # [04:12] <nikos> ... and would like to leave room for optimisation
  542. # [04:12] * Joins: hyojin (~hyojin@public.cloak)
  543. # [04:12] <nikos> ... there was a statement that it was specifically not specified
  544. # [04:12] * heycam|away is now known as heycam
  545. # [04:12] <nikos> ... I realised I could specify it in a more useful way by saying the spec does not define when computed values change but if you do something with the computed value then the computed value has to have changed
  546. # [04:12] <nikos> ... I wrote prose this morning
  547. # [04:12] <nikos> ... so there is a definition that leads to useful results
  548. # [04:13] <nikos> ... and doesn't allow implementation to be conformant without doing anyhting
  549. # [04:13] <nikos> s/anyhting/anything
  550. # [04:13] <nikos> Florian: intent sounds useful
  551. # [04:13] <nikos> dbaron: the big changes in this draft are mostly stuff we've discussed before
  552. # [04:13] <nikos> ... more precise definition of cancelling and interrupting running transitions
  553. # [04:14] <nikos> ... and the things we discussed in Paris about the details of interactions
  554. # [04:14] <nikos> ... I haven't gotten a huge amount of feedback
  555. # [04:14] <nikos> ... given the number of implementations I think we should go to CR
  556. # [04:14] <nikos> ... and we'll get feedback from implementors
  557. # [04:15] <nikos> RESOLUTION: CSS transitions can go to CR
  558. # [04:15] <nikos> Florian: you're not currently in LC?
  559. # [04:15] <nikos> dbaron: this is the new process
  560. # [04:15] <nikos> ... so we can go straight to CR
  561. # [04:16] <nikos> Topic: css-transforms: Specifying decomposition of scale
  562. # [04:16] <stakagi> https://www.w3.org/Graphics/SVG/WG/wiki/Proposals/Specifying_decomposition_of_scale
  563. # [04:16] <nikos> stakagi: I've prepared a wiki page
  564. # [04:16] <nikos> stakagi: I'd like to specify decomposition of scale
  565. # [04:16] <nikos> ... the use case of scale are non scaling objects, and level of detail
  566. # [04:16] <nikos> ... this scale is not scaleX or scaleY
  567. # [04:17] <nikos> ... non scaling objects are a part of vector graphics
  568. # [04:17] <nikos> ... of svg 2
  569. # [04:17] <nikos> ... the svg working group decided to put non scaling object functionality in svg 2
  570. # [04:17] <nikos> ... you can see a polyfill in the link on the wiki page
  571. # [04:18] <nikos> ... and level of detail also determines standardisation of functionality
  572. # [04:18] <nikos> ... there is a video to demonstrate this
  573. # [04:18] <nikos> ... the scale value decomposed from the transform matrix is required for each function
  574. # [04:18] <nikos> ... and such a scale value should be one scalar value
  575. # [04:19] <nikos> ... which is always meaningful on all the affine transformation involving skew
  576. # [04:19] <nikos> ... the chapters on decomposing 2d and 3d matrices for scaling are dependent on specific axis
  577. # [04:19] <nikos> ... I'd like to specify a method that does not depend on a specific axis
  578. # [04:20] <nikos> ... I would like to introduce this into that chapter
  579. # [04:20] <nikos> ... each scale is based on the determinant of the matrix
  580. # [04:20] <nikos> ... 2d decomposition is sqrt of determinant
  581. # [04:20] <nikos> ... 3d is cube root
  582. # [04:20] <nikos> ... decomposition of scale can be calculated based on these scales
  583. # [04:21] <nikos> birtles: the specific proposal is to add an extra definition to css transforms
  584. # [04:21] <nikos> ... of a scalar value for scale
  585. # [04:21] <nikos> ... takagi-san has prepared a polyfill. In this he compares the definitions that are axis dependent with this version
  586. # [04:22] <nikos> ... if you skew the shape you can see that the area of the shape changes dramatically
  587. # [04:22] <nikos> ... if you use the scalar value you can avoid this
  588. # [04:22] <nikos> heycam: we already have transform ref in the svg spec
  589. # [04:22] <nikos> ... which undoes all transforms from one space to another
  590. # [04:22] <nikos> ... never mind
  591. # [04:23] <nikos> ChrisLilley: this is obviously correct - this is something we've needed
  592. # [04:23] <ChrisLilley> http://www.w3.org/Graphics/ScalableReq
  593. # [04:23] <nikos> ... we've achieved all requirements except level of detail
  594. # [04:23] <nikos> ... we're talking about extreme zoom
  595. # [04:23] <nikos> .... we need level of detail and it needs to work regardless of transformations
  596. # [04:24] * Joins: tantek_ (~tantek@public.cloak)
  597. # [04:24] <nikos> ... I support this
  598. # [04:24] <nikos> birtles: the proposal is to add this definition of scale to the part of css transforms that defines decomposition of matrices
  599. # [04:24] <nikos> ... not necessarily to use in css transforms, but able to be referenced
  600. # [04:25] <nikos> ... don't think it requires behaviour of spec to change
  601. # [04:25] <nikos> ... this seemed like the most appropriate place to define it
  602. # [04:25] <nikos> krit: decomposition has multiple steps
  603. # [04:25] * Quits: tantek (~tantek@public.cloak) (Ping timeout: 180 seconds)
  604. # [04:25] * tantek_ is now known as tantek
  605. # [04:25] * Rossen_away is now known as Rossen
  606. # [04:25] <nikos> birtles: this would be another definition alongside the method that obtains a vector, that returns a scalr
  607. # [04:26] <nikos> ... it doesn't replace the current definition
  608. # [04:26] <nikos> birtles: we could possibly also add to the interpolation section. And in recomposition we can say multiply by these values
  609. # [04:27] <nikos> dino: you'd never be able to interpolate between the two values
  610. # [04:27] <nikos> heycam: are you saying existing definitions could be simplified by referencing this new definition?
  611. # [04:27] <nikos> birtles: I don't think that's the suggestion
  612. # [04:27] <nikos> dino: so in non scaling stroke part of svg we can say that when you change zoom levels you should unscale by this decomposed value
  613. # [04:27] <nikos> ... and if you animate you should animate between these values
  614. # [04:28] <nikos> heycam: going back to broader level of zoom media queries
  615. # [04:28] <nikos> ... couple of years ago Ted was going to investigate different zoom use cases
  616. # [04:28] <nikos> ... do you know if anything came of that?
  617. # [04:28] <nikos> dino: don't know
  618. # [04:28] <nikos> Florian: with zoom media queries we want to be really careful
  619. # [04:28] <nikos> ... some things you don't want to expose
  620. # [04:28] <nikos> ... e.g. pinch zoom
  621. # [04:29] <nikos> heycam: I think to solve the use cases we may need a switch to control what pinch zoom does
  622. # [04:29] <nikos> birtles: we talked about that but Takagi-san hasn't had a chance to come up with a proposal
  623. # [04:29] <nikos> dino: this is only really going to have an impact if people are scaling with a different amount on different axis
  624. # [04:29] <nikos> birtles: that's rigth
  625. # [04:29] <nikos> s/rigth/right
  626. # [04:30] <nikos> dino: how many people skew?
  627. # [04:30] <nikos> heycam: I think Takagi-san recognised that in most cases it doesn't matter
  628. # [04:30] <nikos> ... but we should provide the definition for cases when it does matter
  629. # [04:30] <nikos> birtles: there's a formula in the wiki
  630. # [04:31] <nikos> krit: we'd be putting it into the transform spec without any context
  631. # [04:31] <nikos> ... does it need testing?
  632. # [04:32] <nikos> heycam: just review it to make sure it's o
  633. # [04:32] <nikos> ... ok
  634. # [04:32] <nikos> ... then when another spec depends on it test that
  635. # [04:32] <nikos> stakagi: we might use it in svg 2 and then we can test it tehre
  636. # [04:32] <nikos> s/tehre/there
  637. # [04:33] <nikos> heycam: Dirk, as editor how do you feel about it?
  638. # [04:33] <nikos> krit: I need to look at the formula
  639. # [04:33] <nikos> ... idea seems ok
  640. # [04:33] <nikos> dino: it's important we specify the exact value for non scaling stroke so all implementations are the same - I think that's enough reason to accept this
  641. # [04:33] <nikos> heycam: question is where should it live
  642. # [04:34] <nikos> krit: best thing to do is to propose prose we can put into the spec
  643. # [04:34] <nikos> ... as long as there's no requirement to test it
  644. # [04:34] * Quits: jun (~jun@public.cloak) (jun)
  645. # [04:34] <nikos> stakagi: I will send a pull request
  646. # [04:34] * Joins: jun (~jun@public.cloak)
  647. # [04:35] <nikos> RESOLUTION: Include Takagi-san's definition of linear scale in CSS transforms
  648. # [04:36] <nikos> krit: Can I publish a new wd? last one was a long time ago
  649. # [04:36] <ChrisLilley> how about putting that recently agreed change in there first
  650. # [04:38] <nikos> ACTION: Takagi-san to propose specification text for new scalar value for CSS transforms
  651. # [04:38] * trackbot is creating a new ACTION.
  652. # [04:38] * RRSAgent records action 6
  653. # [04:38] <trackbot> Error finding 'Takagi-san'. You can review and register nicknames at <http://www.w3.org/Graphics/fx/track/users>.
  654. # [04:38] <nikos> ACTION: stakagi to propose specification text for new scalar value for CSS transforms
  655. # [04:38] * trackbot is creating a new ACTION.
  656. # [04:38] * RRSAgent records action 7
  657. # [04:38] <trackbot> Created ACTION-91 - Propose specification text for new scalar value for css transforms [on Satoru Takagi - due 2015-02-18].
  658. # [04:39] * TabAtkins Tav This example work for you? http://dev.w3.org/csswg/css-images-3/#the-image-rendering
  659. # [04:39] <nikos> RESOLUTION: Publish new WD of CSS transforms
  660. # [04:39] <nikos> s/Publish new WD of CSS transforms/Publish new WD of CSS transforms with Takagi-san's changes
  661. # [04:39] <nikos> Topic: Web Animations status update
  662. # [04:39] <birtles> http://people.mozilla.org/~bbirtles/pres/201502%20fxtf%20web-anim%20update/
  663. # [04:40] <nikos> (Brian presents)
  664. # [04:41] <nikos> krit: Back to transforms WD - Simon added new preserve 3d stuff. Do we need agreement on it or can we talk about it after publication?
  665. # [04:42] <nikos> dino: is it ok to publish the WD with this section in it even though we may need to discuss it further?
  666. # [04:42] <nikos> roc: did we get any specific feedback from MS?
  667. # [04:42] <nikos> krit: there were competing proposals
  668. # [04:42] <nikos> roc: there was just one minor issue I brought up
  669. # [04:43] <nikos> krit: I think the spec has an issue noting that so it should be ok to publish a WD
  670. # [04:43] <nikos> (and back to Brian's presentation)
  671. # [04:44] <nikos> birtles: want to give an update and ask some questions
  672. # [04:45] <nikos> ... started to ship in little pieces
  673. # [04:45] * Joins: xidornq (~upsuper@public.cloak)
  674. # [04:45] <nikos> ... Chrome and FF have started at opposite ends of the API
  675. # [04:45] <nikos> ... and FF has some dev tools
  676. # [04:45] <nikos> ... we've published two WDs so far and another to come soon
  677. # [04:45] <nikos> ... diagram (slide 2) shows moving pieces
  678. # [04:45] <nikos> ... been some simplification
  679. # [04:46] <nikos> ... had motion path but that's been removed
  680. # [04:46] <nikos> ... there's now a motion path module
  681. # [04:46] <nikos> ... created by Dirk
  682. # [04:46] <nikos> ... recently we also deferred grouping to a subsequent level
  683. # [04:46] <nikos> ... it's useful but not critical
  684. # [04:46] <nikos> ... diagram is now simpler - and I'd like to make it simpler still
  685. # [04:46] <nikos> ... would like to merge Animation and Keyframe Effect
  686. # [04:47] <nikos> ... Animations are the dynamic part
  687. # [04:47] <nikos> ... Keyframe Effect is static
  688. # [04:47] <nikos> ... this isn't in the spec yet
  689. # [04:47] <nikos> ... there's some concern that this may make Keyframe Effect objects less shareable
  690. # [04:47] <nikos> ... but this is the model I'm proposing
  691. # [04:48] <nikos> ... it also makes the naming more straight forward
  692. # [04:48] <nikos> ... A lot of people found Players confusing
  693. # [04:48] <nikos> ... that's an update on where the spec is at now
  694. # [04:48] <nikos> krit: different name for Keyframe Effect? Anything shorter?
  695. # [04:49] <nikos> shane: we had Player and it was too generic - is Animation too generic?
  696. # [04:49] <nikos> birtles: don't think so
  697. # [04:49] <nikos> ... we already have the term
  698. # [04:49] <nikos> dino: no fear of clobbering third party library that uses Animation?
  699. # [04:49] <nikos> shane: something we need to do a little research on
  700. # [04:50] <nikos> dino: what other effects do you have?
  701. # [04:50] <nikos> birtles: only Keyframe Effects
  702. # [04:50] <nikos> ... level 2 will have Group Effects and Sequence Effects
  703. # [04:50] * Quits: xidorn (~upsuper@public.cloak) (Ping timeout: 180 seconds)
  704. # [04:50] <nikos> ... still considering what to do with Custom Effects
  705. # [04:50] <nikos> krit: how do you set up a Keyframe Effect?
  706. # [04:50] * xidornq is now known as xidorn
  707. # [04:51] <nikos> birtles: new KeyframeEffect
  708. # [04:51] <nikos> shane: also element.animate
  709. # [04:52] * Tav TabAtkins Yes! Still missing 'optimizeSpeed' should be interpreted as 'pixelated'
  710. # [04:52] <nikos> heycam: I would find Group Effect a bit confusing
  711. # [04:52] <nikos> ... effect doesn't seem like the right word there - don't have suggestions
  712. # [04:52] * TabAtkins Tav: Ah, right. Fixing now.
  713. # [04:52] <nikos> dino: could be concurrent effect
  714. # [04:52] <nikos> shane: I find the name good - you're grouping a set of effects
  715. # [04:53] <nikos> heycam: that should be an effects group then
  716. # [04:53] <nikos> birtles: distinction is it's the static definition
  717. # [04:53] <nikos> ... it's attached to an animation which is the dynamic part
  718. # [04:53] <nikos> ChrisLilley: shouldn't it be grouped effect then?
  719. # [04:53] <nikos> birtles: other APIs use 'set'
  720. # [04:53] <nikos> birtles: we can think about names some more
  721. # [04:54] <nikos> ... other question I had - easing, iterations, fill. We chose these names because they're short to type. But it does introduce the problem that they're very different to the terms CSS animation uses
  722. # [04:55] <nikos> ... better to line up with css or keep short?
  723. # [04:55] <nikos> ... two votes for keeping it short
  724. # [04:55] <nikos> ChrisLilley: if it aligns with CSS it has to be exactly the same thing
  725. # [04:55] <nikos> TabAtkins: it is
  726. # [04:55] <nikos> shane: easing is much more of an industry standard than timing function
  727. # [04:56] <nikos> ChrisLilley: fill on the other hand I've only ever seen in the context of SMIL
  728. # [04:56] <nikos> krit: seen it used a lot in JS libraries
  729. # [04:56] <nikos> ChrisLilley: iterations over animation-iteration-count is good
  730. # [04:57] <nikos> ChrisLilley: could you put an issue in the spec saying calling out to script for easing will be possible in the future
  731. # [04:58] <nikos> dino: we shouldn't really announce features
  732. # [04:58] <nikos> ChrisLilley: True - but good to explain why it's not there
  733. # [04:58] <nikos> birtles: couple of other questions
  734. # [04:59] * Joins: gregwhitworth_ (~gregwhitworth@public.cloak)
  735. # [04:59] <shane> https://docs.google.com/document/d/1f-KxMJwQ3f3OXSMvY-uQjpsy788BfyHlW9VoUWFvWQ4/edit#heading=h.b601rl56wy2f
  736. # [05:00] <nikos> shane: First events and promises
  737. # [05:00] <nikos> ... we switched from events to promises
  738. # [05:00] <nikos> ... only used in two scenarios
  739. # [05:01] <nikos> ... turns out that in different scenarios either events or promises can be useful
  740. # [05:01] <nikos> ... in FF OS they've been doing things where you set up a transition to move between states of the UI
  741. # [05:01] <nikos> ... and key on the end
  742. # [05:01] <nikos> ... all sorts of reasons why that won't trigger
  743. # [05:02] <nikos> ... so it's difficult to build a reliable system on top of that
  744. # [05:02] <nikos> ... but with a promise you're guaranteed it will resolve or reject
  745. # [05:02] <nikos> ... much easier to be reliable
  746. # [05:02] <nikos> ... so a strong use case for promises
  747. # [05:02] <nikos> ... but promises can be the wrong tool as well
  748. # [05:03] <nikos> ... e.g. if you have an event you want to reuse you can call play.play and when it gets to the end it will clean up after itself
  749. # [05:03] <nikos> ... if you use promises every time you call play you need to set up the promise
  750. # [05:03] <nikos> ... promises are one shot
  751. # [05:03] <nikos> ... so in this case events are cleaner and easier than promises
  752. # [05:03] <nikos> ... so could we have both?
  753. # [05:04] <nikos> heycam: as long as you make sure that we have a consistent pattern in the order they are resolved and dispatched
  754. # [05:04] <nikos> TabAtkins: I don't have an order specified so we should think about that
  755. # [05:05] <nikos> dino: one of the best things about events is you can pass an object in to a listener
  756. # [05:05] <nikos> RESOLUTION: Allow both events and promises in Web Animations
  757. # [05:05] <nikos> shane: other thing I wanted to talk about
  758. # [05:05] * Quits: gregwhitworth (~gregwhitworth@public.cloak) (Ping timeout: 180 seconds)
  759. # [05:05] <nikos> ... got an animation that's filling forward
  760. # [05:05] <nikos> ... can't change the value of the property that is animated
  761. # [05:06] <nikos> ... that's probably the single most complained about thing
  762. # [05:06] <nikos> ... people ask why can't I change the animated value later - they try to do so in the dev tools and it doesn't allow them to
  763. # [05:07] <nikos> ... the other problem is that we can't clean up because animations may be deleted and we have to fall back
  764. # [05:07] <nikos> ... so memory cost in some situations can be expensive
  765. # [05:08] <nikos> ... finally, if you want to cancel the animation - everything works ok first time, but if you start and cancel again you jump to the end state because you haven't cleaned up the previous one
  766. # [05:08] <nikos> heycam: would it be a layering violation if those values meant fill unless there is another animation on top of me?
  767. # [05:09] <nikos> shane: I'd like to be able to say that fill only applies until there is a style change
  768. # [05:09] <nikos> ... if you have a fill and you want it to transition to a new value, if you set a transition and you set a new value then it should interrupt when you set the new value
  769. # [05:10] <nikos> dbaron: what counts as a style change?
  770. # [05:10] <nikos> shane: same as transitions
  771. # [05:10] <nikos> dbaron: so any change to that property on that element
  772. # [05:10] <nikos> dbaron: so this is different to css transitions
  773. # [05:10] <nikos> birtles: yes, so can we do this? would it break the web?
  774. # [05:10] <nikos> dbaron: yes it would
  775. # [05:11] <dbaron> (Dean and Greg also said yes at the same time)
  776. # [05:11] <nikos> shane: ok so it would be a separate thing then
  777. # [05:11] <nikos> s/birtles: yes, so can we do this? would it break the web?/shane: yes, so can we do this? would it break the web?
  778. # [05:11] <nikos> dbaron: seems to be like one of the use cases for fill is I want this effect to happen where it starts somewhere and animates in some way and when animation finishes it stays there
  779. # [05:12] <nikos> ChrisLilley: wanting it to stay where it is is a good result
  780. # [05:12] <nikos> ... but there's two ways to do that
  781. # [05:12] <nikos> ... one is to have a keyword that changes dom with final value
  782. # [05:12] <nikos> ... other is to have an animation engine running that keeps the value there
  783. # [05:12] <nikos> dbaron: I'm worried about things where other things change the computed value
  784. # [05:13] <nikos> ... never mind
  785. # [05:13] <nikos> heycam: one you get to the point where you're filling you want to have another mechanism for setting the fill value
  786. # [05:13] <nikos> ... where is that mechanism?
  787. # [05:13] <nikos> dino: why doesn't it become another keyword to fill
  788. # [05:13] <nikos> ... that is an end event handler that sets the value
  789. # [05:14] <nikos> shane: this is the simpler behaviour that will avoid programming errors so it should be the default
  790. # [05:14] <nikos> heycam: regardless how you control it, not sure what the mechanism is for setting the value
  791. # [05:15] <nikos> shane: in our implementation we have an animation stack where we apply all the style rules
  792. # [05:15] <nikos> ... once we
  793. # [05:15] <nikos> ... once we've applied the static styles we apply the animated styles on top - to override
  794. # [05:15] <nikos> ... so that's where strongly held value is
  795. # [05:15] <nikos> ... animations with fill don't say they need to be updated every frame
  796. # [05:15] <nikos> ... transitions work a little differently
  797. # [05:16] <nikos> ... this was the value I was transitioning to and the new value - if they're different we can stop
  798. # [05:16] <nikos> heycam: I was thinking maybe it would be something like - for every element there's some level in the cascade
  799. # [05:16] <nikos> ... with properties that can be set or not
  800. # [05:16] <nikos> ... and when animation gets to fill but not strongly, it sets that value in the cascade
  801. # [05:16] <nikos> ... which is beneath the animations
  802. # [05:17] <nikos> heycam: what does setting the value mean .style.something = ?
  803. # [05:17] <nikos> shane: yes
  804. # [05:18] <nikos> heycam: I'm a little worried - how transitions trigger is difficult to get a handle on
  805. # [05:18] <nikos> shane: if transitions didn't have similar behaviour I probably wouldn't want to go down this path
  806. # [05:18] <nikos> ... once you're using web animations under the hood, transitions and animations should be the same thing
  807. # [05:19] <nikos> shane: I'd also welcome suggestions for other novel solutions
  808. # [05:19] <nikos> dbaron: it feels weird for a fill animation
  809. # [05:19] <nikos> ... but it does feel there may be a short cut for setting the style to this and also run this animation
  810. # [05:19] <nikos> ... or run the animation and while doing so set the style value to this
  811. # [05:20] <nikos> shane: the issue is where to put that - you can't put it in the inline style
  812. # [05:21] <nikos> birtles: the idea that you're updating the specified style in the background would avoid any discontinuity of behaviour when you reach the end of the animation as opposed to updating the style when the animation finishes
  813. # [05:21] <nikos> shane: the problem with setting a value in the background is that there's no sensible place to set it
  814. # [05:21] <nikos> dino: so your proposal is to still run the fill animation
  815. # [05:21] <nikos> ... it's just implicitly cancellable by any change
  816. # [05:21] <nikos> ... which is new behaviour
  817. # [05:21] <nikos> shane: yes
  818. # [05:21] <nikos> dino: I'd like to think about this
  819. # [05:22] <nikos> ... I can see the need
  820. # [05:22] * Joins: AndreyR_ (~AndreyR@public.cloak)
  821. # [05:22] <nikos> shane: I just wanted to get a sense whether it was worth considering
  822. # [05:22] <nikos> ... and that seems to be the case
  823. # [05:22] <nikos> birtles: we've had requests in svg to have animations that update the dom
  824. # [05:22] <nikos> dino: bit more obvious if it comes from an api rather than SMIL
  825. # [05:24] <nikos> dino: maybe it's that you would always set via animations. So take the result of the last animation rather than having a fill
  826. # [05:24] <nikos> dino: everything could be an animation
  827. # [05:24] <nikos> cyril_: we had a related issue when converting flash to svg animations
  828. # [05:25] <nikos> ... we had animations per layer in the flash display list
  829. # [05:25] <nikos> ... wanted to get rid of the old animations in previous frames
  830. # [05:25] <nikos> ... there was no way to signal
  831. # [05:25] <nikos> ... in smil we could use an attribute something like restartnever
  832. # [05:25] * Quits: AndreyR (~AndreyR@public.cloak) (Ping timeout: 180 seconds)
  833. # [05:25] <nikos> ... as an indicator that you could do garbage collection
  834. # [05:26] <nikos> shane: we have one more set of things to talk about
  835. # [05:26] <cyril_> s/restartnever/restart=never/
  836. # [05:26] <nikos> TabAtkins: some time ago Shane and I proposed adding to the family of transform properties a translate, rotate and scale property
  837. # [05:26] <nikos> ... that get slotted into the use translate list at the end
  838. # [05:27] <nikos> ... some were hostile, some liked it
  839. # [05:27] <nikos> ... I think we should revisit this
  840. # [05:27] <nikos> ... we have more precedent with motion path
  841. # [05:27] <nikos> ... which exists as a property and a function
  842. # [05:27] <nikos> ... for good reason - and those same reasons apply here
  843. # [05:28] <nikos> shane: Jack Doyle's selling point is the can independently animate rotate, scale and translate
  844. # [05:28] <nikos> ... a lot of his customers find it useful
  845. # [05:28] <nikos> heycam: I worry it works well for separate translate and rotates
  846. # [05:28] <nikos> ... as soon as you have something that doesn't decompose into at most these three types
  847. # [05:28] <nikos> ... it breaks down
  848. # [05:29] <nikos> ... so I'd prefer to see some mechanism that allows you to combine the values somewhow
  849. # [05:29] <nikos> s/somewhow/somehow
  850. # [05:29] <nikos> shane: for the simple case you're requiring people have knowledge of the ordering of transforms
  851. # [05:29] <nikos> heycam: you have fixed order
  852. # [05:30] <nikos> TabAtkins: there is a single correct order if you want them to act independently
  853. # [05:30] <nikos> ... and it's not trivial
  854. # [05:30] <nikos> shane: you can define that rigorously
  855. # [05:30] <nikos> dino: right to some people
  856. # [05:31] <nikos> ... it's not what everyone wants
  857. # [05:31] <nikos> shane: we force people to think in terms of the scene
  858. # [05:31] <nikos> ... so it makes sense to define it in a particular way
  859. # [05:33] <nikos> birtles: we've got some pretty strong requests for this in the animation community
  860. # [05:33] <nikos> dino: you can still do it - it's just a little cumbersome with additive animation
  861. # [05:33] <nikos> shane: you can't
  862. # [05:33] <nikos> ... with custom properties maybe
  863. # [05:33] <nikos> ... with the web animations api I mean
  864. # [05:33] <nikos> dino: you can't write an animation that independently animates translation, scale and rotation?
  865. # [05:33] <nikos> birtles: you can do it
  866. # [05:33] <nikos> ... it's hard
  867. # [05:33] <nikos> dino: at the moment in css you do it with nested elements
  868. # [05:33] <nikos> shane: I'll get back to you
  869. # [05:35] <nikos> (shane gives an example that requires knowing how to decompose matrices)
  870. # [05:36] <nikos> TabAtkins: is the argument all about whether you can tween in web animations?
  871. # [05:36] <nikos> dino: I don't think so - if we do add these other properties, what's the fall back strategy?
  872. # [05:36] <nikos> ... if I add these properties and also add transform because I want it to work in other browsers
  873. # [05:36] <nikos> dino: you have properties that combine in a particular order
  874. # [05:37] <nikos> TabAtkins: there's a lot of layout features that also work like this - flexbox for example
  875. # [05:38] <nikos> ... you can't polyfill, you just have to wait for support
  876. # [05:38] <birtles> For reference, GreenSock's description of independent animation of transform components is described at https://greensock.com/why-gsap/ under "Scale, rotate, skew, and move without the headaches"
  877. # [05:38] <birtles> demo at: http://codepen.io/GreenSock/full/kingu/
  878. # [05:39] <nikos> birtles: from a use case point of view I think it's really useful
  879. # [05:39] <nikos> dino: this is really a change to the transform spec, not animations
  880. # [05:40] <nikos> dbaron: I guess I'm ok with it if there's a rule for how they all decompose
  881. # [05:40] <dbaron> s/decompose/compose/
  882. # [05:40] <nikos> dino: so if you did translate(10,10) transform="scale(2)" then it's not round tripable
  883. # [05:41] <nikos> dbaron: it might be confusing to people if they do transition: transform
  884. # [05:41] <nikos> ... that won't transition if they change translate
  885. # [05:41] <nikos> TabAtkins: does that confuse people if they transition on transform and then change the perspective property it does not transition?
  886. # [05:42] <birtles> also, for reference, this request comes up a lot: https://twitter.com/rachelnabors/status/518773879117197313
  887. # [05:43] <nikos> shane: I think this is one of those situations where you have a simple and a complex world and let people opt into the complex worid if they want
  888. # [05:43] <nikos> ... the case for using both is a programming error and should be avoided
  889. # [05:43] <nikos> ... so we want to add a simple model
  890. # [05:43] <nikos> dino: my main issue is I'm not sure it's worth it
  891. # [05:43] <nikos> ... I understand the issues people are hitting
  892. # [05:44] <nikos> shane: if just for the static cases I would agree, but there's a powerful animation argument. it's very hard to do some things without this
  893. # [05:45] <nikos> TabAtkins: I hear more conclusions that it would be worth having so we should take another look at it
  894. # [05:45] <nikos> ... ideally I'd like to put it in and see if we get objections
  895. # [05:46] <nikos> dmitry: what if I want to animate rotation and rotation?
  896. # [05:46] <nikos> TabAtkins: use transform
  897. # [05:46] <nikos> shane: if we put this in the spec and it turns out there's other ways of doing it we'll take it out
  898. # [05:46] <nikos> ... so can we put it in the spec?
  899. # [05:46] <nikos> ... in CSS transforms
  900. # [05:47] <nikos> dbaron: in level 2?
  901. # [05:47] <nikos> shane: I'd be happy with that
  902. # [05:47] <nikos> RESOLUTION: We will add translate,rotate and scale properties in CSS transforms level 2
  903. # [05:47] * ed css schmansforms?
  904. # [05:48] * TabAtkins Yup.
  905. # [05:48] * shane shmell shmeah
  906. # [05:49] * Quits: kwkbtr (~kwkbtr@public.cloak) (Client closed connection)
  907. # [05:53] * Quits: AndreyR_ (~AndreyR@public.cloak) (Ping timeout: 180 seconds)
  908. # [05:53] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  909. # [05:55] * liam wonders if there's a break?
  910. # [06:00] * Rossen is now known as Rossen_away
  911. # [06:03] * Quits: jun (~jun@public.cloak) (jun)
  912. # [06:03] <astearns> liam: yes
  913. # [06:03] <liam> tx
  914. # [06:11] * Quits: murakami (~murakami@public.cloak) (Ping timeout: 180 seconds)
  915. # [06:17] * Joins: AndreyR (~AndreyR@public.cloak)
  916. # [06:23] * Rossen_away is now known as Rossen
  917. # [06:23] * Quits: AndreyR (~AndreyR@public.cloak) ("Page closed")
  918. # [06:23] * Joins: AndreyR (~AndreyR@public.cloak)
  919. # [06:24] * Joins: murakami (~murakami@public.cloak)
  920. # [06:24] <cyril_> Scribe: Cyril
  921. # [06:24] <cyril_> SCcribeNick: cyril_
  922. # [06:25] <cyril_> Topic: ID-less referencing
  923. # [06:25] <birtles> http://people.mozilla.org/~bbirtles/pres/referencing-proposal-2015/
  924. # [06:25] * Joins: Florian (~Florian@public.cloak)
  925. # [06:25] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  926. # [06:25] * Joins: Florian (~Florian@public.cloak)
  927. # [06:25] * Joins: kwkbtr (~kwkbtr@public.cloak)
  928. # [06:25] <cyril_> birtles: quick proposal about referencing elements from css properties without using id
  929. # [06:25] <cyril_> ... the motivation is masking for example
  930. # [06:26] <cyril_> ... you want to point to another element
  931. # [06:26] <cyril_> ... but mash-ups can have conflicts
  932. # [06:26] <cyril_> ... unique ids is a solution but that's a bit too much
  933. # [06:26] <cyril_> ... readability, file size ... and a pain to generate from JS
  934. # [06:27] <cyril_> ... semantically not great
  935. # [06:27] <cyril_> ...it'd be better if we could nest mask in path
  936. # [06:27] <cyril_> ChrisLilley: the downside is you can only have one child in some cases
  937. # [06:28] <cyril_> birtles: we could try nesting
  938. # [06:28] <cyril_> ... but that's not good for backward compatibility
  939. # [06:28] <cyril_> ... I proposed a keyword
  940. # [06:28] <cyril_> ... 'child' to say the first descendant
  941. # [06:29] <cyril_> ... if you have multiple masks, child would mean the last one
  942. # [06:29] <cyril_> ... would work for paint servers
  943. # [06:29] <cyril_> ... one issue is both fill and stroke refer to the children
  944. # [06:29] <cyril_> ... the proposal is to use a select syntax
  945. # [06:30] <cyril_> Tav: you could also need a list: gradient and pattern as a fill
  946. # [06:30] <cyril_> birtles: the proposal is to use selectors scoped to the subtree
  947. # [06:30] <cyril_> ... that was removed from CSS masking to find a more generic solution
  948. # [06:31] <cyril_> ChrisLilley: I don't see how it could be more generic than selector
  949. # [06:31] <cyril_> ... the only constraint is the fact that it selects amongst the children
  950. # [06:32] * Quits: smfr (~smfr@public.cloak) (smfr)
  951. # [06:32] <cyril_> (link to an email on www-style)
  952. # [06:33] <cyril_> heycam: using selectors you could have things depending on attribute values, structure of the tree
  953. # [06:33] <cyril_> ... making it difficult to watch mutations in the tree
  954. # [06:33] <cyril_> ... if the selector would be limited to children or element names
  955. # [06:33] * liam gives birtles an XPath selector
  956. # [06:33] <cyril_> ... it'd make it easier to track
  957. # [06:34] <cyril_> fantasai: we have an outstanding issue in GCPM
  958. # [06:35] <cyril_> ... that the element function in gpcm and CSS 4 don't agree
  959. # [06:35] <cyril_> ... changing syntax is on the table
  960. # [06:35] <cyril_> birtles: element() with an id doesn't help
  961. # [06:36] <cyril_> heycam: concenrs are different with navigation
  962. # [06:36] <cyril_> ... you don't watch for changes
  963. # [06:37] <cyril_> ChrisLilley: previously it was not enough generic, now it is too generic
  964. # [06:37] <cyril_> cyril_: why don't we restrict selectors to nth-child
  965. # [06:38] <cyril_> TabAtkins: we could add full selectors in the future
  966. # [06:38] <cyril_> ChrisLilley: I would rather use selectors and constrain it
  967. # [06:39] <cyril_> TabAtkins: select(nth-child(2)) is longer than child(2)
  968. # [06:39] <cyril_> ... what if you want the 2nd linearGradient here and not the 2nd child
  969. # [06:39] <cyril_> birtles: if you allow element name and child
  970. # [06:40] <cyril_> ... we could disambiguate by giving the element name
  971. # [06:40] <cyril_> TabAtkins: I don't like remembering what arbitrary things I'm allowed to use
  972. # [06:40] <cyril_> heycam: I don't see use cases for selecting things other than children
  973. # [06:41] <cyril_> ... I don't like to write mask="select(mask[1])"
  974. # [06:41] <cyril_> heycam: the gcpm function takes a custom identifier
  975. # [06:42] <cyril_> krit: do we care if we have a different solution for both
  976. # [06:42] <cyril_> ed: we could restrict the order in which you put children elements for fill and stroke
  977. # [06:42] <cyril_> krit: you can have fill with multiple layers
  978. # [06:43] <cyril_> TabAtkins: the child keyword does not allow that
  979. # [06:43] <cyril_> krit: that's why it's not useful
  980. # [06:43] <cyril_> TabAtkins: is that a huge deal if we restrict selectors to matching children
  981. # [06:43] <cyril_> heycam: you'd still have to watch for class changes, ...
  982. # [06:44] <cyril_> ... it's unlikely I'd be able to reuse the existing machinery for style changes
  983. # [06:44] <cyril_> ... I'd like to see if Erik's model could work
  984. # [06:45] <cyril_> ... it needs more thoughts
  985. # [06:45] <cyril_> ed: do we expect people to use multiple fill and strokes
  986. # [06:45] <cyril_> TabAtkins: we could solve the common case now (1 child per paint server) and expand later
  987. # [06:45] <ed> s/do we expect people/do we expect that it will be common for people/
  988. # [06:47] <cyril_> TabAtkins: fill="child child child" could be use the 3 first children to use for fill
  989. # [06:47] <cyril_> heycam: we could use that for markers
  990. # [06:47] <cyril_> ... but markers have zillions of properties
  991. # [06:48] <cyril_> TabAtkins: I don't think we want to use paint order
  992. # [06:49] <cyril_> ... the mental model isn't as intuitve
  993. # [06:49] <cyril_> resolution: accept the 'child' keyword in all referencing properties
  994. # [06:50] <cyril_> krit: do we define in it in the common spec ?
  995. # [06:50] <cyril_> heycam: yes in the SVG 2 spec
  996. # [06:51] <cyril_> ed: the order is we consume children for fill first and then for stroke
  997. # [06:51] <cyril_> cyril_: what if the same paint server is used for fill and strok
  998. # [06:51] <cyril_> TabAtkins: you have to repeat it
  999. # [06:51] <cyril_> Tav: or give an id
  1000. # [06:51] <Tav> http://tavmjong.free.fr/SVG/PROPERTIES/index.html
  1001. # [06:51] <cyril_> Topic: Referencing properties
  1002. # [06:52] <cyril_> Tav: i've been working on the text part of svg
  1003. # [06:52] <cyril_> ... and one of the problems is that it references so many properties
  1004. # [06:52] <cyril_> ... the modules are in various stages of preparation
  1005. # [06:52] <cyril_> ... what do we allow to reference
  1006. # [06:53] <cyril_> ... for example writing modes redefines writing-mode a little bit differently
  1007. # [06:53] <cyril_> fantasai: text-decoration-fill would go in Level 4 of Text Decoration
  1008. # [06:54] <cyril_> krit: so you could put it in SVG
  1009. # [06:54] <cyril_> Tav: are we allowed to reference a WD ?
  1010. # [06:54] <cyril_> ChrisLilley: but you'll wait in CR
  1011. # [06:54] <cyril_> Tav: Shapes 2 is needed but in ED
  1012. # [06:55] <cyril_> astearns: but it's ready to be in WD
  1013. # [06:55] <cyril_> heycam: what's new ?
  1014. # [06:55] <cyril_> astearns: shape-margin, shape-inside, referencing svg shapes ...
  1015. # [06:56] <cyril_> ed: can we have a resolution to publish WD ?
  1016. # [06:56] * Quits: tantek (~tantek@public.cloak) (tantek)
  1017. # [06:56] <cyril_> fantasai: we probably have quorum for publishing
  1018. # [06:57] <cyril_> fantasai: adobe is ok with publishing, google is
  1019. # [06:57] <cyril_> dbaron: that seems fine
  1020. # [06:57] <cyril_> dino: 'im ok
  1021. # [06:58] <cyril_> resolved: CSS WG agrees to publish Shapes 2 as a FPWD
  1022. # [06:58] <cyril_> tav: I'm happy to have a agreement that I can reference those specs
  1023. # [06:59] <cyril_> fantasai: about baseline-shift
  1024. # [06:59] <cyril_> ... do you output it in the CSS form or SVG form ?
  1025. # [06:59] <cyril_> Tav: in the CSS form
  1026. # [06:59] <cyril_> heycam: I have a separate topic on that
  1027. # [07:00] <fantasai> Plan is to have a dominant-baseline property
  1028. # [07:00] <fantasai> and then a vertical-align property with longhand salignment-baselin and baseline-shift
  1029. # [07:01] <cyril_> Tav: how soon ?
  1030. # [07:01] <cyril_> fantasai: I can get you a very rough draft today
  1031. # [07:01] <cyril_> Tav: we need to do that in the SVG 2
  1032. # [07:01] * Quits: dino (~textual@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
  1033. # [07:01] <cyril_> heycam: you have a future model in mind, reduccing the number of properties by half, simplifying the model
  1034. # [07:02] <cyril_> ... in FF we implement only dominant-baseline
  1035. # [07:02] <cyril_> ... peopl have content that uses it to position text
  1036. # [07:03] <cyril_> heycam: webkit supports alignement baseline, dominant baseline and baseline shift
  1037. # [07:03] * TabAtkins has to leave for a bit, will be back in 20m or so.
  1038. # [07:03] <cyril_> ... the effect if you specify a-b and d-b is unclear
  1039. # [07:04] <cyril_> fantasai: the initial value of a-b should be auto and auto should look at the d-b property of the parent
  1040. # [07:04] <cyril_> dbaron: not a-b ?
  1041. # [07:04] <cyril_> heycam: b-shift has length + keywords: superscript ...
  1042. # [07:05] <cyril_> heycam: my overriding concenr is to make sure we just have what SVG needs without constraining your model
  1043. # [07:05] * dbaron waits for http://www.w3.org/TR/xsl/#area-alignment to load
  1044. # [07:05] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  1045. # [07:05] <cyril_> ... if you're happy to write a minimal document that we can reference then we're fine
  1046. # [07:06] <cyril_> fantasai: I can have a document in a year
  1047. # [07:06] <cyril_> heycam: ok
  1048. # [07:07] <dbaron> there are some useful definitions in http://www.w3.org/TR/xsl/#vertical-align and http://www.w3.org/TR/xsl/#area-alignment
  1049. # [07:08] <cyril_> ... that has 4 properties instead of 3
  1050. # [07:08] <cyril_> heycam: the XSL properties were used at some point in the SVG spec and then tweaked
  1051. # [07:08] <cyril_> fantasai: what is in the SVG spec is what I might put in the CSS spec
  1052. # [07:10] <cyril_> (discussing new process)
  1053. # [07:12] <cyril_> heycam: the other part is what to do about the old writing-mode values and glyph orientation vertical stuff
  1054. # [07:12] <cyril_> ... fantasai seems to be of the opinion that there are interesting things even if not in the open web
  1055. # [07:12] * Joins: tantek (~tantek@public.cloak)
  1056. # [07:12] <cyril_> ... dirk showed some output of Photoshop for vertical text using writing mode TB
  1057. # [07:12] <liam> [ the XSL-FO properties were in turn supposed to be aligned with CSS 2 where possible, modulo the evolving box model. http://www.w3.org/TR/xslfo20/#vertical-align was the most recent/final draft before we stopped working on it, but i think it unchanged from 1.1 ]
  1058. # [07:14] <heycam> in SVG there are old keyword values for writing-mode, and an old glyph-orientation-vertical property that lets you control how latin glyphs are oriented in vertical text
  1059. # [07:14] <heycam> in writing modes spec, there are new keywords for writing-mode, and a text-orientation property for controlling glyph orientation
  1060. # [07:15] <cyril_> krit: glyph orientation horizontal and vertical have the same usage statistics
  1061. # [07:15] <cyril_> ... i would suggest we deprecate them but not remove them
  1062. # [07:15] <cyril_> heycam: I haven't seen bug reports about them, but I have about alignement-baseline
  1063. # [07:16] <cyril_> ChrisLilley: some people said that most fonts don't give that information
  1064. # [07:16] * Joins: tantek_ (~tantek@public.cloak)
  1065. # [07:19] * Quits: tantek (~tantek@public.cloak) (Ping timeout: 180 seconds)
  1066. # [07:19] * tantek_ is now known as tantek
  1067. # [07:22] <cyril_> heycam: I have enough information about the plan for those properties
  1068. # [07:22] <Tav> http://tavmjong.free.fr/SVG/TEXT_FLOWED/index.html
  1069. # [07:22] <cyril_> Topic: text in a shape
  1070. # [07:23] <cyril_> Tav: SVG 2 reintroduces text flow in a shape
  1071. # [07:23] <cyril_> ... the initial version 1.2 got supported only by Batik and Inkscape
  1072. # [07:24] <dbaron> fantasai: On previous topic, I was just commenting that I should have named sideways-left and sideways-right as sideways-lr and sideways-rl, but it's probably too late to change that.
  1073. # [07:26] <dbaron> fantasai: writing-mode has values like horizontal-tb and vertical-lr
  1074. # [07:26] <cyril_> fantasai: writing-mode has values that are horizontal-tb and vertical-lr and text-orientation: sideways-left, sideways-right
  1075. # [07:26] <dbaron> fantasai: text-orientation could change from sideways-left and sideways-left... could change to sideways-lr and sideways-rl
  1076. # [07:26] * Joins: glazou (~glazou@public.cloak)
  1077. # [07:26] <dbaron> heycam: why not sideways-tb etc.?
  1078. # [07:27] <dbaron> fantasai: text-orientation talks about orientation of glyphs -- where is top/bottom of line -- not where is start/end of line
  1079. # [07:27] * Quits: gregwhitworth_ (~gregwhitworth@public.cloak) ("Page closed")
  1080. # [07:27] <dbaron> fantasai: the correct text-orientation:sideways-* for horizontal scripts is the one that matches the writing-mode: vertical-*
  1081. # [07:28] <dbaron> heycam: question
  1082. # [07:28] <dbaron> fantasai: [diagram that's hard to minute because it's in vertical writing]
  1083. # [07:29] <dbaron> fantasai: Might be deployed content in Japan that relies on these things.
  1084. # [07:29] <cyril_> Tav: back to the text in shape topic
  1085. # [07:29] <liam> [ Tav -- http://www.w3.org/TR/xslfo20/#fo_extension-region and scroll up to figure 50 with the yellow hexagons ]
  1086. # [07:29] <cyril_> ... in 1.2T you could wrap into one box and another and another
  1087. # [07:29] <cyril_> ... could we retain that property ?
  1088. # [07:30] <cyril_> astearns: we've proposed several ways
  1089. # [07:30] <cyril_> ... Florian also proposed another method
  1090. # [07:30] <cyril_> Tav: I looked at regions and it seemed complicated for that
  1091. # [07:30] <cyril_> astearns: overflow fragments have to be siblings
  1092. # [07:30] <cyril_> ... not regions
  1093. # [07:31] <cyril_> ... I don't now what your requirements are
  1094. # [07:31] <cyril_> Tav: 3 references comma separated
  1095. # [07:31] <cyril_> heycam: in the old way, you had svg shapes in the document, child of some special flow document
  1096. # [07:31] <cyril_> ... and the text flows in then one by one, no automatic generation of shape
  1097. # [07:31] <cyril_> ... do you want that behavior ?
  1098. # [07:32] <cyril_> Tav: No, I don't want automatic generation of shapes
  1099. # [07:32] * Joins: Florian (~Florian@public.cloak)
  1100. # [07:32] <cyril_> astearns: and if it overflows ?
  1101. # [07:32] <cyril_> Tav: it goes nowhere
  1102. # [07:32] <cyril_> Rossen: you need regions the
  1103. # [07:32] <cyril_> astearns: the concepts are in the regions spec
  1104. # [07:33] <cyril_> Tav: a simple comma separated list of shapes would not work?
  1105. # [07:33] <cyril_> astearns: we did not want to add that syntax in shape-inside
  1106. # [07:33] <cyril_> ... that would need to be something for SVG to define
  1107. # [07:34] <cyril_> heycam: that goes on the text element
  1108. # [07:34] <cyril_> astearns: don't know if it needs to extend shape-inside or have a new shape-inside-list
  1109. # [07:35] * ed <text shape-inside="child">foobar<path .../></text>?
  1110. # [07:36] <cyril_> Tav: in SVG there would be two ways to get the content region: width for horizontal text and height for vertical text or by giving the shape in which it will wrap
  1111. # [07:37] <cyril_> Tav: I wanted to check the syntax
  1112. # [07:38] <cyril_> Rossen: the behavior in SVG 2 seems to combine 2 or 3 specs
  1113. # [07:38] <cyril_> Tav: the text doesn't flow in the 2 rect
  1114. # [07:38] <cyril_> Rossen: so you don't need regions
  1115. # [07:38] <cyril_> .... but you need exclusion
  1116. # [07:39] <cyril_> Tav: 2 separate text elements both shape-inside (different) but one has a shape-outside
  1117. # [07:39] <heycam> [this is pointing to the "An example of using 'shape-outside'" example currently in the spec]
  1118. # [07:39] <cyril_> astearns: shape-outside only apply to floats
  1119. # [07:39] <cyril_> Rossen: or regions
  1120. # [07:40] <cyril_> s/or regions/or exclusions/
  1121. # [07:40] <cyril_> astearns: you'd need wrap flow too
  1122. # [07:40] <cyril_> ... in CSS to get wrapping behavior you need floats or exclusions
  1123. # [07:41] <cyril_> ... it's adding one more property
  1124. # [07:41] <cyril_> ... it adds the ability to have the content overlapping or wrapping
  1125. # [07:42] <cyril_> Tav: I'm wondering if SVG needs that level of complexity
  1126. # [07:42] <cyril_> Rossen: but you are positioning with x and y
  1127. # [07:42] <cyril_> astearns: I think you need it
  1128. # [07:43] <cyril_> ed: have you considered having a child keyword for this as well to keep the shape insde the text
  1129. # [07:43] <cyril_> Tav: possible
  1130. # [07:43] <heycam> <text shape-inside="child">ABC DEF <circle .../></text>
  1131. # [07:43] <cyril_> ed: I don't think a rec is rendered currently in a text
  1132. # [07:44] <ed> s/rec/rect (or shape)/
  1133. # [07:44] <cyril_> Tav: and also having a text inside a rectangl
  1134. # [07:44] <cyril_> heycam: you think the syntax is more natural to have the text inside the rect
  1135. # [07:44] <cyril_> Tav: yes
  1136. # [07:47] * liam wonders how this fits in with SVG defs, if I want to do, shape-inside="#child"
  1137. # [07:47] * heycam would imagine it should work too
  1138. # [07:47] <AndreyR> Another topic form css agenda can we discuss issues? http://dev.w3.org/csswg/css-pseudo/#highlight-pseudos
  1139. # [07:49] <cyril_> Topic: FlexBox
  1140. # [07:49] <cyril_> fantasai: can we go to CR ?
  1141. # [07:49] <cyril_> Florian: what do we do about the order ?
  1142. # [07:49] <cyril_> fantasai: so far there are several proposals: don't change anything, or make order affect all things and extend later, and drop the order properties
  1143. # [07:50] <cyril_> Florian: I'm not excited about opening new things
  1144. # [07:50] <cyril_> ... but the shorthand longhand thing made sense to me
  1145. # [07:50] <cyril_> fantasai: we don't have the person to discuss this
  1146. # [07:50] <cyril_> ... but I would like to publish things
  1147. # [07:51] <cyril_> Florian: I'm happy with publishing
  1148. # [07:51] <cyril_> Rossen: any objection ?
  1149. # [07:51] <cyril_> (silence)
  1150. # [07:51] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  1151. # [07:51] <cyril_> dbaron: are there any big things that don't match what it used to do ?
  1152. # [07:51] <cyril_> fantasai: no
  1153. # [07:52] <cyril_> dbaron: sounds good then
  1154. # [07:52] <cyril_> resolved: Publish flexbox CR under the new process
  1155. # [07:53] <AndreyR> Topic http://dev.w3.org/csswg/css-pseudo/#highlight-pseudos [17:18] <cyril_> Topic: FlexBox
  1156. # [07:53] <cyril_> Topic: ::selection
  1157. # [07:53] * Joins: Florian (~Florian@public.cloak)
  1158. # [07:53] <cyril_> fantasai: there is an issue in the spec on how to select inactive selections
  1159. # [07:53] <cyril_> ... do we want to add another pseudo for that ?
  1160. # [07:53] <cyril_> ... I don't think that's a good idea
  1161. # [07:54] <cyril_> Florian: inactive selection ?
  1162. # [07:54] <cyril_> fantasai: select and then focus another window
  1163. # [07:54] <cyril_> Florian: that does not match selection, but nothing selects it
  1164. # [07:55] <cyril_> resolved: add ::inactive-selection to Pseudo Element Level 4
  1165. # [07:56] <ed> RRSAgent, make minutes
  1166. # [07:56] <RRSAgent> I have made the request to generate http://www.w3.org/2015/02/10-fx-minutes.html ed
  1167. # [07:59] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  1168. # [08:00] * liam guessing a break? hmm, maybe adjournment
  1169. # [08:00] <ed> -- meeting adjourned --
  1170. # [08:00] * Joins: Florian (~Florian@public.cloak)
  1171. # [08:00] * liam thanks :)
  1172. # [08:02] <dbaron> next CSS teleconference is in 2 weeks and 10 hours
  1173. # [08:02] * heycam is now known as heycam|away
  1174. # [08:04] * ed will send out the minutes to public-fx
  1175. # [08:05] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  1176. # [08:09] * Quits: glazou (~glazou@public.cloak) (glazou)
  1177. # [08:09] <krit> fantasai: http://wiki.apache.org/xmlgraphics-fop/LineLayout/AlignmentHandling
  1178. # [08:10] * Quits: kwkbtr (~kwkbtr@public.cloak) (Client closed connection)
  1179. # [08:11] <krit> fantasai: http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.cpp
  1180. # [08:12] * Quits: xidorn (~upsuper@public.cloak) (Client closed connection)
  1181. # [08:13] * Quits: stakagi (~stakagi@public.cloak) (Ping timeout: 180 seconds)
  1182. # [08:13] <liam> krit, yeah i don't know if fop supports otf these days
  1183. # [08:14] <liam> at one point i had a bunch of opentype feature support stuff in the FO draft but I'm not sure it made it into what we published for 2.0, and it wasn't compatible with john dagget's work on css fonts, so I doubt it got implemented
  1184. # [08:14] <liam> (jt predated the css-font otf stuff by a few months i tihnk)
  1185. # [08:15] * Quits: murakami (~murakami@public.cloak) (Ping timeout: 180 seconds)
  1186. # [08:15] <liam> hmm no
  1187. # [08:18] * Quits: cyril_ (~cyril@public.cloak) (Ping timeout: 180 seconds)
  1188. # [08:20] * Quits: roc (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  1189. # [08:24] * Quits: Tav (~tbah@public.cloak) (Ping timeout: 180 seconds)
  1190. # [08:24] * Quits: hyojin (~hyojin@public.cloak) ("Leaving")
  1191. # [08:27] * Rossen is now known as Rossen_away
  1192. # [08:29] * Quits: tantek (~tantek@public.cloak) (tantek)
  1193. # [08:29] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 180 seconds)
  1194. # [08:35] * Quits: ChrisLilley (clilley@public.cloak) (Ping timeout: 180 seconds)
  1195. # [08:36] * Quits: AndreyR (~AndreyR@public.cloak) (Ping timeout: 180 seconds)
  1196. # [08:43] * Joins: jun (~jun@public.cloak)
  1197. # [08:45] * Quits: jun (~jun@public.cloak) (jun)
  1198. # [08:45] * Joins: jun (~jun@public.cloak)
  1199. # [08:46] * Quits: jun (~jun@public.cloak) (jun)
  1200. # [08:47] * Joins: jun (~jun@public.cloak)
  1201. # [08:52] * Quits: jun (~jun@public.cloak) (jun)
  1202. # [10:49] * Quits: jet (~uid49872@public.cloak) ("Connection closed for inactivity")
  1203. # [11:05] * Joins: Florian (~Florian@public.cloak)
  1204. # [11:12] * Quits: Florian (~Florian@public.cloak) (Ping timeout: 180 seconds)
  1205. # [11:39] * Joins: jun (~jun@public.cloak)
  1206. # [12:20] * Quits: jun (~jun@public.cloak) (jun)
  1207. # [13:10] * Joins: Tav (~tbah@public.cloak)
  1208. # [13:15] * Joins: Florian (~Florian@public.cloak)
  1209. # [13:29] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  1210. # [14:18] * Joins: ChrisLilley (clilley@public.cloak)
  1211. # [14:18] * Quits: ChrisLilley (clilley@public.cloak) ("Client combusted")
  1212. # [14:48] <krit> liam: Elika is updating the spec at the moment. I just send her all I have. :)
  1213. # [16:30] * Joins: Florian (~Florian@public.cloak)
  1214. # [16:37] * Quits: Florian (~Florian@public.cloak) (Ping timeout: 180 seconds)
  1215. # [17:56] * Quits: RRSAgent (rrsagent@public.cloak) (Request too long)
  1216. # [18:28] * leaverou is now known as leaverou_away
  1217. # [18:50] * leaverou_away is now known as leaverou
  1218. # [19:31] * leaverou is now known as leaverou_away
  1219. # [19:32] * leaverou_away is now known as leaverou
  1220. # [20:25] <liam> krit, i see
  1221. # [22:04] * Joins: Florian (~Florian@public.cloak)
  1222. # [22:26] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  1223. # [22:29] * Joins: Florian (~Florian@public.cloak)
  1224. # [22:34] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  1225. # [23:02] * Quits: Tav (~tbah@public.cloak) (Ping timeout: 180 seconds)
  1226. # [23:23] * Joins: tantek (~tantek@public.cloak)
  1227. # [23:26] * heycam|away is now known as heycam
  1228. # [23:29] * Joins: jet (~uid49872@public.cloak)
  1229. # [23:30] * Joins: stakagi (~stakagi@public.cloak)
  1230. # [23:33] * Joins: Tav (~tbah@public.cloak)
  1231. # [23:36] * Quits: tantek (~tantek@public.cloak) (Ping timeout: 180 seconds)
  1232. # [23:38] * Joins: tantek (~tantek@public.cloak)
  1233. # [23:48] * Quits: tantek (~tantek@public.cloak) (Ping timeout: 180 seconds)
  1234. # [23:55] * Joins: tantek (~tantek@public.cloak)
  1235. # Session Close: Thu Feb 12 00:00:00 2015

Previous day, Next day

Think these logs are useful? Then please donate to show your gratitude (and keep them up, of course). Thanks! — Krijn