/irc-logs / w3c / #css / 2012-11-16 / end

Options:

  1. # Session Start: Fri Nov 16 00:00:00 2012
  2. # Session Ident: #css
  3. # [00:01] * Joins: antonp (~Thunderbird@public.cloak)
  4. # [00:20] * Joins: arno (~arnog@public.cloak)
  5. # [00:29] * Quits: SimonSapin (~simon@public.cloak) ("Leaving.")
  6. # [00:40] * Quits: antonp (~Thunderbird@public.cloak) (antonp)
  7. # [00:49] * Quits: SteveZ (~chatzilla@public.cloak) (Ping timeout: 60 seconds)
  8. # [01:36] * Quits: jet (~jet@public.cloak) (jet)
  9. # [01:38] * Joins: jet (~jet@public.cloak)
  10. # [02:00] * Quits: arno (~arnog@public.cloak) ("Leaving.")
  11. # [02:10] * Quits: krit (~krit@public.cloak) ("Leaving.")
  12. # [02:12] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  13. # [02:20] * Joins: arno (~arnog@public.cloak)
  14. # [02:27] * Quits: jet (~jet@public.cloak) (jet)
  15. # [02:30] * Joins: jet (~jet@public.cloak)
  16. # [03:01] * heycam is now known as heycam|away
  17. # [03:11] * Quits: jet (~jet@public.cloak) (jet)
  18. # [03:18] * Joins: jet (~jet@public.cloak)
  19. # [03:42] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
  20. # [03:51] * Quits: arno (~arnog@public.cloak) ("Leaving.")
  21. # [04:22] * Quits: lmclister (~Adium@public.cloak) ("Leaving.")
  22. # [04:30] * Quits: jet (~jet@public.cloak) (jet)
  23. # [04:34] * Joins: krit (~krit@public.cloak)
  24. # [04:38] * Joins: jet (~jet@public.cloak)
  25. # [04:48] * Quits: jet (~jet@public.cloak) (jet)
  26. # [04:49] * Quits: danielfilho|w (~danielfilho@public.cloak) (Ping timeout: 60 seconds)
  27. # [04:53] * Joins: cabanier (~cabanier@public.cloak)
  28. # [05:10] * Quits: krit (~krit@public.cloak) ("Leaving.")
  29. # [05:13] * Joins: krit (~krit@public.cloak)
  30. # [05:13] * Joins: jarek (~jarek@public.cloak)
  31. # [05:15] * Quits: krit (~krit@public.cloak) ("Leaving.")
  32. # [05:16] * Joins: krit (~krit@public.cloak)
  33. # [05:16] * Quits: krit (~krit@public.cloak) ("Leaving.")
  34. # [05:33] * Joins: krit (~krit@public.cloak)
  35. # [05:39] * Joins: lmclister (~Adium@public.cloak)
  36. # [05:56] * Quits: glenn (~gadams@public.cloak) (Client closed connection)
  37. # [06:21] * heycam|away is now known as heycam
  38. # [06:26] * Quits: krit (~krit@public.cloak) ("Leaving.")
  39. # [06:42] * Joins: danielfilho|w (~danielfilho@public.cloak)
  40. # [07:24] * Quits: jarek (~jarek@public.cloak) (jarek)
  41. # [07:32] * Joins: jarek (~jarek@public.cloak)
  42. # [07:38] * Quits: lmclister (~Adium@public.cloak) ("Leaving.")
  43. # [07:40] * heycam is now known as heycam|away
  44. # [08:06] * Joins: jet (~jet@public.cloak)
  45. # [08:26] * Quits: jarek (~jarek@public.cloak) (jarek)
  46. # [08:38] * Quits: jet (~jet@public.cloak) (jet)
  47. # [08:39] * Joins: jet (~jet@public.cloak)
  48. # [08:39] * Joins: SimonSapin (~simon@public.cloak)
  49. # [08:55] * Quits: jet (~jet@public.cloak) (jet)
  50. # [09:14] * Joins: jet (~jet@public.cloak)
  51. # [09:28] * Quits: SimonSapin (~simon@public.cloak) (Ping timeout: 60 seconds)
  52. # [09:43] * Quits: jet (~jet@public.cloak) (jet)
  53. # [10:01] * Joins: SimonSapin (~simon@public.cloak)
  54. # [10:16] * Joins: drublic (~drublic@public.cloak)
  55. # [12:08] * Joins: darktears (~darktears@public.cloak)
  56. # [13:27] * Joins: tmpsantos (~tmpsantos@public.cloak)
  57. # [13:45] * Joins: antonp (~Thunderbird@public.cloak)
  58. # [14:01] * Joins: Ms2ger (~Ms2ger@public.cloak)
  59. # [14:03] * Quits: antonp (~Thunderbird@public.cloak) (antonp)
  60. # [14:04] * Quits: Ms2ger (~Ms2ger@public.cloak) ("Leaving")
  61. # [14:06] * Joins: glenn (~gadams@public.cloak)
  62. # [15:26] * Joins: krit (~krit@public.cloak)
  63. # [16:36] <leaverou> TabAtkins: Happy birthday man!!
  64. # [17:01] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  65. # [17:10] <stearns> Bert: ping
  66. # [17:11] <Bert> Hi Alan.
  67. # [17:11] <stearns> would this way of defining regions work for you? http://wiki.csswg.org/spec/css3-regions/sequestering-regions
  68. # [17:15] <Bert> But the components are part of the style, not of the document. The link shouldn't be in the HTML, but in the CSS (as it was in XBL).
  69. # [17:15] * Quits: tmpsantos (~tmpsantos@public.cloak) (Client closed connection)
  70. # [17:15] * Joins: tmpsantos (~tmpsantos@public.cloak)
  71. # [17:15] <Bert> Also, it would be nice if the MIME type of the components wasn't HTML, so as not to suggest that it is something that you can view and print on its own.
  72. # [17:16] <stearns> fair point
  73. # [17:16] <Bert> Just generic XML, or even better a new MIME type.
  74. # [17:17] <stearns> that would be something to bring up with the web components people - I assume they're re-using HTML on purpose
  75. # [17:18] <Bert> I haven't read Web Components in any detail, but it doesn't look like HTML to me: <decorator> and <template> aren't HTML, are they?
  76. # [17:19] <stearns> they're new things added for this purpose
  77. # [17:19] <stearns> <template> is particularly key to the new components functionality
  78. # [17:20] <stearns> they can be part of the content file as well, instead of being an external link
  79. # [17:20] <stearns> but I like the linking a bit better
  80. # [17:20] <Bert> As I said, I have to read Web Components. But if you have CSS, why do you need <template>? You can just import the same components file twice.
  81. # [17:21] <stearns> I don't understand what you mean about importing twice
  82. # [17:23] <Bert> As in old XBL. If you have a DIV in your document whose content is to be displayed over many regions, you do 'div.comples {regions-template: url(regions.xml}' and if you have another DIV with exactly the same set of regions, you repeat that rule for that DIV.
  83. # [17:24] <Bert> That's also how grids work, except that grid define the template with CSS syntax instead of external XML.
  84. # [17:24] <stearns> hmm - I think that could be done with the decorator property, but that's not as well-developed as the custom components yet
  85. # [17:29] <stearns> thanks for taking a look
  86. # [17:57] * heycam|away is now known as heycam
  87. # [18:14] * Quits: krit (~krit@public.cloak) ("Leaving.")
  88. # [18:19] * Joins: lmclister (~Adium@public.cloak)
  89. # [18:25] * Quits: SimonSapin (~simon@public.cloak) (Ping timeout: 60 seconds)
  90. # [18:39] * Quits: tmpsantos (~tmpsantos@public.cloak) ("Leaving")
  91. # [19:06] * Joins: cabanier (~cabanier@public.cloak)
  92. # [19:07] * Joins: krit (~krit@public.cloak)
  93. # [19:10] * Joins: SimonSapin (~simon@public.cloak)
  94. # [19:24] * leaverou is now known as leaverou_away
  95. # [19:38] <TabAtkins> leaverou_away: Thanks. ^_^
  96. # [19:44] * Parts: lmclister (~Adium@public.cloak) (lmclister)
  97. # [19:46] * Joins: lmclister (~Adium@public.cloak)
  98. # [19:49] * Quits: vhardy__ (~uid7483@public.cloak) (Client closed connection)
  99. # [19:49] * Quits: sylvaing (~sylvaing@public.cloak) (Ping timeout: 60 seconds)
  100. # [19:49] * Quits: leaverou_away (~leaverou@public.cloak) (Ping timeout: 60 seconds)
  101. # [19:49] * Quits: boblet (~uid1921@public.cloak) (Client closed connection)
  102. # [19:49] * Parts: lmclister (~Adium@public.cloak) (lmclister)
  103. # [19:49] * Joins: arno (~arnog@public.cloak)
  104. # [19:50] * Quits: alexmog (~alexmog@public.cloak) (Ping timeout: 60 seconds)
  105. # [19:50] * Joins: lmclister (~Adium@public.cloak)
  106. # [19:52] * Quits: shans (~shans@public.cloak) (Ping timeout: 60 seconds)
  107. # [19:56] * Joins: alexmog_away (~alexmog@public.cloak)
  108. # [19:56] * Joins: leaverou_away (~leaverou@public.cloak)
  109. # [19:56] * alexmog_away is now known as alexmog
  110. # [19:56] * leaverou_away is now known as leaverou
  111. # [19:56] * Joins: shans_away (~shans@public.cloak)
  112. # [19:57] * shans_away is now known as shans
  113. # [19:57] * Joins: sylvaing_away (~sylvaing@public.cloak)
  114. # [19:57] * sylvaing_away is now known as sylvaing
  115. # [19:59] * Joins: vhardy__ (~uid7483@public.cloak)
  116. # [19:59] * Joins: boblet (~uid1921@public.cloak)
  117. # [20:03] * Joins: lmclister1 (~Adium@public.cloak)
  118. # [20:03] * Quits: lmclister (~Adium@public.cloak) (Client closed connection)
  119. # [20:19] * Joins: jet (~jet@public.cloak)
  120. # [20:38] * Joins: arno1 (~arnog@public.cloak)
  121. # [20:40] * Quits: arno (~arnog@public.cloak) (Ping timeout: 60 seconds)
  122. # [21:16] * Quits: lmclister1 (~Adium@public.cloak) ("Leaving.")
  123. # [21:19] * Joins: lmclister (~Adium@public.cloak)
  124. # [21:22] * Quits: krit (~krit@public.cloak) ("Leaving.")
  125. # [21:35] * Quits: arno1 (~arnog@public.cloak) ("Leaving.")
  126. # [21:36] * Joins: arno (~arnog@public.cloak)
  127. # [21:36] <SimonSapin> TabAtkins: I hope you like pull requests as birthday presents ^^
  128. # [21:39] <TabAtkins> Indeed I do!
  129. # [21:44] * Joins: krit (~krit@public.cloak)
  130. # [21:50] <SimonSapin> TabAtkins: about the generator: I liked my workflow with http://dev.w3.org/csswg/css3-syntax/Diagrams.src.html
  131. # [21:50] <SimonSapin> use my text editor, but still minimize the number of steps
  132. # [21:53] <SimonSapin> although a in-browser editor could be better if it updates the preview instantly
  133. # [21:53] <TabAtkins> I broke the generator somehow, though. It now outputs "undefined" from the toString.
  134. # [21:54] <TabAtkins> But it genreates the right SVG. :/
  135. # [21:54] <TabAtkins> And making it auto-update is easy.
  136. # [21:56] <shepazu> TabAtkins: happy birthday!
  137. # [21:58] <SimonSapin> also, it appends a new SVG but does not remove the previous one
  138. # [21:59] <TabAtkins> SimonSapin: Yeah, fixing that now.
  139. # [22:08] <TabAtkins> shepazu: Thanks!
  140. # [22:14] * Quits: darktears (~darktears@public.cloak) (Ping timeout: 60 seconds)
  141. # [22:24] <SimonSapin> TabAtkins: should I apply the fixes to the diagrams in css3-syntax?
  142. # [22:27] * Quits: jet (~jet@public.cloak) (jet)
  143. # [22:33] <TabAtkins> Where are these fixes? Did I miss you sending me them?
  144. # [22:35] <TabAtkins> SimonSapin: ^^^
  145. # [22:39] <SimonSapin> TabAtkins: well, we don’t have pull requests on specs ;(
  146. # [22:41] <SimonSapin> http://dvcs.w3.org/hg/csswg/log/9d11abdafc7f/css3-syntax/Diagrams.src.html
  147. # [22:41] * Quits: arno (~arnog@public.cloak) ("Leaving.")
  148. # [22:41] <SimonSapin> sent an email about it on Sat, 10 Nov 2012 13:02:35 +0100
  149. # [22:51] <TabAtkins> SimonSapin: Yeah, go ahead and push them. However, when I look at the diagrams on my machine, the rectangles don't appear to be wide enough.
  150. # [22:52] <SimonSapin> TabAtkins: not wide enough?
  151. # [22:52] <TabAtkins> Also, for the URL production, mind shifting the WS things out of the straight-line path? By convention, the straight-line path should be the "normal" option. I made them a simple Optional before, but they should really be a Choice(0, Skip(), NonTerminal('WS'))
  152. # [22:53] <TabAtkins> SimonSapin: Yeah, the text spills out on some of them. I've put a *lot* of padding into the fake metrics I use, so it's unlikely to overlap on any system's default fonts.
  153. # [22:54] <SimonSapin> I don’t see any spill. Maybe my system has a different font?
  154. # [22:55] <TabAtkins> Yes, it varies a lot based on default font.
  155. # [22:55] <TabAtkins> Did you adjust the text metrics? Or maybe this is an old version of the library.
  156. # [22:55] <SimonSapin> no, nothing on text
  157. # [22:56] <SimonSapin> Diagrams.src.html is using my version of the lib from last week
  158. # [22:56] <SimonSapin> I changed WS in URL to be repeated
  159. # [22:57] <SimonSapin> by opposition to escape
  160. # [22:57] <TabAtkins> Yeah, good fix.
  161. # [22:57] <TabAtkins> Weird. http://www.xanthir.com/etc/railroad-diagrams/example.html doesn't have any overlaps on my screen.
  162. # [22:57] <TabAtkins> Using the lib as of this morning.
  163. # [22:57] <SimonSapin> Choice(0, Skip(), OneOrMore(NonTerminal('WS'))) I guess
  164. # [22:57] <TabAtkins> Yeah.
  165. # [22:58] <SimonSapin> let me fix that and update the lib
  166. # [23:00] <SimonSapin> should Optional() allow changing the default?
  167. # [23:01] <TabAtkins> Maybe. I've had to explicitly switch to Choice a few times just for this, so it's probably a win. Let me push real quick.
  168. # [23:01] <SimonSapin> btw I didn’t know empty url() was allowed
  169. # [23:03] * Joins: arno (~arnog@public.cloak)
  170. # [23:04] <TabAtkins> Yup, check the second clause of the URI token in 2.1. Optional whitespace, a big ZeroOrMore group, then optional whitespace.
  171. # [23:04] <SimonSapin> isn’t your unnull function the same as the || operator?
  172. # [23:05] <TabAtkins> No, it specifically falls back only when === undefined.
  173. # [23:05] <TabAtkins> So 0 won't trigger it, while 0 || foo returns foo.
  174. # [23:05] <SimonSapin> I see
  175. # [23:06] <TabAtkins> It's just annoying to have to switch to a trinary for that.
  176. # [23:06] <SimonSapin> silly javascript
  177. # [23:06] <TabAtkins> Anyway, Optional() now accepts a second arg for switching.
  178. # [23:06] <SimonSapin> uh. I miss git stash and partial commits
  179. # [23:06] <TabAtkins> Haha.
  180. # [23:06] <SimonSapin> probably possible in hg, I just don’t know how
  181. # [23:06] <TabAtkins> Just use real git.
  182. # [23:07] <TabAtkins> Oh, in hg.
  183. # [23:07] <SimonSapin> yeah, for the specs
  184. # [23:07] <TabAtkins> Pretty sure there's a way to stash.
  185. # [23:07] <SimonSapin> I tried hg-git in "revert" on another project
  186. # [23:07] <SimonSapin> kind of works, but it’s easy to mess it up
  187. # [23:09] * Quits: lmclister (~Adium@public.cloak) ("Leaving.")
  188. # [23:10] <SimonSapin> TabAtkins: is this pushed? "Optional() now accepts a second arg for switching."
  189. # [23:11] <TabAtkins> I just now pushed it. ZeroOrMore does too.
  190. # [23:11] <TabAtkins> Sorry, I'd accidentally left the push asking for my un/pw. ^_^
  191. # [23:12] * TabAtkins should get his cert sorted out on this machine.
  192. # [23:17] <SimonSapin> oh, I need an explicit null for rep
  193. # [23:17] <SimonSapin> to get to the skip argument
  194. # [23:18] <SimonSapin> named arguments are in what, ES6?
  195. # [23:25] <SimonSapin> TabAtkins: is http://dev.w3.org/csswg/css3-syntax/Diagrams.src.html better now?
  196. # [23:26] <SimonSapin> updated lib, default to no WS in URL
  197. # [23:29] <TabAtkins> This is bizarre. No, it's still overflowing. :/
  198. # [23:36] <SimonSapin> but not in example.html?
  199. # [23:36] <TabAtkins> SimonSapin: Nope.
  200. # [23:37] <TabAtkins> Same size text, as far as I can tell. I guess my metrics are just failing for the text you have.
  201. # [23:38] <SimonSapin> I changed a few labels, but certainly not metrics
  202. # [23:38] * TabAtkins really needs to do actual measurement of text.
  203. # [23:41] <SimonSapin> this is one of the reasons we switched from SVG for text documents(!) and built weasyprint
  204. # [23:41] <TabAtkins> Heh, SVG and text is brutal.
  205. # [23:41] <shepazu> booooo
  206. # [23:42] <shepazu> what's overflowing?
  207. # [23:42] <TabAtkins> Some text is overflowing the rectangle positioned behind it.
  208. # [23:42] <shepazu> where?
  209. # [23:42] <shepazu> I don't see it
  210. # [23:42] <SimonSapin> last link I pasted
  211. # [23:42] <TabAtkins> http://dev.w3.org/csswg/css3-syntax/Diagrams.src.html , for the URL diagram, on my machine.
  212. # [23:43] <SimonSapin> doesn’t overflow on my machine
  213. # [23:43] <TabAtkins> It's font-related. I think my default OS monospace is fatter.
  214. # [23:43] * Joins: lmclister (~Adium@public.cloak)
  215. # [23:43] <shepazu> TabAtkins: wfm on mac chrome and ff
  216. # [23:43] <TabAtkins> shepazu: That's great. Doesn't help people with Ubuntu. ^_^
  217. # [23:44] <shepazu> TabAtkins: it does if they just use webfonts
  218. # [23:44] <TabAtkins> There is zero reason to use a webfont for this.
  219. # [23:44] <shepazu> I can think of one reason
  220. # [23:44] <SimonSapin> TabAtkins: would it be possible to measure the font through a <span> or something?
  221. # [23:44] <TabAtkins> That reason is invalid, because it's SVG's fault int he first place.
  222. # [23:44] <TabAtkins> SimonSapin: Yeah, I'm hacking something together to do text measurement now.
  223. # [23:44] <SimonSapin> (I’m on arch linux)
  224. # [23:45] <shepazu> it's SVG's fault that your font is fat?
  225. # [23:45] <shepazu> TabAtkins: just get the bbox of the text and size the box to match
  226. # [23:45] <shepazu> it's dead simple
  227. # [23:45] <TabAtkins> It's SVG's fault that it has virtually nothing in constraint-based layout, so for fairly trivial things like "make it look like the text is inside the box" I have to either guess (and probably get it wrong on some machines) or throw script at the problem.
  228. # [23:46] <SimonSapin> shepazu: fonts look (and are sized) different on different platforms
  229. # [23:46] <shepazu> SimonSapin: yes, so use bbox...
  230. # [23:46] <shepazu> TabAtkins: I would like to have this kind of thing be easier, though
  231. # [23:46] <SimonSapin> bbox?
  232. # [23:47] <TabAtkins> el.getBBox().
  233. # [23:47] <shepazu> yes
  234. # [23:47] <TabAtkins> Moral equivalent to getBoundingClientRect, but for SVG.
  235. # [23:47] <shepazu> and many years older
  236. # [23:48] <SimonSapin> I see. Yes, that should work better than hard-coded font metrics
  237. # [23:48] <shepazu> bbox = bounding box
  238. # [23:49] <shepazu> TabAtkins: you should ask heycam about SVG constraints… he explored it for his phD and is skeptical
  239. # [23:49] <TabAtkins> Annoying part, shepazu, is that I have to insert the text into the page before I can call getBBox on it. But the natural way to use my API just returns an SVG fragment.
  240. # [23:49] <SimonSapin> oh, but we copy/paste the SVG source into the spec for css3-syntax, so the client viewing the spec might have a different font
  241. # [23:49] <TabAtkins> shepazu: Simple constraints, like the CSS box model, obviously already work. ^_^
  242. # [23:49] <shepazu> TabAtkins: fair points, both
  243. # [23:50] <TabAtkins> So basically, SVG SUCKS AND I HATE IT
  244. # [23:50] <shepazu> this is why we want to have a font metrics API
  245. # [23:50] <shepazu> it's your party, you can cry if you want to
  246. # [23:50] <shepazu> which is what I said to republicans last week… BOOM!
  247. # [23:51] <TabAtkins> I will, thank you.
  248. # [23:51] <TabAtkins> shepazu: Yeah, font metrics helps with one part. But not the "I'd like to generate a static SVG file" part.
  249. # [23:52] <shepazu> TabAtkins: the font metric API should be available in server-side languages APIs as well
  250. # [23:52] <shepazu> then, you could get it before writing out the file
  251. # [23:52] <TabAtkins> Doesn't help, for the reason Simon stated.
  252. # [23:52] <shepazu> in fact… what language are you using?
  253. # [23:52] <TabAtkins> JS.
  254. # [23:53] <TabAtkins> https://github.com/tabatkins/railroad-diagrams
  255. # [23:53] <shepazu> hm
  256. # [23:53] <shepazu> ok, I concede that we should have simple constraints like this, for just this reason
  257. # [23:53] <SimonSapin> maybe a webfont would help having consistent metrics across clients (that support webfonts)
  258. # [23:54] <TabAtkins> Yeah, that's a major benefit from a webfont.
  259. # [23:54] <shepazu> TabAtkins: so, you're going to write this part of the SVG2 spec?
  260. # [23:54] <TabAtkins> But it's silly to require downloading a whole font just so you can position a box behind some text accurately. ^_^
  261. # [23:54] <TabAtkins> shepazu: Man, I'll write whatever.
  262. # [23:54] <shepazu> SimonSapin: yeah, that's why I said to use a webfont :)
  263. # [23:54] <TabAtkins> shepazu: I already got the spec half-written in my blog (though for CSS).
  264. # [23:54] <shepazu> TabAtkins: huzzah!
  265. # [23:55] <heycam> TabAtkins, pointer?
  266. # [23:55] <TabAtkins> http://www.xanthir.com/blog/b48H0
  267. # [23:55] <TabAtkins> I would rewrite this somewhat if doing it again today.
  268. # [23:56] <TabAtkins> But the basic point - attach any edge of the element to any edge of any other element, and them offset from there - is sound.
  269. # [23:56] <TabAtkins> It jsut requires a cycle detection pass. ^_^
  270. # [23:56] <TabAtkins> Unrelated: ugh, I need to loosen what I allow to be bolded/italicized in my markdown parser.
  271. # [23:57] <TabAtkins> Also: add <dl>s from Markdown Extra.
  272. # [23:59] <TabAtkins> SimonSapin: Something is just weird here. If I paste the same overflowing string ("not " ' ( ) \ WS or NPC
  273. # [23:59] <TabAtkins> SimonSapin: Something is just weird here. If I paste the same overflowing string ("not " ' ( ) \ WS or NPC") into my generator, it comes out fine, no overflowing.
  274. # Session Close: Sat Nov 17 00:00:00 2012

The end :)