Options:
- # Session Start: Wed Mar 14 00:00:00 2012
- # Session Ident: #whatwg
- # [00:00] <TabAtkins_> Yus.
- # [00:00] <TabAtkins_> SVG path syntax >>> canvas path API.
- # [00:00] <TabAtkins_> s/canvas path/current canvas path/
- # [00:01] * Quits: oal (u4126@gateway/web/irccloud.com/x-pzcpblscktuduuwu) (Ping timeout: 272 seconds)
- # [00:01] * Quits: remysharp (u4345@gateway/web/irccloud.com/x-eturmukxpnbhaxrf) (Ping timeout: 244 seconds)
- # [00:01] * Quits: Raynos (u3611@gateway/web/irccloud.com/x-jroqvolhdyqerajt) (Ping timeout: 260 seconds)
- # [00:01] * Quits: Phae (u455@gateway/web/irccloud.com/x-odddgikjskxtuayx) (Ping timeout: 246 seconds)
- # [00:01] * Quits: ojan (u5519@gateway/web/irccloud.com/x-awmgjfogzjondbrg) (Ping timeout: 252 seconds)
- # [00:01] * Quits: ryanseddon (u1832@gateway/web/irccloud.com/x-xyrmomttcimejqxh) (Ping timeout: 260 seconds)
- # [00:01] * Quits: matjas (u2247@gateway/web/irccloud.com/x-knfpdjwpkczpmzut) (Ping timeout: 276 seconds)
- # [00:02] * Quits: hdv (u2376@gateway/web/irccloud.com/x-zpyneffucpyvxjsd) (Ping timeout: 246 seconds)
- # [00:02] * Quits: scheib (u4467@gateway/web/irccloud.com/x-mifkydwnanavyyhr) (Ping timeout: 252 seconds)
- # [00:02] * Quits: jeremyselier (u2513@gateway/web/irccloud.com/x-qnqbsghtpvhuwaaz) (Ping timeout: 252 seconds)
- # [00:02] * Quits: Scorchin (u1242@gateway/web/irccloud.com/x-nudgaxdgfjhdifvd) (Max SendQ exceeded)
- # [00:02] * Quits: pocopina (u5310@gateway/web/irccloud.com/x-sftuikjrshxygsua) (Ping timeout: 246 seconds)
- # [00:02] * Quits: benschwarz (u2121@gateway/web/irccloud.com/x-imcaaxwravmeniwp) (Read error: Operation timed out)
- # [00:02] * Quits: abarth (u5294@gateway/web/irccloud.com/x-glxrbcxfqkiquixa) (Ping timeout: 246 seconds)
- # [00:03] * Quits: akamike (u5089@gateway/web/irccloud.com/x-wrotvgsfmqspzxlw) (Ping timeout: 246 seconds)
- # [00:03] * Quits: bobylito (u3929@gateway/web/irccloud.com/x-qhoildgisabfndou) (Ping timeout: 246 seconds)
- # [00:03] * Quits: timeless (u4015@firefox/developer/timeless) (Ping timeout: 252 seconds)
- # [00:03] * Quits: eae (u4278@gateway/web/irccloud.com/x-fbsuxeqyhfynbhdw) (Ping timeout: 246 seconds)
- # [00:03] * Quits: matijsb (u2278@gateway/web/irccloud.com/x-cgczkdpvuhusvmpn) (Ping timeout: 252 seconds)
- # [00:04] * Quits: arv (u4269@gateway/web/irccloud.com/x-cruynfmyxvoqhjuk) (Ping timeout: 260 seconds)
- # [00:05] * Quits: davidb (~davidb@65.93.94.10) (Quit: davidb)
- # [00:05] * Quits: boblet (u1921@gateway/web/irccloud.com/x-irmmzrdskcehisus) (Ping timeout: 276 seconds)
- # [00:06] * Quits: krijn (u2319@gateway/web/irccloud.com/x-snbbnhngfoehynww) (Ping timeout: 246 seconds)
- # [00:09] * Joins: benschwarz (u2121@gateway/web/irccloud.com/x-vxjmbtyyoiwjafuv)
- # [00:09] * Joins: othermaciej_ (~mjs@17.245.91.78)
- # [00:09] * Joins: pixelflips (~pixelflip@69-170-13-3.static-ip.telepacific.net)
- # [00:10] * Joins: boblet (u1921@gateway/web/irccloud.com/x-ltbgvadzxccgfcwm)
- # [00:10] * Joins: krijn (u2319@gateway/web/irccloud.com/x-zyawbfvakzhrdfeq)
- # [00:12] * Joins: timeless (u4015@firefox/developer/timeless)
- # [00:13] * Joins: ryanseddon (u1832@gateway/web/irccloud.com/x-gztnaovcajlmgamh)
- # [00:15] * Joins: matijsb (u2278@gateway/web/irccloud.com/x-skyhgrkbtumgdctd)
- # [00:16] * Joins: remysharp (u4345@gateway/web/irccloud.com/x-emdkvyzlwgyjhyqn)
- # [00:16] * Joins: eae (u4278@gateway/web/irccloud.com/x-xqwiomfwwytolqnj)
- # [00:17] * Joins: Phae (u455@gateway/web/irccloud.com/x-hbyzjjuoxmstpbiv)
- # [00:17] * Joins: NimeshNeema (u2689@gateway/web/irccloud.com/x-fonzwgoptgunlkdd)
- # [00:17] * Joins: Raynos (u3611@gateway/web/irccloud.com/x-uftfudtnbwbwxfmf)
- # [00:18] * Joins: jeremyselier (u2513@gateway/web/irccloud.com/x-likchrrwulgozdoc)
- # [00:18] * Joins: oal (u4126@gateway/web/irccloud.com/x-gqamismpllcbxjio)
- # [00:19] * Joins: scheib (u4467@gateway/web/irccloud.com/x-vdpcoooaftuqhcsl)
- # [00:21] * Quits: miketaylr (~miketaylr@50.59.76.58) (Quit: Leaving...)
- # [00:24] * Joins: vidu (u5404@gateway/web/irccloud.com/x-xervhgjhmhjhsuav)
- # [00:24] * Joins: WeirdAl (~chatzilla@g2spf.ask.info)
- # [00:25] * Joins: aklein (u4454@gateway/web/irccloud.com/x-wdtystluoxjrjicb)
- # [00:28] * Joins: abarth (u5294@gateway/web/irccloud.com/x-iopcnnrygvltgyls)
- # [00:28] * Quits: pyrsmk (~pyrsmk@mau49-1-82-245-46-173.fbx.proxad.net) (Remote host closed the connection)
- # [00:30] * Joins: bobylito (u3929@gateway/web/irccloud.com/x-gpsijkhknmdhvdfb)
- # [00:30] * Joins: ojan (u5519@gateway/web/irccloud.com/x-nsqvgbrxqaiavtvw)
- # [00:30] * Quits: sicking (~chatzilla@nat/mozilla/x-buwykkvnxhlbziai) (Ping timeout: 252 seconds)
- # [00:33] * Quits: KillerX (~anant@nat/mozilla/x-bjrmlsdvlwdrqimg) (Quit: KillerX)
- # [00:34] * Joins: html5doctor (~yaaic@123.116.101.244)
- # [00:35] * Joins: davidb (~davidb@65.93.94.10)
- # [00:42] * Joins: hdv (u2376@gateway/web/irccloud.com/x-wbwgrftspuvjdidu)
- # [00:42] * Quits: samol (~samol@cnz83.neoplus.adsl.tpnet.pl) (Quit: Wychodzi)
- # [00:43] <Hixie> hm
- # [00:43] <Hixie> dashed lines are a pain to define
- # [00:45] <TabAtkins_> And SVG doesn't help you out. :/
- # [00:46] <TabAtkins_> What's the issue you're having?
- # [00:48] * Quits: twisted` (~anonymous@p5DDBAC3F.dip.t-dialin.net) (Quit: twisted`)
- # [00:48] * Joins: twisted` (~anonymous@p5DDBAC3F.dip.t-dialin.net)
- # [00:49] <Hixie> TabAtkins_: so i'm defining it by saying you cut out bits of the path that aren't in the dash
- # [00:49] <Hixie> TabAtkins_: but there's nothing to cut in the line between the last point and the first point of a closed path
- # [00:49] <Hixie> TabAtkins_: so i have to add it
- # [00:50] <Hixie> TabAtkins_: but what if the whole subpath is in an "on" segment? then i don't want to add it, because i have to leave it to get the right join
- # [00:50] <Hixie> TabAtkins_: etc
- # [00:50] <Hixie> also, 0-width segments
- # [00:50] * Quits: davidb (~davidb@65.93.94.10) (Quit: davidb)
- # [00:50] <TabAtkins_> I don't understand what you mean by "nothing to cut" in closed paths.
- # [00:52] * Joins: espadrine (~thaddee_t@acces2342.res.insa-lyon.fr)
- # [00:53] * Quits: twisted` (~anonymous@p5DDBAC3F.dip.t-dialin.net) (Ping timeout: 240 seconds)
- # [00:54] * Joins: malydok (~marek@moma.t16.ds.pwr.wroc.pl)
- # [00:56] * Quits: html5doctor (~yaaic@123.116.101.244) (Read error: Connection reset by peer)
- # [00:58] <TabAtkins_> (Specifically, a closed path still draws dashes (and thus has stuff to cut out) on the line you mention.)
- # [01:00] <Hixie> i mean there's no line between the last point and the first point in the path
- # [01:00] <Hixie> it's implied
- # [01:00] <Hixie> so there's nothing for me to remove
- # [01:00] <Hixie> i actually have to _add_ the line before i can remove it
- # [01:01] <TabAtkins_> The .close() command doesnt' add it?
- # [01:01] <Hixie> it just sets a flag
- # [01:01] <Hixie> you can't add the line because otherwise the join is wrong
- # [01:05] <TabAtkins_> Oh wow, arcTo is *confusing*.
- # [01:05] <Hixie> that's why i added the diagrams yesterday
- # [01:06] <Hixie> with the diagrams it's not so bad
- # [01:06] <Hixie> (and actually is really useful for rounded corners)
- # [01:06] * Quits: jacobolu_ (~jacobolus@50-0-133-210.dsl.static.sonic.net) (Remote host closed the connection)
- # [01:06] <TabAtkins_> ...would you mind if I wrote a visualizer for this that let you drag around the points/radius/etc?
- # [01:06] <Hixie> i would love it. You'll find the code for the current diagrams in the spec in a comment, which will likely be a good starting point
- # [01:07] * Quits: chriseppstein (~chrisepps@209.119.65.162) (Quit: chriseppstein)
- # [01:07] <TabAtkins_> I guess to do a roundrect you just issue four arcTo commands in succession?
- # [01:07] <Hixie> (search the source for "update the label positions")
- # [01:07] * Joins: niftylettuce (u2733@gateway/web/irccloud.com/x-ngvlgqqerhtxvcan)
- # [01:07] <Hixie> you'd have some lineTos and moveTos, but yeah
- # [01:07] <Hixie> oh actually yeah
- # [01:07] <Hixie> i guess you don't even need lineTos
- # [01:07] <TabAtkins_> You either need to figure out where the first edge starts after the curve, or start in the middle of an edge and finish with a lineTo back to that point.
- # [01:08] * Joins: Obvious_MkII (tachikoma@188.226.74.2)
- # [01:08] <Hixie> yeah you start in the middle and end with a closePath
- # [01:08] <TabAtkins_> Yeah.
- # [01:09] * Quits: Obvious (tachikoma@188.226.74.2) (Ping timeout: 272 seconds)
- # [01:09] <TabAtkins_> Ah, now I kinda understand the dash issue you're talking about.
- # [01:10] * Quits: jwalden (~waldo@2620:101:8003:200:224:d7ff:fef0:8d90) (Quit: ChatZilla 0.9.87-4.1450hg.fc15 [XULRunner 10.0.1/20120213092145])
- # [01:12] <Hixie> maybe i should just handwave this rather than being overly specific about the algorithm to do this
- # [01:12] * Quits: zewt (~foo@ec2-50-17-220-142.compute-1.amazonaws.com) (Ping timeout: 245 seconds)
- # [01:12] <TabAtkins_> I suspect the problem comes from you defining the join-drawing in the wrong place.
- # [01:13] <TabAtkins_> I'm trying to verify this suspicion.
- # [01:13] <Hixie> well, not so much the wrong place as in the wrong way
- # [01:13] <Hixie> what i should do is define something that says how you stroke a path, going from a path to another path, the latter of which, if filled, gives you what stroking the first one would give you today
- # [01:14] <Hixie> then i can put all the line stuff into that algorithm
- # [01:14] <Hixie> instead of implying that that algorithm exists, and having multiple things in the spec imply additional steps to it
- # [01:14] <Hixie> but since i've no idea how to write that algorithm, i'm gonna stick to this current approach :-)
- # [01:14] <TabAtkins_> Oh, you mean converting 'stroke' to 'fill this path by inflating the original path somewhow'?
- # [01:15] <Hixie> yeah
- # [01:15] <Hixie> yeah i really need to just bite the bullet and do that
- # [01:16] <Hixie> this is just going to become spaghetti spec otherwise
- # [01:16] <TabAtkins_> SVG Vector Effects *may* have that.
- # [01:16] <TabAtkins_> But I'm not sure.
- # [01:16] <TabAtkins_> It may just handwave.
- # [01:16] <TabAtkins_> (There's an effect for converting a path into the outline of stroking it.)
- # [01:16] <heycam> vector effects never got to a detailed level of spec
- # [01:16] <TabAtkins_> That's what I feared.
- # [01:16] <heycam> stroking/outsetting/whatever a path is quite complicated
- # [01:17] <TabAtkins_> Yup.
- # [01:17] <Hixie> canvas already has a method that takes a path and strokes it and gives you back another path representing the stroke
- # [01:17] <Hixie> (as of, like, 24 hours ago)
- # [01:17] <heycam> how do you define it? :)
- # [01:17] <Hixie> "Create a new list of subpaths d, consisting of the subpaths necessary to describe the result of tracing the subpaths in c, in the same order, while applying the line styles of a (the lineWidth, lineCap, lineJoin, and (if appropriate) miterLimit attributes). Subpaths in d must wind clockwise, regardless of the direction of paths in c."
- # [01:17] * Hixie waves his hand meaningfully
- # [01:18] <heycam> i mean i think it's fine to handwave the actual stroking part
- # [01:18] <heycam> since it's a well understood graphical primitive
- # [01:18] <Hixie> yeah well it is until you end up having to define how line joins, line caps, and dashing all interact
- # [01:18] * Quits: jcarbaugh (~jcarbaugh@12.191.60.30)
- # [01:18] * TabAtkins_ needs to file some spec bugs on SVG2...
- # [01:18] <heycam> mind you, while all 2d graphics libraries will be able to immediately paint a stroked path, not all can return you a path that presents that stroke shape
- # [01:19] <Hixie> then it starts getting less and less like handwaving and more and more like trying to pin a tail on a donkey without ever drawing the donkey
- # [01:19] <heycam> *represents
- # [01:19] <heycam> stroke the tail on the donkey :)
- # [01:19] <Hixie> heycam: i expect a lot of these graphical libraries are suddenly gonna find a bunch of patches going their way to implement a series of new features...
- # [01:19] <heycam> yeah
- # [01:20] <Hixie> either that or i'll be removing some of these new canvas features soon when implementors' eyes bug out :-)
- # [01:21] * Joins: jwalden (~waldo@c-71-202-165-226.hsd1.ca.comcast.net)
- # [01:22] <Hixie> bbl
- # [01:23] * Joins: sicking (~chatzilla@c-98-210-152-4.hsd1.ca.comcast.net)
- # [01:25] * Quits: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp) (Quit: MikeSmith)
- # [01:26] * Joins: astearns (~astearns@192.150.22.5)
- # [01:32] <TabAtkins_> Hixie: Dirk Schulze points out that SVG's path parser won't ever throw errors; each individual construction greedily consumes as much as possible, and if there is any left over when the root construction can no longer consume anything while staying valid, it's thrown away.
- # [01:34] <TabAtkins_> And so, step 2 of the list introduced with "The addPathData(d) method..." is unnecessary, as no errors can ever be thrown.
- # [01:34] * Joins: zewt (~foo@ec2-50-17-220-142.compute-1.amazonaws.com)
- # [01:34] <TabAtkins_> Or rather, as step 1 can never fail.
- # [01:34] <TabAtkins_> (Outside of the standard hardware-limitations clause.)
- # [01:34] * Joins: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp)
- # [01:35] * Quits: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp) (Client Quit)
- # [01:36] * Joins: tantek (~tantek@12.14.132.2)
- # [01:36] * Quits: WeirdAl (~chatzilla@g2spf.ask.info) (Quit: ChatZilla 0.9.88.1 [Firefox 11.0/20120312181643])
- # [01:39] * Quits: tantek (~tantek@12.14.132.2) (Client Quit)
- # [01:41] * jernoble is now known as jernoble|afk
- # [01:45] * Quits: ap (~ap@17.212.155.203) (Quit: ap)
- # [01:48] * Joins: jacobolus (~jacobolus@75-144-246-6-SFBA.hfc.comcastbusiness.net)
- # [01:48] * Joins: jcarbaugh (~jcarbaugh@12.43.172.10)
- # [01:50] * Quits: Druid_ (~Druid@p5B1356B0.dip.t-dialin.net) (Ping timeout: 265 seconds)
- # [01:51] * Quits: sicking (~chatzilla@c-98-210-152-4.hsd1.ca.comcast.net) (Ping timeout: 244 seconds)
- # [01:53] * Quits: plutoniix (~plutoniix@182.53.55.234) (Quit: Leaving)
- # [01:54] * Joins: Druid_ (~Druid@p5B1351D1.dip.t-dialin.net)
- # [01:58] * Quits: jernoble|afk (~jernoble@17.212.152.13) (Read error: Connection reset by peer)
- # [01:58] * Joins: jernoble (~jernoble@17.212.152.13)
- # [01:59] * Parts: pixelflips (~pixelflip@69-170-13-3.static-ip.telepacific.net)
- # [01:59] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [02:04] * Quits: sarro (~sarro@i5E865C5D.versanet.de)
- # [02:04] * Quits: pablof (~pablof@144.189.101.1) (Quit: ^z)
- # [02:09] <Hixie> TabAtkins_: where does it say that?
- # [02:09] * Quits: tndrH (~Rob@cpc16-seac19-2-0-cust234.7-2.cable.virginmedia.com) (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.1/2008072406])
- # [02:10] * Joins: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp)
- # [02:11] <TabAtkins_> Just below the BNF grammar.
- # [02:18] * Quits: smaug____ (~chatzilla@GGYYMKDCCCLV.gprs.sl-laajakaista.fi) (Ping timeout: 265 seconds)
- # [02:21] * Quits: tomasf (~tom@2002:55e5:dbb7:0:6967:8b84:2fab:262e) (Quit: tomasf)
- # [02:24] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [02:49] * Quits: ehsan (~ehsan@66.207.208.98) (Remote host closed the connection)
- # [03:02] * Quits: jondong (~jondong@123.126.22.58) (Disconnected by services)
- # [03:03] * Joins: jondong_ (~jondong@123.126.22.58)
- # [03:12] * Joins: ehsan (~ehsan@209.29.21.241)
- # [03:13] * Joins: Evanescence (~Evanescen@60.183.205.152)
- # [03:20] * Joins: chriseppstein (~chrisepps@99-6-85-4.lightspeed.sntcca.sbcglobal.net)
- # [03:22] * Quits: mkanat (mkanat@nat/google/x-wyviyufaihroszby) (Quit: Ex-Chat)
- # [03:29] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
- # [03:30] <llrcombs> would it be a reasonable request to allow messages between Web Workers to include typed arrays?
- # [03:30] <llrcombs> I'd like to have one worker manage several worker threads, sending Int8Arrays and similar between them, to calculate pruning tables more quickly than with just one worker
- # [03:33] <llrcombs> oh, it looks like transferable objects do that
- # [03:33] <llrcombs> is that in spec, or just a WebKit extension?
- # [03:33] <MikeSmith> llrcombs: in the spec
- # [03:33] <llrcombs> cool!
- # [03:36] * Joins: ezoe (~ezoe@61-205-124-26f1.kyt1.eonet.ne.jp)
- # [03:36] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
- # [03:36] <MikeSmith> video peoples, how does seeking and adjustment of playback rate work with encrypted video?
- # [03:37] <MikeSmith> would it just work the same?
- # [03:37] <MikeSmith> it seems like the encryption could muff with the ability to do those operations from JS
- # [03:39] <MikeSmith> Hixie: thanks for pushing to the W3C versions
- # [03:39] <Hixie> np
- # [03:39] <Hixie> TabAtkins_: ah, will look
- # [03:40] * Quits: malydok (~marek@moma.t16.ds.pwr.wroc.pl) (Read error: Connection reset by peer)
- # [03:41] <MikeSmith> Hixie: ah this doesn't include the replacement of the code-point names?
- # [03:42] <MikeSmith> not yet integrated that script?
- # [03:49] <MikeSmith> hsivonen: I know you are not around right now but as far as what I was talking about earlier, regarding how to make the local validator build and install easier for end users, I wonder if it would help to have the build emit a message saying, "If you have problem with building or installing the validator and need help in real time, you can join the #whatwg channel on irc.freenode.net and ask there."
- # [03:50] <MikeSmith> scott_gonzalez: fwiw, I pushed a change to the validator sources a few hours ago that streamlines the initial install
- # [03:50] <MikeSmith> it should cut down the install time considerably
- # [03:52] <MikeSmith> scott_gonzalez: I hope ultimately you guys could switch to using a local instance of the validator to run your validation tests
- # [03:52] <MikeSmith> it's just way better in many ways
- # [03:52] <MikeSmith> e.g., it handles data-* attributes just fine without you needing to filter out the errors
- # [03:54] <MikeSmith> and it is at least an order of magnitude faster than any doing it with the jing-html thing I pointed you to
- # [03:55] * Quits: aklein (u4454@gateway/web/irccloud.com/x-wdtystluoxjrjicb)
- # [03:55] <MikeSmith> for a normal file it takes like 100ms or 200ms to validate
- # [03:55] <MikeSmith> for really small files it takes only 50ms
- # [03:55] <MikeSmith> or less
- # [03:58] <MikeSmith> Hixie: sorry man, I see that you actually did apply it
- # [03:58] * MikeSmith kicks his browser cache in the teeth
- # [04:01] <MikeSmith> matjas: about "criteria that cannot be expressed by a DTD, but can still be checked by a machine”, there are many
- # [04:01] <MikeSmith> so please (re)ping me about that when you are back
- # [04:02] <MikeSmith> one example is that schema languages can't check the text content of elements
- # [04:03] <MikeSmith> like for <time> and <script> and <style> the spec has some specific document-conformance requirements for their text content
- # [04:04] <MikeSmith> theoretically that could be checked using a regexp
- # [04:04] <MikeSmith> but it's not practical and it's also the suckiest possible way to do it from a user-experience POV
- # [04:04] * Quits: othermaciej_ (~mjs@17.245.91.78) (Quit: othermaciej_)
- # [04:05] <MikeSmith> because the only possible error you get back is "fail"
- # [04:05] <MikeSmith> with no details about why it's failed
- # [04:05] <MikeSmith> that is, which part is invalid
- # [04:06] <MikeSmith> in contrast the way those text-content checks are implemented in validator.nu, it attempts to actually report the actual specific error
- # [04:06] <MikeSmith> but the location
- # [04:06] <MikeSmith> *both the location
- # [04:06] <MikeSmith> line number and column number
- # [04:07] <MikeSmith> and also what part of the string is wrong
- # [04:07] <MikeSmith> e.g., it says "Expected a foo character here but found bar"
- # [04:11] <MikeSmith> https://bitbucket.org/validator/syntax/src/tip/relaxng/datatype/java/src/org/whattf/datatype/ScriptDocumentation.java
- # [04:12] <MikeSmith> and https://bitbucket.org/validator/syntax/src/tip/relaxng/datatype/java/src/org/whattf/datatype/FunctionBody.java
- # [04:13] <MikeSmith> which validates JS by passing it off to Rhino to check
- # [04:18] <Hixie> MikeSmith: yeah, script is in
- # [04:19] <MikeSmith> yep I see now
- # [04:19] <MikeSmith> thanks man
- # [04:20] <Hixie> MikeSmith: i no longer make any promises that the w3c spec says what it should
- # [04:21] <MikeSmith> yeah I know
- # [04:21] <MikeSmith> I am hoping we can reverse that change actually
- # [04:21] <MikeSmith> it was misguided from the get-go
- # [04:21] <Hixie> no kidding
- # [04:22] <MikeSmith> need to put the brakes on this stuff
- # [04:23] <MikeSmith> draw the line between plain nuisances and at-least-marginally-substantial
- # [04:23] <MikeSmith> that "issue" comes nowhere near the normal "I can live with it" criteria
- # [04:24] <MikeSmith> I wish the issue proliferators would exercise better judgment
- # [04:26] * Quits: jernoble (~jernoble@17.212.152.13) (Read error: Connection reset by peer)
- # [04:26] * Joins: jernoble (~jernoble@2620:149:4:1b01:3cfa:6bfa:aeb:b7f5)
- # [04:27] <Hixie> the system is explictly designed to enable them to raise issues and waste a lot of time
- # [04:27] <Hixie> that's literally the entire purpose of the system
- # [04:27] <Hixie> (though by its designers it is phrased as "discourage people by making such issues take a lot of time")
- # [04:27] <Hixie> (but that clearly shows a lack of understanding of the social dynamics)
- # [04:28] * Joins: othermaciej_ (~mjs@65.50.217.36)
- # [04:32] <MikeSmith> Hixie: that was not the purpose the designer of the system intended
- # [04:32] <Hixie> what was the purpose?
- # [04:33] <Hixie> i've heard chairs explicitly tell me that was the goal -- to make raising issues time consuming so that only important issues would get raised
- # [04:33] <MikeSmith> I don't know which chairs said that but I would imagine othermaciej doesn't see that as a goal
- # [04:34] <MikeSmith> anyway I don't want to speak for him
- # [04:34] <MikeSmith> I think the decision policy was designed in good faith to enable resolution on bugs where we otherwise couldn't get agreement
- # [04:34] * Quits: othermaciej_ (~mjs@65.50.217.36) (Ping timeout: 260 seconds)
- # [04:35] <Hixie> if that was the goal, then it's way overengineered, and doesn't work.
- # [04:35] <MikeSmith> it's just the way it's been applied, it's ended up being used as a blunt instrument
- # [04:36] <MikeSmith> and massively abused by a very small number of WG participants
- # [04:37] <MikeSmith> Hixie: yeah I think it's worth looking at re-engineering it
- # [04:37] <MikeSmith> but pausing to do that at this point seems like something that's unlikely to happen
- # [04:38] <Hixie> i think the best part of the process right now is the way that it only kicks in if the editor disagrees with someone, but when that someone proposes an alternative, the editor has to do extra work to repeat the objection for it to be considered
- # [04:38] <MikeSmith> and filing bugs piecemeal against the decision policy is not really workable either
- # [04:38] * Joins: othermaciej_ (~mjs@65.50.217.36)
- # [04:38] <Hixie> and has to do so for _every single issue_ raised, since for few issues do people actually care enough even if they agree with the editor
- # [04:38] <MikeSmith> I hear you
- # [04:39] <othermaciej_> Hixie: Path having a CTM is weird
- # [04:39] <Hixie> (the net result being i don't bother anymore and the w3c copy of the spec is getting more and more crazy)
- # [04:39] <Hixie> othermaciej_: agreed. not sure how else to make it possible to do things like have another path stamped onto a path in four different positions, rotations, and skews.
- # [04:40] <MikeSmith> Hixie: yeah I realize that too and maybe that is an inevitable consequence of this arrangement and maybe that's where we would have ended up regardless of the particulars of the decision polity
- # [04:40] <othermaciej_> Hixie: CGPath supports transforming a (whole) path and concatenating paths
- # [04:41] <othermaciej_> Hixie: that is much more logical from my POV
- # [04:41] <othermaciej_> CG also has a Transform object, which makes that approach more convenient; but plausibly one could use SVGMatrix to represent an affine transform
- # [04:42] <Hixie> othermaciej_: yeah, one of the changes i'm doing soon is adding a transform object to the three objects that have a transformation matrix
- # [04:43] <othermaciej_> I guess you already have a way to concatenate paths, so a way to one-shot transform a path could replace the weird concept of path having a CTM and being able to invoke transform operators on it
- # [04:43] <jacobolus> paul_irish: okay, it went through a few edits, but I have a suggestion on your requestAnimationFrame polyfill gist: https://gist.github.com/1579671#comments
- # [04:44] <othermaciej_> also addFill vs. addStroke is weird
- # [04:44] <Hixie> othermaciej_: that would make it a two-step process to add text to a path in a transformed manner (first add text to another path, then transform that path, then add that path to the one you want the text on)
- # [04:45] <othermaciej_> I see what you are getting at, but it is a confusing API, because (if I understand correctly), if you addFill a path to another path, then stroke the resulting path object to a canvas, you get all stroke and no fill
- # [04:45] <jacobolus> bb10
- # [04:45] * Quits: jacobolus (~jacobolus@75-144-246-6-SFBA.hfc.comcastbusiness.net) (Remote host closed the connection)
- # [04:45] <Hixie> yeah i wanted to call "addFill" something like just "addPath" but it seemed better to keep the consistency with the rest of the API, which always has pairs of fill/stroke methods
- # [04:46] <Hixie> since i knew we'd also have addStroke
- # [04:46] <othermaciej_> the way CG does this is with CGPathAddPath and CGPathCreateCopyByStrokingPath
- # [04:46] <Hixie> CG's approach seems to involve a lot more temporaries
- # [04:46] <othermaciej_> what you call addFill to me makes more sense as addPath and is the common case
- # [04:47] * Quits: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp) (Quit: MikeSmith)
- # [04:47] <othermaciej_> whereas your naming would lead authors to believe that addStroke does the normal thing, when what it does is weird and not usually needed
- # [04:48] <othermaciej_> your approach requires a temporary to create a path outlining the strokes of a path in any case
- # [04:48] <othermaciej_> it just lets you save a temporary in the (unusual) case that you want to add that to another path
- # [04:50] <Hixie> and when you add text, and a whole bunch of other cases
- # [04:52] <othermaciej_> yeah, I think the result of that saving of temporaries in what are relatively rare use cases makes the API as a whole needlessly confusing
- # [04:53] <othermaciej_> it would also make creating a simple Path more expensive to some extent, since it would have to contain more than just a single platform-native path object for most graphics APIs of interest
- # [04:53] <Hixie> i don't really see what's confusing
- # [04:53] <Hixie> it's exactly like using the canvas api today
- # [04:53] <Hixie> just one step removed
- # [04:54] <othermaciej_> I doubt most people would understand what Path.addFill() does just by analogy to Canvas.fill()
- # [04:55] <othermaciej_> and like I said, I think you optimized for performance of the rare case at expense of the common case
- # [04:55] <othermaciej_> it's also non-obvious that Path.rotate() would not in fact rotate the path
- # [04:55] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
- # [04:55] <othermaciej_> where it might be less surprising in the canvas case that it won't rotate what has already been drawn
- # [04:56] <othermaciej_> anyway I'll think about it more, check with our graphics-y folks, and provide feedback
- # [04:56] <Hixie> k
- # [04:56] <Hixie> please do also see the canvas wiki page
- # [04:57] <Hixie> as the general pattern of support transforms is used for transforming patterns too
- # [04:57] <Hixie> supporting
- # [04:57] * Quits: othermaciej_ (~mjs@65.50.217.36) (Read error: Connection reset by peer)
- # [04:57] * Joins: othermaciej_ (~mjs@65.50.217.36)
- # [05:00] * Quits: rniwa (rniwa@nat/google/x-wrxhtduvshzucykk) (Quit: rniwa)
- # [05:00] <othermaciej_> (I'm not sure how practical it is to implement adding glyph shapes for text to a path but it's certainly a neat feature)
- # [05:04] * Joins: jacobolus (~jacobolus@199.188.193.145)
- # [05:05] * Joins: izhak (~izhak@213.87.241.75)
- # [05:06] <jacobolus> TabAtkins_, Hixie: while you’re talking about stroking paths, &c., is there anything specific you’re looking for feedback about?
- # [05:09] <Hixie> jacobolus: http://wiki.whatwg.org/wiki/Canvas#Proposals and the corresponding new stuff in http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
- # [05:10] <othermaciej_> adding text to a path does seem plausibly implementable at least on mac (though non-trivial)
- # [05:17] * Quits: othermaciej_ (~mjs@65.50.217.36) (Quit: othermaciej_)
- # [05:17] <jacobolus> Hixie: I gotta say, having browsers just optimize & fix the bugs in their SVG implementations would handle a lot of this :)
- # [05:18] <jacobolus> but improving canvas is nice too
- # [05:20] <jacobolus> In particular, use cases where UI elements are being drawn using canvas, and developers want to have user selection/manipulation w/ keyboard navigation, focus rings, etc. doesn’t seem like the right use for canvas vs. some actual vector/object based API
- # [05:23] * Joins: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp)
- # [05:23] <Hixie> jacobolus: ain't much you can do to svg to address the use case of "immediate mode graphics", it's a retained-mode api :-)
- # [05:24] <jacobolus> what's immediate-mode gfx?
- # [05:24] <Hixie> the opposite of retained-mode
- # [05:24] <jacobolus> as in, you make them and only the result stays around but not the process?
- # [05:26] <jacobolus> but the use cases being asked for are ones where you care about accessing the objects/shapes well after they are initially drawn. If that’s what you want, it seems like a bad time to use an "immediate mode graphics" API in general
- # [05:27] <jacobolus> I think part of the problem may be that 99% of people using the canvas API aren’t actually playing to the strengths of the API, and are ignoring transformations and the context stack
- # [05:27] <jacobolus> which are very powerful tools for building up your own abstractions, especially when using functional or concatenative programming style
- # [05:28] <jacobolus> for example, it's completely trivial to define a function which draws an ellipse
- # [05:28] <Hixie> jacobolus: as in, no DOM
- # [05:28] <jacobolus> right. but many of the suggested use cases are ones where people are basically asking for DOM-like features
- # [05:29] <Hixie> given the number of requests we've had for ellipses, i don't know that i'd use the word "trivial"
- # [05:29] <Hixie> they're asking for DOM-like features but don't want to have a scene graph
- # [05:29] <jacobolus> to draw an ellipse, just save the context, do a transformation, draw a circle, and restore the context
- # [05:29] <Hixie> that skews the stroke
- # [05:29] <jacobolus> not if you restore the context before stroking
- # [05:30] <jamesr> how do you get the stroke to be an ellipse then?
- # [05:30] <jacobolus> the stroke shape is based on the current transformation, not the transformation when part of the path was created
- # [05:30] <Hixie> i don't see how that gives you ellipsoid rounded corners without some complicated maths
- # [05:30] <Hixie> anyway, supporting ellipses is easy, so why not do it since people want it
- # [05:31] <jacobolus> Hixie: try it!
- # [05:33] <jacobolus> drawEllipse = function (ctx, a, b) { ctx.save(); ctx.scale(a, b); ctx.arc(0, 0, 1, 0, 2*Math.PI); ctx.restore(); }
- # [05:34] <Hixie> that's not an ellipsoid rounded corner
- # [05:34] <jacobolus> what do you mean?
- # [05:34] <jacobolus> oh
- # [05:35] <jacobolus> okay, that one takes 3 more lines of code
- # [05:35] <jacobolus> but is really not a "basic" shape
- # [05:35] <Hixie> say i want a rectangle from 0,0 to 100,100 and each corner is to have a twice-as-wide-as-high ellipsoid corner
- # [05:35] <jacobolus> the reason not to add every shape anyone has ever heard of is that bloating APIs is really annoying
- # [05:35] <Hixie> with the proposal in the spec, that's like four lines of code
- # [05:35] <Hixie> adding one method for ellipses is hardly "bloat"
- # [05:35] <jacobolus> Hixie: how often in practice have you wanted such a shape?
- # [05:36] <jacobolus> this ellipsoid chorner shape
- # [05:36] <jacobolus> *corner
- # [05:36] <Hixie> me, never. but then i've hardly ever needed the path stuff at all. in practice we've received multiple requests for ellipses over the last year or so
- # [05:36] <Hixie> it's one of the most-requested features.
- # [05:36] <jacobolus> yes, but I would suggest these are from people who don't know how to draw an ellipse using the existing API
- # [05:36] <jacobolus> which is an education problem more than anything
- # [05:36] <Hixie> *shrug*
- # [05:36] <Hixie> it's easy to add
- # [05:37] <jacobolus> you can also add star shapes, regular polygons, parallelograms with specified skew, heart shapes with various parameters, ad infinitum
- # [05:37] <jacobolus> I dunno, anyway, that's not such a big deal
- # [05:38] <Hixie> if we had as many requests for those as for ellipses, you may have a proposal on your hands
- # [05:38] <Hixie> but we've never had any requests for those
- # [05:39] <jacobolus> I guess what I mean is, a lot of those requests go away if you give people a 5-line code snippet that handles their request
- # [05:39] <jacobolus> then they can make whatever ellipse API they want
- # [05:39] <Hixie> *shrug*
- # [05:40] * Joins: othermaciej_ (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [05:40] <jacobolus> addHitRegion proposal seems excessively complex
- # [05:40] <Hixie> it solves like a zillion problems with a single function, all things considered i think it's one of the simplest possible solutions one could come up with
- # [05:41] <Hixie> but i'm certainly open to alternative proposals
- # [05:41] <Hixie> the wiki page has been up for months waiting for them
- # [05:41] <jacobolus> explaining element, id, label, ariaRole, parentID is going to be hard
- # [05:41] <jacobolus> what's the "context's default path"?
- # [05:42] <Hixie> see the spec, it's now known as the "current default path"
- # [05:43] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
- # [05:43] <jacobolus> so if you start drawing a path, that changes the "default path"?
- # [05:44] <jacobolus> if you keep on adding to it, does that change the path for the region?
- # [05:44] <Hixie> the "current default path" is the only path that exists in the api as implemented today
- # [05:44] <Hixie> it's the one that is usud when you call stroke()
- # [05:44] <jacobolus> gotcha
- # [05:44] <jacobolus> so does the region create a copy of that when it's defined?
- # [05:44] <jacobolus> or does drawing continually change the region?
- # [05:45] <Hixie> copy, same as stroke()
- # [05:45] <othermaciej_> Hixie: is there a way to copy a Path?
- # [05:45] <jacobolus> stroke doesn't make a copy of the path. it blits pixels to the screen
- # [05:45] <jacobolus> after you call stroke, the stroke is no longer a vector object
- # [05:45] <Hixie> othermaciej_: create a new one and addFill the old one to the new one
- # [05:46] <Hixie> othermaciej_: (i was thinking of providing a copy constructor if it's a common operation)
- # [05:46] <othermaciej_> well, since Path is mutable, it seems like copying one would be a very common operation
- # [05:46] <Hixie> othermaciej_: makes sense
- # [05:46] <othermaciej_> for example, if you pass a Path to a function that may or may not mutate it, and you need the original, then you have to pass a copy
- # [05:47] <Hixie> jacobolus: same as with hitRegion(), in some implementations. (There's several ways of implementing it, but one is to have a "shadow" canvas with each pixel representing the last hitRegion call on it. This is a technique sometimes used in 3D environments for hit testing.)
- # [05:47] <Hixie> othermaciej_: makes sense
- # [05:48] <Hixie> othermaciej_: i added new Path(path) copy constructor to the list of things to add in the misc section on the wiki
- # [05:48] <othermaciej_> Hixie: I think renaming addFill to addPath and addStroke to addPathByStrokingPath would improve clarity btw, without changing semantics
- # [05:48] <othermaciej_> the second name is more verbose, but it is also a much less common operation
- # [05:48] <Hixie> othermaciej_: what about the equivalent *Text methods on Path?
- # [05:49] <Hixie> othermaciej_: addText and addTextByStrokingPath ?
- # [05:49] * Quits: ezoe (~ezoe@61-205-124-26f1.kyt1.eonet.ne.jp) (Quit: And Now for Something Completely Different.)
- # [05:50] <jacobolus> Hixie: I think transforming the path by the current transformation matrix whenever you call addPath/addStroke leads to some potentially extremely confusing situations
- # [05:50] <othermaciej_> adding the outline of the glyph outlines of text is such an unusual operation that it seems odd to me to even have it, but I think it would logically be addPathByStrokingText
- # [05:50] <jacobolus> Hixie: given that currently, the shapes of paths end up existing relative to teh whole canvas
- # [05:50] <jacobolus> not relative to the transformation
- # [05:50] <jamesr> are Paths independent of their canvas or not?
- # [05:51] <Hixie> jamesr: yes
- # [05:51] <jacobolus> so addStroke finds the path you'd get by tracing around the edges of the stroke, not just the original path itself?
- # [05:52] <jacobolus> I agree w/ othermaciej_ re: names
- # [05:52] <Hixie> othermaciej_: addPath, addPathByStrokingPath, addText, and addPathByStrokingText? i guess that works
- # [05:52] <Hixie> jacobolus: not sure what you mean re the transformation stuff
- # [05:52] <jacobolus> in the current canvas, changing the current transformation does nothing to the current path
- # [05:52] <Hixie> if y'all like addPath, addPathByStrokingPath, addText, and addPathByStrokingText i'll use those names
- # [05:53] <othermaciej_> yes, addStroke as currently specified strokes the path, then creates a path such that filling it would be equivalent to stroking the original (i.e. outline of the strokes)
- # [05:53] <jacobolus> the transformation and teh path are orthogonal concepts
- # [05:53] <Hixie> jacobolus: the transformation is used when creating teh path
- # [05:53] <Hixie> jacobolus: same as the transformation on a Path is used when creating the shapes of the Path
- # [05:53] <othermaciej_> btw to do that you need all the details of the line style
- # [05:53] <jacobolus> correct. but if you change the transformation before you stroke/fil the path, the path doesn't change
- # [05:53] <Hixie> othermaciej_: yeah, that's what i'm working on tomorrow (and earlier today)
- # [05:54] <Hixie> jacobolus: right, which makes it impossible to stamp out a bunch of them without redrawing the path.
- # [05:54] <Hixie> jacobolus: which is what we're trying to fix by introducing Path objects
- # [05:54] <jamesr> Hixie: if you have a Path, you can fill() or stroke() it into any other Path (or context)?
- # [05:54] <jacobolus> Hixie: but that's not actually a problem in practice
- # [05:54] <othermaciej_> it actually doesn't make sense for Path to have a line style
- # [05:54] <othermaciej_> you should pass it in
- # [05:54] <jacobolus> Hixie: you just define a function that draws the path
- # [05:55] <othermaciej_> because stroking a path will use the context's line style, not the path's (or at least it should)
- # [05:55] <jacobolus> Hixie: and then you apply some transformation, call your function, stroke, apply a different transformation, call the function again, stroke
- # [05:55] <othermaciej_> so it's misleading for the path to even have a line style, which is used only for the obscure case of adding a path outline to it
- # [05:55] <Hixie> othermaciej_: just like stroking a path onto another path will use the target path's line style, sure
- # [05:55] <jacobolus> Hixie: this is precisely the idea behind the canvas API, whose abstractions come straight down from PostScript if not earlier
- # [05:55] <Hixie> jamesr: yes
- # [05:55] <othermaciej_> people will think that if you set lineWidth on a Path, then stroking it will use that line width
- # [05:55] <othermaciej_> but it won't
- # [05:55] <othermaciej_> it's a misleading API
- # [05:56] <jacobolus> I think adding a line style to a path, instead of having the one on the context, really changes the whole flavor of the canvas API
- # [05:56] <Hixie> othermaciej_: happy to entertain alternatives, but this seemed the most consistent with what we have now
- # [05:56] <othermaciej_> I think taking the assumption that the Path object should work more or less like the 2DContext itself is not the best design center
- # [05:56] <jacobolus> basically, I feel like these changes are being made from an entirely different API aesthetic than the current API, which means that the combination of the two feels very clashy
- # [05:57] <othermaciej_> that's not how you usually use paths in most graphics APIs that have an object for them
- # [05:57] <jacobolus> there's nothing wrong with the new style, but it's confusing to someone who knows the existing canvas API
- # [05:57] <othermaciej_> the 2DContext is the thing that is weird, by copying the odd CG feature of having a context-implicit current path
- # [05:57] <jacobolus> and confusing for anyone trying to learn both
- # [05:57] <jamesr> well the 'current API aesthetic' is a partial subset of CoreGraphics from ~5 years ago
- # [05:58] <othermaciej_> but that ends up mixing path operations with context operations
- # [05:58] <jamesr> CoreGraphics had the pseudo-OpenGL style state on the context
- # [05:58] <jacobolus> jamesr: sure. and comes down from PostScript 25 or whatever years ago
- # [05:58] <Hixie> jacobolus: the entire point of the additions is to make it pretty much exactly like the existing api, so i don't really see how you figure that :-)
- # [05:58] <othermaciej_> adding context operations to the Path object exacerbates that mistake
- # [05:58] <jacobolus> jamesr: the current API is really nice to use if you use a functional programming style
- # [05:58] <jacobolus> or especially if you use a stack-based language like postscript
- # [05:59] <Hixie> othermaciej_: so if we change addFill() to addPath(), that becomes confusingly similar to addPathData(svgPathData), what should we call the latter?
- # [05:59] <othermaciej_> svgPathData is the SVG string path syntax?
- # [05:59] <jacobolus> Hixie: addPathFromString or similar
- # [06:00] <Hixie> othermaciej_: yes
- # [06:00] <Hixie> othermaciej_: (though of course that it's svg is an inside baseball factoid)
- # [06:00] <Hixie> jacobolus: needs to be something short or it rather defeats the point...
- # [06:00] <othermaciej_> I would have just made that an optional constructor argument
- # [06:01] <othermaciej_> I think addPathString or addPathSpec or something would be ok
- # [06:01] <jacobolus> Hixie: I wouldn’t make it a function on the Path object, but instead make it a function drawing on the context’s path
- # [06:01] * Quits: cpearce (~cpearce@60.234.54.74) (Ping timeout: 255 seconds)
- # [06:02] <Hixie> jacobolus: that rather defeats the point of making it possible to use svg strings to build up path objects...
- # [06:02] <Hixie> othermaciej_: it's intended that you can chain these to make a single path from different strings
- # [06:02] * Joins: ezoe (~ezoe@203-140-91-113f1.kyt1.eonet.ne.jp)
- # [06:02] <othermaciej_> I think the constructor approach is best, because the most common use for an SVG path string is to take one string and make one path
- # [06:03] <Hixie> othermaciej_: addPathString() seems confusing next to addPath()
- # [06:03] <othermaciej_> I think combining multiple path specs into a single Path is unlikely
- # [06:03] <jacobolus> Hixie: so okay, when you create a Path object from the current default path, I take it whatever the current transformation is gets inverted?
- # [06:03] <othermaciej_> sure it should be possible, but you hardly need to optimize for it
- # [06:03] <jacobolus> before the Path’s shape is extracted?
- # [06:03] <othermaciej_> var triangle = new Path("M 100 100 L 300 100 L 200 300 z");
- # [06:03] <Hixie> jacobolus: what do you mean "inverted?
- # [06:03] <Hixie> er
- # [06:03] <othermaciej_> that seems more clear to me than
- # [06:04] <Hixie> jacobolus: what do you mean "create a Path object from the current default path"?
- # [06:04] <othermaciej_> var triangle = new Path(); path.addPathData("M 100 100 L 300 100 L 200 300 z");
- # [06:04] <othermaciej_> dang, I got that wrong, but you get the idea
- # [06:04] <Hixie> othermaciej_: i guess you can always jsut concatenate the strings together
- # [06:05] <othermaciej_> Hixie: indeed
- # [06:05] <Hixie> alright, i'll move that to a constructor
- # [06:05] <jacobolus> Hixie: oh wait, can you turn the "current default path" into a Path object?
- # [06:06] <Hixie> no
- # [06:06] <jacobolus> I see, so this is a one-way deal
- # [06:06] <jacobolus> gotcha!
- # [06:06] <jacobolus> so basically, none of the current canvas APIs for drawing shapes can be used to create Paths
- # [06:07] <Hixie> well it's the exact same api (same interface), so, sure...
- # [06:07] <jacobolus> it is?
- # [06:07] <Hixie> are you reading the spec? or?
- # [06:08] <jacobolus> yes
- # [06:08] <othermaciej_> Path has a similar interface to Canvas2DContext
- # [06:08] <Hixie> has literally has the same interface
- # [06:08] <othermaciej_> it inherits from common interfaces for many of the methods
- # [06:08] <Hixie> they both implement CanvasPathMethods or something
- # [06:08] <jacobolus> oh, I see, http://www.whatwg.org/specs/web-apps/current-work/#canvaspathmethods
- # [06:08] <othermaciej_> although I posit that this is actually kind of weird in some cases
- # [06:08] <jacobolus> that's really confusing
- # [06:10] <othermaciej_> well, var path = new Path(); path.moveTo(0, 0); path.lineTo(20, 20); path.lineTo(20, 0); path.closePath(); seems logical enough to me
- # [06:10] <jacobolus> Hixie: but it has no equivalent of context.save() or context.restore() for transformations?
- # [06:11] <othermaciej_> it's the transformation, line style, and text style methods on Path that strike me as weird
- # [06:13] <Hixie> jacobolus: it has a method so you an reset the transform to whatever you want
- # [06:13] <jacobolus> Hixie: yes, but there's no stack of them. which makes it dramatically less powerful than the context version
- # [06:13] <jacobolus> unless you keep track of the transform manually
- # [06:13] <Hixie> well yeah, it's not like you're going to be doing much with them
- # [06:14] <jamesr> i think it'd make more sense if they weren't there and the only time a xform applied was when you were plopping them into a context's default path
- # [06:14] <jamesr> or if we had a separate notion of a transform stack, perhaps
- # [06:14] <othermaciej_> that is certainly what seems natural to me
- # [06:14] <Hixie> jamesr: how would you create a path that had another path stamped in four locations?
- # [06:14] <othermaciej_> that plus an ability to one-shot apply a transform (either to a whole path, or it would return a new transformed path)
- # [06:14] <jacobolus> the only things here that are really adding new capability beyond what's currently possible are dashed lines and extracting the current path as a saved "region"
- # [06:15] <jacobolus> the Path objects add a lot of complexity, and maybe provide something that's more intuitive, but don't really add power beyond what's there now
- # [06:15] <Hixie> othermaciej_: i guess we could have a method that takes an SVGMatrix and transforms the path to it
- # [06:15] <othermaciej_> you can store a path and draw it repeatedly
- # [06:15] <othermaciej_> that's the main power that is added
- # [06:15] <jamesr> Hixie: subPath = new Path(); parent = new Path(); parent.fillPath(subPath, transformA); parent.fillPath(subPath, transformB); parent.fillPath(subPath, transformC); parent.fillPath(subPath, transformD);
- # [06:15] <Hixie> othermaciej_: not sure what we'd do for the line styles though
- # [06:15] <othermaciej_> this is pretty useful
- # [06:16] <jacobolus> you can currently define a function that draws a path, and then call it repeatedly
- # [06:16] <jamesr> or more likely manipulate a single transform between each fill..()
- # [06:16] <jacobolus> which is just as useful
- # [06:16] <Hixie> jamesr: yeah, that makes sense
- # [06:16] <jacobolus> and just about as fast, since the slow part is typically the fill/stroke, rather than creating the lines themselves
- # [06:16] <othermaciej_> Hixie: CG passes the line style parameters individually, but one could imagine having a LineStyle object which is passed only when doing the "stroke the stroke outline" thing
- # [06:16] <Hixie> i guess
- # [06:16] <Hixie> ok
- # [06:17] <Hixie> i shall investigate this further tomorrow
- # [06:17] <jamesr> Hixie: sent you some dated canvas 2d feedback via gchat
- # [06:17] <jamesr> will try to get the author of that to send to WHATWG
- # [06:17] <Hixie> jamesr: k
- # [06:17] <jacobolus> dashed lines are a really nice addition though!
- # [06:17] <jacobolus> doing those manually is a huge pain
- # [06:17] <othermaciej_> interestingly, the CG AddPath operation lets you pass a transform
- # [06:17] <othermaciej_> along the lines of what jamesr suggests
- # [06:18] <jacobolus> and regions are nice too, though the API seems complex
- # [06:19] <jamesr> it might also be nice to be able to map the points on a Path through some transform in-place
- # [06:19] <jamesr> although i guess that's just a matter of making a new path and fillPath()ing it
- # [06:20] <jamesr> oh, that'd just be path.addFill(path, transform)
- # [06:20] <jacobolus> I guess one nice thing about not making much that's strictly impossible now is that it'll be possible to create a polyfill to do everything but tracing strokes and dashed strokes, and it'll work in all the current canvas implementations
- # [06:20] <jamesr> wait nope, misread the algo. anyway, that's probably less
- # [06:21] <othermaciej_> NSBezierPath has a transformUsingAffineTransform: method
- # [06:21] <othermaciej_> but no CTM
- # [06:22] <jacobolus> Hixie: while we’re adding stuff, can we add a 4-by-4 transformation matrix, compatible with 3d css animations?
- # [06:22] <Hixie> i'm just gonna use SVGMatrix, so, speak to them
- # [06:22] <jacobolus> that one would be actually really neat
- # [06:22] <jamesr> SVGMatrix is 2x3
- # [06:22] <jacobolus> 2 by 3 is really annoying, because it’s impossible to do any perspective
- # [06:23] * Joins: Neocortex (~niels@82-170-160-25.ip.telfort.nl)
- # [06:23] <jacobolus> even 3 by 3 is way more useful
- # [06:23] <jamesr> that might be old
- # [06:23] <othermaciej_> perspective transforms with a 2D API do not make sense to me
- # [06:23] <jamesr> i don't think perspective is a good idea for canvas 2d
- # [06:23] <jamesr> jinx
- # [06:23] <jacobolus> why?
- # [06:23] <jamesr> but we need some 4x4 for CSSOM for 3d transforms
- # [06:23] <jacobolus> for someone who doesn't want it, it's invisible
- # [06:24] <jacobolus> for someone who does, there's lots of cool fake-3d stuff that can be done w/ perspective transforms
- # [06:24] <jacobolus> or things like stitching photos together in panoramas
- # [06:24] <othermaciej_> when you stroke a path with a perspective transform in effect, does the line thickness change along the path?
- # [06:24] <jacobolus> ah, that's fair I guess
- # [06:25] <jacobolus> would have to be relative to some origin point, which I suppose would be fairly arbitrary
- # [06:25] <othermaciej_> if you follow that question to its logical conclusion, you will likely find that either answer will result in some part of the API not making sense
- # [06:26] <jamesr> mr doob has some nifty demos using existing APIs, but it's all done in JS-land. i think in general people doing 3d stuff should either stick to 3d APIs or do all the math themselves
- # [06:26] <jamesr> it's hard to go halfway in an API and have it still make sense, and i don't think anyone wants to go all the way for canvas 2d
- # [06:27] <jacobolus> othermaciej_, jamesr: at the same time, you can't actually get a stroke that changes width along its edge w/ the current APIs, meaning that it's impossible to do many types of nifty demos w/ the current APIs unless you manually implement all the strokes as fills in JS-land
- # [06:28] <jacobolus> [along a straight edge that is]
- # [06:28] <othermaciej_> you would have to calculate the outline of the stroke and fill it
- # [06:28] <othermaciej_> to do fake 3D with 2D APIs
- # [06:28] <jacobolus> right. "manually implement all the strokes as fills"
- # [06:28] <othermaciej_> btw, supporting perspective transforms is not invisible to those who do not use it
- # [06:28] <othermaciej_> it imposes memory/perf cost
- # [06:29] <othermaciej_> because your representation of a transform has to be 4x4 instead of 2x3
- # [06:29] <jacobolus> really? I thought graphics hardware was designed for multiplying square matrices!
- # [06:29] <jacobolus> othermaciej_: no, 3 by 3
- # [06:29] <othermaciej_> an affine transform can be stored as a 2x3 matrix
- # [06:29] <othermaciej_> and often is
- # [06:29] <jacobolus> yes, and a perspective transform can be stored as a 3x3 matrix
- # [06:30] <jacobolus> I'm pretty sure whatever low-level API is being used is multiplying 3x3 matrices anyway
- # [06:30] <jamesr> i doubt that
- # [06:30] <othermaciej_> you can ignore the [0, 0, 1] row
- # [06:30] <othermaciej_> I do not believe 3x3 is sufficient even for 3D affine transforms, let alone perspective
- # [06:30] <jacobolus> othermaciej_: if you replace the 0's w/ something else, then you get a perspective transform
- # [06:30] <jamesr> jacobolus: i'd want to see some evidence of that (and i work on these low-level APIs and the interfaces to them)
- # [06:30] <jacobolus> this is called "homogeneous coordinates"
- # [06:31] <jacobolus> jamesr: well I don't really know. I should go look at the implementations sometime
- # [06:31] * Quits: jcarbaugh (~jcarbaugh@12.43.172.10)
- # [06:31] <jacobolus> jamesr: but the whole point of using a matrix is so that you can just use matrix multiplications
- # [06:31] <jamesr> and a matrix multiplication is a bunch of component multiplications. if you don't have some of those components, you can ignore 'em
- # [06:32] <jacobolus> yeah, but they aren't ignored at the openGL layer I don't think
- # [06:33] <jamesr> if i was working on an OpenGL canvas 2d backend, i'd pass a 2x3 matrix in as a uniform or buffer of 6 floats
- # [06:33] <jamesr> and if i had to pass them in as 9 floats i'd be sad about the extra transfer space and multiplications in whichever shader it ran in
- # [06:34] <jacobolus> I thought modern graphics hardware could do some ungodly number of matrix multiplications per second
- # [06:34] <jamesr> true, but it's still not infinity
- # [06:34] <jamesr> and you have to store those numbers and transfer them
- # [06:34] <jacobolus> far outstripping the actual speed of drawing stuff to the screen
- # [06:34] <othermaciej_> lemme put it this way; in WebKit, a 2D affine transform is 6 doubles, and a 3d perspective transform is 16 doubles
- # [06:34] <jamesr> depends on the scene
- # [06:34] <jacobolus> the number of transformation matrices you use in a canvas is tiny
- # [06:34] <jamesr> depends on the scene
- # [06:35] <jamesr> you can definitely be vertex-shader bound
- # [06:35] <jacobolus> othermaciej_: sure, but it could be 9 doubles if you wanted
- # [06:35] <othermaciej_> while it is remotely possible that all the graphics experts who work on WebKit overlooked a huge way to save storage, that seems unlikely to me
- # [06:35] <jamesr> or memory bandwidth bound if you have a lot of geometry and lots of matrices
- # [06:35] <jamesr> 3x3 is a big cost compared to the payoff
- # [06:35] <othermaciej_> but if it is true, I should file a bug
- # [06:36] <jacobolus> othermaciej_: with strictly equivalent power in terms of 2d, but somewhat less obvious math to do to move things around in 3d space, and no ability to do 3-d perspective transforms (which I haven’t ever actually seen used but would be cool)
- # [06:37] <jacobolus> othermaciej_: it's definitely not worth it to use 3x3 matrix if you're actually dealing w/ 3d space, if only because figuring out what the numbers mean in terms of the 3d space is much less clear, and because there aren't obvious answers w/r/t questions like what is in front of what
- # [06:38] <jacobolus> if you use a 3x4 matrix, you can specify affine transform in 3d + translation
- # [06:38] <jacobolus> and you just pass 4x4 matrix, because you might as well at that point, but that last row is typically not used
- # [06:39] <jacobolus> [but you could use the last row to do some really weird fun stuff!]
- # [06:39] <jamesr> for 3d css we have to handle real perspective
- # [06:39] <jamesr> so 4x4 is pretty much required
- # [06:40] <jacobolus> jamesr: you can do precisely the same perspective transformations with a 3x3 matrix. it's just harder to relate to some concrete 3-d scene
- # [06:40] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Quit: Leaving...)
- # [06:41] <jacobolus> and so if you want to rotate by some amount in your existing 3d scene, say, figuring out the right matrix to use is more expensive arithmetic than if you use the 4x4 matrix
- # [06:41] <jacobolus> where it's completely obvious
- # [06:42] <jacobolus> anyhow, it would be kind of neat to get faux-3-d in canvas, but it's not strictly necessary
- # [06:43] <jacobolus> it would also be really nice to have some fast functions for doing various matrix math implemented in all the browsers
- # [06:44] <jacobolus> [anyhow, sorry to have somewhat derailed the conversation. wasn't trying to do that :)]
- # [06:48] <jamesr> i think having efficient implementations of common matrix ops falls under the various matrix API proposals floating 'around
- # [06:48] <jacobolus> othermaciej_, jamesr: here's an example of using a functional-code-style approach to the canvas http://jsfiddle.net/x9rUN/2/
- # [06:49] <jacobolus> [albeit a fairly trivial one]
- # [06:51] * Joins: jcarbaugh (~jcarbaugh@12.43.172.10)
- # [07:10] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
- # [07:26] * Joins: LBP (~Mirc@pD9EB190D.dip0.t-ipconnect.de)
- # [07:36] * Quits: jochen__ (jochen@nat/google/x-yoafxfzfmsnctmvi) (Remote host closed the connection)
- # [07:36] * Joins: jochen__ (jochen@nat/google/x-hhfaftwicdivcukm)
- # [07:37] <othermaciej_> jacobolus: neat, though not really what I think of as "functional"
- # [07:38] <othermaciej_> I would expect a functional approach to be stateless and side-effect free
- # [07:44] * Quits: schnoomac (~schnoomac@melbourne.99cluster.com) (Quit: schnoomac)
- # [07:46] * Joins: skylamer` (cgskylamer@78.90.213.55)
- # [07:46] <jacobolus> othermaciej_: well, "functional"
- # [07:46] <jacobolus> othermaciej_: really more like "how do you approximate the kind of abstraction you'd build in postscript in javascript"
- # [07:47] <jacobolus> not sure what a right name is for that
- # [07:52] * Joins: Ducki (~Ducki@pD9E39732.dip0.t-ipconnect.de)
- # [07:56] * Quits: benjoffe (~benjoffe@119-252-71-224.static.highway1.net.au) (Remote host closed the connection)
- # [07:57] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
- # [07:57] * Quits: jondong_ (~jondong@123.126.22.58) (Remote host closed the connection)
- # [08:00] * Joins: matjas (u2247@gateway/web/irccloud.com/x-cetvikmkybpelvnl)
- # [08:01] <jacobolus> the key point though is that by using higher-order functions, passing around functions as first-class objects, and saving state in the context stack rather than explicitly in our own objects, we can make some very nice clean abstractions
- # [08:02] <jacobolus> maybe "functional" doesn't quite work as a word for that, but hey
- # [08:02] * Joins: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [08:02] * heycam is now known as heycam|away
- # [08:07] * Joins: jondong (~jondong@123.126.22.58)
- # [08:09] * Joins: dirkpennings (~dirkpenni@90-145-26-140.bbserv.nl)
- # [08:16] * Quits: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Quit: Leaving)
- # [08:20] * heycam|away is now known as heycam
- # [08:21] * Joins: PalleZingmark (~Adium@217.13.228.226)
- # [08:22] * Joins: Areks (~Areks@rs.gridnine.com)
- # [08:31] * Quits: ivan\ (~ivan@unaffiliated/ivan/x-000001) (Ping timeout: 265 seconds)
- # [08:33] * zcorpan updated html5-diff
- # [08:39] * Joins: ivan\ (~ivan@unaffiliated/ivan/x-000001)
- # [08:52] * Quits: [[zz]] (~q@182.53.55.234) (Ping timeout: 272 seconds)
- # [08:57] * Joins: gwicke (~gabriel@160-15-142-46.pool.kielnet.net)
- # [09:01] * Joins: annevk (~annevk@193.214.121.245)
- # [09:02] * Joins: woef (~woef@91.183.84.141)
- # [09:06] <annevk> "which is the number I should phone" Dutch people on the lounge and speaking loudly :/
- # [09:06] <annevk> (they're trying to talk in English)
- # [09:07] <annevk> momentarily forgot I could listen to some music instead
- # [09:07] <annevk> problem solved
- # [09:13] * Joins: DaFireball (~dirkpenni@90-145-26-140.bbserv.nl)
- # [09:14] <hsivonen> MikeSmith: emitting such a message would make a lot of sense
- # [09:14] <MikeSmith> OK
- # [09:14] <hsivonen> (the build script pointing people to #whatwg that is)
- # [09:15] <MikeSmith> yeah
- # [09:15] * Quits: dirkpennings (~dirkpenni@90-145-26-140.bbserv.nl) (Ping timeout: 260 seconds)
- # [09:15] <MikeSmith> hsivonen: btw I wrote a patch for jing that adds HTML support
- # [09:16] <MikeSmith> I wonder if you think it's a good idea or not
- # [09:16] <MikeSmith> using the validator.nu parser of course
- # [09:17] <MikeSmith> enabled through a new -h switch for the cli, and through a settable property flag in the code
- # [09:19] <annevk> WHATWG Weekly: path objects, ellipse support, SVG paths
- # [09:19] <annevk> anything else?
- # [09:22] <hsivonen> MikeSmith: cool. did it get accepted to upstream?
- # [09:22] <MikeSmith> hsivonen: have not proposed it to James yet
- # [09:22] <MikeSmith> wanted to get your opinion first
- # [09:22] <MikeSmith> about whether you think's helpful and worth pursuing
- # [09:23] <MikeSmith> *think it's
- # [09:23] <MikeSmith> we obviously don't need it for the validator.nu branch
- # [09:23] <MikeSmith> so yeah the plan would be to get it landed upstream
- # [09:23] <annevk> seems I'm not going to post this before takeoff
- # [09:24] <MikeSmith> annevk: you work on it when you land? how many hours from now?
- # [09:25] <annevk> two hours more or less
- # [09:25] <MikeSmith> ok
- # [09:25] <annevk> should be home in less than four, ideally so it's not a big deal
- # [09:26] <hsivonen> MikeSmith: I think it could be useful for the command-line Jing tool
- # [09:26] <MikeSmith> annevk: in the mean time will try to catch up with mail and see if there's anything I can suggest adding
- # [09:26] <hsivonen> MikeSmith: I'm not a user of the command-line Jing tool, though, so I might be wrong
- # [09:26] <hsivonen> annevk: were you at SXSW?
- # [09:27] * Joins: [[zz]] (~q@101.108.111.99)
- # [09:27] <MikeSmith> hsivonen: could it be useful for other users of the API? e.g., the epubcheck tool uses the API, I think
- # [09:29] * Quits: othermaciej_ (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej_)
- # [09:30] <annevk> hsivonen: no in Oslo
- # [09:30] <annevk> added the encoding/decoding stuff btw
- # [09:31] * Quits: skylamer` (cgskylamer@78.90.213.55) (Read error: Connection reset by peer)
- # [09:32] * Quits: annevk (~annevk@193.214.121.245) (Quit: annevk)
- # [09:36] * Quits: ezoe (~ezoe@203-140-91-113f1.kyt1.eonet.ne.jp) (Ping timeout: 240 seconds)
- # [09:37] <hsivonen> MikeSmith: what's "the API"?
- # [09:37] * Quits: jwalden (~waldo@c-71-202-165-226.hsd1.ca.comcast.net) (Quit: ChatZilla 0.9.87-4.1450hg.fc15 [XULRunner 10.0.1/20120213092145])
- # [09:37] <MikeSmith> the Jing validation API
- # [09:37] <MikeSmith> mode/rngvalidate or whatever it is
- # [09:38] <MikeSmith> ValidationDriver
- # [09:39] <MikeSmith> class
- # [09:45] * Quits: chriseppstein (~chrisepps@99-6-85-4.lightspeed.sntcca.sbcglobal.net) (Quit: chriseppstein)
- # [09:46] * Quits: milky (~silky@pool-74-108-142-22.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
- # [09:48] <zcorpan> MikeSmith: i tried validating the whatwg stylesheet and filed a few bugs on the css validator
- # [09:48] <MikeSmith> zcorpan: excellent, thanks
- # [09:49] <zcorpan> MikeSmith: and whined about the spec language around unquoted font family names *again*
- # [09:49] <MikeSmith> heh
- # [09:50] <zcorpan> the css wg have taught web authors the mantra "if there's whitespace in the font family name, i must quote it", so they would quote "times new roman" but not quote "456bereast"
- # [09:50] <zcorpan> even though the former works unquoted and the latter doesn't
- # [09:54] <zcorpan> i guess this is a topic matjas could write about
- # [09:55] <matjas> I’m intrigued (also: mind = blown)
- # [10:00] <zcorpan> matjas: i think mothereffin css escapes applies to unquoted font family names, except unquoted font family names can have several identifiers that are turned into a string by joining them (after unescaping) with a space
- # [10:00] <zcorpan> matjas: since id and class also are identifiers
- # [10:02] <zcorpan> that and keywords aren't allowed as unquoted font family names
- # [10:02] * Joins: hasather_ (~hasather_@cm-84.208.108.107.getinternet.no)
- # [10:04] <matjas> hah, thanks for doing all the research for me :)
- # [10:05] <zcorpan> that was off the top of my head, i might be lying :-P
- # [10:05] <jgraham> Experience suggests that the top of zcorpan's head is quite a reliable source of information
- # [10:06] <zcorpan> heh
- # [10:06] <matjas> data:text/html,<style>:root { font-family: \63 omic\ sans\ ms, sans-serif; }%E2%80%8B</style>lolwat
- # [10:06] <matjas> nice
- # [10:07] * Quits: hasather_ (~hasather_@cm-84.208.108.107.getinternet.no) (Remote host closed the connection)
- # [10:07] <matjas> but… data:text/html,<style>:root { font-family: \63 omic\ sans\ ms, sans-serif; }%E2%80%8B</style>lolwat is rendered in sans-serif
- # [10:09] <zcorpan> pasted the wrong thing? or what's the difference?
- # [10:10] <zcorpan> also, you don't need to escape the spaces :-)
- # [10:10] * Quits: DaFireball (~dirkpenni@90-145-26-140.bbserv.nl) (Ping timeout: 252 seconds)
- # [10:13] * Joins: dirkpennings (~dirkpenni@90-145-26-140.bbserv.nl)
- # [10:14] * Joins: kenneth (kenneth@nat/nokia/x-dlclrmldpcdxlhii)
- # [10:14] * kenneth is now known as Guest49153
- # [10:15] * Guest49153 is now known as kenne
- # [10:15] <zcorpan> matjas: also see http://lists.w3.org/Archives/Public/www-style/2010Mar/0395.html
- # [10:15] <matjas> zcorpan: the difference is that the first one uses comic sans ms, but the second one doesn’t
- # [10:16] * heycam is now known as heycam|away
- # [10:16] <zcorpan> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1389
- # [10:17] * Joins: mishunov (~spliter@77.88.72.162)
- # [10:17] <zcorpan> they are the same string and they both use the same font for me :-)
- # [10:17] <matjas> zcorpan: your IRC client merges multiple spaces together
- # [10:18] <zcorpan> aha
- # [10:18] <matjas> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1390
- # [10:19] * Joins: ezoe (~ezoe@203-140-88-69f1.kyt1.eonet.ne.jp)
- # [10:19] <zcorpan> ok so you have the identifiers "\63 omic\ " and "sans\ ms"
- # [10:19] <matjas> the escapes spaces + the \63 was just to test identifier escapes
- # [10:19] <zcorpan> which after unescaping become "comic " and "sans ms"
- # [10:19] <MikeSmith> M7 earthquake just now off the coast of Hokkaido
- # [10:19] <zcorpan> then join with a space, you get "comic sans ms" (with two spaces between comic and sans)
- # [10:19] <zcorpan> which doesn't match a font family name
- # [10:19] <MikeSmith> it is shaking things in Tokyo even
- # [10:20] <matjas> zcorpan: ok, so i shouldn’t have explicitly escaped that one space
- # [10:20] <matjas> got it
- # [10:20] <MikeSmith> I think a Tsunami is going to hit eastern Hokaido and nothern Honshu
- # [10:20] <MikeSmith> http://quake.twiple.jp/quake/view/20120314180905
- # [10:23] <MikeSmith> http://nmz.mogken.com/20120314180905
- # [10:26] <zcorpan> are there any nuclear power plants there?
- # [10:26] * Joins: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be)
- # [10:27] <MikeSmith> probably
- # [10:27] <MikeSmith> but none running
- # [10:27] <MikeSmith> 52 of the 54 plants in Japan are shut down right now
- # [10:27] <MikeSmith> anyway, news is saying the tsunami will only be .5m
- # [10:27] <MikeSmith> http://weather.excite.co.jp/tsunami/t-2012-03-14+18%3A12%3A56/
- # [10:28] <zcorpan> what does that mean in terms of damage?
- # [10:29] <MikeSmith> probably not much I guess
- # [10:30] <MikeSmith> and it's not going to his the coast for until another 20 minutes from now
- # [10:30] <zcorpan> "is ok to let your children play at the beach until you see the tsunami coming, at which point you should walk up the beach about 50m" or "will wipe out houses that are 150m to the beach or closer" or something in between? :-)
- # [10:30] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Ping timeout: 260 seconds)
- # [10:30] <MikeSmith> dunno
- # [10:30] * Quits: mishunov (~spliter@77.88.72.162) (Quit: mishunov)
- # [10:35] * Quits: jacobolus (~jacobolus@199.188.193.145) (Remote host closed the connection)
- # [10:37] * Joins: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl)
- # [10:37] * Quits: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
- # [10:37] * Joins: riven (~riven@pdpc/supporter/professional/riven)
- # [10:38] * Joins: mishunov (~spliter@77.88.72.162)
- # [10:39] * Joins: drublic (~drublic@frbg-4d028a56.pool.mediaWays.net)
- # [10:45] * Quits: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se) (Remote host closed the connection)
- # [10:45] * Joins: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [10:45] * Joins: akamike (u5089@gateway/web/irccloud.com/x-jqzizsdbuzcdfrek)
- # [10:50] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Ping timeout: 246 seconds)
- # [10:53] * Joins: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl)
- # [10:53] * Quits: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
- # [10:53] * Joins: riven (~riven@pdpc/supporter/professional/riven)
- # [10:55] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Quit: Computer has gone to sleep.)
- # [10:56] * Quits: Areks (~Areks@rs.gridnine.com) (Ping timeout: 272 seconds)
- # [10:56] * Joins: Lachy (~Lachy@cm-84.215.13.244.getinternet.no)
- # [10:59] * Joins: kenneth_ (kenneth@nat/nokia/x-lfjdrkmimfnhvpto)
- # [11:00] * Quits: kenne (kenneth@nat/nokia/x-dlclrmldpcdxlhii) (Read error: Connection reset by peer)
- # [11:02] * Joins: kenneth__ (kenneth@nat/nokia/x-zgurxgikpatwuwvj)
- # [11:03] * Quits: kenneth_ (kenneth@nat/nokia/x-lfjdrkmimfnhvpto) (Read error: Connection reset by peer)
- # [11:04] * Quits: ehsan (~ehsan@209.29.21.241) (Remote host closed the connection)
- # [11:05] * Quits: Workshiva (~Dashiva@74.125.57.33) (Ping timeout: 252 seconds)
- # [11:06] * Quits: Zauberfisch (~Zauberfis@venus.zauberfisch.at) (Quit: Leaving)
- # [11:11] * Joins: Areks (~Areks@rs.gridnine.com)
- # [11:12] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Read error: Connection reset by peer)
- # [11:12] * Joins: riven (~riven@pdpc/supporter/professional/riven)
- # [11:13] * Quits: Dashiva (Dashiva@wikia/Dashiva) (Ping timeout: 252 seconds)
- # [11:14] <hsivonen> must. not. read. Slashdot or Ars comment threads about Mozilla & H.264. Too much 386.
- # [11:15] <hsivonen> speaking people being wrong on the Internet: http://ask.slashdot.org/story/12/03/04/047248/ask-slashdot-life-after-firefox-36x?sdsrc=popbytid
- # [11:15] * zcorpan learns that width:0 and width:0% on table cells is ignored
- # [11:15] <hsivonen> "3.6.x has been known for generally being more stable and using less RAM than the modern Firefox 10 and even Chrome."
- # [11:16] * Joins: nonge_ (~nonge@p50829260.dip.t-dialin.net)
- # [11:17] <zcorpan> "Netscape 4 has been known for generally being more stable and using less RAM than the modern Internet Explorer 5.5 and even Opera."
- # [11:20] <jgraham> People who want to talk about browser memeory consumption on the internet should be forced to either a) work for a browser vendor or b) read all of Nicolas Nethercote's blog before they get to say anything
- # [11:20] * Quits: nonge (~nonge@p5082B0A9.dip.t-dialin.net) (Ping timeout: 246 seconds)
- # [11:20] <jgraham> The % of misinformation on that topic is unusually high even for the internet
- # [11:24] <jgraham> (if there is anyone else providing such a useful public resource on why browsers use memory I would also happily suggest that)
- # [11:25] <Ms2ger> jgraham, you could do something for Opera? :)
- # [11:25] <jgraham> I'm not sureI would be the right person to write that, sadly
- # [11:29] * Quits: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be) (Read error: Operation timed out)
- # [11:30] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Quit: Computer has gone to sleep.)
- # [11:33] * Joins: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be)
- # [11:33] * Joins: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net)
- # [11:40] <Ms2ger> Hixie, with those diagrams, I might finally understand what arc() does :)
- # [11:41] * Joins: Workshiva (~Dashiva@74.125.57.33)
- # [11:44] * Joins: Lachy (Lachy@nat/opera/x-yvbeffzjsuevghbs)
- # [11:44] <zcorpan> Ms2ger: now pretend you're on the phone and need to explain the diagrams to someone else, or the bunny gets it. what'd ya say?
- # [11:46] <jgraham> Bye bye bunny?
- # [11:48] <zcorpan> (bonus point for knowing the bunny reference)
- # [11:54] * Quits: Workshiva (~Dashiva@74.125.57.33) (Remote host closed the connection)
- # [12:01] <MikeSmith> matjas: about "criteria that cannot be expressed by a DTD, but can still be checked by a machine” see my comments in the logs
- # [12:01] <MikeSmith> and https://bitbucket.org/validator/syntax/src/tip/relaxng/datatype/java/src/org/whattf/datatype/ScriptDocumentation.java and https://bitbucket.org/validator/syntax/src/tip/relaxng/datatype/java/src/org/whattf/datatype/FunctionBody.java
- # [12:01] <MikeSmith> those check the text content of script elements
- # [12:02] * Joins: niloy (~niloy@203.196.177.156)
- # [12:02] <matjas> MikeSmith: http://krijnhoetmer.nl/irc-logs/whatwg/20120314#l-218, I missed those before, thanks!
- # [12:03] <MikeSmith> cheers
- # [12:03] * Joins: schnoomac (~schnoomac@27-32-229-194.static.tpgi.com.au)
- # [12:08] * Quits: jcarbaugh (~jcarbaugh@12.43.172.10)
- # [12:10] * Joins: Zauberfisch (Zauberfisc@venus.zauberfisch.at)
- # [12:10] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Ping timeout: 260 seconds)
- # [12:12] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
- # [12:12] * Joins: Workshiva (~Dashiva@74.125.57.33)
- # [12:17] * Quits: Evanescence (~Evanescen@60.183.205.152) (Quit: my website: http://stardiviner.dyndns-blog.com/)
- # [12:17] <Philip`> jacobolus: "I thought graphics hardware was designed for multiplying square matrices!" - as I understand it, modern GPUs expand shader code into single-float instructions (e.g. "color.rgb *= 2.0" is 3 instructions, and matrix multiplications are lots)
- # [12:18] <Philip`> so they're not designed for doing anything with matrices or even with vectors
- # [12:18] <jacobolus> Philip`: what about when you say "here's a transformation matrix and here are points a, b, c, d in space", etc.?
- # [12:19] <Philip`> (though they run the same shader code over ~16 streams of data in parallel, and run ~32 of those in parallel, so you get huge bandwidth even if each individual shader is many more instructions)
- # [12:21] <Philip`> jacobolus: That's just part of the application-facing API (or in the case of OpenGL ES it's not even there, it's entirely in the application), and gets turned into vertex shader code that multiplies the per-vertex data with the uniform transform data
- # [12:21] <Philip`> *ES 2.0
- # [12:21] <jacobolus> ah. I guess I should really learn openGL seriously sometime
- # [12:24] * Joins: Evanescence (~Evanescen@60.183.205.152)
- # [12:24] <Philip`> (Old GL has e.g. VertexPointer to give it vertex positions, which originated with the fixed-function pipeline (when I guess GPUs did have dedicated hardware for vertex transforms), but GLES2 (and the non-compatibility profile of GL3.2) removes that and just has a generic semanticless vertex attribute system)
- # [12:24] * Joins: Scorchin (u1242@gateway/web/irccloud.com/x-zacscbctwabkfnjb)
- # [12:25] <Philip`> ((and modern implementations of old GL will translate everything into the new shaderier system))
- # [12:25] <MikeSmith> hmm shouldn't the polyglot spec disallow CDATA sections?
- # [12:26] <jacobolus> Philip`: can you recommend any resources for learning whatever OpenGL thing will be compatible with WebGL?
- # [12:26] <Ms2ger> MikeSmith, but that's the nicest part of polyglot!
- # [12:26] <Philip`> jacobolus: I can't :-(
- # [12:26] <jacobolus> Philip`: and also, to what extent can I use WebGL just to do computation, without necessarily displaying anything on screen?
- # [12:26] <jacobolus> ah, darn
- # [12:27] * Quits: Evanescence (~Evanescen@60.183.205.152) (Client Quit)
- # [12:27] <Philip`> (other than the obvious things like the OpenGL ES 2.0 spec and delta spec)
- # [12:27] <jacobolus> how much of that transfers to webgl?
- # [12:27] <jacobolus> I haven't taken much serious look at webgl
- # [12:27] <Philip`> I've never really learned OpenGL from anywhere specific - I've just aggregated whatever rubbish I happen to encounter on the web and assume it to be true
- # [12:28] <Philip`> so I don't know what's a good place to look
- # [12:29] <Philip`> (though I did recently see http://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/ which seems like a nice overview of the lower-level implementation details if you already understand the basic concepts)
- # [12:29] <jacobolus> do you know if it's possible to use WebGL just for fast computation on the GPU, and not for showing anything?
- # [12:29] <Philip`> I've never really used WebGL, so I could be mistaken, but I believe it's very close to GLES2
- # [12:30] <Philip`> You can use it to render onto an off-screen buffer, and then use that as input for further GPU processing or (very slowly) copy it back to the CPU
- # [12:31] <Philip`> but I think GLES2 (and WebGL) is pretty limited in buffer formats etc, so it's likely to be awkward to fit non-graphical problems into it
- # [12:32] <Philip`> (http://www.khronos.org/webcl/ is more designed for GPU computing)
- # [12:32] * Quits: schnoomac (~schnoomac@27-32-229-194.static.tpgi.com.au) (Quit: schnoomac)
- # [12:33] * Joins: schnoomac (~schnoomac@27-32-229-194.static.tpgi.com.au)
- # [12:33] <zcorpan> MikeSmith: why?
- # [12:34] <Philip`> (http://webcl.nokiaresearch.com/tutorials/tutorial4.html has an example)
- # [12:34] <MikeSmith> zcorpan: because the HTML spec says it's not allowed
- # [12:35] <zcorpan> MikeSmith: it's allowed in foreign lands
- # [12:35] <MikeSmith> yeah I know that
- # [12:35] <MikeSmith> but the polyglot spec should explicitly say that it's not allowed anywhere else
- # [12:36] <zcorpan> oh you mean like in <script>?
- # [12:36] <jacobolus> Philip`: well, I want to deal w/ graphical problems
- # [12:37] <jacobolus> e.g. how much of this can be applied to webgl I wonder http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter24.html
- # [12:38] <zcorpan> MikeSmith: yeah it should, although <script> and <style> might be special exceptions
- # [12:39] <zcorpan> although it currently says to always use external scripts and styles, so that might not be needed then
- # [12:40] <Philip`> jacobolus: GLES2 (and WebGL) doesn't support 3D textures (nor 1D textures)
- # [12:40] <jacobolus> ah
- # [12:40] <jacobolus> Philip`: can it be coaxed into doing the same kind of math?
- # [12:40] <jacobolus> or does that require going ⇔ the CPU
- # [12:41] <zcorpan> hmm, it's confused. "Polyglot markup includes script and style commands by linking to external files rather than including them in-line." and then "Polyglot markup uses external scripts if that document's script or style sheet uses < or & or ]]> or --."
- # [12:41] * Joins: Evanescence (~Evanescen@60.183.205.152)
- # [12:42] <MikeSmith> hmm
- # [12:42] <zcorpan> (and the next paragraph is copied from the old xhtml 1.0 appendix c which totally misses the point)
- # [12:42] * Quits: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be) (Ping timeout: 255 seconds)
- # [12:44] <Philip`> jacobolus: I guess you might have to do it by e.g. encoding the NxNxN 3D texture as a (N*N)xN 2D texture, and writing a shader to manually sample the relevant points in the texture and to do the trilinear filtering
- # [12:44] <jacobolus> ah, hm
- # [12:44] <jacobolus> I'll have to actually read the spec sometime
- # [12:45] <jacobolus> anyway, thanks for the advice, generally
- # [12:45] <Philip`> (which I expect would be significantly slower than using the dedicated texture sampling hardware)
- # [12:45] <Philip`> (and maybe it'd be cheaper just to do the maths in the shader, instead of using a lookup texture)
- # [12:46] <jacobolus> not for teh kind of math I want to do :)
- # [12:48] <jacobolus> huh. do any implementations of apis like canvas, svg, etc. use OpenVG?
- # [12:48] <jacobolus> looks kind of interesting
- # [12:51] <Philip`> I know even less about that than about anything else I've been pretending to know about, but I've never heard of anybody actually using it, so I assume it's just part of the weird mobile world
- # [12:51] * Joins: Dashiva (Dashiva@wikia/Dashiva)
- # [12:51] * Quits: gwicke (~gabriel@160-15-142-46.pool.kielnet.net) (Quit: Bye!)
- # [12:58] * Joins: danbri (~danbri@12.157.84.6)
- # [13:00] * Joins: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl)
- # [13:05] <zcorpan> matjas: in addition to stuff that v.nu checks with java code, there's stuff that v.nu checks with relax ng that cannot be expressed in a DTD, like making checked="" invalid on <input> when type="text"
- # [13:05] <annevk> MikeSmith: found anything?
- # [13:05] <MikeSmith> no
- # [13:06] <MikeSmith> matjas: yeah there is lots of stuff like what zcorpan mentions
- # [13:06] <matjas> zcorpan: thanks, got it. a DTD roughly lists the allowed elements/attributes and where in the document they are allowed, but that’s it
- # [13:07] <MikeSmith> DTDs have some simple dataypes too
- # [13:07] <MikeSmith> for constraining the values of attributes
- # [13:07] <zcorpan> short version is that DTDs suck and you shouldn't care about them
- # [13:07] <MikeSmith> yup
- # [13:07] <matjas> :)
- # [13:07] <annevk> schema languages in general
- # [13:08] <zcorpan> schema languages have limitations but don't have to suck :-)
- # [13:08] * Quits: izhak (~izhak@213.87.241.75) (Remote host closed the connection)
- # [13:08] <annevk> dunno, because they're never specific I don't think they'll ever be ideal for a particular problem
- # [13:10] * Joins: tomasf (~tom@c-b7dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se)
- # [13:13] <MikeSmith> damn
- # [13:13] <MikeSmith> another big earthquake
- # [13:14] <MikeSmith> fucking hell
- # [13:14] <MikeSmith> I hope that one wasn't up north
- # [13:14] <MikeSmith> because if it was it must have been huge
- # [13:17] <karlcow> http://www.jma.go.jp/en/quake/00000000089.html
- # [13:17] <karlcow> chiba?
- # [13:18] <annevk> http://blog.whatwg.org/weekly-canvas-path
- # [13:18] <MikeSmith> karlcow: yah
- # [13:19] <zcorpan> annevk: btw please regen html5-diff
- # [13:20] <annevk> done
- # [13:20] <annevk> shouldn't http+aes be still mentioned for WHATWG?
- # [13:20] <zcorpan> it is
- # [13:21] <annevk> oh okay
- # [13:21] <zcorpan> thanks
- # [13:21] <zcorpan> MikeSmith: ^
- # [13:25] * Quits: ezoe (~ezoe@203-140-88-69f1.kyt1.eonet.ne.jp) (Quit: And Now for Something Completely Different.)
- # [13:26] * Quits: mishunov (~spliter@77.88.72.162) (Quit: mishunov)
- # [13:26] * Joins: mishunov (~spliter@77.88.72.162)
- # [13:27] * Quits: schnoomac (~schnoomac@27-32-229-194.static.tpgi.com.au) (Quit: schnoomac)
- # [13:29] * Quits: kennyluck (~kennyluck@114-43-124-244.dynamic.hinet.net) (Quit: kennyluck)
- # [13:37] <scott_gonzalez> MikeSmith: If the install is simple that'll help, but total size is probably going to be a factor as well.
- # [13:38] <scott_gonzalez> If we need to triple the size of our repo just to validate HTML files, it doesn't seem worth it.
- # [13:38] <scott_gonzalez> I haven't actually looked at the size of everything needed for validator.nu, but it didn't sound small.
- # [13:43] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 244 seconds)
- # [13:46] * Joins: temp02 (~temp01@unaffiliated/temp01)
- # [13:51] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [14:02] * Joins: Taggnostr (~quassel@dyn57-362.yok.fi)
- # [14:03] <zcorpan> last quirk specced (while having lunch) http://simon.html5.org/specs/quirks-mode#the-table-cell-nowrap-minimum-width-calculation-quirk
- # [14:09] * Joins: izhak (~izhak@188.168.203.96)
- # [14:10] * Quits: timmywil (~timmywil@host-68-169-154-67.WISOLT2.epbfi.com) (Quit: Computer has gone to sleep.)
- # [14:19] <annevk> oh lunch
- # [14:21] <annevk> zcorpan: can the text-decoration quirk be described using http://dev.w3.org/csswg/css3-text/#text-decoration-color ?
- # [14:22] * Joins: ehsan (~ehsan@209.29.21.241)
- # [14:24] <zcorpan> dunno
- # [14:24] <zcorpan> is that implemented?
- # [14:25] <annevk> prefixed in Gecko purportedly
- # [14:25] <zcorpan> seems that property doesn't do what the quirk does
- # [14:27] * Joins: kennyluck (~kennyluck@114-43-124-244.dynamic.hinet.net)
- # [14:38] * Quits: niloy (~niloy@203.196.177.156) (Ping timeout: 240 seconds)
- # [14:43] * Joins: davidb (~davidb@66.207.208.98)
- # [14:47] * JohnAlbin_zzzzzz is now known as JohnAlbin
- # [14:47] * Joins: malcolmva (~malcolmva@pool-74-108-142-22.nycmny.fios.verizon.net)
- # [14:47] * Quits: JohnAlbin (~JohnAlbin@114-42-54-208.dynamic.hinet.net) (Quit: HTTP/1.1 404 JohnAlbin Not Found)
- # [14:48] * Joins: JohnAlbin (~JohnAlbin@114-42-54-208.dynamic.hinet.net)
- # [14:49] * Joins: erichynds (~ehynds@venkman.brightcove.com)
- # [14:50] * Joins: niloy (~niloy@61.12.96.242)
- # [14:52] * Joins: MacTed (~Thud@63.119.36.36)
- # [14:57] * Joins: timmywil (~timmywil@host-68-169-175-226.WISOLT2.epbfi.com)
- # [15:01] <annevk> zcorpan: gonna tweet about being done?
- # [15:02] <zcorpan> i'm far from done :-)
- # [15:02] <annevk> 80% done
- # [15:03] <zcorpan> tweeted
- # [15:03] <annevk> ta
- # [15:07] * Joins: kenneth_ (kenneth@nat/nokia/x-iurtsbsgckwlitwk)
- # [15:07] * Quits: kenneth__ (kenneth@nat/nokia/x-zgurxgikpatwuwvj) (Read error: Connection reset by peer)
- # [15:09] * Joins: plutoniix (~plutoniix@101.108.111.99)
- # [15:09] * Joins: kenneth__ (kenneth@nat/nokia/x-eqpsngumuzpgpxuv)
- # [15:10] * Quits: kenneth_ (kenneth@nat/nokia/x-iurtsbsgckwlitwk) (Read error: Connection reset by peer)
- # [15:13] * Quits: MacTed (~Thud@63.119.36.36)
- # [15:20] * Quits: ehsan (~ehsan@209.29.21.241) (Remote host closed the connection)
- # [15:24] * Quits: izhak (~izhak@188.168.203.96) (Remote host closed the connection)
- # [15:34] * Quits: Evanescence (~Evanescen@60.183.205.152) (Quit: my website: http://stardiviner.dyndns-blog.com/)
- # [15:35] <StoneCypher> is there a field intended for universal per-language text replacement (i18n string tables)
- # [15:35] <StoneCypher> or should i be making a data-foo attribute
- # [15:36] * Quits: matijsb (u2278@gateway/web/irccloud.com/x-skyhgrkbtumgdctd)
- # [15:36] * Joins: matijsb (u2278@gateway/web/irccloud.com/x-kktcqoxfzingjmny)
- # [15:40] * Joins: ehsan (~ehsan@66.207.208.98)
- # [15:42] <zcorpan> i guess now is a good time to get quirks mode in a VCS
- # [15:42] * Joins: smaug____ (~chatzilla@GGMMMXXXVI.gprs.sl-laajakaista.fi)
- # [15:44] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
- # [15:45] <zcorpan> MikeSmith: did you update the TR?
- # [15:45] <MikeSmith> not yet
- # [15:45] <zcorpan> k, just checking
- # [15:45] <zcorpan> i'm not in a hurry :-)
- # [15:46] * zcorpan -> offline
- # [15:46] * Quits: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
- # [15:52] * Joins: gwicke (~gabriel@160-15-142-46.pool.kielnet.net)
- # [15:54] * Joins: Areks|2 (~Areks@rs.gridnine.com)
- # [15:56] * Quits: espadrine (~thaddee_t@acces2342.res.insa-lyon.fr) (Ping timeout: 260 seconds)
- # [15:56] * Quits: Areks (~Areks@rs.gridnine.com) (Ping timeout: 272 seconds)
- # [15:57] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Ping timeout: 240 seconds)
- # [15:58] * Quits: Areks|2 (~Areks@rs.gridnine.com) (Ping timeout: 272 seconds)
- # [15:59] * Quits: gwicke (~gabriel@160-15-142-46.pool.kielnet.net) (Quit: Bye!)
- # [16:01] * Quits: temp02 (~temp01@unaffiliated/temp01) (Read error: Connection reset by peer)
- # [16:01] * Joins: Ms2ger (~Ms2ger@91.181.250.56)
- # [16:02] * Joins: twisted` (~anonymous@p5DDBB9DF.dip.t-dialin.net)
- # [16:10] * Joins: MacTed (~Thud@63.119.36.36)
- # [16:12] * Quits: Ducki (~Ducki@pD9E39732.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
- # [16:20] * Quits: mpt (~mpt@canonical/mpt) (Remote host closed the connection)
- # [16:23] * Joins: mpt (~mpt@canonical/mpt)
- # [16:28] * Quits: mishunov (~spliter@77.88.72.162) (Quit: mishunov)
- # [16:28] <hsivonen> what MIME type does IE9 want to see for AAC audio files?
- # [16:28] * Joins: temp01 (~temp01@unaffiliated/temp01)
- # [16:29] <hsivonen> audio/mp4?
- # [16:29] * Quits: MacTed (~Thud@63.119.36.36)
- # [16:33] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
- # [16:34] * Joins: chriseppstein (~chrisepps@209.119.65.162)
- # [16:38] * Joins: gwicke (~gabriel@46.115.1.170)
- # [16:41] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 252 seconds)
- # [16:45] <Ms2ger> "XForms Users Community Group"
- # [16:45] <hober> shouldn't that be "User's" :)
- # [16:45] <hober> oh, that guy
- # [16:46] <jgraham> aka the "John Boyer Community Group"
- # [16:46] * Quits: danbri (~danbri@12.157.84.6) (Remote host closed the connection)
- # [16:46] <Ms2ger> "John Boyer, Trucker, Killed 3 Prostitutes Across South"
- # [16:47] * Ms2ger assumes another John Boyer
- # [16:48] <jgraham> Yeah, this is John M. Boyer, the Sci-Fi one
- # [16:48] <jgraham> https://www.ibm.com/developerworks/mydeveloperworks/blogs/JohnBoyer/?lang=en
- # [16:51] <annevk> did not take long: http://www.w3.org/community/xformsusers/
- # [16:51] <Ms2ger> "It is really easy to use XPath..."
- # [16:51] * Ms2ger stops reading
- # [16:51] * Quits: foolip (~philip@node-7lfbbj0tiptcmk5jr.a0.ipv6.opera.com) (Read error: Connection reset by peer)
- # [16:54] <Philip`> "View all 1 Participants" - someone else needs to join the group to save the world from terrible grammar
- # [16:56] <jgraham> Because "View all 2 Participants" will just sound like irony?
- # [16:57] <smaug____> Ms2ger: XPath isn't bad
- # [16:57] <Ms2ger> It's better than XForms, I guess :)
- # [16:57] <smaug____> yes :)
- # [17:00] * Quits: gwicke (~gabriel@46.115.1.170) (Remote host closed the connection)
- # [17:01] * Joins: gwicke (~gabriel@46.115.1.170)
- # [17:01] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Remote host closed the connection)
- # [17:04] <kennyluck> "View both Participants" is better maybe? :p
- # [17:05] * Joins: temp01 (~temp01@unaffiliated/temp01)
- # [17:13] * Quits: bga (bga@2001:41d0:1:8d75::) (Remote host closed the connection)
- # [17:14] * Joins: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
- # [17:18] * Joins: bga (bga@2001:41d0:1:8d75::)
- # [17:22] * Quits: dirkpennings (~dirkpenni@90-145-26-140.bbserv.nl) (Ping timeout: 248 seconds)
- # [17:23] <smaug____> annevk: where does DOM4 say when node is removed from the old parent when inserting to be a child of a new parent
- # [17:23] <Ms2ger> Btw, MikeSmith, weird Glenn wanted a bugzilla component for http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom-values/Overview.html
- # [17:24] <Ms2ger> smaug____, it might not say that :)
- # [17:24] <MikeSmith> Ms2ger: thanks
- # [17:24] <annevk> smaug____: as part of adopting it?
- # [17:25] <smaug____> huh
- # [17:25] <Ms2ger> No, just removing it from childNodes
- # [17:25] <Ms2ger> Ah, yes
- # [17:25] <smaug____> but ok
- # [17:25] <Ms2ger> That's weird, but sure
- # [17:26] <annevk> how is it weird?
- # [17:26] <annevk> pre-insert step 6
- # [17:27] <smaug____> just hard to read
- # [17:27] <Ms2ger> I'd have expected the adopt algorithm to be a no-op if the node already had the right node document
- # [17:27] <smaug____> looks like nodes aren't ever removed from documentfragment
- # [17:28] <smaug____> when inserting a documentfragment
- # [17:28] <annevk> ah yeah, DocumentFragment has issues :(
- # [17:28] <annevk> patches appreciated
- # [17:29] <smaug____> and replace's mutation observer handling is probably wrong
- # [17:29] * Quits: niloy (~niloy@61.12.96.242) (Remote host closed the connection)
- # [17:30] <annevk> is that even specced yet?
- # [17:30] <smaug____> replace removes and inserts
- # [17:30] <smaug____> so it will create two mutationrecords
- # [17:31] <annevk> yeah that's wrong
- # [17:31] <annevk> replace all is even more wrong
- # [17:32] <annevk> I guess I should look into fixing that, but it requires a lot of staring and a clear head
- # [17:32] * Quits: PalleZingmark (~Adium@217.13.228.226) (Quit: Leaving.)
- # [17:41] <smaug____> annevk: I'll file some bug
- # [17:41] <smaug____> s
- # [17:43] * Quits: gwicke (~gabriel@46.115.1.170) (Quit: Bye!)
- # [17:44] <annevk> write some patches pretty please :)
- # [17:44] <annevk> also, please go through https://www.w3.org/Bugs/Public/buglist.cgi?product=WebAppsWG&component=DOM&resolution=--- first
- # [17:44] <annevk> e.g. DocumentFragment is known
- # [17:46] <Ms2ger> MikeSmith, oh, and we should probably have a bugzilla component for random stuff, like https://www.w3.org/Bugs/Public/show_bug.cgi?id=14600
- # [17:46] * Joins: necolas (~necolas@host-92-12-160-162.as43234.net)
- # [17:50] <dglazkov> good morning, Whatwg!
- # [17:50] <annevk> morning hat
- # [17:50] <annevk> euh dglazkov
- # [17:51] <dglazkov> :)
- # [17:51] * Joins: ezoe (~ezoe@203-140-89-126f1.kyt1.eonet.ne.jp)
- # [17:51] * jernoble is now known as jernoble|afk
- # [17:56] * jernoble|afk is now known as jernoble
- # [17:56] * Quits: smaug____ (~chatzilla@GGMMMXXXVI.gprs.sl-laajakaista.fi) (Quit: Reconnecting…)
- # [17:57] * Joins: aklein (u4454@gateway/web/irccloud.com/x-wqeddcwyqjszvofn)
- # [18:04] * Joins: smaug____ (~chatzilla@212-226-67-233-nat.elisa-mobile.fi)
- # [18:05] * Quits: Lachy (Lachy@nat/opera/x-yvbeffzjsuevghbs) (Quit: Computer has gone to sleep.)
- # [18:08] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [18:09] <aklein> Hixie: regarding form controls outside the document, it seems that this causes problems with the definition of the "elements" collection: https://www.w3.org/Bugs/Public/show_bug.cgi?id=15704
- # [18:09] * Joins: sicking (~chatzilla@nat/mozilla/x-totpencppqhxrevr)
- # [18:10] <Hixie> hm yeah
- # [18:10] * Joins: ap (~ap@2620:149:4:1b01:3c62:d623:2ec8:62b0)
- # [18:11] * Quits: Zauberfisch (Zauberfisc@venus.zauberfisch.at) (Quit: Leaving)
- # [18:11] * Joins: Zauberfisch (Zauberfisc@venus.zauberfisch.at)
- # [18:15] * Quits: woef (~woef@91.183.84.141) (Ping timeout: 245 seconds)
- # [18:16] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [18:23] * Quits: drublic (~drublic@frbg-4d028a56.pool.mediaWays.net) (Remote host closed the connection)
- # [18:37] * Joins: WeirdAl (~chatzilla@g2spf.ask.info)
- # [18:37] * Joins: Lachy (~Lachy@cm-84.215.13.244.getinternet.no)
- # [18:39] * Joins: pablof (~pablof@144.189.101.1)
- # [18:41] * Joins: KevinMarks (~KevinMark@nat-204-14-239-208-sfo.net.salesforce.com)
- # [18:44] * Joins: tndrH (~Rob@cpc16-seac19-2-0-cust234.7-2.cable.virginmedia.com)
- # [18:52] * Quits: bga (bga@2001:41d0:1:8d75::) (Ping timeout: 245 seconds)
- # [18:54] * Joins: dave_levin (dave_levin@nat/google/x-logswwspysqigxvh)
- # [18:55] * Joins: maikmerten (~maikmerte@port-92-201-203-215.dynamic.qsc.de)
- # [18:56] * Joins: bga_ (~bga@ppp78-37-242-190.pppoe.avangarddsl.ru)
- # [18:59] * Joins: jamesr (jamesr@nat/google/x-inzavtltvyeqvdls)
- # [19:00] * Quits: necolas (~necolas@host-92-12-160-162.as43234.net) (Read error: Connection reset by peer)
- # [19:01] * Joins: necolas (~necolas@host-92-12-160-162.as43234.net)
- # [19:11] * Joins: micheil (~micheil@109.224.128.70)
- # [19:13] * Joins: jochen___ (jochen@nat/google/x-dkgfcryiekznpxoo)
- # [19:13] * Joins: rniwa (rniwa@nat/google/x-cwimwsehejgpeyqz)
- # [19:13] * Quits: jochen__ (jochen@nat/google/x-hhfaftwicdivcukm) (Read error: Connection reset by peer)
- # [19:13] * jochen___ is now known as jochen__
- # [19:26] * Joins: MacTed (~Thud@63.119.36.36)
- # [19:27] * nonge_ is now known as nonge
- # [19:27] * StoneCypher tries again
- # [19:27] <StoneCypher> is there a field intended for universal per-language text replacement (i18n string tables), or should i be making a data-foo attribute
- # [19:30] <Philip`> I think the spec expects that you will do the text replacement on the server, and then you can use whatever custom design you want since it doesn't need to be conforming HTML
- # [19:31] <Philip`> so it doesn't provide any specific support for that
- # [19:33] * Quits: erichynds (~ehynds@venkman.brightcove.com) (Remote host closed the connection)
- # [19:35] <StoneCypher> kay.
- # [19:36] <StoneCypher> would you think data-i18n a logical field name?
- # [19:39] <Philip`> Sounds a bit non-specific - something like data-i18n-stringid (or whatever the field is meant to actually be) might be less confusing, particularly if you add other i18n-related fields later
- # [19:39] <StoneCypher> good point
- # [19:39] <StoneCypher> the industry nominal would be data-i18n-key
- # [19:39] <StoneCypher> i think i'll use that, other points notwithstanding
- # [19:47] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Ping timeout: 240 seconds)
- # [19:52] * Joins: Lachy (~Lachy@cm-84.215.13.244.getinternet.no)
- # [19:54] * Joins: pyrsmk (~pyrsmk@mau49-1-82-245-46-173.fbx.proxad.net)
- # [20:02] * Joins: GlitchMr (~glitchmr@178-36-151-253.adsl.inetia.pl)
- # [20:05] * Joins: GlitchMr42 (~glitchmr@178-36-151-253.adsl.inetia.pl)
- # [20:08] * Quits: GlitchMr (~glitchmr@178-36-151-253.adsl.inetia.pl) (Ping timeout: 264 seconds)
- # [20:08] <scott_gonzalez> StoneCypher: How do you plan on using that?
- # [20:12] * Joins: erichynds (~ehynds@venkman.brightcove.com)
- # [20:18] * Quits: sicking (~chatzilla@nat/mozilla/x-totpencppqhxrevr) (Ping timeout: 244 seconds)
- # [20:19] <kennyluck> I love you and my wife!
- # [20:19] <Ms2ger> Love you too, kennyluck
- # [20:19] * Joins: weinig (~weinig@17.212.155.45)
- # [20:20] <kennyluck> lol
- # [20:31] * Quits: maikmerten (~maikmerte@port-92-201-203-215.dynamic.qsc.de) (Quit: Leaving)
- # [20:31] * Joins: othermaciej_ (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [20:32] <othermaciej_> Hixie: looks like https://www.w3.org/Bugs/Public/show_bug.cgi?id=11124 is resolved now? (from skimming the w3c copy of the spec)
- # [20:32] <othermaciej_> Hixie: time to close the bug?
- # [20:33] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Quit: Computer has gone to sleep.)
- # [20:43] * Joins: Lachy (~Lachy@cm-84.215.13.244.getinternet.no)
- # [20:45] * Quits: othermaciej_ (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej_)
- # [20:45] * Joins: KillerX (~anant@nat/mozilla/x-xmocjujqjtglgjkh)
- # [20:49] * Joins: sicking (~chatzilla@nat/mozilla/x-kduevewihizkixac)
- # [20:52] <StoneCypher> scott_gonzalez: text content overwriting by key name
- # [20:53] <StoneCypher> scott_gonzalez: roughly what moustache does, without all the functional silliness
- # [20:53] <scott_gonzalez> But you're not using templates for it?
- # [20:53] <StoneCypher> they aren't needed for what i'm up to
- # [20:54] <StoneCypher> if someone wants templates, more power to them
- # [20:54] <scott_gonzalez> You're doing dynamic translations of specific elements?
- # [20:54] <StoneCypher> it's just string table substitution.
- # [20:54] <scott_gonzalez> But it's after page load?
- # [20:54] <StoneCypher> yes
- # [20:55] * Joins: cpearce (~cpearce@ip-118-90-18-163.xdsl.xnet.co.nz)
- # [20:55] <scott_gonzalez> And you're storing the lookup key in the data attribute, right? Not a specific translation.
- # [20:55] <StoneCypher> correct
- # [20:58] * abarth is now known as abarth|lunch
- # [21:03] * JohnAlbin is now known as JohnAlbin_zzzzzz
- # [21:03] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: This computer has gone to sleep)
- # [21:06] * Quits: erichynds (~ehynds@venkman.brightcove.com)
- # [21:09] * Joins: weinig_ (~weinig@17.245.88.176)
- # [21:09] <hober> Hixie: in http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#phrasing-content shouldn't <object> be like <a>, <ins>, and others? i.e. shouldn't it have a "(if it contains only phrasing content)" parenthetical?
- # [21:12] * Quits: weinig (~weinig@17.212.155.45) (Ping timeout: 264 seconds)
- # [21:12] * weinig_ is now known as weinig
- # [21:16] * Quits: chriseppstein (~chrisepps@209.119.65.162) (Quit: chriseppstein)
- # [21:19] * Joins: chriseppstein (~chrisepps@209.119.65.162)
- # [21:19] * Joins: tantek (~tantek@50.59.76.58)
- # [21:21] * Joins: hasather_ (~hasather_@cm-84.208.108.107.getinternet.no)
- # [21:27] * Quits: tantek (~tantek@50.59.76.58) (Quit: tantek)
- # [21:32] * Quits: davidb (~davidb@66.207.208.98) (Quit: davidb)
- # [21:37] * Quits: micheil (~micheil@109.224.128.70) (Quit: micheil)
- # [21:37] * Quits: hasather_ (~hasather_@cm-84.208.108.107.getinternet.no) (Remote host closed the connection)
- # [21:38] <annevk> hober: yes
- # [21:38] * Joins: kennyluck_ (~kennyluck@114-43-122-113.dynamic.hinet.net)
- # [21:38] <annevk> hober: you should file a bug I guess
- # [21:39] * Quits: kennyluck (~kennyluck@114-43-124-244.dynamic.hinet.net) (Ping timeout: 240 seconds)
- # [21:39] * kennyluck_ is now known as kennyluck
- # [21:41] <Ms2ger> http://lists.w3.org/Archives/Public/spec-prod/2012JanMar/0023.html \o/
- # [21:41] <Hixie> hober: possibly, can't look right now
- # [21:41] <Hixie> othermaciej: if that's the julian thing, sure
- # [21:45] * Quits: cpearce (~cpearce@ip-118-90-18-163.xdsl.xnet.co.nz) (Ping timeout: 246 seconds)
- # [21:47] * AryehGregor cannot seem to get scroll() to work right in his reftest viewer thing -- something to do with calling it inside an iframe?
- # [21:51] * abarth|lunch is now known as abarth
- # [21:51] * Quits: KevinMarks (~KevinMark@nat-204-14-239-208-sfo.net.salesforce.com) (Quit: The computer fell asleep)
- # [21:52] * AryehGregor wonders how the CSS 2.1 test suite tests scrolling
- # [21:52] <AryehGregor> (manually?)
- # [21:52] <Ms2ger> It does?
- # [21:52] <AryehGregor> Or maybe it just doesn't?
- # [21:52] <annevk> prolly doesn't
- # [21:52] <annevk> I know Hixie has a few manual tests related to scrolling
- # [21:52] <Ms2ger> It tests that padding-left: 3.2ex works
- # [21:53] <AryehGregor> http://test.csswg.org/suites/css2.1/20110323/html4/background-attachment-005.htm
- # [21:53] <Ms2ger> But little more involved
- # [21:53] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Quit: Computer has gone to sleep.)
- # [21:53] <annevk> AryehGregor: invoking scroll() should work... are you invoking it on the right window? :)
- # [21:54] <AryehGregor> annevk, I'm doing scroll() in a <script>. But when I do it from an iframe viewer thing, it doesn't work in all browsers.
- # [21:54] <gsnedders> AryehGregor: Manually.
- # [21:54] <gsnedders> AryehGregor: It tests everything manually, pretty much :P
- # [21:54] <Ms2ger> Heh: http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.w3.org%2FStyleSheets%2FTR%2FW3C-ED&profile=css21&usermedium=all&warning=1&vextwarning=&lang=en#warnings
- # [21:54] <AryehGregor> annevk, look at this: http://aryeh.name/tmp/css-test/contributors/aryehgregor/incoming/ref-2d/fixed-background-1b.html
- # [21:55] <AryehGregor> And then at this: http://aryeh.name/tmp/css-test/contributors/aryehgregor/incoming/viewer.html
- # [21:55] <AryehGregor> But quickly, before I change them. :)
- # [21:55] <AryehGregor> The second just loads the first in an iframe.
- # [21:55] <AryehGregor> But in the iframe, scroll() doesn't work.
- # [21:55] <AryehGregor> In some browsers.
- # [21:55] <AryehGregor> It does in Chrome.
- # [21:55] <AryehGregor> But not IE or Firefox.
- # [21:56] <AryehGregor> Also works in Opera.
- # [21:56] <annevk> is it supposed to go up and down?
- # [21:56] <annevk> works in my Firefox
- # [21:56] <AryehGregor> It's flipping back and forth between two things.
- # [21:56] <AryehGregor> Just a sec.
- # [21:57] <annevk> also works in IE
- # [21:57] * Joins: othermaciej_ (~mjs@17.245.89.39)
- # [21:57] <AryehGregor> Try now.
- # [21:57] <AryehGregor> The iframe is scrolled in viewer.html?
- # [21:57] <AryehGregor> What versions are you using?
- # [21:58] <AryehGregor> In Firefox I see no scrollbars at all in the iframe. In IE I see scrollbars, but it's not scrolled.
- # [21:59] <annevk> hmm now it's not
- # [22:00] <annevk> weird
- # [22:00] <AryehGregor> Oh, wait.
- # [22:01] <AryehGregor> When the iframe is first loaded, it's display: none, I think.
- # [22:01] <AryehGregor> Maybe that's it?
- # [22:01] * AryehGregor tests
- # [22:01] <AryehGregor> That seems to be it.
- # [22:01] <AryehGregor> <!DOCTYPE html>
- # [22:01] <AryehGregor> <iframe style=display:none src=http://aryeh.name/tmp/css-test/contributors/aryehgregor/incoming/ref-2d/fixed-background-1b.html onload="this.style.display='block'"></iframe>
- # [22:01] <AryehGregor> Seems like a bug in Firefox/IE.
- # [22:01] <TabAtkins_> Sigh. I love how a11y people always write completely unreadable emails, using color and indentation (which doesn't carry over well when crossing formats) to indicate different speakers or quotations.
- # [22:02] <AryehGregor> In a display: none iframe, is the viewport defined?
- # [22:03] <AryehGregor> CSS 2.1 (of course) doesn't say that I see.
- # [22:03] <TabAtkins_> Iframes are out-of-scope.
- # [22:03] <AryehGregor> They're not out-of-scope of the web platform. *Something* should say.
- # [22:03] <TabAtkins_> But since no box is created in the inner document, I doubt there's a viewport.
- # [22:03] <AryehGregor> So what do all the CSSOM methods do that talk about viewports?
- # [22:04] <TabAtkins_> I dunno.
- # [22:04] <TabAtkins_> Presumably undefined things.
- # [22:04] <TabAtkins_> Likely involving 0.
- # [22:04] <TabAtkins_> The CSSOM sucks. File bugs?
- # [22:04] <AryehGregor> Sigh.
- # [22:05] <TabAtkins_> This shit hasn't been touched in *years*.
- # [22:05] <Ms2ger> We've got 3 CSSOMs now, even
- # [22:05] * AryehGregor works around it for now by not setting display: none until after load
- # [22:05] * Joins: sarro (~sarro@i5E864F69.versanet.de)
- # [22:06] <annevk> AryehGregor: never really considered display:none iframes :/
- # [22:07] <annevk> AryehGregor: it makes some sense to me that scrolling would not work there
- # [22:07] <AryehGregor> It's probably more convenient for authors if it does, and more convenient for implementers if it doesn't.
- # [22:08] <StoneCypher> should contenteditable=false inside a contenteditable=true region work?
- # [22:08] * StoneCypher can't decide if he's doing something braindead or if the browsers aren't behaving as one would like
- # [22:08] <AryehGregor> StoneCypher, yes. Browsers are known to have major bugs in this area, though.
- # [22:08] <AryehGregor> Also, exactly what it should do is somewhat questionable.
- # [22:08] <AryehGregor> My spec says one thing, browsers do all sorts of things.
- # [22:09] <annevk> AryehGregor: it would be consistent with display:none on overflow:scroll frames if it didn't
- # [22:09] <StoneCypher> is there a less hackish way to get small non-editable but removable pieces of text in a contenteditable region than to put little canvasses in and draw text on them? (amusingly, <svg><text>foo</text></svg> remains editable in firefox)
- # [22:09] <Ms2ger> contenteditable=no?
- # [22:10] <StoneCypher> does what one wants in two of the seven places.
- # [22:10] <StoneCypher> major*
- # [22:10] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [22:10] * Quits: othermaciej_ (~mjs@17.245.89.39) (Quit: othermaciej_)
- # [22:11] <AryehGregor> Ms2ger, false, not no.
- # [22:11] <Ms2ger> Sure
- # [22:11] <AryehGregor> StoneCypher, in theory, <span contenteditable=false> should do that. In practice, yeah, hacks.
- # [22:11] <StoneCypher> yeah :(
- # [22:11] <StoneCypher> well, At Least It's Possible-Ish (tm)
- # [22:12] <StoneCypher> getting text height right is going to be a blast
- # [22:12] <AryehGregor> TabAtkins_, annevk: https://www.w3.org/Bugs/Public/show_bug.cgi?id=16380
- # [22:14] <TabAtkins_> I had no idea scroll() was a function.
- # [22:14] <zewt> scrollTo has one of the worst abominations ever on android's browser: unlike the rest of the web universe, it smooth scrolls
- # [22:14] <AryehGregor> Then you learned something new today!
- # [22:15] <zewt> caused me no end of migraines
- # [22:15] <annevk> CSS should probably define the basics here though
- # [22:15] <Ms2ger> He. He. He.
- # [22:15] <annevk> because this affects getComputedStyle etc. too
- # [22:15] <TabAtkins_> Yes. Even if it's something like "no document exists yet", it needs defined behavior.
- # [22:16] * Quits: Ms2ger (~Ms2ger@91.181.250.56) (Quit: nn)
- # [22:16] <TabAtkins_> Though I suspect if we just define it as equivalent to display:none on the root, the rest would fall out.
- # [22:16] <TabAtkins_> We already know what getComputedStyle does when querying an element that didn't generate a box.
- # [22:16] <annevk> display:none on root computed to block I think
- # [22:17] <annevk> oh maybe it doesn't
- # [22:17] <TabAtkins_> dunno
- # [22:17] <annevk> data:text/html,<style>:root{display:none}</style>x
- # [22:17] <annevk> suggests it doesn't
- # [22:17] <annevk> but who knows
- # [22:18] <annevk> per http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo it ought to work
- # [22:18] <annevk> but if you don't display the root you still have a viewport...
- # [22:19] <TabAtkins_> True.
- # [22:19] <annevk> I wonder if it's defined in CSS 2.1 if you have a background on root and display:none
- # [22:19] <TabAtkins_> But it has zero height, and default width.
- # [22:19] <annevk> I guess technically that should draw the background
- # [22:19] <annevk> because it's not the background of the root, but of the initial containing block
- # [22:19] <annevk> lets test :)
- # [22:20] <TabAtkins_> Chrome doesn't draw.
- # [22:20] <TabAtkins_> But I think you're right, technically.
- # [22:20] <TabAtkins_> We lift the bg to the canvas.
- # [22:20] <annevk> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cstyle%3E%3Aroot%7Bbackground%3Aurl(image)%3Bdisplay%3Anone%7D%3C%2Fstyle%3ETEST
- # [22:20] <annevk> Opera draws
- # [22:20] <annevk> victory
- # [22:21] <annevk> IE has a weird rendering issue, but seems to get the right idea
- # [22:22] <annevk> that is by far the most useless piece of CSS trickery I've done
- # [22:22] <annevk> apart from maybe playing around with form controls as root elements
- # [22:22] <annevk> but it does show that you actually need to define what happens to the initial containing block as well :)
- # [22:26] * jernoble is now known as jernoble|afk
- # [22:26] * jernoble|afk is now known as jernoble
- # [22:32] * GlitchMr42 is now known as GlitchMr
- # [22:32] * Quits: GlitchMr (~glitchmr@178-36-151-253.adsl.inetia.pl) (Read error: Connection reset by peer)
- # [22:36] * Joins: jwalden (~waldo@2620:101:8003:200:224:d7ff:fef0:8d90)
- # [22:37] * Joins: erichynds (~ehynds@pool-71-184-234-218.bstnma.fios.verizon.net)
- # [22:40] * Joins: cpearce (~cpearce@60.234.54.74)
- # [22:41] * Joins: tantek (~tantek@12.14.132.2)
- # [22:41] * jernoble is now known as jernoble|afk
- # [22:42] * Quits: ap (~ap@2620:149:4:1b01:3c62:d623:2ec8:62b0) (Quit: ap)
- # [22:44] * Quits: oal (u4126@gateway/web/irccloud.com/x-gqamismpllcbxjio) (Read error: Connection reset by peer)
- # [22:44] * Quits: Scorchin (u1242@gateway/web/irccloud.com/x-zacscbctwabkfnjb) (Remote host closed the connection)
- # [22:44] * Quits: Raynos (u3611@gateway/web/irccloud.com/x-uftfudtnbwbwxfmf) (Remote host closed the connection)
- # [22:44] * Quits: ojan (u5519@gateway/web/irccloud.com/x-nsqvgbrxqaiavtvw) (Remote host closed the connection)
- # [22:44] * Quits: remysharp (u4345@gateway/web/irccloud.com/x-emdkvyzlwgyjhyqn) (Remote host closed the connection)
- # [22:44] * Quits: eae (u4278@gateway/web/irccloud.com/x-xqwiomfwwytolqnj) (Remote host closed the connection)
- # [22:44] * Quits: bobylito (u3929@gateway/web/irccloud.com/x-gpsijkhknmdhvdfb) (Read error: Connection reset by peer)
- # [22:44] * Quits: BruNeX (u4730@gateway/web/irccloud.com/x-lewdofoykssbbwga) (Remote host closed the connection)
- # [22:44] * Quits: jeremyselier (u2513@gateway/web/irccloud.com/x-likchrrwulgozdoc) (Remote host closed the connection)
- # [22:44] * Quits: abarth (u5294@gateway/web/irccloud.com/x-iopcnnrygvltgyls) (Remote host closed the connection)
- # [22:44] * Quits: krijn (u2319@gateway/web/irccloud.com/x-zyawbfvakzhrdfeq) (Remote host closed the connection)
- # [22:44] * Quits: hdv (u2376@gateway/web/irccloud.com/x-wbwgrftspuvjdidu) (Read error: Connection reset by peer)
- # [22:44] * Quits: boblet (u1921@gateway/web/irccloud.com/x-ltbgvadzxccgfcwm) (Remote host closed the connection)
- # [22:45] * Quits: aklein (u4454@gateway/web/irccloud.com/x-wqeddcwyqjszvofn) (Read error: Connection reset by peer)
- # [22:45] * Quits: benschwarz (u2121@gateway/web/irccloud.com/x-vxjmbtyyoiwjafuv) (Remote host closed the connection)
- # [22:45] * Quits: dglazkov (u4270@gateway/web/irccloud.com/x-trtjuotbyolarlyi) (Remote host closed the connection)
- # [22:45] * Quits: matjas (u2247@gateway/web/irccloud.com/x-cetvikmkybpelvnl) (Remote host closed the connection)
- # [22:45] * Quits: matijsb (u2278@gateway/web/irccloud.com/x-kktcqoxfzingjmny) (Remote host closed the connection)
- # [22:45] * Quits: niftylettuce (u2733@gateway/web/irccloud.com/x-ngvlgqqerhtxvcan) (Write error: Connection reset by peer)
- # [22:45] * Quits: timeless (u4015@firefox/developer/timeless) (Remote host closed the connection)
- # [22:45] * Quits: Phae (u455@gateway/web/irccloud.com/x-hbyzjjuoxmstpbiv) (Remote host closed the connection)
- # [22:45] * Quits: akamike (u5089@gateway/web/irccloud.com/x-jqzizsdbuzcdfrek) (Remote host closed the connection)
- # [22:45] * Quits: vidu (u5404@gateway/web/irccloud.com/x-xervhgjhmhjhsuav) (Remote host closed the connection)
- # [22:45] * Quits: ryanseddon (u1832@gateway/web/irccloud.com/x-gztnaovcajlmgamh) (Remote host closed the connection)
- # [22:45] * Joins: abarth (~abarth@173-164-128-209-SFBA.hfc.comcastbusiness.net)
- # [22:46] * Quits: scheib (u4467@gateway/web/irccloud.com/x-vdpcoooaftuqhcsl) (Remote host closed the connection)
- # [22:46] * Quits: NimeshNeema (u2689@gateway/web/irccloud.com/x-fonzwgoptgunlkdd) (Remote host closed the connection)
- # [22:46] * Joins: akamike (u5089@gateway/web/irccloud.com/x-tfiptqoretgxvmhs)
- # [22:47] * Joins: timeless (u4015@firefox/developer/timeless)
- # [22:49] * Joins: matijsb (u2278@gateway/web/irccloud.com/x-ktgeensvidfzrdzi)
- # [22:50] * Quits: smaug____ (~chatzilla@212-226-67-233-nat.elisa-mobile.fi) (Ping timeout: 244 seconds)
- # [22:54] * Quits: WeirdAl (~chatzilla@g2spf.ask.info) (Quit: ChatZilla 0.9.88.1 [Firefox 11.0/20120312181643])
- # [22:54] * Joins: niftylettuce_ (u2733@gateway/web/irccloud.com/x-jgeucwawljnherjt)
- # [22:55] * Joins: boblet (u1921@gateway/web/irccloud.com/x-uqzvwzrdqxgwtadl)
- # [22:56] * Joins: matjas (u2247@gateway/web/irccloud.com/x-muxjudovwikamfyn)
- # [22:56] * Joins: AlexNRoss (AleossIRC@unaffiliated/aleoss)
- # [22:56] <othermaciej> Hixie: it is
- # [22:58] * Joins: bobylito (u3929@gateway/web/irccloud.com/x-qjshiklzcuxpvqur)
- # [22:58] * Quits: weinig (~weinig@17.245.88.176) (Remote host closed the connection)
- # [22:58] * Joins: weinig (~weinig@17.212.155.45)
- # [22:59] * Joins: Phae (u455@gateway/web/irccloud.com/x-ieicwjmxnunnxheb)
- # [22:59] * Quits: tantek (~tantek@12.14.132.2) (Quit: tantek)
- # [22:59] * Joins: scheib (u4467@gateway/web/irccloud.com/x-geqlkfzkpjsvwobs)
- # [23:00] * Joins: NimeshNeema (u2689@gateway/web/irccloud.com/x-tbtmbioyqpwvgajd)
- # [23:00] * Joins: krijn (u2319@gateway/web/irccloud.com/x-miozdykswlljvsfo)
- # [23:01] * Joins: davidb (~davidb@65.93.94.10)
- # [23:02] * Quits: MacTed (~Thud@63.119.36.36)
- # [23:02] <annevk> othermaciej: when was that changed then?
- # [23:02] * Joins: _bga (~bga@ppp78-37-213-228.pppoe.avangarddsl.ru)
- # [23:02] <annevk> othermaciej: ooh, is Mike applying it himself?
- # [23:03] <othermaciej> annevk: Mike made a script which Ian put in his publication pipeline
- # [23:03] * Joins: dglazkov (u4270@gateway/web/irccloud.com/x-osncsujnsztuntuo)
- # [23:03] <Hixie> in other news, i no longer vouch for the accuracy of anything in the w3c html spec
- # [23:04] <Hixie> as i strongly suspect that this has introduced all kinds of subtle bugs, e.g. in the parser
- # [23:04] <jamesr_> you did before?
- # [23:04] <Hixie> before i knew it was the same text as the whatwg copy and so yes, i knew it was accurate modulo the differences documented in the introduction of the whatwg spec
- # [23:04] * Quits: bga_ (~bga@ppp78-37-242-190.pppoe.avangarddsl.ru) (Ping timeout: 244 seconds)
- # [23:05] * Quits: timmywil (~timmywil@host-68-169-175-226.WISOLT2.epbfi.com) (Quit: Computer has gone to sleep.)
- # [23:05] <annevk> the parser looks rather inconsistent
- # [23:05] <annevk> http://dev.w3.org/html5/spec/tokenization.html#script-data-escaped-dash-state
- # [23:05] <annevk> "-" (U+002D)
- # [23:05] <annevk> U+003C LESS-THAN SIGN (<)
- # [23:05] <annevk> U+0000 NULL
- # [23:05] <annevk> good times
- # [23:06] <Hixie> but don't worry, i'm sure the chairs know what they're doing
- # [23:06] <annevk> oh and the text does still say U+002D HYPHEN-MINUS
- # [23:06] <annevk> "tab" (U+0009)
- # [23:06] <annevk> "LF" (U+000A)
- # [23:06] <annevk> "FF" (U+000C)
- # [23:06] <annevk> lol
- # [23:06] * Joins: hdv (u2376@gateway/web/irccloud.com/x-upzzxvyhjaanobho)
- # [23:07] <zewt> if "the chairs" are so bored that they're fucking with stuff like that, they're pretty much declaring their uselessness
- # [23:07] <annevk> those are not really subtle bugs
- # [23:07] <annevk> those are just bugs
- # [23:08] <hober> Any comments / suggestions on http://www.w3.org/html/wg/wiki/User:Eoconnor/ISSUE-158 before I submit it? (It's due by the end of the day.)
- # [23:08] * heycam|away is now known as heycam
- # [23:09] * Joins: KillerX_ (~anant@nat/mozilla/x-ywqtgkwxfcmqlopq)
- # [23:09] <zewt> i havn't heard that phrase since highschool
- # [23:09] <Hixie> hober: details section looks fine to me
- # [23:10] * Quits: matijsb (u2278@gateway/web/irccloud.com/x-ktgeensvidfzrdzi) (Remote host closed the connection)
- # [23:10] * Quits: krijn (u2319@gateway/web/irccloud.com/x-miozdykswlljvsfo) (Remote host closed the connection)
- # [23:10] * Quits: matjas (u2247@gateway/web/irccloud.com/x-muxjudovwikamfyn) (Remote host closed the connection)
- # [23:10] * Quits: niftylettuce_ (u2733@gateway/web/irccloud.com/x-jgeucwawljnherjt) (Remote host closed the connection)
- # [23:10] * Quits: dglazkov (u4270@gateway/web/irccloud.com/x-osncsujnsztuntuo) (Remote host closed the connection)
- # [23:10] * Quits: NimeshNeema (u2689@gateway/web/irccloud.com/x-tbtmbioyqpwvgajd) (Remote host closed the connection)
- # [23:10] * Quits: scheib (u4467@gateway/web/irccloud.com/x-geqlkfzkpjsvwobs) (Remote host closed the connection)
- # [23:10] * Quits: hdv (u2376@gateway/web/irccloud.com/x-upzzxvyhjaanobho) (Remote host closed the connection)
- # [23:10] * Quits: bobylito (u3929@gateway/web/irccloud.com/x-qjshiklzcuxpvqur) (Read error: Connection reset by peer)
- # [23:10] * Quits: akamike (u5089@gateway/web/irccloud.com/x-tfiptqoretgxvmhs) (Remote host closed the connection)
- # [23:10] * Quits: Phae (u455@gateway/web/irccloud.com/x-ieicwjmxnunnxheb) (Remote host closed the connection)
- # [23:10] * Quits: timeless (u4015@firefox/developer/timeless) (Remote host closed the connection)
- # [23:10] * Quits: boblet (u1921@gateway/web/irccloud.com/x-uqzvwzrdqxgwtadl) (Remote host closed the connection)
- # [23:10] <annevk> zing
- # [23:10] <zewt> splittin' like it's 1998
- # [23:10] <annevk> hober: you have my sympathy for trying to make this thing work
- # [23:11] <annevk> hober: also, a few places spell "&object>"
- # [23:11] * Quits: KillerX (~anant@nat/mozilla/x-xmocjujqjtglgjkh) (Ping timeout: 244 seconds)
- # [23:11] * KillerX_ is now known as KillerX
- # [23:12] <hober> annevk: ooh, thanks. /me fixes
- # [23:13] <hober> Hixie: heh, i thought you'd like that
- # [23:15] * Quits: dcheng (~dcheng@74.125.59.65) (Quit: leaving)
- # [23:15] * Joins: Scorchin (u1242@gateway/web/irccloud.com/x-hcloimzvkcsbdstt)
- # [23:17] * Quits: KillerX (~anant@nat/mozilla/x-ywqtgkwxfcmqlopq) (Ping timeout: 265 seconds)
- # [23:17] * Joins: weinig_ (~weinig@17.245.88.176)
- # [23:18] * Joins: ryanseddon (u1832@gateway/web/irccloud.com/x-ollpeqzcokwxlxvh)
- # [23:18] * Joins: Phae (u455@gateway/web/irccloud.com/x-llhpsemqwpbfgdrv)
- # [23:19] * Joins: benschwarz (u2121@gateway/web/irccloud.com/x-yibsajvyhvocufny)
- # [23:19] * Joins: KillerX (~anant@nat/mozilla/x-jhiegyxcebwwmlnz)
- # [23:20] * Joins: krijn (u2319@gateway/web/irccloud.com/x-lpqtqnvwousaffca)
- # [23:20] * Joins: hdv (u2376@gateway/web/irccloud.com/x-ybuqormflfhsmlvb)
- # [23:21] * Quits: weinig (~weinig@17.212.155.45) (Ping timeout: 248 seconds)
- # [23:21] * weinig_ is now known as weinig
- # [23:21] * Joins: NimeshNeema (u2689@gateway/web/irccloud.com/x-szrcfpqypjdtchhi)
- # [23:25] * Quits: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net) (Remote host closed the connection)
- # [23:28] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [23:28] * Joins: scheib (u4467@gateway/web/irccloud.com/x-xynbauslkeaamxpq)
- # [23:28] * Joins: dcheng (~dcheng@74.125.59.73)
- # [23:29] * Joins: dglazkov (u4270@gateway/web/irccloud.com/x-mjcynivfyutpissz)
- # [23:33] * Joins: ojan (u5519@gateway/web/irccloud.com/x-yqrstbpjxjqasdfs)
- # [23:33] * Joins: jeremyselier (u2513@gateway/web/irccloud.com/x-zomnsuzfrmkvikym)
- # [23:36] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [23:36] * Quits: JohnAlbin_zzzzzz (~JohnAlbin@114-42-54-208.dynamic.hinet.net) (Read error: Connection timed out)
- # [23:37] * Quits: davidb (~davidb@65.93.94.10) (Quit: davidb)
- # [23:37] * Joins: oal (u4126@gateway/web/irccloud.com/x-fofsexyabbcbrgrp)
- # [23:37] * Joins: othermaciej_ (~mjs@17.245.89.39)
- # [23:38] * Joins: JohnAlbin (~JohnAlbin@114-42-54-208.dynamic.hinet.net)
- # [23:38] * Joins: vidu (u5404@gateway/web/irccloud.com/x-tzznqftfhlpwfttu)
- # [23:38] * Joins: timmywil (~timmywil@host-68-169-154-67.WISOLT2.epbfi.com)
- # [23:39] * Joins: bobylito (u3929@gateway/web/irccloud.com/x-hejnmsseoujamnfk)
- # [23:39] * Quits: othermaciej (~mjs@17.212.155.198) (Quit: othermaciej)
- # [23:39] * othermaciej_ is now known as othermaciej
- # [23:42] * Joins: BruNeX (u4730@gateway/web/irccloud.com/x-vsqvdagvsfxlkyef)
- # [23:43] * Joins: niftylettuce_ (u2733@gateway/web/irccloud.com/x-klmrgnatjtpcwelr)
- # [23:46] * Joins: Raynos (u3611@gateway/web/irccloud.com/x-kswawrrtjwoehfso)
- # [23:48] * Joins: remysharp (u4345@gateway/web/irccloud.com/x-sudsjofnbztgyvcp)
- # [23:48] * Joins: schnoomac (~schnoomac@melbourne.99cluster.com)
- # [23:52] * Joins: abarth_ (u5294@gateway/web/irccloud.com/x-rzirntecllhbnwnt)
- # [23:54] * Quits: necolas (~necolas@host-92-12-160-162.as43234.net) (Remote host closed the connection)
- # [23:55] * Joins: benjoffe_ (~benjoffe@119-252-71-224.static.highway1.net.au)
- # Session Close: Thu Mar 15 00:00:00 2012
The end :)