/irc-logs / w3c / #css / 2013-09-11 / end

Options:

  1. # Session Start: Wed Sep 11 00:00:00 2013
  2. # Session Ident: #css
  3. # [00:01] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
  4. # [00:10] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  5. # [00:27] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  6. # [00:27] * Joins: zcorpan (~zcorpan@public.cloak)
  7. # [00:32] * Quits: plh (plehegar@public.cloak) ("Leaving")
  8. # [00:34] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  9. # [01:16] * heycam|away is now known as heycam
  10. # [01:34] * Joins: jdaggett (~jdaggett@public.cloak)
  11. # [01:38] * Joins: zcorpan (~zcorpan@public.cloak)
  12. # [01:45] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  13. # [02:01] * heycam is now known as heycam|away
  14. # [02:05] * heycam|away is now known as heycam
  15. # [02:15] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  16. # [02:35] * Joins: cabanier (~cabanier@public.cloak)
  17. # [02:47] * Quits: tobie (tobie@public.cloak)
  18. # [03:01] * Joins: tobie (tobie@public.cloak)
  19. # [03:02] * Quits: tobie (tobie@public.cloak)
  20. # [03:04] * Joins: myakura (~myakura@public.cloak)
  21. # [03:08] * Joins: rhauck1 (~Adium@public.cloak)
  22. # [03:13] * Quits: rhauck (~Adium@public.cloak) (Ping timeout: 180 seconds)
  23. # [03:15] * Quits: rhauck1 (~Adium@public.cloak) (Ping timeout: 180 seconds)
  24. # [04:32] * Joins: dauwhe (~dauwhe@public.cloak)
  25. # [05:04] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
  26. # [05:05] * heycam is now known as heycam|away
  27. # [05:14] * Joins: dauwhe (~dauwhe@public.cloak)
  28. # [05:16] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
  29. # [05:32] * heycam|away is now known as heycam
  30. # [07:30] * Joins: teoli (~teoli@public.cloak)
  31. # [07:43] * Joins: teoli_ (~teoli@public.cloak)
  32. # [07:44] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  33. # [08:11] * Quits: teoli_ (~teoli@public.cloak) (Client closed connection)
  34. # [08:13] * Joins: zcorpan (~zcorpan@public.cloak)
  35. # [08:17] * Joins: dauwhe (~dauwhe@public.cloak)
  36. # [08:20] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  37. # [08:24] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  38. # [08:26] * Joins: dbaron (~dbaron@public.cloak)
  39. # [08:26] <dbaron> trackbot, start telecon
  40. # [08:26] * trackbot is preparing a teleconference.
  41. # [08:26] * Joins: RRSAgent (rrsagent@public.cloak)
  42. # [08:26] <RRSAgent> logging to http://www.w3.org/2013/09/11-css-irc
  43. # [08:26] <trackbot> RRSAgent, make logs member
  44. # [08:26] <RRSAgent> I have made the request, trackbot
  45. # [08:26] * Joins: Zakim (zakim@public.cloak)
  46. # [08:26] <trackbot> Zakim, this will be Style_CSS FP
  47. # [08:26] <Zakim> I do not see a conference matching that name scheduled within the next hour, trackbot
  48. # [08:26] <trackbot> Meeting: Cascading Style Sheets (CSS) Working Group Teleconference
  49. # [08:26] <trackbot> Date: 11 September 2013
  50. # [08:26] <dbaron> RRSAgent, make logs public
  51. # [08:26] <RRSAgent> I have made the request, dbaron
  52. # [08:26] <dbaron> Zakim, remind us in 10 hours to go home
  53. # [08:26] <Zakim> ok, dbaron
  54. # [08:33] * liam zakim, list
  55. # [08:33] * Zakim sees no active conferences and none scheduled to start in the next 15 minutes
  56. # [08:33] * liam too early (won't be there today in any case I think)
  57. # [08:44] * Joins: zcorpan (~zcorpan@public.cloak)
  58. # [08:45] * Joins: teoli (~teoli@public.cloak)
  59. # [08:51] * Quits: myakura (~myakura@public.cloak) (Client closed connection)
  60. # [08:51] * Joins: myakura (~myakura@public.cloak)
  61. # [08:52] * Joins: astearns (~astearns@public.cloak)
  62. # [08:53] * Quits: darktears (~darktears@public.cloak) (Client closed connection)
  63. # [08:55] * Joins: Mike_L (~Mike_L@public.cloak)
  64. # [08:55] * Parts: Mike_L (~Mike_L@public.cloak)
  65. # [08:58] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  66. # [09:02] <jdaggett> dbaron: can you enable the vidyo connection?
  67. # [09:03] * Joins: cyril (~cyril@public.cloak)
  68. # [09:06] <astearns> jdaggett: dbaron is still letting people in the building. we're about 1/3 present, people are still getting some breakfast
  69. # [09:07] <jdaggett> ok
  70. # [09:13] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  71. # [09:13] * Joins: zcorpan (~zcorpan@public.cloak)
  72. # [09:14] * Joins: krit (~krit@public.cloak)
  73. # [09:14] * Joins: shans__ (~shans@public.cloak)
  74. # [09:15] * krit thinks we should start with a discussion about responsive images
  75. # [09:15] <hober> shans: https://developer.apple.com/library/mac/documentation/CoreFoundation/Reference/CFTimeUtils/Reference/reference.html
  76. # [09:16] * Joins: ian (~ian@public.cloak)
  77. # [09:18] * Joins: israelh (~israelh@public.cloak)
  78. # [09:21] * Joins: sgalineau (~sgalineau@public.cloak)
  79. # [09:21] * Joins: yamamoto (~yamamoto@public.cloak)
  80. # [09:25] * Joins: michou (~mibalan@public.cloak)
  81. # [09:26] * Joins: projector (~projector@public.cloak)
  82. # [09:26] * Joins: glazou (~glazou@public.cloak)
  83. # [09:33] <jdaggett> what room are you guys in?
  84. # [09:33] <sgalineau> salle des fetes 123
  85. # [09:34] <TabAtkins> ScribeNick: TabAtkins
  86. # [09:34] * Joins: Rossen_ (~Rossen@public.cloak)
  87. # [09:34] * leaverou_away is now known as leaverou
  88. # [09:35] <TabAtkins> [not minuting the introductions]
  89. # [09:35] <jdaggett> is dbaron around?
  90. # [09:35] <dbaron> jdaggett, yes
  91. # [09:35] <sgalineau> yes
  92. # [09:35] <jdaggett> dbaron: what's the vidyo room?
  93. # [09:35] <TabAtkins> Topic: Agenda
  94. # [09:35] <dbaron> jdaggett, use PAR 123 Salle des Fêtes
  95. # [09:35] <dbaron> jdaggett, though we're not dialed in
  96. # [09:36] <dbaron> jdaggett, oh, we are dialed in :-)
  97. # [09:36] <Rossen_> yes
  98. # [09:36] <astearns> yes, john
  99. # [09:36] <sgalineau> you now have a booming voice
  100. # [09:36] <projector> yes we can hear you
  101. # [09:37] <projector> SUPER LOUD
  102. # [09:37] * Joins: Mads_Co3 (~Mads_Co3@public.cloak)
  103. # [09:38] * Joins: tantek (~tantek@public.cloak)
  104. # [09:38] <sgalineau> think of that Skype gizmo, but with 300W speakers
  105. # [09:38] <jdaggett> ok, i'll try and move away from the mike...
  106. # [09:38] <jdaggett> heh
  107. # [09:39] * Joins: kawabata (~kawabata@public.cloak)
  108. # [09:39] * Joins: leif (~lastorset@public.cloak)
  109. # [09:40] <TabAtkins> glazou: How much time do you need for Fonts?
  110. # [09:40] <jdaggett> for font load events, probably better to talk thurs am
  111. # [09:42] * Joins: SteveZ (~SteveZ@public.cloak)
  112. # [09:42] <sgalineau> Compositing&Blending is a small item; best at end of day Thur. so Rik can call in
  113. # [09:42] <dbaron> Present: Jet Villegas (Mozilla), Bert Bos (W3C), Håkon Lie (Opera), David Baron (Mozilla), Koji Ishii (Rakuten), Mihai Balan (Adobe), Sylvain Galineau (Adobe), Dirk Schultze (Adobe), Tantek Çelik (Mozilla), Ted O'Connor (Apple), Shane Stevens (Google), Ian Kirkpatrick (Google), Tab Atkins (Google), Lea Verou (Invited Expert), Simon Sapin (Mozilla), Leif Arne Storset (Opera), Kawabata (NTT), Yamamoto (NTT), Glenn Adams (Cox), Rossen Atanassov (Microsoft), fant
  114. # [09:42] <dbaron> asai (Mozilla), Israel Hilerio (Microsoft), Simon Pieters (Opera), Steve Zilles (Adobe), Daniel Glazman (Disruptive Innovations), Peter Linss (HP), Alan Stearns (Adobe), John Daggett (Mozilla, remotely)
  115. # [09:43] * heycam is now known as heycam|away
  116. # [09:49] <astearns> (agenda/schedule wrangling)
  117. # [09:49] <jdaggett> so someone is editing the agenda in the wiki?
  118. # [09:49] <TabAtkins> Agenda: Grid
  119. # [09:49] <fantasai> http://www.w3.org/TR/2013/WD-css3-grid-layout-20130910/
  120. # [09:50] * Joins: shans___ (~shans@public.cloak)
  121. # [09:50] <fantasai> http://lists.w3.org/Archives/Public/www-style/2013Aug/0353.html
  122. # [09:50] <fantasai> http://lists.w3.org/Archives/Public/www-style/2013Aug/0554.html
  123. # [09:53] <TabAtkins> fantasai: At tokyo we discussed the renaming of grid-definition-* to be under a grid-template-* prefix.
  124. # [09:53] <jdaggett> dbaron: the podium mikes aren't on
  125. # [09:53] <TabAtkins> fantasai: Didn't resolve on it.
  126. # [09:53] <dbaron> jdaggett, the podium mike is pointed at the room
  127. # [09:53] <TabAtkins> fantasai: Because these all define the explicit grid, we thought they should have a common prefix.
  128. # [09:53] <jdaggett> ah, purfect!
  129. # [09:53] <TabAtkins> fantasai: Any objections?
  130. # [09:54] * sgalineau too early for bikeshedding
  131. # [09:54] <TabAtkins> RESOLVED: Accept the grid-template-* renaming.
  132. # [09:54] <TabAtkins> fantasai: Next issue is about abspos children of grid containers.
  133. # [09:54] <TabAtkins> fantasai: Two issues.
  134. # [09:54] <TabAtkins> fantasai: First is static position of grid container children.
  135. # [09:55] <TabAtkins> fantasai: What we discussed among grid layout people is to make the static position to be determined as if it were the sole grid item in a fixed-size grid area whose padding edges coincide with the grid container.
  136. # [09:55] * Quits: shans__ (~shans@public.cloak) (Ping timeout: 180 seconds)
  137. # [09:55] <TabAtkins> fantasai: In effect, this will position the child of the grid in the top-left (start/start) corner by default, but you can use justify-self/align-self to move it around.
  138. # [09:55] <glazou>  /query SimonSapin
  139. # [09:56] <TabAtkins> fantasai: This isn't just for absposes relative to the grid; it's the staticpos, used when you're just a child of the grid.
  140. # [09:56] <TabAtkins> fantasai: This has the benefit that the alignment properties will have an effect - you can "center" it easily, for example.
  141. # [09:56] <TabAtkins> fantasai: So this gives you a little more power, but doesn't require any interaction with the layout of the rest of the grid.
  142. # [09:56] <TabAtkins> fantasai: So the one consideration with this is that it's not consistent with Flexbox.
  143. # [09:57] <TabAtkins> fantasai: Flexbox tries to find where the item would have been in the flow if it was a real flex child.
  144. # [09:57] <TabAtkins> fantasai: We could try to do that with Grid, but it's more complicated due to 2d. Or we can go back and change Flexbox to have this definition.
  145. # [09:58] * shans___ is now known as shans__
  146. # [09:58] <TabAtkins> TabAtkins: Last time we discussed this, strongest voice for current flexbox beahvior was Brad, so I'd like any decision to be contingent on him approving it later.
  147. # [09:58] <TabAtkins> sylvaing: Why did he want it?
  148. # [09:59] <TabAtkins> fantasai: He thought it was somewhat useful. But I think his use-cases generally you'd want things in a slightly different position anyway.
  149. # [09:59] <TabAtkins> fantasai: The advantage of this definition is that it's somewhat more simple, but it's not consistent with block flow's definition.
  150. # [09:59] <TabAtkins> fantasai: Same with Flexbox, though it's closer.
  151. # [09:59] * Joins: shans___ (~shans_@public.cloak)
  152. # [09:59] <TabAtkins> fantasai: Flexbox tries to be close to normal flow; I just don't think we have strong use-cases for this.
  153. # [10:00] <TabAtkins> TabAtkins: I approve of matching Grid here, so we keep the rule that a single column/row Grid is similar to a Flexbox.
  154. # [10:00] <TabAtkins> fantasai: Right, either that or try to copy Flexbox's behavior in Grid, whatever makes them consistent.
  155. # [10:01] <TabAtkins> fantasai: So I would like implementor opinions, or else I"ll make the decision myself.
  156. # [10:01] <TabAtkins> [summarizes the discussion again for dbaron, who was messing with the door]
  157. # [10:01] <TabAtkins> dbaron: Not doing what flow layout does sounds great to me.
  158. # [10:02] <TabAtkins> dbaron: Fine with me to do what Grid does for Flexbox.
  159. # [10:02] <TabAtkins> dbaron: I'd like to see testcases to see if there's already interop.
  160. # [10:02] <TabAtkins> TabAtkins: There is'nt - I know Blink doesn't follow the spec.
  161. # [10:02] <TabAtkins> fantasai: Moz doesn't quite either.
  162. # [10:02] <TabAtkins> dbaron: Fine with me, then.
  163. # [10:02] <TabAtkins> RESOLVED: Grid child staticpos is resolved as if it's the sole child, and copy the definition over to Flexbox.
  164. # [10:03] <TabAtkins> fantasai: Next abspos issue.
  165. # [10:03] <TabAtkins> fantasai: We discussed in Tokyo allowing the grid-placement properties to affect the position of an abspos item whose containing block is the grid container.
  166. # [10:04] <TabAtkins> fantasai: We talked about 'auto' indicating the padding edge of the grid container.
  167. # [10:04] <TabAtkins> fantasai: [re-explains it slower]
  168. # [10:05] * Quits: shans__ (~shans@public.cloak) (Ping timeout: 180 seconds)
  169. # [10:05] * Joins: tobie (tobie@public.cloak)
  170. # [10:06] <TabAtkins> dbaron: Does this allow anything that grid items can't do?
  171. # [10:06] <TabAtkins> TabAtkins: Somewhat. Grid items can't position onto the padding edge unless that's a grid line.
  172. # [10:06] <TabAtkins> dbaron: Is this required for anything?
  173. # [10:06] <TabAtkins> TabAtkins: Somewhat, yes - it helps address the "stuff on the grid" rather than "stuff in the grid" use-case.
  174. # [10:07] <TabAtkins> dbaron: This sounds like a decent chunk of new abspos functionality.
  175. # [10:07] * glazou 1st time I see Rod Stewart's music used as a door bell :-)
  176. # [10:07] <TabAtkins> dbaron: If there's a good reason for this, I'd expect to see more description in the spec about it.
  177. # [10:07] <TabAtkins> TabAtkins: Yeah, some of th enew thing we've added are lacking in description. Sounds good for me.
  178. # [10:08] * sgalineau glazou, because it's the 1st time you're in a room where 3 people remember who rod stewart is…?
  179. # [10:08] <TabAtkins> fantasai: [explains the details to szilles a little better]
  180. # [10:08] * glazou sgalineau aaaah yes you and I are so old dinosaurs (thinking TTWF)
  181. # [10:09] <TabAtkins> szilles: Why isn't there a property that changes from content to padding edge instead?
  182. # [10:09] <TabAtkins> fantasai: There's not one for abspos in general, but if we add one it'll apply here.
  183. # [10:09] * Quits: israelh (~israelh@public.cloak) (Ping timeout: 180 seconds)
  184. # [10:09] <TabAtkins> szilles: I'm just extending what David's said - it seems strange to do it this way with specific grid functionality without a switch in general.
  185. # [10:09] * glazou Florian will attend the meeting only friday
  186. # [10:10] <TabAtkins> RESOLVED: Add more examples to the abspos section.
  187. # [10:11] <TabAtkins> fantasai: Peter had a proposal that using the ascii-art template should imply the creation of named lines that correspond to he named areas' edges.
  188. # [10:12] <TabAtkins> fantasai: [shows the example in the spec for grid-template-areas]
  189. # [10:12] <TabAtkins> fantasai: So here there'd be four named lines generated by the "main" area - "main-start" and "main-end" in the column dimensions, and the same in the row dimension.
  190. # [10:12] * Quits: cyril (~cyril@public.cloak) ("Page closed")
  191. # [10:12] <TabAtkins> fantasai: This seemed liek a pretty straightforward thing to do, so we added it to the spec.
  192. # [10:12] <dbaron> http://www.w3.org/TR/2013/WD-css3-grid-layout-20130910/#implicit-named-lines
  193. # [10:13] <TabAtkins> fantasai: This acts the same as explicitly named lines, except that it doesn't show up in the serialization of grid-template-rows/etc.
  194. # [10:13] <TabAtkins> ACTION tab to add examples to implicit named lines.
  195. # [10:13] * trackbot is creating a new ACTION.
  196. # [10:13] <trackbot> Created ACTION-577 - Add examples to implicit named lines. [on Tab Atkins Jr. - due 2013-09-18].
  197. # [10:14] <TabAtkins> astearns: What happens if you have one of those templates and a grid-template-row with the same name?
  198. # [10:14] <TabAtkins> fantasai: You just end up with two lines of that name, which is already possible to do explicitly, so it's fine.
  199. # [10:14] * Joins: israelh (~israelh@public.cloak)
  200. # [10:15] <TabAtkins> RESOLVED: Named areas create implicitly named lines.
  201. # [10:16] <TabAtkins> fantasai: The other side of Peter's proposal is that if you create four named lines with the appropriate "foo-start/end" names, it would implicitly create a named area.
  202. # [10:16] <TabAtkins> fantasai: This is nice and symmetrical, but it has some problems. Currently you can't have two slots of the same name - it's invalid at the grammar level.
  203. # [10:16] <TabAtkins> fantasai: But with this implicit areas, you could potentially create multiple areas of the same name.
  204. # [10:17] <TabAtkins> fantasai: Also, since you can have multiple lines of the same name, you have to have rules for deciding *which* foo-start line you use to generate the "foo" area.
  205. # [10:17] <TabAtkins> plinss: All those complications exist anyway - you can also create two lines named "foo-start", and if I address it by lines, I have to resolve that.
  206. # [10:18] <TabAtkins> fantasai: We have rules about how to resolve multiple lines. But we don't currently have those rules for named areas.
  207. # [10:18] <TabAtkins> astearns: But you *could* just use the same rules.
  208. # [10:19] <TabAtkins> TabAtkins: So it wouldn't really create areas, it would just desugar into the appropriate named lines.
  209. # [10:19] <TabAtkins> plinss: Without this, you need to track named lines and named areas independently. With this, you just only store lines, and the ascii syntax just conveniently defines lines.
  210. # [10:20] <TabAtkins> fantasai: So you might end up with a slot in your template named "main", but if you make more "main-start" lines it might not actually land in that slot.
  211. # [10:20] <TabAtkins> astearns: So grid-template-rows/columns wins over areas?
  212. # [10:21] <TabAtkins> TabAtkins: Not necessarily - you'd just use the normal "first line of the name" rule, the source of that line doesn't matter.
  213. # [10:21] <TabAtkins> szilles: So while you can have multiple lines of the sam ename, as far as areas go, only one is useful.
  214. # [10:22] <TabAtkins> RESOLVED: Make named areas just desugar into named lines.
  215. # [10:23] <TabAtkins> TabAtkins: We'll need to make sure that the grammar isn't ambiguous.
  216. # [10:23] <TabAtkins> fantasai: I think we just need to keep the current prioriziation: given "grid-row: foo;", first look for a "foo-start" or "foo-end" named line, then look for "foo".
  217. # [10:24] <TabAtkins> szilles: IN some of the shorthands, the default for the end value is the same as the start value. That works for areas, but not always for lines.
  218. # [10:24] <TabAtkins> fantasai: It still works, depending on your naming.
  219. # [10:25] <TabAtkins> [darn, missing something]
  220. # [10:25] <TabAtkins> fantasai: Say "grid-row: main". We'll then look for "main-start" or "main-end", depending.
  221. # [10:25] <TabAtkins> fantasai: If you say "grid-row: main-start", we'll first look for "main-start-start" and "main-start-end", which probably don't exist, so we'll look for "main-start".
  222. # [10:26] <TabAtkins> szilles: Just saying you need to make sure to handle the defaults properly as you translate them.
  223. # [10:27] <TabAtkins> fantasai: Next issue was about collapsing grid tracks. We tried to come up with some ideas, but don't know what to do.
  224. # [10:27] <TabAtkins> fantasai: But first, subgrids.
  225. # [10:27] <TabAtkins> fantasai: One section we fleshed out was the subgrid section.
  226. # [10:28] <TabAtkins> fantasai: The goal of subgrids is that a lot of times you'll have some portion of a grid that you want to have a border or padding, or some semantic grouping element.
  227. # [10:28] <TabAtkins> fantasai: There is an example in the spec with a bunch of labels and inputs, and it's a jumble of siblings.
  228. # [10:28] <TabAtkins> fantasai: Really, you want them to jsut be in a list. But you couldn't make that work with Grid, because of the <li> containers.
  229. # [10:28] <TabAtkins> fantasai: So the idea of subgrid is to help with this.
  230. # [10:29] <TabAtkins> fantasai: You can currently have nested grids, but they don't interact - the two grids are independent.
  231. # [10:29] <TabAtkins> fantasai: Subgrid lets the child grid align with th eparent grid.
  232. # [10:29] <TabAtkins> fantasai: [explains the spec example]
  233. # [10:30] <TabAtkins> fantasai: Instead of giving the child its own rows and columns, we give it a "subgrid" value.
  234. # [10:30] <TabAtkins> fantasai: You can give the subgrid border/margin/padding, and that automatically gets taken into account.
  235. # [10:31] <TabAtkins> fantasai: The rules are that the number of explicit tracks in a subgrid are given by the grid's own span.
  236. # [10:31] <TabAtkins> fantasai: If the grid has an auto span, you lay it out to find out how many tracks it'll have, and then use that as its span.
  237. # [10:32] <TabAtkins> fantasai: The grid-placement properties for subgrid items are scoped to the subgrid's lines.
  238. # [10:32] <TabAtkins> fantasai: So positioning something at 1/1 doesn't put it at the parent's 1/1, it's the first lines in the subgrid.
  239. # [10:32] <TabAtkins> fantasai: [draws an example]
  240. # [10:33] <jdaggett> dbaron: ok, gotta run
  241. # [10:33] <jdaggett> dbaron: i'll dial back in around 2:30 your time
  242. # [10:33] <dbaron> jdaggett, ok
  243. # [10:34] <TabAtkins> fantasai: For making things easy, the subgrid is always stretched to the columns it covers.
  244. # [10:34] <TabAtkins> fantasai: You can specify explicit named lines in the subgrid - these lines are only exposed in the subgrid.
  245. # [10:35] <TabAtkins> fantasai: If you have an explicit span and position for the subgrid, you know exactly which lines you correspond to in the parent grid, and in that case you inherit the parent's line names as well.
  246. # [10:35] <TabAtkins> fantasai: We only do this in this case, because otherwise you dont' know exactly what tracks you need.
  247. # [10:36] <TabAtkins> glazou: This seems complex. Are implementors actually going to do this?
  248. # [10:36] <TabAtkins> TabAtkins: In the grid layout calls, MS was okay with it.
  249. # [10:36] <dbaron> fantasai: should be in this level because otherwise people will do horrible things removing elements from the markup
  250. # [10:37] * Quits: tobie (tobie@public.cloak)
  251. # [10:37] <TabAtkins> astearns: Would it make sense to have a simpler version of subgrid, without additional lines?
  252. # [10:37] <TabAtkins> glazou: I'm just really afraid this will be at-risk.
  253. # [10:38] <TabAtkins> fantasai: Problem is right now Grid makes it *impossible* to do many layouts without stripping out your good markup.
  254. # [10:38] <TabAtkins> fantasai: subgrid makes it *possible*.
  255. # [10:38] <TabAtkins> szilles: Basic subgrid (without borders/etc) isn't much different from plain grid, right?
  256. # [10:38] <TabAtkins> fantasai: Interaction of padding/etc is actually quite straightforward.
  257. # [10:40] <TabAtkins> fantasai: The hard part is the interaction with the sizing algorithm.
  258. # [10:40] <TabAtkins> Rossen_: Priority-wise this'll be lower.
  259. # [10:40] <TabAtkins> fantasai: So that was subgrids.
  260. # [10:41] <sgalineau> was there some kind of resolution for this?
  261. # [10:41] <TabAtkins> fantasai: Another issue was about the "resolved value" of grid-template-rows/columns.
  262. # [10:41] <TabAtkins> No.
  263. # [10:41] * TabAtkins is planning to interrupt in a sec.
  264. # [10:41] <astearns> probably the resolution should be to mark subgrid as at risk
  265. # [10:41] * Quits: jdaggett (~jdaggett@public.cloak) (Ping timeout: 180 seconds)
  266. # [10:42] <TabAtkins> dbaron: It might be nice to both mark the whole of subgrid at-risk, and also mark "optional" parts of it at-risk, so it's not too scary for implementors.
  267. # [10:43] <TabAtkins> szilles: Can you scroll a subgrid?
  268. # [10:43] <TabAtkins> fantasai: Yes... that would be something to mark as at-risk.
  269. # [10:43] <astearns> tabatkins: it doesn't complicate the algorithm, it just adds these specific complications to the algorithm
  270. # [10:44] <TabAtkins> Rossen_: We were thinking of doing initial layout of the subgrid, nicely aligned with the parent grid, and then scrolling is just a window on top of the parent grid.
  271. # [10:44] <TabAtkins> Rossen_: There should be no additional constraints or problems.
  272. # [10:45] <TabAtkins> szilles: Another possibility is to not allow implicit placement of subgrids.
  273. # [10:47] <TabAtkins> fantasai: The syntactic switch for auto span vs explicit span is already there in the syntax, so we can't just not recognize it. :/
  274. # [10:47] <TabAtkins> fantasai: But we can go through and see what we can mark at-risk. But I do believe the basic core functionality does need to be there.
  275. # [10:47] <TabAtkins> RESOLVED: Leave subgrids in, mark it and its component parts individually as at-risk.
  276. # [10:47] <TabAtkins> fantasai: Back to getComputedStyle.
  277. # [10:47] <TabAtkins> fantasai: For compat with MS's impl, we're having gCS return the used value rather than the computed value of these properties.
  278. # [10:47] <TabAtkins> fantasai: We didn't see a clear path to make this consistent, and gCS is already inconsistent anyway, so whatever.
  279. # [10:48] <TabAtkins> fantasai: Any concerns?
  280. # [10:48] <TabAtkins> dbaron: I'm in favor of having them all be computed values, but I guess I"m okay
  281. # [10:48] <TabAtkins> fantasai: We felt the same wya.
  282. # [10:49] <TabAtkins> Rossen_: Tooling was a big thing for us.
  283. # [10:49] <TabAtkins> RESOLVED: gCS returns used values for grid-template-rows/columns.
  284. # [10:50] <TabAtkins> fantasai: Naming issue - some people suggested we call them "grid fields" rather than "grid areas", and adjust the property names accordingly.
  285. # [10:51] <tantek> +1 to grid areas
  286. # [10:51] <TabAtkins> szilles: I believe Peter originally brought this up as being closer to what print grids use.
  287. # [10:51] <TabAtkins> leaverou: I think "areas" make more sense.
  288. # [10:51] <TabAtkins> Rossen_: I think we felt the same way - "area" just feels better.
  289. # [10:52] <TabAtkins> sgalineau: Even with the historical argument, it's weird to only pick one historical name, rather than all of them.
  290. # [10:52] <TabAtkins> glenn: Use "cell"?
  291. # [10:52] <TabAtkins> fantasai: Confusing with tables, and we already use that to mean the intersection of two tracks.
  292. # [10:52] <TabAtkins> RESOLVED: Keep 'grid-area'.
  293. # [10:55] <TabAtkins> <br dur=15m>
  294. # [10:58] * Quits: Rossen_ (~Rossen@public.cloak) (Ping timeout: 180 seconds)
  295. # [11:01] * Joins: oyvind (~oyvinds@public.cloak)
  296. # [11:03] * Quits: astearns (~astearns@public.cloak) (Client closed connection)
  297. # [11:16] * Joins: astearns (~astearns@public.cloak)
  298. # [11:17] <astearns> (more agenda wrangling)
  299. # [11:19] <TabAtkins> Topic: Style attribute
  300. # [11:19] <TabAtkins> fantasai: We have one test failure.
  301. # [11:19] <TabAtkins> fantasai: Interaction with XML namespaced attributes.
  302. # [11:19] <TabAtkins> dbaron: Interaction with xml:base and the ordering of attributes.
  303. # [11:20] <TabAtkins> fantasai: My reccomendation is that we just take it the impl report and explain it's not a failure of style attributes, it's a failure of xml:base.
  304. # [11:20] <fantasai> http://test.csswg.org/suites/css-style-attr/nightly-unstable/report/results.html
  305. # [11:20] <TabAtkins> fantasai: There's one impl that passes, so it's theoretically possible.
  306. # [11:21] <TabAtkins> dbaron: It's the interaction of relative urls in style='' and xml:base. The test has xml:base both before and after the style='', and it works in some and not others.
  307. # [11:21] <TabAtkins> dbaron: Turns out nobody actually cares about xml:base.
  308. # [11:21] <TabAtkins> dbaron: I think we should just argue that this isn't our problem, and go to Rec with it.
  309. # [11:21] <zcorpan> {} in style="" in quirks mode: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2517
  310. # [11:22] <sgalineau> it's a valid test, but if we can REC with it failing and it doesn't interop why does it have to be in the test suite?
  311. # [11:22] <TabAtkins> dbaron: Is this quirk only in Firefox, or in everyone?
  312. # [11:22] <TabAtkins> dbaron: It used to be present in everyone.
  313. # [11:23] <TabAtkins> zcorpan: Blink/WebKit and IE now pass (dont' have the quirk).
  314. # [11:23] <TabAtkins> tantek: Sounds like a Moz bug report, not a spec issue then.
  315. # [11:23] <TabAtkins> fantasai: So are the chairs okay with taking this to rec with the failure?
  316. # [11:24] <TabAtkins> sgalineau: Why have ethe test at all if we don't care?
  317. # [11:24] <TabAtkins> tantek: Historically, we've said that CSS "works" with XML.
  318. # [11:24] <TabAtkins> tantek: I agree with presenting it as a failure that we don't care about.
  319. # [11:24] <TabAtkins> tantek: Better to be upfront and point it out.
  320. # [11:25] <TabAtkins> chrisL: does this work in HTML? We can argue with that too..
  321. # [11:25] <TabAtkins> dbaron: And it works in CSS with one ordering of the two, just not the other.
  322. # [11:25] * sgalineau cue Twilight Zone theme
  323. # [11:25] * Joins: cyril (~cyril@public.cloak)
  324. # [11:25] <TabAtkins> krit: Also, SVGWG agreed not to use xml:base anymore.
  325. # [11:26] <TabAtkins> chrisl: And it works with the ordering that people use in practice (xml:base first?), so it's really an edge case.
  326. # [11:26] <tantek> apparently all your xml:base are not belong to us
  327. # [11:28] <TabAtkins> plinss: I kinda question whether this belongs in this testsuite.
  328. # [11:28] <TabAtkins> TabAtkins: I think it's fine here - we're not unit-testing, we do need to test interaction with techs we purport to be compatible with.
  329. # [11:28] <TabAtkins> fantasai: And we have tests for HTML <base>, so it's appropriate both ways.
  330. # [11:28] <TabAtkins> glazou: So consensus to move to PR?
  331. # [11:28] <TabAtkins> RESOLVED: Take Style Attribute to PR.
  332. # [11:29] <TabAtkins> glazou: Who's doing the transition call?
  333. # [11:29] <TabAtkins> glazou: Bert.
  334. # [11:29] <fantasai> ScribeNick: fantasai
  335. # [11:29] <fantasai> Topic: Preprocessor / Tools for spec writing
  336. # [11:29] * Joins: Koji (~Koji@public.cloak)
  337. # [11:30] <fantasai> ChrisL: One advantage of Tab's preprocessor over Bert's is that it doesn't require Member access
  338. # [11:30] * sgalineau now that I no longer edit anything there is a preprocessor called Bikeshed. Sigh.
  339. # [11:30] <fantasai> TabAtkins: Well, I still use the biblio.ref file that's Member-only, but I have a chached copy on github
  340. # [11:30] <fantasai> TabAtkins: New processor, wrote mainly so I can use Markdown-style paragraphs
  341. # [11:30] <fantasai> TabAtkins: Called it Bikeshed, has nice new features
  342. # [11:31] <fantasai> TabAtkins: Like Bert's preprocessor, has automatic linking
  343. # [11:31] <fantasai> TabAtkins: Can use <i> or <a> for cross-linking
  344. # [11:31] <fantasai> TabAtkins: Automatic ID generation, same biblio entry generation
  345. # [11:31] <fantasai> TabAtkins: Tried to copy Bert's functionality as much as possible
  346. # [11:31] <fantasai> TabAtkins: Additional functionality includes removing all header data, replace with a <pre> block that gives all the relevant data
  347. # [11:32] <fantasai> TabAtkins: Similarly for propdef tables
  348. # [11:32] <fantasai> TabAtkins: Auto-generates all the boilerplate
  349. # [11:32] <sgalineau> https://github.com/tabatkins/bikeshed
  350. # [11:32] <fantasai> dbaron: Can you tweak the boilerplate if necessary?
  351. # [11:32] <fantasai> TabAtkins: Yes
  352. # [11:32] <fantasai> TabAtkins: Markdown-style paragraphs -- don't need <p> tags, makes text readmore cleanly
  353. # [11:33] <fantasai> TabAtkins: Propdef tables much easier to write
  354. # [11:33] * Joins: ChrisL (clilley@public.cloak)
  355. # [11:33] * fantasai SimonSapin can you drop a link to Tab's docs?
  356. # [11:33] <fantasai> TabAtkins: If you're using sublime or ?, have a highlight file
  357. # [11:33] <astearns> http://dev.w3.org/csswg/css-variables/Overview.src.html for example of boilerplate
  358. # [11:33] <SimonSapin> https://github.com/tabatkins/bikeshed
  359. # [11:33] <SimonSapin> https://github.com/tabatkins/bikeshed/tree/master/docs
  360. # [11:33] <fantasai> dbaron: Missing 'Animatable' lines
  361. # [11:34] <fantasai> TabAtkins: Bert's prepprocessor had two auto-link shortcuts, 'f' and ''foo''
  362. # [11:34] <ChrisL> rrsagent, here
  363. # [11:34] <RRSAgent> See http://www.w3.org/2013/09/11-css-irc#T09-30-48
  364. # [11:34] <dbaron> https://github.com/tabatkins/bikeshed/tree/master/docs/markup.md
  365. # [11:34] <fantasai> TabAtkins: I've added a bunch more, e.g. linking to productions
  366. # [11:35] <dbaron> you should say the thing you said about not using tokens in the docs
  367. # [11:35] <fantasai> TabAtkins: The big feature is cross-spec cross-references
  368. # [11:35] <SimonSapin> \o/
  369. # [11:35] <fantasai> TabAtkins: Even outside of CSS -- any spec that Shepherd processes can be auto-linked
  370. # [11:35] <fantasai> TabAtkins: Same way as local link
  371. # [11:36] <fantasai> TabAtkins: Really helpful, because it will also catch lots of broken links
  372. # [11:36] <fantasai> TabAtkins: or links to the wrong place
  373. # [11:36] <fantasai> TabAtkins: Bikeshed throws a bunch of errors. Annoying on first convert, but helps you fix lots of things that were broken
  374. # [11:37] <fantasai> TabAtkins: Comon problem that was missed by old processor -- multiple auto-link targets, used to pick first one, but that was very often wrong (e.g. linking to ''none'' keyword)
  375. # [11:37] <fantasai> TabAtkins: Help docs
  376. # [11:37] <fantasai> TabAtkins: Another fixup is <pre> block indent stripping
  377. # [11:38] <fantasai> TabAtkins: If you want to indent your sections, but have a pre block, can't indent the pre contents.
  378. # [11:38] <fantasai> TabAtkins: Bikeshed strips the leading indentation
  379. # [11:38] <fantasai> TabAtkins: So you can indent your <pre> in source, and have it publish correctly
  380. # [11:38] <fantasai> TabAtkins: Also parses IDL blocks
  381. # [11:39] <fantasai> TabAtkins: Automatically adds definitions to all of them so can auto-link to them more easily
  382. # [11:39] <fantasai> TabAtkins: Relatively easy to install, just a few dependencies, so can run it locally.
  383. # [11:39] <fantasai> TabAtkins: Also can use server, just like Bert's -- it's set up on csswg.org
  384. # [11:39] <fantasai> plinss: Also have automatic generation on csswg.org
  385. # [11:40] <fantasai> TabAtkins: If you do a commit with just the src file, will generate the HTML file on the server
  386. # [11:40] <fantasai> plinss: Nice thing about that is no commits of generated files
  387. # [11:40] <SimonSapin> \o/ again
  388. # [11:40] <fantasai> plinss: It will also regen all the other specs that depend on it
  389. # [11:41] <fantasai> fantasai: It's actually nice to have the generated version in version control, so that you can link to specific revisions
  390. # [11:41] <fantasai> dbaron: Would prefer if robot committed the regenned versions
  391. # [11:42] <fantasai> Alan: Concerned about case where robot generates a version, but there's an error, and I never hear about it
  392. # [11:42] <fantasai> TabAtkins: If you want to start using Bikeshed, you do need to know about auto-linking attributes
  393. # [11:42] * glazou can we discuss changing the name of bikeshed ?-)
  394. # [11:42] <fantasai> TabAtkins: Usually not require,d but sometimes required
  395. # [11:43] <fantasai> TabAtkins: Auto-link targets are typed,
  396. # [11:43] <fantasai> TabAtkins: CSS type sare usually auto-inferred
  397. # [11:43] <fantasai> TabAtkins: But in some cases need to say what type e.g.
  398. # [11:43] <fantasai> attribute DOJString <dfn attribute>name</dfn>;
  399. # [11:43] <glazou> s/DOJString/DOMString
  400. # [11:43] <fantasai> TabAtkins: Need clarifications when have e.g. term and keyword that have same text (like 'inherit')
  401. # [11:44] <fantasai> TabAtkins: For more disambiguation, you can declare what a value or attribute or descriptor belongs to
  402. # [11:44] <fantasai> TabAtkins: by adding a 'for' attribute
  403. # [11:44] <fantasai> TabAtkins: e.g. <a for=flex>none</a>
  404. # [11:44] <fantasai> TabAtkins: Will link to the correct <dfn>none</dfn>, rather than random one.
  405. # [11:44] <fantasai> TabAtkins: Only need to do this if it's ambiguous
  406. # [11:44] <fantasai> TabAtkins: Other than that, completely usable. Using it on most spec's that I've touched in last few months
  407. # [11:45] <fantasai> TabAtkins: Several other people are using it, too
  408. # [11:45] <fantasai> krit: [describes fxtf preprocessing toolchain]
  409. # [11:45] * sgalineau it's preprocessors all the way down
  410. # [11:45] <fantasai> plinss: If there's a spec that bikeshed isn't linking to, trivial to add to Shepherd
  411. # [11:46] <fantasai> krit: Robin has a spec link database
  412. # [11:46] <fantasai> TabAtkins: [...]
  413. # [11:46] <fantasai> TabAtkins: Pulling from specref repo might be fine
  414. # [11:46] <fantasai> TabAtkins: ... anchors to terms
  415. # [11:47] <fantasai> TabAtkins: If you converto over to bikeshed, we export most things (like properties, values), but don't export <dfn> terms by default
  416. # [11:47] <fantasai> TabAtkins: Because specs often define spec-internal terminology
  417. # [11:48] <fantasai> TabAtkins: But can export specific terms by adding export boolean to <dfn> or <dl> containing <dfn>s.
  418. # [11:48] * sgalineau 'Never go full bikeshed'
  419. # [11:48] <tantek> TabAtkins: "I will not entertain any naming debates about bikeshed."
  420. # [11:48] <fantasai> dbaron: Does it do auto-linking without network access
  421. # [11:48] <fantasai> plinss: Downloads data from Shepherd
  422. # [11:49] * Quits: shans___ (~shans_@public.cloak) (Client closed connection)
  423. # [11:49] <fantasai> TabAtkins: Doesn't update yet
  424. # [11:49] * Joins: shans__ (~shans_@public.cloak)
  425. # [11:50] <fantasai> fantasai: Maybe just set up a cron job to commit an update of the data every day
  426. # [11:50] <fantasai> TabAtkins: That would be easy, but won't update people's comps
  427. # [11:50] <fantasai> dbaron: But I could have my auto-update script pull the bikeshed repo
  428. # [11:50] <fantasai> ...
  429. # [11:50] <fantasai> TabAtkins: If you have issues inline in your specs, will generate index of them
  430. # [11:50] <dbaron> ImportError: No module named widlparser.widlparser
  431. # [11:51] <fantasai> TabAtkins: Also, generates links anchoring to section headings etc.
  432. # [11:52] <fantasai> Alan: If you only checkin the source, will auto-generate the processed copy
  433. # [11:52] <fantasai> alexmog: Will it also update...
  434. # [11:52] <fantasai> plinss: Anything that server generates, it will regenerate everything
  435. # [11:52] <glazou> s/alexmog/astearns
  436. # [11:52] <fantasai> astearns: There's a cross-link between shapes and ?. If I change one...
  437. # [11:52] <fantasai> TabAtkins: [...]
  438. # [11:53] <fantasai> plinss: Another nice thing is that, because has extra data about definition types and what they're for, have been improving Shepherd's spec processor
  439. # [11:54] <fantasai> TabAtkins: We will be able to have an index of all CSS at-rules, properties, etc.
  440. # [11:54] <fantasai> TabAtkins: Everybody wants this
  441. # [11:54] <fantasai> TabAtkins: Various efforts to do this, but can auto-gen it now.
  442. # [11:54] <fantasai> plinss: It can be auto-genned on the server, live
  443. # [11:54] <fantasai> Bert: we have a list, but it's auot-generated every 24 hours
  444. # [11:55] <fantasai> TabAtkins: It's just a property list. Can get more info
  445. # [11:55] <fantasai> Bert: But only for specs using bikeshed
  446. # [11:55] <astearns> s/?. If I change one/masking. If I change one and masking needs to be updated, there should be a notification for Dirk/
  447. # [11:55] <fantasai> plinss: Shepherd is already parsing all he specs all the time
  448. # [11:56] <fantasai> TabAtkins: Most things not with bikeshed, won't have as rich data
  449. # [11:56] <fantasai> TabAtkins: but can still get a lot of it out
  450. # [11:56] <fantasai> plinss: Shepherd is getting better, e.g. now can parse IDL
  451. # [11:56] <fantasai> TabAtkins: If anyone wnats help running locally or anything, elt me know
  452. # [11:57] <fantasai> TabAtkins: I can also help with converting over your spec
  453. # [11:57] <fantasai> fantasai: Can you make the module template for bikeshed?
  454. # [11:57] <fantasai> Bert: Your documents, they don't use HTML as input
  455. # [11:57] <fantasai> TabAtkins: They use almost HTML
  456. # [11:58] <fantasai> Bert: I like my documents to be valid HTML
  457. # [11:58] <fantasai> TabAtkins: That's fine, just don't use the shorthand syntax
  458. # [11:58] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  459. # [11:58] * Joins: ChrisL (clilley@public.cloak)
  460. # [11:58] <fantasai> Bert: One criteria for mine was that the input can be valid HTML
  461. # [11:58] <fantasai> TabAtkins: Yes, saw your goals and tried ot implementin bikeshed.
  462. # [11:59] <fantasai> TabAtkins: Anything you can do shorthand in Bikeshed, can do longhand as well
  463. # [11:59] <fantasai> krit: Markdown?
  464. # [11:59] <dbaron> TabAtkins: and has good rerun capabilities
  465. # [11:59] <dbaron> (running on its own output)
  466. # [11:59] <fantasai> TabAtkins: Starting a new line of text after a blank line will generate <p>, unless you flip option to not do that
  467. # [12:00] <SimonSapin> SimonSapin: it’s not actually Markdown, just Mardown-style paragraphs
  468. # [12:00] <SimonSapin> TabAtkins: yes
  469. # [12:00] <fantasai> http://api.csswg.org/bikeshed/
  470. # [12:01] <fantasai> Topic: CSS Style Declarations
  471. # [12:01] <glazou> http://lists.w3.org/Archives/Public/www-style/2013Aug/0431.html
  472. # [12:01] * dbaron is glad TabAtkins wrote bikeshed, but hasn't had the chance to try it yet
  473. # [12:01] * fantasai asks btw if we have scheduled transition calls for Cascade?
  474. # [12:01] <fantasai> dbaron: Issue is mostly about how CSSOM deals with !important
  475. # [12:01] <fantasai> dbaron: We used to have interop except Presto
  476. # [12:02] <fantasai> dbaron: Except zack changed how Gecko works to match Presto
  477. # [12:02] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  478. # [12:02] * Joins: ChrisL (clilley@public.cloak)
  479. # [12:02] <fantasai> dbaron: Fundamental issue is what model is for element.style.setProperty or element.style.foo
  480. # [12:02] <fantasai> =
  481. # [12:03] <fantasai> dbaron: In a style sheet, if you write p { color: green !important; color: red; }
  482. # [12:03] <fantasai> dbaron: You get green
  483. # [12:03] <fantasai> dbaron: Even though red is afterwrad, you wrote !important on the green, so you get green
  484. # [12:03] <fantasai> dbaron: So if you ask for color in that declaration block, you'd get the first declaration
  485. # [12:04] <fantasai> dbaron: My previous mental model for how this works is that, you are essentially appending another declaration to the block.
  486. # [12:04] <fantasai> dbaron: Suppose you say p.style.color = 'purple'
  487. # [12:04] <fantasai> ...?
  488. # [12:04] <fantasai> dbaron: Multiple questions
  489. # [12:05] <fantasai> dbaron: OM no longer has 'color: red', because only maintains one declaration for any given property
  490. # [12:05] <fantasai> dbaron: So by the time we have OM, no longer have 'color: red'.
  491. # [12:05] <fantasai> dbaron: So when you do p.setProperty(color, purple)
  492. # [12:05] <glazou> glazou: the question is "does the absence of the importance means preserve existing importqnce?"
  493. # [12:05] <fantasai> dbaron: In Webkit/IE/early Gecko
  494. # [12:05] <fantasai> dbaron: This was equivalent to appending a declaration
  495. # [12:05] <fantasai> dbaron: You would not keep purple, because have !important declaration
  496. # [12:06] <fantasai> dbaron: Presto/new-webkit drops the !important declaration and replaces it with purple declaration
  497. # [12:06] <fantasai> dbaron: Ther'e sn obscure use cases for ...
  498. # [12:07] * Bert maybe p.style.color.important = purple?
  499. # [12:07] <fantasai> glazou: If importance is not mentioned in setProperty, it sets the property to the value without importance; doesn't preserve existing importance.
  500. # [12:07] <fantasai> glazou: CSS editors online and offline are base don that behavior
  501. # [12:08] <fantasai> TabAtkins: dbaron's says that setting prop, efectively appends to block, get whatever behavior out of that
  502. # [12:08] <fantasai> TabAtkins: Othe rmodel is finding exiting declaration and replaces its value
  503. # [12:08] <fantasai> TabAtkins: Argue for that because API exposed is one for a single declaration, not a list of declarations
  504. # [12:08] <fantasai> TabAtkins: list-like behavior only shows up in this one particular case
  505. # [12:09] <fantasai> TabAtkins: Don't think we should have this corner case dictate the underlying model
  506. # [12:09] <fantasai> dbaron: More things to think about --
  507. # [12:09] <fantasai> dbaron: When you do setProperty(color,purple)
  508. # [12:09] <fantasai> dbaron: Can get green !important, purple, or purple !important
  509. # [12:10] <sgalineau> fwiw i always thought of style as showing the resolved cascaded set of declarations; the whole !important business does feel like it's another API entirely.
  510. # [12:10] <fantasai> dbaron: Think third option should not be
  511. # [12:10] <fantasai> glazou: I agree with dbaron
  512. # [12:11] <fantasai> dbaron: Don't think we should change the existing API to distinguish betwen omitted argument and empty string, particularly because original API require dall three arguments.
  513. # [12:11] <fantasai> ?: Are there browsers that require third arguments?
  514. # [12:11] <fantasai> dbaron: Gecko did for awhile, so there is a big pile of exisitng ocntent that uses the third argument because it was required.
  515. # [12:12] <fantasai> glazou: I think we're having discussion because where' having setProperty, also setPropertyValue and setPropertyImportance
  516. # [12:12] <fantasai> dbaron: Whole idea of this being unordered set of things doesn't fly anymore
  517. # [12:12] <fantasai> dbaron: All implementations maintain it as ordered
  518. # [12:13] <fantasai> dbaron: We need the ordering if we are going to do logical properties
  519. # [12:13] <leaverou> s/setPropertyImportance/setPropertyPriority/
  520. # [12:13] <fantasai> ?: Spec describes an order
  521. # [12:13] <fantasai> dbaron: Yes. Not sure it's correct, but does describe an order
  522. # [12:13] <fantasai> dbaron: Behavior you get in some cases is weird, because of finding an existing case and making it not (??)
  523. # [12:13] <fantasai> dbaron: We're really not following the model that it's logically append
  524. # [12:14] <fantasai> dbaron: Because if there's an existing declaration, replacing parts of it.
  525. # [12:14] <fantasai> dbaron: I would be fine with SetPropertyValue/SetPropertyPriority
  526. # [12:14] <astearns> I think last two ?: should be s/?:/zcorpan:/
  527. # [12:14] <fantasai> dbaron: Would much prefer that to distinguishing emptystring vs non-vlaue
  528. # [12:14] <fantasai> s/?/zcorpan/
  529. # [12:15] * fantasai thanks astearns, I was just blanking on that
  530. # [12:15] <fantasai> ...
  531. # [12:15] <fantasai> zcorpan: Change setProperty to do what IE does
  532. # [12:15] <fantasai> dbaron: Is everyone ok with changing to IE/WebKit behavior, behaves mostly like appending?
  533. # [12:15] <fantasai> zcorpan: I'm ok with that
  534. # [12:15] <fantasai> TabAtkins: Yeah
  535. # [12:16] <fantasai> RESOLVED: setProperty's handling of importance logically behaves same as appending a declaraiton (like IE/WebKit)
  536. # [12:16] <fantasai> RESOLVED: add a setPropertyValue and setPropertyPriority api
  537. # [12:17] <fantasai> ChrisL: David's been doing this for a long time and seems to know what he's doing, so let's just all agree with him.
  538. # [12:17] <TabAtkins> setPropertyValue appends a new declaration, stealing the importance from the currently winning decl of that property if it exists.
  539. # [12:18] <TabAtkins> setPropertyPriority appends, stealing value. If no decl for that property yet, either no-ops or throws.
  540. # [12:18] <fantasai> glazou: Not having to getPriority to set a value would be great. I like this resolution a lot.
  541. # [12:18] <dbaron> glazou: glad to see addition of setPropertyPriority and setPropertyValue, will really simplify some of my code
  542. # [12:19] <dbaron> (Also, there was some discussion about what setPropertyValue and setPropertyPriority would do when there's no existing declaration: we talked about setPropertyValue behaving like setProperty with "", and setPropertyPriority would either need to no-op or throw
  543. # [12:23] * Quits: glazou (~glazou@public.cloak) (glazou)
  544. # [12:23] * Joins: darktears (~darktears@public.cloak)
  545. # [12:28] * Quits: krit (~krit@public.cloak) ("Leaving.")
  546. # [12:36] * Quits: astearns (~astearns@public.cloak) (Client closed connection)
  547. # [12:37] * Quits: Koji (~Koji@public.cloak) (Client closed connection)
  548. # [12:51] * Joins: curvedmark (~curvedmark@public.cloak)
  549. # [13:01] * Quits: SteveZ (~SteveZ@public.cloak) (Ping timeout: 180 seconds)
  550. # [13:02] * Quits: shans__ (~shans_@public.cloak) (Ping timeout: 180 seconds)
  551. # [13:06] * Joins: astearns (~astearns@public.cloak)
  552. # [13:11] * Quits: darktears (~darktears@public.cloak) (Client closed connection)
  553. # [13:11] * Joins: darktears (~darktears@public.cloak)
  554. # [13:13] * Quits: astearns (~astearns@public.cloak) (Ping timeout: 180 seconds)
  555. # [13:24] * Quits: michou (~mibalan@public.cloak) (Client closed connection)
  556. # [13:25] * Joins: michou (~mibalan@public.cloak)
  557. # [13:27] * Joins: astearns (~astearns@public.cloak)
  558. # [13:28] * Quits: leif (~lastorset@public.cloak) (Ping timeout: 180 seconds)
  559. # [13:32] * Joins: shans__ (~shans_@public.cloak)
  560. # [13:40] * astearns changes topic to 'http://wiki.csswg.org/planning/paris-2013#agenda'
  561. # [13:44] * Joins: leif (~lastorset@public.cloak)
  562. # [13:46] * Joins: krit (~krit@public.cloak)
  563. # [13:47] * Joins: glazou (~glazou@public.cloak)
  564. # [13:47] * Quits: krit (~krit@public.cloak) ("Leaving.")
  565. # [13:48] * Joins: jet (~junglecode@public.cloak)
  566. # [13:48] * Parts: jet (~junglecode@public.cloak) (jet)
  567. # [13:48] * Joins: krit (~krit@public.cloak)
  568. # [13:49] * Joins: jet (~junglecode@public.cloak)
  569. # [13:49] * Quits: shepazu (schepers@public.cloak) ("is sleepy")
  570. # [13:49] <fantasai> ScribeNick: fantasai
  571. # [13:49] <fantasai> Topic: CSS Image Values
  572. # [13:49] <fantasai> TabAtkins: Interpolation rules for images
  573. # [13:49] * Joins: dauwhe (~dauwhe@public.cloak)
  574. # [13:50] <fantasai> TabAtkins: Generic rule for interpoloating between two generic images -- using cross-fade
  575. # [13:50] <fantasai> TabAtkins: Special rules for between gradients, between cross-fades, between filters
  576. # [13:50] <astearns> we have the first two
  577. # [13:51] <fantasai> TabAtkins: Interesting part is when interpolating between a plain image and a filtered image, friendlier to authors to pretend url was set up witll null filters
  578. # [13:51] <fantasai> fantasai: I think that's obvious
  579. # [13:51] <glazou> http://dev.w3.org/csswg/css-images/#interpolating-images
  580. # [13:51] <fantasai> ly the right thing to do
  581. # [13:51] <fantasai> TabAtkins: Similarly for cross-fade
  582. # [13:51] <fantasai> TabAtkins: For other images, want to have normal image to special image handle smoothly
  583. # [13:51] <fantasai> TabAtkins: Question is then between two specialized images
  584. # [13:52] * Joins: SteveZ (~SteveZ@public.cloak)
  585. # [13:52] <astearns> s/images/transition rules/
  586. # [13:52] <fantasai> TabAtkins: How do we want to handle this?
  587. # [13:52] <fantasai> fantasai: Might want to go through all the combinations, and figure out which one makes most sense on the outside
  588. # [13:53] <fantasai> TabAtkins^: Thought maybe use first one, but that's not symmetric across rreversed transitions
  589. # [13:53] <fantasai> TabAtkins: So every time we introduce a new type, have to figure outwhere it goes in the hierarchy?
  590. # [13:53] <fantasai> fantasai: Yeah
  591. # [13:53] <fantasai> TabAtkins: That sounds reasnable
  592. # [13:54] <fantasai> Lea: Shoudl cross-fade be interpreted as doing iterpolation?
  593. # [13:54] <fantasai> TabAtkins: Interesting question
  594. # [13:54] <fantasai> TabAtkins: I think before had idea of having an itnerpolate() function, representing the interpolation between two images
  595. # [13:54] <fantasai> Lea: Filtered gradient to filtered gradient?
  596. # [13:55] <fantasai> TabAtkins: That's another issue...
  597. # [13:55] <fantasai> Shane: Can you give a specific example?
  598. # [13:55] <fantasai> TabAtkins: Transitioning from a filtered image to a cross-faded image. Do you use filtered image rules or cross-fade image rules?
  599. # [13:55] <fantasai> TabAtkins: fantasai suggested doing whichver rules wins
  600. # [13:55] <fantasai> fantasai: You'd do both, nested
  601. # [13:56] <fantasai> TabAtkins: ...
  602. # [13:56] <fantasai> krit: Filter function, cross-fade
  603. # [13:56] <fantasai> krit: Just cross fade?
  604. # [13:56] <fantasai> krit: How would you want to interpolate
  605. # [13:56] <fantasai> TabAtkins: If filter wins, re-interpolate as filter(cross-fade(url)))
  606. # [13:56] * Quits: ian (~ian@public.cloak) (Ping timeout: 180 seconds)
  607. # [13:56] <fantasai> TabAtkins: Interpolate image functions, do recursive interpolation.
  608. # [13:57] * Joins: Rossen_ (~Rossen@public.cloak)
  609. # [13:57] <fantasai> krit: ... have to specify start/end
  610. # [13:57] <fantasai> TabAtkins: I'm not certain it's worth complexity of doing function stacks
  611. # [13:57] <fantasai> TabAtkins: Interpolate outer arguments, inner arguments
  612. # [13:57] <fantasai> krit: I thin kthat's too complex
  613. # [13:57] * Joins: Koji (~Koji@public.cloak)
  614. # [13:58] * Joins: myakura (~myakura@public.cloak)
  615. # [13:58] <fantasai> fantasai; Alternately, say they're two incompatible image types and just cross-fade them
  616. # [13:59] <fantasai> fantasai: Either you create compatible stacks of functions, filling in with no-ops, and interpolate; or you give up and cross-fade.
  617. # [13:59] <fantasai> fantasai: Doing some kind of partial interpolation doesn't make sense.
  618. # [14:01] <fantasai> Tab draws on the board
  619. # [14:01] <fantasai> 1) filter(a,blur(5px))
  620. # [14:02] <fantasai> 2) filter(b,blur(10px))
  621. # [14:02] <fantasai> a) filter(crossfade(a,b), blur(5px-10px))
  622. # [14:02] <fantasai> b) crossfade(1, 2)
  623. # [14:02] <fantasai> ChrisL: a will definitely look better in some cases, if there are large changes in the blur for example
  624. # [14:03] <fantasai> fantasai: I think that's mainly true if the source images are the same. Cross-fade shoudl be fine if they're different.
  625. # [14:03] <fantasai> krit: a seems like more work
  626. # [14:03] <fantasai> sylvaing: Hard to pick one vs other, because design intent is not clear
  627. # [14:03] * Quits: ChrisL (clilley@public.cloak) ("Client combusted")
  628. # [14:04] <fantasai> sylvaing: Different source images, likely you just wante cross-fade
  629. # [14:04] <fantasai> TabAtkins: Hard to infer author intent
  630. # [14:04] <fantasai> TabAtkins: Have inside and outside, have to figureout which one author intends on outside
  631. # [14:04] <fantasai> Shane: ...
  632. # [14:05] <fantasai> TabAtkins: Filters interpolate if you have same sources, same filters
  633. # [14:05] * Joins: ChrisL (clilley@public.cloak)
  634. # [14:05] <fantasai> Shane: Think b is better, because people will be less likely to use
  635. # [14:05] <ChrisL> rrsagent, here
  636. # [14:05] <RRSAgent> See http://www.w3.org/2013/09/11-css-irc#T12-02-00
  637. # [14:05] <fantasai> Shane: It's easy to expand b) later into full recursive interpolation
  638. # [14:06] <fantasai> TabAtkins: For spec, just saying that filter function and future functions like this define their constraints, and if you miss those, just fall back into cross-fade
  639. # [14:06] * Joins: plh (plehegar@public.cloak)
  640. # [14:06] <fantasai> krit: If you have gradient level 1 with same number of stops, different colors, do a cross-fade?
  641. # [14:06] * fantasai confused now
  642. # [14:07] <fantasai> TabAtkins: yes
  643. # [14:07] * Quits: astearns (~astearns@public.cloak) (Client closed connection)
  644. # [14:07] * Joins: astearns (~astearns@public.cloak)
  645. # [14:07] <fantasai> case above is filtered gradients, where gradients are interpolable
  646. # [14:08] * Quits: Rossen_ (~Rossen@public.cloak) (Ping timeout: 180 seconds)
  647. # [14:08] <fantasai> ChrisL: Case of different images where you want smarter interpolation is where one image is derived from the other
  648. # [14:08] * Joins: ian_ (~ian@public.cloak)
  649. # [14:08] <fantasai> ChrisL: e.g. text where original is flat, next is pop-up
  650. # [14:09] <fantasai> fantasai: Even in that case, doing a nice job with the blur interpolation won't make up for the act that you're cross-fading the shadow effect or movement effect, which still looks wrong
  651. # [14:09] <fantasai> ChrisL: fair enough
  652. # [14:09] <fantasai> Lea: Is there any reason not to do the fancy interpolation, other than implementation cost
  653. # [14:10] * Joins: Rossen_ (~Rossen@public.cloak)
  654. # [14:10] <fantasai> TabAtkins: Yes. But in this case the difficulty doesn't seem worh the benefit. Benefit is positive, for recursive interpolation, but the difference is subtle, so small difference
  655. # [14:10] <fantasai> TabAtkins: As Shane argued, decent chance that we can change it later
  656. # [14:10] * Joins: astearns_ (~astearns@public.cloak)
  657. # [14:10] <fantasai> TabAtkins: Unlikely to to break anything, likely to just make things prettier
  658. # [14:11] <fantasai> plinss: Probably someone will depend on it anyway
  659. # [14:11] <fantasai> plinss: Is there a way to opt into different behavior?
  660. # [14:11] <fantasai> TabAtkins: Maybe?
  661. # [14:11] <fantasai> TabAtkins: Think we should just opt everyone in
  662. # [14:11] <fantasai> TabAtkins: But could do a falg on transition property or something
  663. # [14:11] <fantasai> krit: If we don't have consensus, shoudl at least say that there are two options that we're considering
  664. # [14:11] <ChrisL> s/falg/flag/
  665. # [14:12] <fantasai> fantasai: Seems fair to put both in the spec and ask for feedback
  666. # [14:12] * Quits: astearns (~astearns@public.cloak) (Client closed connection)
  667. # [14:12] <fantasai> Shane: When you have two values that don't match, 50% switch
  668. # [14:12] <fantasai> Shane: If you want cross-fade, explicitly ask for it
  669. # [14:12] <fantasai> Shane: Makes it very unlikely that people will depend on it
  670. # [14:12] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  671. # [14:12] * Joins: ChrisL (clilley@public.cloak)
  672. # [14:12] * ChrisL channelling Eddie Izzard "Do you have a flaaaag?"
  673. # [14:12] <fantasai> TabAtkins: We make things ugly when we don't want people to depend on it
  674. # [14:13] <fantasai> Shane: We want people to use this for matching values
  675. # [14:13] <fantasai> TabAtkins: Want people to be able to interpolate from plain image to filtered image
  676. # [14:13] <fantasai> fantasai: That's uncontroversial, I think. Case we're discussing is when both are complex images
  677. # [14:14] <fantasai> RESOLVED: transitioning from image A to foo(A), infer the foo() on the other side (using no-op arguments)
  678. # [14:14] <fantasai> s/image/plain image/
  679. # [14:15] <fantasai> TabAtkins: Don't do recursive interpolation of images, just do fancy interpolation on the top level
  680. # [14:17] <fantasai> trying to figure out what all the suggested options are
  681. # [14:18] <fantasai> a) recursive interpolation -- build stack of compatible functions, and fancy-interpolate them
  682. # [14:19] <fantasai> b) cross-fade incompatible types
  683. # [14:19] <fantasai> c) flip at 50%
  684. # [14:19] <fantasai> [url() or plain image is considered compatible with all transformed types with same source]
  685. # [14:20] <fantasai> [discussion of what same source means]
  686. # [14:20] <fantasai> TabAtkins: For gradients, would have to be exact same arguments
  687. # [14:20] <fantasai> TabAtkins: same function, same arguments
  688. # [14:21] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
  689. # [14:21] <fantasai> Lea: Difference between cross-fade and fancy interpolation is not really that small
  690. # [14:21] * glazou asked to increase a bit the temperature of the room but apparently that's complex to do...
  691. # [14:21] <fantasai> Lea: e.g. interpolate between filtered gradients
  692. # [14:22] <fantasai> where color stops are in different places (one side bias vs. other side bias)
  693. # [14:22] <fantasai> leaverou: If interpolate the gradient, will see the color stop shift and change
  694. # [14:22] <fantasai> leaverou: Very different from a cross-fade effect
  695. # [14:22] <fantasai> sylvaing: Is there a big perf cost for doing fancy interpolation, e.g. on phones?
  696. # [14:22] <fantasai> sylvaing: e.g. might need to use cross-fade always on the phone
  697. # [14:23] <fantasai> krit: of course
  698. # [14:23] <fantasai> sylvaing: recursive effect could be too expensive, esp on some devices
  699. # [14:23] <fantasai> sylvaing: So might not work on some devices
  700. # [14:24] <fantasai> leaverou: That's why I asked if implementation complexity. Perf is a different reason
  701. # [14:24] <fantasai> ChrisL: If you have a switch, can have a different style sheet on mobile
  702. # [14:24] <fantasai> sylvaing: And if author really wants recursive effect, can ask for it
  703. # [14:24] <fantasai> TabAtkins: OK, I'll leave this as an open issue
  704. # [14:24] <fantasai> RESOLVED: Mark this as an open issue in the draft
  705. # [14:25] <dbaron> I think it's worth actually researching likely performance costs.
  706. # [14:25] * leaverou LOL glazou
  707. # [14:26] <fantasai> Topic: linear-gradientfixup rules
  708. # [14:26] <fantasai> TabAtkins writes
  709. # [14:26] <fantasai> linear-gradient(white 100px, red 50px, blue, green 200px)
  710. # [14:26] <fantasai> TabAtkins: If you interpolate before fixup, blue gets 125
  711. # [14:27] <fantasai> TabAtkins: If you do fixup first, then interpolation, blue lands at 150
  712. # [14:27] <fantasai> TabAtkins: This is a minor issue in most cases, but if red's position is a percentage, then it depends on size of the image
  713. # [14:27] <fantasai> TabAtkins: So we can't finish the linear-gradient and be able to do transition computations until after layout
  714. # [14:28] <fantasai> TabAtkins: Right now is fixup first, then position interpolation, then transition interpolation
  715. # [14:28] * Joins: tobie (tobie@public.cloak)
  716. # [14:29] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  717. # [14:29] <leaverou> wouldn't this also be an issue when doing interpolation between linear-gradient(blue, green 15%, blue) and linear-gradient(blue, green 15px, blue)? Isn't layout info needed here too?
  718. # [14:29] <fantasai> TabAtkins: Propose to position interpolation, transition interpolation, fixup
  719. # [14:29] * Joins: ChrisL (clilley@public.cloak)
  720. # [14:29] <fantasai> TabAtkins: Only effects of are when you have a misordered stop adjacent to an interpolated stop
  721. # [14:29] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  722. # [14:29] <fantasai> TabAtkins: Fairly uncommon case.
  723. # [14:30] * Joins: ChrisL (clilley@public.cloak)
  724. # [14:30] * Quits: myakura (~myakura@public.cloak) (Client closed connection)
  725. # [14:30] <fantasai> TabAtkins: So I think this is a change that we can make
  726. # [14:30] * Joins: myakura (~myakura@public.cloak)
  727. # [14:30] <fantasai> TabAtkins: Think we refused to make the change earlier because we were fatigued and wanted the spec to just stop changing. But should make this change.
  728. # [14:30] * Joins: jdaggett (~jdaggett@public.cloak)
  729. # [14:31] <fantasai> krit: I implemented what Tab suggested, so we can see an example
  730. # [14:31] <fantasai> fantasai: What you say makes sense to me, and i agree with you that it's unlikely to break a significant number of changes, so I'm comfortable saying we should go through with the change.
  731. # [14:31] <fantasai> krit: I'm ok with the change too
  732. # [14:31] <fantasai> krit: got other issues, tho
  733. # [14:31] <fantasai> (not related to this)
  734. # [14:32] <fantasai> Leif: I feel ok with it at this point.
  735. # [14:32] <fantasai> RESOLVED: Proposal accepted
  736. # [14:32] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  737. # [14:33] <fantasai> [Bert asks for clarification]
  738. # [14:33] * Joins: ChrisL (clilley@public.cloak)
  739. # [14:34] <fantasai> krit: Spec says repating gradients repeat until infinity
  740. # [14:35] <fantasai> krit: I don't think that you can do that without information the gradient length
  741. # [14:35] <fantasai> Tab writes:
  742. # [14:35] <fantasai> r-l-g(red,blue)
  743. # [14:35] <fantasai> to
  744. # [14:35] <fantasai> r-l-g(yellow,green,black)
  745. # [14:35] <fantasai> TabAtkins: When transitioning between the two, repeat out to infinity
  746. # [14:35] <leaverou> s/r-l-g/repeating-linear-gradient/
  747. # [14:35] <fantasai> dbaron: just need least-common-multiple of the lenghts
  748. # [14:36] <fantasai> krit: you need to know position of the next color stop, doing interpolation
  749. # [14:36] * Quits: Rossen_ (~Rossen@public.cloak) (Client closed connection)
  750. # [14:36] * Joins: Rossen_ (~Rossen@public.cloak)
  751. # [14:37] <fantasai> krit: say yellow is -20px and black is at 10%
  752. # [14:37] <fantasai> TabAtkins: black and yellow then shrae a color stop
  753. # [14:37] <fantasai> y--g--b/y--g--b/y--
  754. # [14:37] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  755. # [14:38] * plh rrsagent, where am I?
  756. # [14:38] * RRSAgent See http://www.w3.org/2013/09/11-css-irc#T12-33-58
  757. # [14:38] <fantasai> s/10%/-10%/
  758. # [14:38] * Quits: shans__ (~shans_@public.cloak) (Client closed connection)
  759. # [14:39] * ChrisL is csswg down? can't load agenda
  760. # [14:39] <fantasai> [Tab explains how this all works]\
  761. # [14:39] * astearns_ chrisl: working for me
  762. # [14:39] * Joins: shans__ (~shans_@public.cloak)
  763. # [14:40] <SimonSapin> ChrisL, http://wiki.csswg.org/planning/paris-2013#agenda works for me
  764. # [14:40] <fantasai> TabAtkins: Shouldn't need to do layout for this, can do all static.
  765. # [14:40] <fantasai> TabAtkins: Requires a bit of logic, but can do it
  766. # [14:40] <fantasai> Closed this as not an issue. might need a clarification/example in the spec tho
  767. # [14:41] <fantasai> Next topic - linear gradients at different angles
  768. # [14:41] <fantasai> Animating linear gradient that turns through 90deg or so
  769. # [14:41] * zcorpan dbaron: btw it looks like the style="{}” bug happens in standards mode as well in gecko. http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2518
  770. # [14:41] <fantasai> in a box 100px tall, 300px wide
  771. # [14:42] * dbaron zcorpan what version are you using?
  772. # [14:42] * dbaron zcorpan, not for me
  773. # [14:42] <fantasai> TabAtkins: would stretch gradient from 100px to ~400px back down to 300px
  774. # [14:42] * dbaron zcorpan, and not in the code I'm looking at
  775. # [14:43] * glazou zcorpan no redness here in firefox nightly
  776. # [14:43] * zcorpan dbaron: it was 26.0a1 (2013-09-01). now updated to 26.0a1 (2013-09-10) and it doesn't happen. that's surprising
  777. # [14:43] <fantasai> TabAtkins: Suggestion is to have a monotonic change in the gradient lenght thorugh the animation
  778. # [14:43] <astearns_> s/~400px/316.2px/
  779. # [14:44] <fantasai> krit: This requires layout info for interpolation, which we were just trying to avoid
  780. # [14:44] <fantasai> TabAtkins: This is true... not sure how to get around it
  781. # [14:44] * zcorpan dbaron: so now i don't get it in quirks mode either. yay!
  782. # [14:44] <fantasai> krit: I don't think that's a great use case
  783. # [14:44] <fantasai> TabAtkins: I've seen it, e.g. using gradient to emulate a light source
  784. # [14:44] * dbaron zcorpan maybe it's something with live dom viewer and the way it creates the iframe?
  785. # [14:45] <fantasai> Shane: If you assume that the gradient is always inside a square box...
  786. # [14:45] * dbaron zcorpan try loading each test in a new tab without other things in that tab?
  787. # [14:45] <fantasai> TabAtkins: Doesn't help
  788. # [14:47] * zcorpan dbaron: hmm. yeah. that's what's confusing me. seems like there's a different bug with which rendering mode gets used (compatMode in the log doesn't match whether the quirk is applied)
  789. # [14:47] <fantasai> fantasai: If you're going for a light source effect, you don't want to shorten the gradient from the middle anyway, so you're breaking the use case.
  790. # [14:47] <fantasai> Shane: If we just do the nasty inflection point thing, you can get around it by providing mroe keyframes or something
  791. # [14:47] <fantasai> TabAtkins: So drop issue, just keep doing direct argument interpolation
  792. # [14:48] <fantasai> fantasai: people can provid eexplicit length if they need that
  793. # [14:48] <fantasai> New issue - keywords cannot be matched to specific degrees
  794. # [14:48] <fantasai> RESOLVED: No change for above issue
  795. # [14:48] <fantasai> s/above/prev/
  796. # [14:48] <fantasai> l-g(45deg, ...)
  797. # [14:48] <fantasai> l-g-(to top left, ...)
  798. # [14:49] <fantasai> TabAtkins: Depending how you do this, might need layout info to resolve top left
  799. # [14:49] <fantasai> TabAtkins: For square, it's 45deg. For rectangle could be 30deg
  800. # [14:49] <fantasai> TabAtkins: Anywhere from 0-90deg, can't figure out until later
  801. # [14:49] <fantasai> TabAtkins: Could still preserve "to top left" as interpolated value
  802. # [14:50] <fantasai> dbaron: Maybe it's not worth making the other change, if we have to depend on layout here anywya?
  803. # [14:50] <fantasai> ...
  804. # [14:51] <fantasai> krit: I would just say don't interpolate at all in this case
  805. # [14:51] <fantasai> ...
  806. # [14:52] <fantasai> TabAtkins: At computed value time, corner keywords must remain themselves
  807. # [14:52] <fantasai> fantasai: So problem is you have no representation of the partway transition
  808. # [14:53] <fantasai> dbaron: I don't see the point in trying to limit cases where we need layout info if we already need layout info for this
  809. # [14:53] <fantasai> ...
  810. # [14:53] <fantasai> Discussion of itnerpolating between any two values
  811. # [14:54] <fantasai> dbaron: Implementing that requires some kind of interpolate-gradient syntax, internally at least
  812. # [14:55] <fantasai> ...
  813. # [14:55] <fantasai> dbaron: I guess this is going to be hard to implement
  814. # [14:56] <fantasai> fantasai: could come up with some kindof syntax to represent partway betwen keywords, even if it's awkward, nobody is going to want to use it anyway
  815. # [14:56] <fantasai> fantasai: e.g. l-g(to top 50% top left, ...) be halfway between to top and to top left
  816. # [14:56] <fantasai> Shane: I implemented this before we punted to level 4
  817. # [14:57] <fantasai> Shane: pretty much all ofit, or almost all of it
  818. # [14:57] <fantasai> Shane: The need to resolve everything down to used value was enough reason not to push to main branch
  819. # [14:57] <fantasai> Shane: Threw out the implementation
  820. # [14:57] <fantasai> Shane: Because doesn't interpolate like everything else interpolates
  821. # [14:57] * fantasai is hating the echo
  822. # [14:58] <fantasai> ...
  823. # [14:58] <fantasai> TabAtkins: Why so much harder than dealing with calc()?
  824. # [14:58] <fantasai> krit: Before had to hav elayout info for fixup, don't anymore with new resolution
  825. # [14:58] <fantasai> dbaron: I think in our impelmentation it would be conceptually similar to calc()
  826. # [14:58] <fantasai> dbaron: just with graidnet functions instead
  827. # [14:58] <fantasai> dbaron: Except graident functions are more complex, so would be more complex code
  828. # [14:59] <fantasai> ...
  829. # [14:59] <fantasai> dbaron: You have to propaget the thing like calc() all the way through
  830. # [14:59] <fantasai> discussion of applying calc to individual stops vs. gradient functions
  831. # [14:59] <fantasai> TabAtkins: Someday need to deal with height: auto issue...
  832. # [14:59] <fantasai> Shane: I'm with krit, don't think we should allow interpolation between different keywords at this time
  833. # [15:00] <fantasai> TabAtkins: Some of these cases would require an explicit opt-in, e.g. height: 0 to height: auto
  834. # [15:01] * Quits: jet (~junglecode@public.cloak) (Client closed connection)
  835. # [15:01] <fantasai> TabAtkins: If we have switch for that, then can opt-in to more complicated gradient interpolations
  836. # [15:01] <fantasai> Shane: One difference btween CSS and SVG is conversion to used value
  837. # [15:01] * Joins: jet (~junglecode@public.cloak)
  838. # [15:01] <fantasai> ChrisL: SVG conversions betwen gradient/color
  839. # [15:01] <fantasai> ???
  840. # [15:02] <fantasai> ?????
  841. # [15:02] <ChrisL> this reminds me of the situation in SVG where we started only allowing iterpolation between exactly matching things
  842. # [15:02] <fantasai> TabAtkins: Ok, I'm alright withthat
  843. # [15:02] <fantasai> TabAtkins: Should we convert keywords that can be converted to degrees?
  844. # [15:02] <ChrisL> and then gradually added more and more cases in response to feedback so eventually we could interpolate pretty much anything
  845. # [15:02] <fantasai> fantasai: No, because we might evnetually want keyword to keyword
  846. # [15:02] <fantasai> TabAtkins: OK
  847. # [15:03] <fantasai> RESOLVED: Cannot interpolate to/from keyword (unless same keyword)
  848. # [15:03] <fantasai> TabAtkins: Probably same for radial-gradient, too. Ok
  849. # [15:04] <fantasai> leaverou: Why is it not allowed to interpolate with different number of color stops, when can always pad with redundant color stops
  850. # [15:04] <fantasai> TabAtkins: Don't know where to pad: beginning, end, etc.
  851. # [15:05] <fantasai> leaverou: Can always specify explicitly
  852. # [15:05] * krit just crossfade all the things
  853. # [15:05] <fantasai> leaverou: Just don't see why it doesn't just work
  854. # [15:05] <fantasai> dbaron: Hard to get graident stops to move if don't understnad how they align up
  855. # [15:06] <fantasai> TabAtkins: Hard to guess what author's intent was
  856. # [15:06] <fantasai> TabAtkins: That's it for gradients
  857. # [15:08] <leaverou> s/Just don't see why it doesn't just work/I just thought that any way we pick would be better than cross-fading/
  858. # [15:08] * fantasai thanks :)
  859. # [15:09] <astearns_> https://plus.google.com/105664254861136730001/about
  860. # [15:09] * Quits: jet (~junglecode@public.cloak) (jet)
  861. # [15:11] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  862. # [15:11] * Joins: ChrisL (clilley@public.cloak)
  863. # [15:12] <dbaron> http://www.lesathlètes.com/menu/menu.pdf
  864. # [15:14] <TabAtkins> <br duration=15m>
  865. # [15:21] * Joins: dauwhe (~dauwhe@public.cloak)
  866. # [15:25] * Joins: myakura (~myakura@public.cloak)
  867. # [15:31] * Joins: rossen__ (~rossen@public.cloak)
  868. # [15:32] <rossen__> can somebody please come and open the door for us?
  869. # [15:33] * Quits: rossen__ (~rossen@public.cloak) ("Page closed")
  870. # [15:39] <TabAtkins> ScribeNick: TabAtkins
  871. # [15:39] <TabAtkins> howcome: Quote: "the stylesheet business quickly devolves into something where each person claims to be napolean, while asserting all others are pretenders".
  872. # [15:40] <dbaron> s/napolean/Napoleon/
  873. # [15:40] <TabAtkins> howcome: So if this turns into a shouting match, remember that I'm Napolean.
  874. # [15:40] <TabAtkins> howcome: We're very close to finishing.
  875. # [15:40] <TabAtkins> howcome: We had a test suite go from submitted ot approved.
  876. # [15:40] <TabAtkins> howcome: Gerard has been working on this.
  877. # [15:41] <TabAtkins> Topic: multicol
  878. # [15:41] * sgalineau napoleon-complex: auto;
  879. # [15:41] <TabAtkins> howcome: Three remaining issues.
  880. # [15:41] <astearns_> http://lists.w3.org/Archives/Public/www-style/2013Sep/0164.html
  881. # [15:42] * sgalineau Restaurant dessert options include 'Nothing, I have a marathon this w-e' for 4 euros
  882. # [15:42] <TabAtkins> howcome: In any case we'll have to go back to LC, so we'll have to add new options.
  883. # [15:42] <TabAtkins> glazou: The issues are listed in some tracker?
  884. # [15:42] * dbaron sgalineau that's only on the lunch menu
  885. # [15:42] <TabAtkins> howcome: The list of issues is this email.
  886. # [15:43] <TabAtkins> howcome: First issue is about z-order of column rules.
  887. # [15:43] <TabAtkins> howcome: Maybe the spec already specifies what we want?
  888. # [15:43] <TabAtkins> Rossen_: First cam eup during tucson f2f.
  889. # [15:43] <ChrisL> rrsagent, here
  890. # [15:43] <RRSAgent> See http://www.w3.org/2013/09/11-css-irc#T13-40-04
  891. # [15:43] <TabAtkins> Rossen_: Spec at the time required that column rules are painted below the inline content, and above backgrounds.
  892. # [15:43] <TabAtkins> Rossen_: Which made things inconsistent.
  893. # [15:44] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  894. # [15:44] <TabAtkins> Rossen_: So we'd need another layer to make that happen.
  895. # [15:44] <TabAtkins> Rossen_: Which nobody wants.
  896. # [15:44] <TabAtkins> Rossen_: For that reason we decided to draw column rules as part of the inline content layer.
  897. # [15:44] <TabAtkins> Rossen_: Hakon is saying that, in addition to that, people thought that column rules should paint on top fo the multicol's border.
  898. # [15:44] <TabAtkins> Rossen_: I responded that this should happen automatically for overflow:visible.
  899. # [15:45] <TabAtkins> Rossen_: For overflow:hidden or scroll, they'll be clipped anyway, so we don't need to specify anything unless we do something extra crazy.
  900. # [15:45] <TabAtkins> Rossen_: So I think we can just drop issue 3.
  901. # [15:45] * ChrisL someone tell google+ that http://www.lesathlètes.com/ and http://www.lesathletes.com/ are not the same site. "just drop all accents" does not work
  902. # [15:46] <TabAtkins> szilles: If I overflow the column, does the text paint above or below the rule?
  903. # [15:46] <TabAtkins> Rossen_: Over the rules.
  904. # [15:46] <TabAtkins> szilles: I think you need to add that to the spec.
  905. # [15:46] <TabAtkins> action rossen to add spec text to multicol specifying that text draws over column rules.
  906. # [15:46] * trackbot is creating a new ACTION.
  907. # [15:46] <trackbot> Created ACTION-578 - Add spec text to multicol specifying that text draws over column rules. [on Rossen Atanassov - due 2013-09-18].
  908. # [15:47] <TabAtkins> Bert: Are you sure that the spec doesn't already specify that?
  909. # [15:47] <TabAtkins> Bert: It says that all text is on top of the rule.
  910. # [15:47] <TabAtkins> Bert: Already has examples about a very wide rule.
  911. # [15:48] <TabAtkins> Rossen_: The way it was specified at the time, column rules were supposed to be treated as part of the background layer.
  912. # [15:48] <TabAtkins> Rossen_: But you need to scroll them, so they're not part of the background layer.
  913. # [15:48] <TabAtkins> Rossen_: And if they're on the column layer, do they interact with z-index?
  914. # [15:49] <TabAtkins> howcome: Next issue, clipping issue.
  915. # [15:49] * Joins: jet (~junglecode@public.cloak)
  916. # [15:50] <TabAtkins> howcome: We currently say that flowing content that extends into column gaps is clipped in the middle of the gap.
  917. # [15:50] <sgalineau> spec only says 'column rules are drawn just above the background'
  918. # [15:50] <TabAtkins> howcome: I think this makes sense in most cases, but it's weird that if the long content is in the last column, it'll just overflow outside of the element without clipping.
  919. # [15:50] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  920. # [15:50] * Joins: ChrisL (clilley@public.cloak)
  921. # [15:51] <TabAtkins> howcome: Someone asked for multicol to just always clip strongly.
  922. # [15:51] <TabAtkins> szilles: Can't you just use 'overflow'?
  923. # [15:51] <TabAtkins> howcome: That's my thought too.
  924. # [15:51] * dbaron ChrisL made the edit in mapmaker, pending review. It required inputting it as www.xn--lesathltes-56a.com, but it shows correctly once I do that
  925. # [15:52] <TabAtkins> howcome: Related, if you have an image that overflows across a column *and* below the multicol, the spec doesn't say what to do with the section outside of the multicol - do you still clip down, or make it non-rectangular?
  926. # [15:52] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  927. # [15:52] * Joins: ChrisL (clilley@public.cloak)
  928. # [15:53] <TabAtkins> szilles: Guess it depends on the model - if I have opaque columns, I can say that it's because the column overpaints it, so you should expose the bottom corner.
  929. # [15:53] <TabAtkins> zcorpan: But you can have transparent columns, so that doesn't hold.
  930. # [15:53] * Rossen_ steve: the current text is already good for your issue "Column rules are painted in the inline content layer, but below all inline content inside the multicol element."
  931. # [15:53] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  932. # [15:53] * Joins: ChrisL (clilley@public.cloak)
  933. # [15:53] <TabAtkins> szilles: Can I object to the clipping altogether?
  934. # [15:54] <TabAtkins> szilles: Unless you put in an ellipsis or something indicating the clipping is happening, you've changed the meaning of the content.
  935. # [15:54] <TabAtkins> howcome: Should we honor 'overflow'?
  936. # [15:54] <TabAtkins> Rossen_: If we could target columns, yeah.
  937. # [15:54] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  938. # [15:54] * Joins: ChrisL (clilley@public.cloak)
  939. # [15:55] <TabAtkins> Rossen_: But we can't, so we should just take the static position that all columsn are overflow:visible or overflow:hidden by default.
  940. # [15:55] <TabAtkins> Rossen_: So do you want to lose the content, or overlap it somehow? I think losing the content is always worse.
  941. # [15:55] <TabAtkins> glazou: [yeah, you can lose content]
  942. # [15:55] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  943. # [15:55] * Joins: ChrisL (clilley@public.cloak)
  944. # [15:56] <TabAtkins> TabAtkins: Yeah, I think the column clipping is inconsistent with the eventual future of individually-addressable columns anyway.
  945. # [15:56] <TabAtkins> howcome: Sounds okay.
  946. # [15:56] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  947. # [15:56] <TabAtkins> howcome: So should we see if people want the clipping?
  948. # [15:56] * Joins: ChrisL (clilley@public.cloak)
  949. # [15:57] <TabAtkins> dbaron: I'm fine with dropping this. I'm much more fine with dropping the clipping than being unclear about what's clipped and where.
  950. # [15:57] <TabAtkins> RESOLVED: Columns do not clip anything. (As if ::column just had overflow:visible by default.)
  951. # [15:58] <TabAtkins> Regarding previous topic:
  952. # [15:58] <TabAtkins> n/m
  953. # [15:58] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  954. # [15:59] * Joins: ChrisL (clilley@public.cloak)
  955. # [15:59] * Quits: Rossen_ (~Rossen@public.cloak) (Client closed connection)
  956. # [16:00] * Joins: Rossen_ (~Rossen@public.cloak)
  957. # [16:00] <TabAtkins> howcome: Last issue.
  958. # [16:00] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  959. # [16:00] * Joins: ChrisL (clilley@public.cloak)
  960. # [16:01] <TabAtkins> howcome: The CR says that column-fill will only be used (in continuous media) if the column height is constrained.
  961. # [16:01] <TabAtkins> howcome: There is a case to be made that we should consult this in all cases, even if it's unconstrained.
  962. # [16:01] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  963. # [16:01] * Joins: ChrisL (clilley@public.cloak)
  964. # [16:02] <TabAtkins> howcome: So even if you have infinite space, we should still do column balancing.
  965. # [16:02] * Quits: Mads_Co3 (~Mads_Co3@public.cloak) ("Page closed")
  966. # [16:02] <TabAtkins> Rossen_: So this is saying "do you want to auto-balance or not?", and if you're already specifying with column breaks...
  967. # [16:03] <TabAtkins> howcome: ???
  968. # [16:03] <TabAtkins> szilles: So you have three oclumns. Put a break in the first column. Are the last two balanced?
  969. # [16:04] <TabAtkins> Rossen_: If you don't have that property, you have to consider every section of content between breaks as a balanceable unit.
  970. # [16:04] <TabAtkins> Rossen_: After you're done, ???
  971. # [16:05] <TabAtkins> plinss: Theoretically, you could balance columsn with breaks.
  972. # [16:06] <TabAtkins> plinss: You could balance several columns with breaks.
  973. # [16:06] <TabAtkins> dbaron: For example, if you have 10 columns and one column break somewhere in the middle, you can decide whether that break is between 3rd and 4th, or 4th and 5th, whatever, to achiev emaximum blaance.
  974. # [16:07] <TabAtkins> dbaron: Another hard thing is when your container has explicit height versus not explciit.
  975. # [16:07] <TabAtkins> dbaron: If your container has an explicit height and is paginated...
  976. # [16:07] <TabAtkins> dbaron: And for extra fun, I think the model of pagination is that you don't do balancing on any but the last page.
  977. # [16:07] <dbaron> I think there was another hard case here but I've forgotten what it was.
  978. # [16:08] <TabAtkins> glazou: An issue with balancing and wysywig.
  979. # [16:08] <TabAtkins> glazou: Say you have three columns without breaks.
  980. # [16:08] <TabAtkins> glazou: At some point, author introduces a column break.
  981. # [16:08] <TabAtkins> glazou: Remaining content is balanced in the other columns, which increases the height of the entire container.
  982. # [16:09] <TabAtkins> glazou: So I suggest to balance not in height, but in number of columns, or else it'll be visually broken.
  983. # [16:09] <dbaron> Oh, the other case is if you have overflowing columns
  984. # [16:09] <TabAtkins> ChrisL: There are two cases. 1, the author wants a set amount of text a tthe top of the column, a break, and the rest everywhere else.
  985. # [16:10] <TabAtkins> ChrisL: 2, they want a particular gap at the bottom, and they care about the gap being a particular size.
  986. # [16:10] <TabAtkins> ChrisL: And we can't tell them apart.
  987. # [16:11] <TabAtkins> fantasai: If you want some minimum amoutn of space, you do a margin. If you want some space *and* nothing after it, you use a column break.
  988. # [16:11] <TabAtkins> Rossen_: In your case, is the number of columns specified?
  989. # [16:11] <TabAtkins> howcome: Yes, otherwise it'll just be 1.
  990. # [16:11] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  991. # [16:12] <TabAtkins> howcome: So if it's set to 3, and balancing is turned off, all of it should go to the first column, with the other two empty.
  992. # [16:12] <TabAtkins> plinss: ???
  993. # [16:12] * Joins: ChrisL (clilley@public.cloak)
  994. # [16:12] <TabAtkins> howcome: So it sounds like we have agreement that we should honor column-fill even in unconstrained environments.
  995. # [16:13] <TabAtkins> dbaron: I remembered my other hard case.
  996. # [16:13] <TabAtkins> dbaron: What happens when your container has a specified height, and what is auto is your column count.
  997. # [16:13] <TabAtkins> dbaron: You're producing columns of a certain width, and just filling in columns as needed.
  998. # [16:13] <TabAtkins> dbaron: I think the spec is clear that you want to balance if you haven't overflowed, but what about if you have overflowed?
  999. # [16:13] <TabAtkins> howcome: The spec is clear about this now - the property has no effect in overflow columns.
  1000. # [16:15] <dbaron> commenting on "In continuous media, this property does not have any effect in overflow columns (see below). " quote from http://dev.w3.org/csswg/css-multicol/#column-fill
  1001. # [16:15] <TabAtkins> fantasai: There's a statement about continuous media, but you can have overflow columns in print media.
  1002. # [16:16] <TabAtkins> fantasai: I don't see why the statement needs to be specific to continuous.
  1003. # [16:16] <TabAtkins> fantasai: [draws her example]
  1004. # [16:17] <TabAtkins> fantasai: You have a fixed-height box in a paged context. The box is multicol with too much content. That content just plain overflows.
  1005. # [16:18] <TabAtkins> szilles: In principle, you could just generate more boxes, rather than overflowing.
  1006. # [16:18] <TabAtkins> dbaron: I think that is just something this spec doesn't do.
  1007. # [16:18] <TabAtkins> fantasai: That's what dbaron's overflow spec is for.
  1008. # [16:20] <TabAtkins> RESOLVED: Remove the restriction about overflow columns only being in continuous media.
  1009. # [16:20] <TabAtkins> howcome: Back to the issue. Do we specify the interaction between column breaks and balancing?
  1010. # [16:20] <TabAtkins> szilles: Yes, but it's hard.
  1011. # [16:20] <dbaron> RESOUTION (2): ... and the continuous media restriction on the statement that column-fill has no effect on overflow columns
  1012. # [16:21] <TabAtkins> plinss: So, columsn are only balanced on the last page?
  1013. # [16:22] <TabAtkins> howcome: No. Roc argued that balancing should apply on pages with hard page breaks.
  1014. # [16:22] <TabAtkins> plinss: So we make it generic, and balance just between breaks.
  1015. # [16:23] * Quits: plh (plehegar@public.cloak) ("Leaving")
  1016. # [16:24] <TabAtkins> dbaron: So between hard page breaks, and anything but a soft column break?
  1017. # [16:24] <TabAtkins> dbaron: Like between a soft page break and a hard page break?
  1018. # [16:24] <dbaron> Q is what to do about soft page breaks
  1019. # [16:24] * Quits: Rossen_ (~Rossen@public.cloak) (Client closed connection)
  1020. # [16:24] * Joins: Rossen_ (~Rossen@public.cloak)
  1021. # [16:25] <TabAtkins> fantasai: I think it makes most sense to balance within a given column row. I don't think it makes sense to balance between, say, the start of the mutlicol and hard break, when there are more columns in the row.
  1022. # [16:26] <TabAtkins> fantasai: That gives you differ-height columns, which goes against the point of balancing in the first place.
  1023. # [16:26] <TabAtkins> howcome: So what's the suggestion?
  1024. # [16:26] <TabAtkins> fantasai: When you hit a hard column break, turn off balancing for that row.
  1025. # [16:27] <TabAtkins> howcome: For continuous media, that'll do bad things. In infinite height, you'll get a really long column if you turn off balancing entirely due to a column break.
  1026. # [16:28] <TabAtkins> plinss: I think that within a column row, you'll do your best to balance between the column breaks.
  1027. # [16:28] <TabAtkins> plinss: And then you take the longest column, and that's the column height for that row.
  1028. # [16:29] <TabAtkins> howcome: Given a very long paragraph followed by a very short one, with hard breaks between them, the best strategy is to balance the long paragraph first, then balance the last.
  1029. # [16:30] <TabAtkins> howcome: I think it's bad to simply not balance.
  1030. # [16:30] <TabAtkins> dbaron: I think you'd get that by balancing across the breaks as well - run the balancing algorithm *with* breaks involved.
  1031. # [16:31] <TabAtkins> dbaron: For example, if the second paragraph is a bit larger, at some point you can decide between placing the break between 3rd and 4th column, or between 2nd and 3rd column.
  1032. # [16:31] <astearns_> (much drawing of column boxes)
  1033. # [16:31] <TabAtkins> dbaron: This also makes a difference if we're in a situation where we have two columns for each.
  1034. # [16:32] <TabAtkins> dbaron: Say first paragraph is 60% of the text, second paragraph is 40%. Break goes between 2/3 column.
  1035. # [16:33] <TabAtkins> dbaron: Do you balance the first two columns, then draw the third column down to the same height, and have the last column just th eleftover (not balanced)?
  1036. # [16:33] <TabAtkins> dbaron: Or balance the first two, then balance the second two independently?
  1037. # [16:33] <TabAtkins> dbaron: I think the first is preferable.
  1038. # [16:33] <TabAtkins> plinss: Agreed.
  1039. # [16:34] <TabAtkins> howcome: Isn't this multipass?
  1040. # [16:34] <TabAtkins> dbaron: No more than existing balancing, I think.
  1041. # [16:34] * ChrisL chanelling 5th element "Multipass!"
  1042. # [16:35] <TabAtkins> fantasai: I think that's right.
  1043. # [16:36] <TabAtkins> Bert: The goal is that each column row should be as short as possible when balanced, yes?
  1044. # [16:36] <TabAtkins> howcome: Yeah.
  1045. # [16:36] <TabAtkins> dbaron: Right. The page break controls how much content is on a page.
  1046. # [16:36] <fantasai> fantasai: In Gecko, we try to find the soft-break column height that is the shortest we can have without causing overflow
  1047. # [16:37] * Quits: darktears (~darktears@public.cloak) (Client closed connection)
  1048. # [16:37] * Joins: darktears (~darktears@public.cloak)
  1049. # [16:37] <dbaron> I think we were starting to get consensus on the idea that we do balancing for each "row" of columns, whether or not it has hard column-breaks in the middle of it, but never do balancing across different rows of columns.
  1050. # [16:37] <TabAtkins> Bert: A page can get a lot shorter if you allow balancing between soft breaks, if the last thing was a non-breakable paragraph that gets shifted to the next page.
  1051. # [16:37] <dbaron> But Bert seems to disagree
  1052. # [16:38] * Quits: darktears (~darktears@public.cloak) (Client closed connection)
  1053. # [16:38] * Joins: darktears (~darktears@public.cloak)
  1054. # [16:38] * Quits: darktears (~darktears@public.cloak) (Client closed connection)
  1055. # [16:38] * Joins: darktears (~darktears@public.cloak)
  1056. # [16:38] <TabAtkins> plinss: When laying out a book, they generally don't rely on fully automatic layout anyway. So if column balancing ends up with a short page, they'll probably violate the non-breaking rule for that page.
  1057. # [16:39] <TabAtkins> howcome: Right, but the goal is still to be balanced.
  1058. # [16:39] <TabAtkins> Bert: ???
  1059. # [16:39] <TabAtkins> Bert: I think filling comes before balancing.
  1060. # [16:40] <TabAtkins> szilles: I think controlling that might be a switch between between "last only" (or rather, only between soft and hard breaks) or "balance between every page break".
  1061. # [16:41] <TabAtkins> fantasai: Lea, you've been working with paged media recently.
  1062. # [16:41] <dbaron> I have a suggestion that's an alternative to another property
  1063. # [16:41] <TabAtkins> leaverou: I've not had experience with multicol in my book so far - the pages are single-col.
  1064. # [16:42] <Bert> (My '??' were trying to say that a page that is not the last page of a chapter should preferrably be full-height, even if that means unbalanced columns. I agree with Steve that a designer might want to have the choice.)
  1065. # [16:42] <TabAtkins> fantasai: [explains to Lea]
  1066. # [16:42] <TabAtkins> fantasai: What if you have an unbreakable thing near the bottom fo the second-to-last page, so it gets pushed.
  1067. # [16:42] <TabAtkins> fantasai: There's a gap now, a soft break.
  1068. # [16:42] <TabAtkins> fantasai: Do you want to go back and balance those two columns, or leave that gap there?
  1069. # [16:43] <TabAtkins> fantasai: Assuming the author is already balancing the last page.
  1070. # [16:43] <TabAtkins> leaverou: I think it's clear that the author indicating no gaps means they want it all the time.
  1071. # [16:43] <TabAtkins> leaverou: I can't think what happens in most books.
  1072. # [16:43] <TabAtkins> fantasai: Most books don't have large things floating around in their content, so they don't see it.
  1073. # [16:43] <TabAtkins> fantasai: Or they manually adjust things.
  1074. # [16:44] <fantasai> to avoid such gaps
  1075. # [16:44] <TabAtkins> SimonSapin: I've heard of systems, maybe not with CSS, that balance across pages so that if you have an image that goes accross page, that gap gets distributed across several prior pages.
  1076. # [16:44] <dbaron> column-fill: auto | balance-last | balance-all (or name one of them balance rather than balance-...)
  1077. # [16:45] <TabAtkins> SimonSapin: I'm saying that in Paged Media, for page breaks, we decided to leave that to impls.
  1078. # [16:45] <TabAtkins> fantasai: I think we should definitely define this.
  1079. # [16:45] <TabAtkins> dbaron: There was a brief discussion about a control for this.
  1080. # [16:46] <TabAtkins> dbaron: There's not necessarily a need for a new property - we could just have a new value.
  1081. # [16:46] <TabAtkins> dbaron: One called "balance" and one called something else, with one of them doing the preferred default behavior and the other doing the other thing.
  1082. # [16:46] <fantasai> dbaron: or balance-last and balance-all
  1083. # [16:47] * Quits: israelh (~israelh@public.cloak) (Ping timeout: 180 seconds)
  1084. # [16:47] * sgalineau in CSS, last is a relative concept
  1085. # [16:48] <TabAtkins> plinss: balance-last would take effect at the end, and any set of columns where you have a hard break.
  1086. # [16:48] * glazou CSS itself can be quite relative :-)
  1087. # [16:48] * sgalineau is warming up to CSS as a concept
  1088. # [16:48] <TabAtkins> dbaron: Not sure about that - you can have a hard column break in the middle of a row.
  1089. # [16:48] * glazou thinks it's time to suggest renaming the concept of "balancing" to divert the discussion
  1090. # [16:49] <TabAtkins> plinss: lf you have a ???
  1091. # [16:49] <TabAtkins> fantasai: Moz's algo is that you have a row of columns.
  1092. # [16:49] <TabAtkins> fantasai: The column height (how high your column rules are) is consistent for tdhe entire row.
  1093. # [16:49] <TabAtkins> fantasai: And you pick the shortest height that doesn't overflow, while honoring the column breaks.
  1094. # [16:50] <TabAtkins> plinss: I'm not sure if that's accurate.
  1095. # [16:51] <TabAtkins> TabAtkins: I think it is - balancing isn't really about getting equal-height columns (that's just a usual result). It's about getting a minimum height.
  1096. # [16:51] <TabAtkins> plinss: If you have a break in the second column, it shouldn't move from that column.
  1097. # [16:52] <TabAtkins> fantasai: No, it should be able to move the break around. It won't move text across pages.
  1098. # [16:52] * Quits: SteveZ (~SteveZ@public.cloak) (Ping timeout: 180 seconds)
  1099. # [16:52] <TabAtkins> TabAtkins: Yeah, you can move text or breaks around *in a given row*, but nothing gets shifted to other rows due to balancing.
  1100. # [16:53] <TabAtkins> szilles: Would the minimum height violate widows/orphans?
  1101. # [16:53] * ChrisL in CSS, the columns balance *you*
  1102. # [16:53] <TabAtkins> fantasai: No, it's the minimum achieveable height, *honoring all the other properties*.
  1103. # [16:54] <TabAtkins> howcome: We still need to decide between one or two balancing keywords.
  1104. # [16:54] * glazou all your columns are balance to us
  1105. # [16:54] <TabAtkins> fantasai: I think balance-all and balance-last are great, but we already have "balance" interop.
  1106. # [16:54] <TabAtkins> fantasai: So we need to decide which behavior gets named "balance".
  1107. # [16:55] <TabAtkins> howcome: I think "balance-last" is a good keyword.
  1108. # [16:55] <dbaron> howcome^: but people are using 'balance', so we should keep it and add one of the others for the other meaning
  1109. # [16:55] <TabAtkins> TabAtkins: So "balance" does the all-balancing?
  1110. # [16:55] <TabAtkins> howcome: Yeah.
  1111. # [16:55] * Joins: SteveZ (~SteveZ@public.cloak)
  1112. # [16:56] * Quits: Rossen_ (~Rossen@public.cloak) (Client closed connection)
  1113. # [16:56] * Joins: Rossen_ (~Rossen@public.cloak)
  1114. # [16:56] <TabAtkins> TabAtkins: So this controls behavior for all non-column breaks?
  1115. # [16:57] <TabAtkins> TabAtkins: Like between soft region breaks?
  1116. # [16:57] <TabAtkins> howcome: yes.
  1117. # [16:57] <TabAtkins> fantasai: So what's implementations here?
  1118. # [16:57] <TabAtkins> howcome: Weird.
  1119. # [16:57] <TabAtkins> Rossen_: In IE, we balance without the column break.
  1120. # [16:57] <TabAtkins> Rossen_: If the column break comes very late, the error accumulation gets large, and we push things around.
  1121. # [16:58] <TabAtkins> Rossen_: I'd prefer "balance" to mean "balance-all".
  1122. # [17:00] <TabAtkins> Bert and plinss seem to prefer balance == balance-last.
  1123. # [17:00] <TabAtkins> TabAtkins: I think when I've seen this in books, they balance the page, so balance == balance-all.
  1124. # [17:00] <TabAtkins> howcome: I suggest we flip a coin.
  1125. # [17:00] * Quits: darktears (~darktears@public.cloak) (Client closed connection)
  1126. # [17:02] <TabAtkins> RESOLVED: Have two keywords for balancing - "balance" and either "balance-last" or "balance-all", depending on what implementions (including Prince and AH) do by default.
  1127. # [17:03] <dbaron> We don't have a resolution on any of the discussion about how balancing works.
  1128. # [17:05] <TabAtkins> RESOLVED: To balance columns, you just make the row as short as possible (honoring breaks, sizes, etc.), then flow normally into that height. No explicit "balancing" occurs (but it's a common effect).
  1129. # [17:05] <glazou> RESOLVED: Håkon to create a public, editable, full list of issues with source, reponse and resolution ; format up to him
  1130. # [17:05] <dbaron> s/breaks/breaking controls/
  1131. # [17:06] <TabAtkins> Topic: Shapes
  1132. # [17:06] <TabAtkins> astearns_: Shapes draft had a resolution a bit ago that was ??? with exclusions.
  1133. # [17:06] <TabAtkins> astearns_: It now only has shape-outside on floats.
  1134. # [17:06] <TabAtkins> astearns_: Since that WD, I've resolved all the issues.
  1135. # [17:07] <TabAtkins> astearns_: I was thinking of a WD and askign for more review, but people hav epointed out that this usually means you go to LC.
  1136. # [17:07] <TabAtkins> astearns_: So I'm requesting to do so.
  1137. # [17:07] <TabAtkins> ChrisL: Do you have a list of issues you resolved
  1138. # [17:07] <TabAtkins> astearns_: I have a change list from last draft.
  1139. # [17:07] <TabAtkins> astearns_: All of the issues were tracked in bugzilla.
  1140. # [17:07] <TabAtkins> ChrisL: Ah, yes, that's what I wanted to know.
  1141. # [17:08] <TabAtkins> ChrisL: Are there tests?
  1142. # [17:08] <TabAtkins> ChrisL: That's something we ask during the LC meeting.
  1143. # [17:08] <TabAtkins> astearns_: We have 31 tests.
  1144. # [17:08] <TabAtkins> astearns_: I expect many more.
  1145. # [17:08] <TabAtkins> ChrisL: Cool. That's a start.
  1146. # [17:09] <TabAtkins> fantasai: It would be good to have the WG review it deeply, so he doesn't have to track those as LC issues.
  1147. # [17:09] <TabAtkins> glazou: I think it's pointless - they've tracked a bunch of issues so far, and resolved them well.
  1148. # [17:09] <TabAtkins> fantasai: Right, it's just a question of if they want to do multiple WDs, or possible multiple LCs.
  1149. # [17:10] <TabAtkins> szilles: I still have more issues to bring up on the list.
  1150. # [17:10] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  1151. # [17:10] * Joins: ChrisL (clilley@public.cloak)
  1152. # [17:10] <TabAtkins> chrisl: Do you already have an ED?
  1153. # [17:10] <TabAtkins> astearns_: Yes.
  1154. # [17:10] <fantasai> I think s/possible/probable/ :p
  1155. # [17:10] <TabAtkins> ChrisL: So you're really asking if you can go to LC in 1-2 weeks?
  1156. # [17:10] <TabAtkins> astearns_: Yeah.
  1157. # [17:10] <TabAtkins> ChrisL: So we can resolve that.
  1158. # [17:11] <TabAtkins> plinss: Let's call it 2 weeks.
  1159. # [17:11] <TabAtkins> astearns_: So we decide on publishing LC at the next telcon?
  1160. # [17:11] <TabAtkins> glazou: Yeah, Sep 25.
  1161. # [17:12] <TabAtkins> howcome: If you have a floated image, can you get shape-outside from itself?
  1162. # [17:13] <sgalineau> howcome: can I extract a shape from an image?
  1163. # [17:13] <sgalineau> astearns: yes, using an alpha channel threshold
  1164. # [17:13] <sgalineau> howcome: I'd rather use luminance
  1165. # [17:13] <sgalineau> astearns: maybe in level 2
  1166. # [17:14] <TabAtkins> astearns_: My strategy si that level 2 will have something for that. Right now it's just an <image> value. IN the future, you can use the element() function.
  1167. # [17:15] <TabAtkins> howcome: That's an answer, yes. Not the one I want, but...
  1168. # [17:15] <TabAtkins> fantasai: You can use attr(src url).
  1169. # [17:15] <TabAtkins> glazou: So, conditional agreement on LC, with two weeks review?
  1170. # [17:16] <glazou> YES
  1171. # [17:16] <ChrisL> (no objections)
  1172. # [17:16] <TabAtkins> RESOLVED: Conditional agreement on taking Shapes to LC; will give final yay/nay at telcon in two weeks.
  1173. # [17:16] * Bert shape-outside: image(filter(url(foo.jpg), make-white-transparent)); shape-image-threshold: 0.5;
  1174. # [17:16] <TabAtkins> astearns_: Mihai is going to be the joint test owner for Shapes.
  1175. # [17:16] * michou Mihai Balan would be me :)
  1176. # [17:17] <michou> s/Shapes/Regions
  1177. # [17:17] <TabAtkins> astearns_: I think we should have test coordinators for more specs.
  1178. # [17:17] <TabAtkins> TabAtkins: Yeah, we've said that before. ^_^
  1179. # [17:19] <fantasai> ScribeNick: fantasai
  1180. # [17:20] <fantasai> Topic: CSS Transforms Interpolation
  1181. # [17:20] <fantasai> TabAtkins: Transforms interpolation sucks right now, have a suggestion to make it better
  1182. # [17:20] <fantasai> TabAtkins: WebKit has a suggestion of how to improve it in a back-compat way as well
  1183. # [17:20] <fantasai> TabAtkins: Here's an example of badly-interpolated transform
  1184. # [17:21] <fantasai> transform: translate(100px) rotate(45deg);
  1185. # [17:21] <fantasai> transform: scale(2) translateX(200px)
  1186. # [17:21] <fantasai> TabAtkins: Right now, the spec says that because these transform lists don't match, turn it into amatrix and interpolate that
  1187. # [17:21] <fantasai> TabAtkins: In this particular case, not too terrible, but if rotate(545deg)
  1188. # [17:22] <fantasai> TabAtkins: Lose several truns, also other weird cases
  1189. # [17:22] <fantasai> TabAtkins: Want better ways to do this
  1190. # [17:22] <fantasai> TabAtkins: Shane and I were talking, came up with several alternate sugestions
  1191. # [17:22] <ChrisL> conversion to matrix gives you a rotate normalized to 0..360
  1192. # [17:22] <fantasai> TabAtkins: Suggestion now is take tranform list
  1193. # [17:23] <fantasai> Right now is <transform>+
  1194. # [17:23] <fantasai> Suggest do <transform>+#
  1195. # [17:23] <fantasai> Within a group, smart or stupid interpolation
  1196. # [17:23] <fantasai> But between groups, [do something smart]
  1197. # [17:24] <fantasai> TabAtkins: author can write
  1198. # [17:24] <fantasai> transform: translateX(100px), rotate(545deg);
  1199. # [17:24] <fantasai> transform: scale(2) translateX(200px), null;
  1200. # [17:24] <fantasai> TabAtkins: and that will interpolate sanely
  1201. # [17:25] <fantasai> TabAtkins: Also solves other issues
  1202. # [17:25] <fantasai> TabAtkins: JS has some models that are hard to do in CSS
  1203. # [17:25] * Quits: michou (~mibalan@public.cloak) (Client closed connection)
  1204. # [17:25] <fantasai> TabAtkins: E.g. GreenSock library just exposes translate, rotate, scale as separate "properties" in its animation model
  1205. # [17:25] * Joins: michou (~mibalan@public.cloak)
  1206. # [17:25] <fantasai> TabAtkins: Can't do arbitrary combinations
  1207. # [17:26] <fantasai> TabAtkins: While this is simpler than our model, can independently animate rotation or scale, without affecting other transforms
  1208. # [17:26] * Joins: israelh (~israelh@public.cloak)
  1209. # [17:26] <fantasai> TabAtkins: Very difficult in our model, because we can't modify just the scale
  1210. # [17:27] <fantasai> TabAtkins: By separating out with comma, can adopt convention to do translate,rotate,scale
  1211. # [17:27] <fantasai> TabAtkins: And then whatever generic solution we have for accessing list-valued properties will be usable for this
  1212. # [17:27] <fantasai> dbaron: What do you mean?
  1213. # [17:27] <fantasai> TabAtkins: People want to be able to modify one segment of a comma-separated list
  1214. # [17:28] <fantasai> dbaron: Have a bunch of use cases where people wnat to add to, rather than replace, a list
  1215. # [17:28] <fantasai> TabAtkins: We also have cases where one class ads a rotation, another class adds a scale, don't wnat to list all combinations
  1216. # [17:28] <dbaron> dirk: additive animations should be handled at a global level, not just for transforms
  1217. # [17:28] <dbaron> dirk: and they are complex, we should ...
  1218. # [17:28] <fantasai> krit: Animations and transforms are complex, even have issues in SVGWG
  1219. # [17:29] <fantasai> krit: Only define animations for scale, translate, etc.
  1220. # [17:29] <dbaron> I am greatly amused that both Tab and dirk have told each other w/i the last 2 minutes that the other is talking too fast!
  1221. # [17:29] <dbaron> (They're both right!)
  1222. # [17:29] * Quits: Rossen_ (~Rossen@public.cloak) (Client closed connection)
  1223. # [17:29] * fantasai agrees ;)
  1224. # [17:29] * Joins: Rossen_ (~Rossen@public.cloak)
  1225. # [17:30] <fantasai> TabAtkins: Going back to diversion about list-value properties
  1226. # [17:30] * sgalineau RESOLVED: Tab and Krit talk too effing fast
  1227. # [17:30] <fantasai> dbaron: What are other cases where people want to edit within, rather than append?
  1228. # [17:30] <fantasai> TabAtkins: background-image
  1229. # [17:30] <fantasai> dbaron: here you can divide the transforms into categories, less true of bgimage
  1230. # [17:31] <fantasai> TabAtkins: I'd have to look through for other cases, but that's the big one
  1231. # [17:31] * Quits: michou (~mibalan@public.cloak) (Client closed connection)
  1232. # [17:31] <fantasai> krit: I would like to have use cases on the ML, so can discuss on ML
  1233. # [17:31] * Joins: michou (~mibalan@public.cloak)
  1234. # [17:31] <fantasai> krit: second, comma is not a good separator, and in SVG comma and space are interchangeable
  1235. # [17:31] <fantasai> krit: We have content already that uses it
  1236. # [17:32] <fantasai> krit: Lastly, think it's a bigger change than we want to do in this level
  1237. # [17:32] <fantasai> fantasai: Totally agree it's too significant for this level
  1238. # [17:32] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  1239. # [17:32] * Joins: ChrisL (clilley@public.cloak)
  1240. # [17:32] <fantasai> hober: Agree the proposal is elegant way of handling this, but not in this level
  1241. # [17:32] * Quits: Rossen_ (~Rossen@public.cloak) (Client closed connection)
  1242. # [17:33] * Joins: Rossen_ (~Rossen@public.cloak)
  1243. # [17:33] <fantasai> dbaron: Don't think this makes things that much easier for authors.
  1244. # [17:33] <fantasai> dbaron: Authors can already make their functions line up so they animate correctly.
  1245. # [17:33] <fantasai> dbaron: This is just a slightly different way of making their functions line up
  1246. # [17:33] <fantasai> dbaron: It could save you a function here or there, but doesn't seem like massive improvement to me
  1247. # [17:34] <fantasai> TabAtkins: Does mean you can do less coordinate in base case
  1248. # [17:34] <fantasai> TabAtkins: E.g. have multiple independent classes that apply some transform (rotate class, transform class, etc)
  1249. # [17:34] <fantasai> TabAtkins: In base case, need to have sufficient null transforms
  1250. # [17:35] * Quits: SteveZ (~SteveZ@public.cloak) (Ping timeout: 180 seconds)
  1251. # [17:35] <fantasai> Bert: How long will these lists get?
  1252. # [17:35] <hober> s/elegant way of handling this/kinda neat/
  1253. # [17:35] <fantasai> TabAtkins: As long as you nead to represent your intent
  1254. # [17:35] <fantasai> Bert: Why not just add identity transforms there
  1255. # [17:36] * Joins: c_palmer (~c_palmer@public.cloak)
  1256. # [17:36] <fantasai> TabAtkins: more complicated cases ...?
  1257. # [17:36] <fantasai> TabAtkins: Combinatorial problem
  1258. # [17:36] <fantasai> fantasai: But this doesn't solve that
  1259. # [17:37] <fantasai> TabAtkins: It makes it more likely to be solved when we solve this problem generally
  1260. # [17:38] <fantasai> ChrisL: Probably want null, to be consistent with "null transform" terminology commonly used elsewhere
  1261. # [17:38] <fantasai> fantasai: Also, 'none' and identiy transform are not identical
  1262. # [17:38] <fantasai> dbaron: No?
  1263. # [17:38] <fantasai> fantasai: stacking contexts and other fun things like that?
  1264. # [17:38] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  1265. # [17:38] <fantasai> -> null
  1266. # [17:38] * Joins: ChrisL (clilley@public.cloak)
  1267. # [17:39] <dbaron> fantasai: think it's an interesting idea, not something we should work on right this minute. Not convinced it's a great solution to all the problems.
  1268. # [17:39] * Joins: plh (plehegar@public.cloak)
  1269. # [17:39] <fantasai> fantasai: If we have generic solution for splicing comma-separated lists, maybe revisit then because coudl be more compelling, but right now doesn't seem like enough of an improvement to be worth adding
  1270. # [17:40] <fantasai> [and solving all issues on etc.]
  1271. # [17:40] <fantasai> Bert: Adding null transform seems good enough, don't think most lists will be that long anyway
  1272. # [17:40] <fantasai> krit: Could easily just add scale(1) etc.
  1273. # [17:40] <fantasai> krit: Would really like to see use cases first, then have this discussion
  1274. # [17:41] <ChrisL> scale(1) would not match up with a rotate
  1275. # [17:41] <fantasai> TabAtkins: Another comment, if we ever do smarter fixup, this will allow us to [...]
  1276. # [17:41] <fantasai> krit: ...
  1277. # [17:41] <fantasai> krit: identity transform on second list
  1278. # [17:41] * Quits: c_palmer (~c_palmer@public.cloak) (Client closed connection)
  1279. # [17:42] <fantasai> krit: If identical except one is shorter than other
  1280. # [17:42] <fantasai> TabAtkins: Do you padd beginning? end? Something else?
  1281. # [17:43] * glazou is tempted to launch a code build from scratch to heat his hands from the laptop...
  1282. # [17:43] <fantasai> fantasai: So, do we want to add a null transform?
  1283. # [17:43] <fantasai> krit: Don't need it, just use identity transforms
  1284. # [17:44] <fantasai> TabAtkins: Then have to match up types, not just indices
  1285. # [17:44] <dbaron> s/padd/pad/
  1286. # [17:44] <fantasai> Switching topics, no conclusion
  1287. # [17:44] <fantasai> TabAtkins: Do we want to talk about list-value problem?
  1288. # [17:45] <fantasai> fantasai: Not now? Doesn't seem like that urgent
  1289. # [17:45] * SimonSapin glazou, http://xkcd.com/1172/
  1290. # [17:46] <glazou> SimonSapin, lol
  1291. # [17:47] <fantasai> Taking a photo now
  1292. # [17:47] * Quits: jet (~junglecode@public.cloak) (jet)
  1293. # [17:50] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  1294. # [17:50] * Joins: ChrisL (clilley@public.cloak)
  1295. # [17:50] * Quits: ChrisL (clilley@public.cloak) (Client closed connection)
  1296. # [17:50] * Joins: ChrisL (clilley@public.cloak)
  1297. # [17:51] * Joins: jet (~junglecode@public.cloak)
  1298. # [17:52] * Joins: SteveZ (~SteveZ@public.cloak)
  1299. # [17:53] * Quits: sgalineau (~sgalineau@public.cloak) ("Textual IRC Client: www.textualapp.com")
  1300. # [17:53] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  1301. # [17:54] * Joins: rhauck (~Adium@public.cloak)
  1302. # [17:57] * Joins: lmclister (~lmclister@public.cloak)
  1303. # [17:58] * Quits: projector (~projector@public.cloak) (Ping timeout: 180 seconds)
  1304. # [18:02] * Quits: cyril (~cyril@public.cloak) (Ping timeout: 180 seconds)
  1305. # [18:03] * Joins: cabanier (~cabanier@public.cloak)
  1306. # [18:03] <zcorpan> Meeting closed
  1307. # [18:03] * Parts: glazou (~glazou@public.cloak) (glazou)
  1308. # [18:04] * Quits: Rossen_ (~Rossen@public.cloak) (Ping timeout: 180 seconds)
  1309. # [18:05] * Quits: krit (~krit@public.cloak) ("Leaving.")
  1310. # [18:07] * Quits: michou (~mibalan@public.cloak) (Client closed connection)
  1311. # [18:07] * Quits: Koji (~Koji@public.cloak) (Client closed connection)
  1312. # [18:07] * Quits: yamamoto (~yamamoto@public.cloak) ("Page closed")
  1313. # [18:09] * Quits: shans__ (~shans_@public.cloak) (Ping timeout: 180 seconds)
  1314. # [18:09] * leaverou is now known as leaverou_away
  1315. # [18:13] * Quits: ian_ (~ian@public.cloak) (Ping timeout: 180 seconds)
  1316. # [18:13] * Quits: leif (~lastorset@public.cloak) (Ping timeout: 180 seconds)
  1317. # [18:16] * Quits: lmclister (~lmclister@public.cloak) ("")
  1318. # [18:17] * Quits: israelh (~israelh@public.cloak) ("Page closed")
  1319. # [18:18] * Joins: leif (~lastorset@public.cloak)
  1320. # [18:21] * Quits: astearns_ (~astearns@public.cloak) (Client closed connection)
  1321. # [18:22] * Joins: astearns (~astearns@public.cloak)
  1322. # [18:26] <Zakim> dbaron, you asked to be reminded at this time to go home
  1323. # [18:27] * Quits: SteveZ (~SteveZ@public.cloak) (Ping timeout: 180 seconds)
  1324. # [18:31] * Quits: astearns (~astearns@public.cloak) (Client closed connection)
  1325. # [18:32] * Quits: rhauck (~Adium@public.cloak) ("Leaving.")
  1326. # [18:34] * Joins: rhauck (~Adium@public.cloak)
  1327. # [18:37] * Zakim excuses himself; his presence no longer seems to be needed
  1328. # [18:37] * Parts: Zakim (zakim@public.cloak) (Zakim)
  1329. # [18:37] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
  1330. # [18:37] * Joins: dauwhe (~dauwhe@public.cloak)
  1331. # [18:38] * Joins: darktears (~darktears@public.cloak)
  1332. # [18:41] * Quits: rhauck (~Adium@public.cloak) ("Leaving.")
  1333. # [18:43] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  1334. # [18:43] * Quits: jet (~junglecode@public.cloak) (jet)
  1335. # [18:44] * Joins: teoli (~teoli@public.cloak)
  1336. # [18:45] * Joins: teoli_ (~teoli@public.cloak)
  1337. # [18:45] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  1338. # [18:46] * Quits: myakura (~myakura@public.cloak) (Client closed connection)
  1339. # [18:46] * Quits: leif (~lastorset@public.cloak) ("Leaving.")
  1340. # [18:47] * Joins: myakura (~myakura@public.cloak)
  1341. # [18:54] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  1342. # [19:02] * Joins: lmclister (~lmclister@public.cloak)
  1343. # [19:03] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  1344. # [19:04] * Joins: zcorpan (~zcorpan@public.cloak)
  1345. # [19:06] * Joins: zcorpan_ (~zcorpan@public.cloak)
  1346. # [19:06] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  1347. # [19:08] * Quits: zcorpan_ (~zcorpan@public.cloak) (Client closed connection)
  1348. # [19:08] * Joins: zcorpan (~zcorpan@public.cloak)
  1349. # [19:09] * Parts: oyvind (~oyvinds@public.cloak) (oyvind)
  1350. # [19:10] * Quits: ChrisL (clilley@public.cloak) (Ping timeout: 180 seconds)
  1351. # [19:13] * Quits: kawabata (~kawabata@public.cloak) (Ping timeout: 180 seconds)
  1352. # [19:15] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  1353. # [19:17] * Joins: rhauck (~Adium@public.cloak)
  1354. # [19:17] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 180 seconds)
  1355. # [19:27] * Quits: tantek (~tantek@public.cloak) (tantek)
  1356. # [19:27] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  1357. # [19:46] * Quits: lmclister (~lmclister@public.cloak) ("")
  1358. # [19:47] * Joins: lmclister (~lmclister@public.cloak)
  1359. # [20:28] * Quits: curvedmark (~curvedmark@public.cloak) ("My iMac has gone to sleep. ZZZzzz…")
  1360. # [20:28] * Quits: teoli_ (~teoli@public.cloak) (Client closed connection)
  1361. # [20:44] * Quits: tobie (tobie@public.cloak)
  1362. # [20:50] * Joins: cabanier (~cabanier@public.cloak)
  1363. # [20:58] * Quits: lmclister (~lmclister@public.cloak) ("")
  1364. # [20:58] * Joins: teoli (~teoli@public.cloak)
  1365. # [21:00] * Joins: lmclister (~lmclister@public.cloak)
  1366. # [21:13] * Quits: teoli (~teoli@public.cloak) (Ping timeout: 180 seconds)
  1367. # [21:15] * Joins: gsnedder1 (~gsnedders@public.cloak)
  1368. # [21:16] * Quits: gsnedders (~gsnedders@public.cloak) (Ping timeout: 180 seconds)
  1369. # [21:22] * Joins: teoli (~teoli@public.cloak)
  1370. # [21:23] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  1371. # [21:23] * Joins: teoli (~teoli@public.cloak)
  1372. # [21:30] * Quits: teoli (~teoli@public.cloak) (Ping timeout: 180 seconds)
  1373. # [21:48] * Joins: tobie (tobie@public.cloak)
  1374. # [22:46] * Joins: zcorpan (~zcorpan@public.cloak)
  1375. # [22:48] * Quits: lmclister (~lmclister@public.cloak) ("")
  1376. # [22:48] * Joins: lmclister (~lmclister@public.cloak)
  1377. # [23:07] * Quits: lmclister (~lmclister@public.cloak) ("")
  1378. # [23:08] * Joins: teoli (~teoli@public.cloak)
  1379. # [23:10] * Joins: lmclister (~lmclister@public.cloak)
  1380. # [23:10] * Joins: shans__ (~shans_@public.cloak)
  1381. # [23:13] * Joins: krit (~krit@public.cloak)
  1382. # [23:13] * Joins: krit1 (~krit@public.cloak)
  1383. # [23:13] * Quits: krit (~krit@public.cloak) (Client closed connection)
  1384. # [23:14] * Joins: krit (~krit@public.cloak)
  1385. # [23:14] * Quits: krit1 (~krit@public.cloak) (Client closed connection)
  1386. # [23:15] * Joins: krit1 (~krit@public.cloak)
  1387. # [23:15] * Quits: krit (~krit@public.cloak) (Client closed connection)
  1388. # [23:17] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
  1389. # [23:19] * Quits: shans__ (~shans_@public.cloak) (Ping timeout: 180 seconds)
  1390. # [23:23] * Joins: myakura (~myakura@public.cloak)
  1391. # [23:28] * leaverou_away is now known as leaverou
  1392. # [23:29] * Joins: dbaron (~dbaron@public.cloak)
  1393. # [23:44] * Quits: plh (plehegar@public.cloak) ("Leaving")
  1394. # [23:44] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  1395. # [23:44] * Joins: teoli (~teoli@public.cloak)
  1396. # [23:46] * Quits: tobie (tobie@public.cloak)
  1397. # [23:51] * Joins: tantek (~tantek@public.cloak)
  1398. # Session Close: Thu Sep 12 00:00:00 2013

The end :)