2009-05-01 [17:02:00.0000] Hixie: I'm here now [17:02:01.0000] Hixie: I don't know; what do browsers do there? :-) [17:02:02.0000] forget the earlier thing, i just sent new mail on a different topic [17:02:03.0000] actually, same topic, different issue [17:02:04.0000] i hope the change i made to the spec still applies [17:02:05.0000] it's what you suggested in january [17:05:00.0000] Hmm, I've got no idea what the stroke.prune.arc test is doing [17:07:00.0000] yeah i wasn't too sure either [17:07:01.0000] Hixie: The spec change sounds plausible to me, except for the bit that says "then, then" [17:08:00.0000] i don't know what you're talking about *fixy fixy* [17:08:01.0000] /me tries to remember what arcTo's arguments are [17:09:00.0000] there's an authoring section bit now that explains it nice and friendlyly [17:09:01.0000] /me looks at the non-nice and unfriendly section instead [17:09:02.0000] i'm sure someone will send me diagrams and stuff explaining what they all do at some point and then the spec will have diagrams too [17:11:00.0000] Ah, right - the arcTo bit in stroke.prune.arc is causing a line to be drawn from (50,25) to (50,25) and then to (50,25), and then it should (according to my brain when I wrote the test, which may or may not match the spec or reality or sanity) collapse all the zero-length lines so there's just a single point [17:11:01.0000] and then the stroke() won't do anything, and particularly won't draw the round caps/joins [17:12:00.0000] And the bit with arc is doing the same, except that it's drawing a curved line between (50,25) and (50,25) [17:14:00.0000] Ooh, excellent, "Zero-length line segments must be pruned before stroking a path." and "Subpaths with fewer than two points are ignored when painting the path." makes it sounds like those paths should indeed be not drawn [17:18:00.0000] Anyway, changing the spec for the stroke.prune.arc thing seems like a lot of effort to introduce a weird glitch that nobody's going to care about at all [17:20:00.0000] So I guess I'd suggest waiting until browsers pass 99% of the tests and want to get 100%, and they'll either fix their handling of this one or they'll complain that it's needlessly hard and the spec should change, and something can be sorted out then [17:21:00.0000] (It's quite a spectacularly pointless feature to bother testing, I think) [17:21:01.0000] (So I suppose a third possible outcome is that the test could be deleted) [17:23:00.0000] nooo don't delete the test [17:24:00.0000] I won't delete it in the near future, because my test deployment process requires far too much effort [17:24:01.0000] I haven't even got around to uploading fixes for some blatant bugs in a couple of test cases [17:26:00.0000] /me goes back to playing Braid, and getting annoyed that the princess keeps exploding [17:43:00.0000] shepazu: dude you're talking to yourself on twitter. :-P [17:54:00.0000] Philip`: you still there? [17:54:01.0000] Philip`: does http://damowmow.com/temp/miter make any sense to you? [17:55:00.0000] I'm not here, but will be soon [18:17:00.0000] Hixie: Hard to tell without seeing the test case [18:21:00.0000] Hixie: But I'm pretty sure the spec is correct [18:21:01.0000] http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0D%0A%3Ccanvas%20id%3Dc%3E%3C%2Fcanvas%3E%3Cscript%3Eonload%3Dfunction()%7Bvar%20ctx%3Ddocument.getElementById('c').getContext('2d')%3Bctx.lineWidth%3D20%3Bctx.miterLimit%3D1.41%3Bctx.moveTo(10%2C10)%3Bctx.lineTo(50%2C10)%3Bctx.lineTo(50%2C50)%3Bctx.stroke()%7D%3C%2Fscript%3E [18:22:00.0000] If you change the 1.41 to 1.42 then it starts drawing the miter [18:22:01.0000] and the miter length (from where the lines meet, to the corner of the miter) is lineWidth/2 * sqrt(2) [18:23:00.0000] so the relevant factor in the miter limit ratio is lineWidth/2 [18:24:00.0000] unless I'm horribly mistaken [18:30:00.0000] (It's odd that all APIs seem to not mention the half) [18:30:01.0000] (but I can't see how I'm wrong) [18:34:00.0000] Philip`: so where the spec says the "inside of the join" it should say "the point where the join occurs"? [18:38:00.0000] Hixie: I interpret both those phrases in the same way, i.e. the point where the infinitesimally-thin lines intersect [18:39:00.0000] Looks like the spec used to say "the point of the join itself (where the lines touch on the inside of the join)" [18:39:01.0000] but someone must have changed it [18:42:00.0000] i'll strike "inside of the join" [18:42:01.0000] i don't understand what it means [18:44:00.0000] Hmm, I guess if the miter length was defined as being between the points where the edges of the (thick) stroke intersect, instead of between one of those points and the midpoint, then that'd remove the need to say 'half the line width' instead of 'the line width' [18:45:00.0000] but that seems a more complex definition [18:46:00.0000] walk me through how you get lineWidth/2 * root-2. i keep getting lineWidth/root-2. [18:47:00.0000] the miter length is the square root of (lineWidth/2) times two, right? [18:47:01.0000] maths is hard. [18:47:02.0000] :-P [18:49:00.0000] http://canvaspaint.org/57ce.png [18:49:01.0000] The red lines are the two lines being drawn; the blue lines are the outlines of their strokes [18:49:02.0000] (so the blue lines are lineWidth/2 away from the red lines) [18:49:03.0000] that diagram is exactly what i have on my pad here :-) [18:50:00.0000] The green triangle is the miter triangle [18:50:01.0000] The yellow line is the miter length [18:50:02.0000] The yellow line is the diagonal of a square that's lineWidth/2 x lineWidth/2 [18:50:03.0000] so its length is sqrt(2) * lineWidth/2 [18:52:00.0000] yeah apparently my ability to take roots of fractions is, ah, rusty [18:52:01.0000] so I broke visual Hebrew accidentally [18:53:00.0000] I wonder which spec defines it... [18:53:01.0000] /me didn't take roots of fractions, he just scaled sqrt(2) by the size of the square :-) [18:53:02.0000] clearly i need to take a basic algebra refresher :-P [18:53:03.0000] anyway [18:53:04.0000] thanks [18:54:00.0000] It'd be possible to draw the yellow line twice as long, so it reaches the intersection of the blue lines, which might be how other people define the miter length so that they don't need the divide-by-two [18:55:00.0000] Actually, I'm not sure that's true [18:55:01.0000] Actually, I think it is [19:01:00.0000] hsivonen: what's visual Hebrew? [19:02:00.0000] Is there non-visual Hebrew? [19:06:00.0000] Oh, I suppose there's spoken Hebrew [19:06:01.0000] /me completely forgot about that [19:17:00.0000] Philip`: too long on IRC. :) [20:59:00.0000] Philip`: having eaten dinner i worked out why i was having issues earlier. for some reason it escaped my attention that 1/(root2) == (root2)/2 [20:59:01.0000] i feel better now [21:13:00.0000] Hi all, I’m wondering about how to mark up several images with captions which are linked. In HTML4 I’d use a