Options:
- # Session Start: Tue May 10 00:00:00 2011
- # Session Ident: #css
- # [00:00] <TabAtkins> Do you think I send them something explicitly?
- # [00:00] <TabAtkins> Probably.
- # [00:00] <fantasai> dunno
- # [00:00] <TabAtkins> I'll go ahead and do so.
- # [00:00] <fantasai> depends on whether they follow the WAI-PF workflow or not
- # [00:01] <fantasai> in which case we'd need glazou to send a comment or something -__-
- # [00:01] <TabAtkins> They need to get off their ass and finally decide that their stupid "maybe fragments should just highlight part of the full image!" idea should be dropped.
- # [00:01] <TabAtkins> On account of it being stupid.
- # [00:02] <fantasai> note, it's consistent with HTML
- # [00:02] <fantasai> where we show the whole document and then :target the right piece
- # [00:02] <TabAtkins> Not quite. If you target an SVG fragment, for example, you're referring to just that piece.
- # [00:02] <TabAtkins> There's precedent on both sides.
- # [00:03] <fantasai> That's actually something I'm not totally clear on -- what does it mean to target a piece of an SVG
- # [00:03] <TabAtkins> But chopping an image is actually useful, whereas highlighting is silly.
- # [00:03] <TabAtkins> So, it depends on what level you're talking about.
- # [00:03] <fantasai> in the URL bar
- # [00:03] <fantasai> or <img>
- # [00:03] <fantasai> or <object>
- # [00:03] <TabAtkins> Within SVG, targetting a fragment in, say, a fill property refers to the thing that you're targetting, only.
- # [00:04] <fantasai> also, should we define background: image(svg#gradient-element); to do something useful?
- # [00:05] <TabAtkins> Within an embedding environment, I don't think it's well-defined. But there's been discussion on it, and it should just grab the subset of the SVG, I believe, as if you defined an xywh fragment with the appropriate dimensions.
- # [00:05] <TabAtkins> And if you refer to a paint server like an SVG gradient element, it should act as a paint server.
- # [00:05] <fantasai> That would be cool for <rect>s and <path>s and <group>s and <svg>s and things
- # [00:05] <TabAtkins> This should be defined by SVG.
- # [00:05] <fantasai> yes
- # [00:05] <fantasai> yes
- # [00:06] <TabAtkins> Which, now that I'm part of SVG, I can help do.
- # [00:06] <fantasai> excellent
- # [00:07] <TabAtkins> The only problem with the "act like a paint server" thing is that CSS and SVG have kinda weird differences in precisely how they handle coordinates referred to in paint server definitions.
- # [00:07] <TabAtkins> brb
- # [00:13] <shepazu> TabAtkins, fantasai, in SVG, only 'graphics elements' can be meaningfully targeted for rendering changes
- # [00:13] <fantasai> shepazu: If I load an SVG in my browser and target a <rect>, what happens
- # [00:13] <fantasai> shepazu: Do I see the whole SVG image, or just the stuff inside the <rect>?
- # [00:14] * fantasai has some recollection of the former being the case
- # [00:16] <TabAtkins> fantasai: Right now, pretty sure you get the whole thing, because the fragment has no effect.
- # [00:17] <fantasai> TabAtkins: Right, and then you can style that thing with :target if you wanted to
- # [00:18] <fantasai> I'm wondering if we can incorporate some error-handling here
- # [00:18] <fantasai> Maybe if you use image() and you have a fragment identifier
- # [00:18] <fantasai> if it can't be resolved into an image, then the whole image() is treated as nonexistent
- # [00:19] <fantasai> So
- # [00:19] <fantasai> image(foo.png#bar) would return nothing
- # [00:19] <fantasai> image(foo.png#xywh=...) would return the fragment per MF
- # [00:19] <TabAtkins> But foo.png#bar does resolve to an image, doesn't it? It's just the whole image.
- # [00:20] <fantasai> image(foo.svg#xywh=...) would return the SVG fragment per MF
- # [00:20] <shepazu> sorry, had a phone call
- # [00:20] <fantasai> image(foo.svg#gradient) would return nothing, currently, but would return a gradient paint server once we define that
- # [00:20] <fantasai> image(foo.svg#rect) similarly would return nothing, currently, but would return the clipped out <rect> once we define how that works
- # [00:21] <shepazu> fantasai: per the spec, the UA should zoom in on the rectangle
- # [00:21] <shepazu> but that doesn't happen in most browsers
- # [00:21] <fantasai> shepazu: interesting
- # [00:21] <TabAtkins> So what you mean is that we define a subset of fragments that do something useful and allow them to work as normal (defined by the respective other specs), and explicitly say that all other fragments cause the image to be ignored.
- # [00:21] <shepazu> because it wasn't clearly stated in SVG 1.1
- # [00:21] <fantasai> TabAtkins: Yeah
- # [00:21] <fantasai> shepazu: got it
- # [00:21] <shepazu> TabAtkins: yeah
- # [00:21] <TabAtkins> That's possible, I guess.
- # [00:22] <fantasai> shepazu: How about we put some clip-out SVG examples in the spec :)
- # [00:22] <fantasai> the css3-images spec, I mean
- # [00:22] <shepazu> TabAtkins: of course, it would be the same if the fragment isn't found
- # [00:22] <shepazu> fantasai: sure, I'd be happy to help
- # [00:22] <TabAtkins> shepazu: The "zoom" behavior actually works for this, too, given that images are, by default, clipped to their concrete object size.
- # [00:23] * fantasai was thinking the same thing
- # [00:23] <TabAtkins> Even if the rest of the SVG is "rendered", it would then be clipped away.
- # [00:23] <fantasai> TabAtkins: Although, non-rectangular shapes /could/ be interpreted differently
- # [00:23] <shepazu> hmmm, which spec is this?
- # [00:23] <fantasai> TabAtkins: zooming would get you the bounding box
- # [00:23] <fantasai> http://dev.w3.org/csswg/css3-imgaes/
- # [00:23] <TabAtkins> shepazu: Image Values.
- # [00:23] <fantasai> http://dev.w3.org/csswg/css3-images/
- # [00:24] <TabAtkins> fantasai: Yeah, the zooming should clearly be to some notion of bounding box.
- # [00:24] <shepazu> TabAtkins: well, per SVG 1.1, it wouldn't count the stroke-width in the bbox calc
- # [00:24] <shepazu> just the "geometry"
- # [00:24] <TabAtkins> Yeah, that's a bit of a problem.
- # [00:24] <TabAtkins> And things like filter effects wouldn't work either.
- # [00:24] <shepazu> it's different
- # [00:24] <fantasai> why wouldn't filter effects work?
- # [00:24] <shepazu> yeah, and what about transforms?
- # [00:24] <shepazu> some filter effects color outside the lines
- # [00:24] <fantasai> wouldn't you zoom to the transformed result?
- # [00:24] <fantasai> the UI makes no sense otherwise :)
- # [00:25] <shepazu> sure, but that's not the bbox
- # [00:25] <fantasai> so you're saying
- # [00:25] <shepazu> that's the "rendering area" or something SVG doesn't define
- # [00:25] <fantasai> that if I target the <rect> element
- # [00:25] <fantasai> it zooms in to someplace where the <rect> might not actually be?
- # [00:25] <fantasai> that's silly
- # [00:25] <TabAtkins> So, we need to define this in a more useful manner in SVG2 I guess?
- # [00:26] <shepazu> no.... I don't think we were that silly
- # [00:26] <shepazu> lemme look
- # [00:28] <shepazu> http://www.w3.org/TR/SVGTiny12/linking.html#SVGFragmentIdentifiers
- # [00:28] <shepazu> that's the improved (but probably not very good) SVG Tiny 1.2 definition
- # [00:28] <shepazu> in SVG 2, we will make this better
- # [00:29] <shepazu> wow... did we completely punt on the transformation?
- # [00:29] <shepazu> wtf?
- # [00:30] <TabAtkins> Do transformations not talk about the decorated bounding box?
- # [00:30] * Joins: nimbupani (Adium@24.18.47.160)
- # [00:30] <shepazu> looking
- # [00:30] * Parts: nimbupani (Adium@24.18.47.160)
- # [00:31] <shepazu> yeah, I think it accounts for transforms
- # [00:31] <shepazu> gah
- # [00:31] <shepazu> I don't see it
- # [00:31] <fantasai> errata? :)
- # [00:32] <shepazu> I really really want to rewrite this whole thing from scratch
- # [00:32] <TabAtkins> DO IT
- # [00:32] <TabAtkins> Also: define it in XML5.
- # [00:32] <fantasai> So, back to css3-images
- # [00:32] <fantasai> :)
- # [00:33] <fantasai> one of the things we talked about with gradients was using SVG gradients in CSS
- # [00:33] <fantasai> can we do that yet?
- # [00:33] <TabAtkins> Not yet, no.
- # [00:33] <fantasai> do we want to do that here?
- # [00:33] <fantasai> or does that need work?
- # [00:33] <TabAtkins> Ideally, it should be doable by saying url(foo.svg#grad), and doing some magic twiddling to make the coordinates do something useful.
- # [00:34] <fantasai> or image(foo.svg#grad)
- # [00:34] <TabAtkins> Sure.
- # [00:34] <fantasai> the latter, if we define it to work in css3-images before you drop prefixes
- # [00:34] <fantasai> means authors can use our fallback parsing
- # [00:34] <TabAtkins> Are you intending that image() have different behavior than url() sometimes?
- # [00:34] <fantasai> I don't know if it should have different behavior sometimes.
- # [00:34] <fantasai> bz thinks it should
- # [00:35] <fantasai> I'm kinda undecided
- # [00:35] <TabAtkins> Interesting. Why?
- # [00:35] <fantasai> He's concerned about backwards-compat for some reason.
- # [00:35] <TabAtkins> I though image() was just url(), but better because it's specialized toward images.
- # [00:35] <fantasai> That's how I had it originally
- # [00:35] <fantasai> But there was /one/ thing that was special
- # [00:36] <fantasai> I made image fragment support mandatory if you want to implement image()
- # [00:36] <TabAtkins> Oh, huh. That seems... weird. Surely it's orthogonal?
- # [00:36] <fantasai> Because otherwise you can't use parsing fallback
- # [00:36] <fantasai> tying fragment support to image() means authors can rely on the fragment working when they use image()
- # [00:37] <fantasai> if they use url(), then old browsers will load the entire image
- # [00:37] <fantasai> ignoring the frag id
- # [00:37] <fantasai> this way old browsers will not load anything, because it failed ot parse
- # [00:37] <fantasai> s/ot/to/
- # [00:37] <TabAtkins> I don't know if I like them being tied together like that purely so you're assured that an orthogonal feature will always fallback.
- # [00:38] <fantasai> do you have a better suggestion for phasing things in?
- # [00:38] <TabAtkins> Just let them evolve on their own, and hope that the two features arrive at roughly the same time?
- # [00:38] <TabAtkins> Alternately, define a frag() function or something, and handle media fragments on our own (deferring to MF for the actual processing).
- # [00:39] <fantasai> TabAtkins: I'd rather have the hack be reliable than accidental.
- # [00:39] <shepazu> TabAtkins: I don't know if we are going to define SVG in terms of XML... if there were an XML5 to reference, maybe we would... we might simply define parsing and fallback behavior, like in HTML5
- # [00:39] <TabAtkins> frag(image, rect 0 0 100 100), frag(video, frame 200), etc.
- # [00:39] * Quits: dsinger (dsinger@68.126.197.146) (Quit: dsinger)
- # [00:40] <TabAtkins> shepazu: That works too. The point is just to have a simpler reference that isn't as silly as XML.
- # [00:40] <fantasai> TabAtkins: we /could/ do that. I'm not sure it's a good idea given MF is defining syntax for it already.
- # [00:40] <TabAtkins> Yeah, I dunno if I like it either. But it does make it explicitly a prefixable feature.
- # [00:40] <fantasai> TabAtkins: If authors can learn one syntax and use it everywhere, isn't that better?
- # [00:40] <shepazu> (or as silly as HTML5)
- # [00:41] <TabAtkins> shepazu: That silliness is, unfortunately, required for legacy. But yes, god yes.
- # [00:41] <shepazu> TabAtkins: only for HTML legacy... not for SVG legacy
- # [00:41] <TabAtkins> Yes, of course.
- # [00:41] <shepazu> ours can be simpler
- # [00:41] <TabAtkins> Anne has an XML5 draft on his blog.
- # [00:41] <shepazu> whatever :)
- # [00:42] <TabAtkins> http://code.google.com/p/xml5/
- # [00:42] <shepazu> telegraph me when he finishes it
- # [00:43] <shepazu> we may simply define a parsing model in a separate chapter, which could actually be broken out
- # [00:43] <TabAtkins> Yeah, that's cool too.
- # [00:44] <shepazu> that google code page is less than inspiring
- # [00:46] <fantasai> TabAtkins: the image-resolution issue should be closeable just by doing some testing in Prince/Antenna House
- # [00:46] <TabAtkins> It defines most of the processing model, just with a few obvious bits left out, and a few difficult bits (finding the encoding, how to handle entities) also currently undefined.
- # [00:46] <fantasai> TabAtkins: We might consider reverting from-image to 'auto' though, according to the docs that's what's implemented...
- # [00:47] <TabAtkins> fantasai: So, like, "auto 2dppx"?
- # [00:48] <fantasai> I think so, not sure
- # [00:48] <fantasai> I think they're not consistent in that respect, actually :/
- # [00:48] <TabAtkins> Yay.
- # [00:49] <TabAtkins> That means I can define what I want!
- # [00:49] <fantasai> um
- # [00:49] <fantasai> if I agree, sure ^_^
- # [00:49] <fantasai> the main issue is whether image-rendering applies to bg images by default
- # [00:49] <fantasai> or list-style-image
- # [00:49] <TabAtkins> Yeah.
- # [00:49] <TabAtkins> I had it defined to apply to everything previously.
- # [00:50] <fantasai> I think you had it marked as an issue
- # [00:50] <TabAtkins> Or, wait, did you mean image-rendering or image-resolution?
- # [00:50] <fantasai> image-resolution
- # [00:50] <fantasai> sorry
- # [00:51] <fantasai> http://princexml.com/doc/7.0/properties/prince-image-resolution/
- # [00:51] <TabAtkins> image-resolution is virtually untouched by me. It's currently defined to only apply to content images, with a note that it maybe should apply to all.
- # [00:51] <fantasai> 'normal' means 1dppx
- # [00:52] <fantasai> http://www.antennahouse.com/CSSInfo/css_reference.html#image-resolution
- # [00:52] <fantasai> Ah, GCPM
- # [00:52] <fantasai> it was an issue in gcpm, that's hat
- # [00:53] <TabAtkins> ...hat?
- # [00:53] <fantasai> s/hat/what/
- # [00:53] * fantasai is so not doing well on the typing thing today
- # [00:54] <TabAtkins> I don't understand why they're both list-valued. Do they apply to backgrounds or something?
- # [00:54] <TabAtkins> (In Prince and AH.)
- # [00:54] <fantasai> they're listed because that was an older syntax
- # [00:54] <TabAtkins> These are horrible docs.
- # [01:02] <TabAtkins> fantasai: Who do I ping to ask about AH stuff?
- # [01:10] <fantasai> Murakami-san
- # [01:15] * Joins: TabAtkins_ (tabatkins@216.239.45.4)
- # [01:20] * Joins: homata_ (homata_@58.158.182.50)
- # [02:24] * Quits: sylvaing (sylvaing@98.232.9.174) (Ping timeout)
- # [02:44] * Quits: TabAtkins_ (tabatkins@216.239.45.4) (Ping timeout)
- # [02:47] * Joins: TabAtkins_ (tabatkins@216.239.45.19)
- # [02:59] * Joins: sylvaing (sylvaing@98.232.9.174)
- # [03:02] * Joins: myakura (d2e8220d@109.169.29.95)
- # [03:12] <myakura> fantasai: http://dev.w3.org/csswg/css-2010/ doesn't point to the roadmap draft but css-2007 does. is that intentional?
- # [03:12] <fantasai> myakura: yes
- # [03:13] <myakura> okay. thanks!
- # [03:13] * Quits: TabAtkins_ (tabatkins@216.239.45.19) (Ping timeout)
- # [03:13] <fantasai> myakura: I only linked to the roadmap because that's kindof required/good practice when you're replacing a /TR/shortname
- # [03:13] <fantasai> with another set of docs
- # [03:18] <myakura> makes sense.
- # [03:27] * Joins: homata (homata@58.158.182.50)
- # [03:36] <myakura> fantasai: you may need to fix the pubdate. http://dev.w3.org/cvsweb/~checkout~/csswg/css-2010/Overview.html?rev=1.22 says it's a 2010-05-10 draft.
- # [03:42] * Quits: myakura (d2e8220d@109.169.29.95) (Quit: http://www.mibbit.com ajax IRC Client)
- # [03:53] * Quits: homata (homata@58.158.182.50) (Ping timeout)
- # [03:55] * Joins: dbaron (dbaron@74.103.171.70)
- # [04:04] * Joins: homata (homata@113.34.70.146)
- # [04:08] * Quits: homata (homata@113.34.70.146) (Ping timeout)
- # [04:53] * Quits: sylvaing (sylvaing@98.232.9.174) (Ping timeout)
- # [05:21] * Joins: homata (homata@58.158.182.50)
- # [05:31] * Quits: dbaron (dbaron@74.103.171.70) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [06:19] * Joins: homata__ (homata@58.158.182.50)
- # [06:21] * Quits: homata (homata@58.158.182.50) (Ping timeout)
- # [06:51] * Quits: homata_ (homata_@58.158.182.50) (Client exited)
- # [08:29] * Quits: homata__ (homata@58.158.182.50) (Quit: Leaving...)
- # [10:56] * Quits: jdaggett (jdaggett@202.221.217.73) (Quit: jdaggett)
- # [10:56] * jdaggett_ is now known as jdaggett
- # [11:46] * Quits: plinss (plinss@68.107.116.23) (Ping timeout)
- # [12:54] * Quits: jdaggett (jdaggett@118.243.227.145) (Quit: jdaggett)
- # [15:34] * Joins: dbaron (dbaron@74.103.171.70)
- # [15:57] * Joins: sylvaing (sylvaing@173.147.183.37)
- # [16:14] * Quits: sylvaing (sylvaing@173.147.183.37) (Ping timeout)
- # [16:20] * Joins: sylvaing (sylvaing@173.147.183.37)
- # [16:23] * Quits: sylvaing (sylvaing@173.147.183.37) (Ping timeout)
- # [16:36] * Joins: sylvaing (sylvaing@131.107.0.80)
- # [17:36] * Joins: Martijnc (Martijnc@84.192.44.100)
- # [17:43] * Quits: Martijnc (Martijnc@84.192.44.100) (Quit: Martijnc)
- # [17:47] * Joins: Martijnc (Martijnc@84.192.44.100)
- # [17:56] * Quits: sylvaing (sylvaing@131.107.0.80) (Connection reset by peer)
- # [18:05] * Joins: Ms2ger (Ms2ger@91.181.115.237)
- # [18:47] * Joins: sylvaing (sylvaing@131.107.0.101)
- # [19:09] * Quits: dbaron (dbaron@74.103.171.70) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [19:30] * Quits: karl (karlcow@128.30.54.58) (Quit: Freedom - to walk free and own no superior.)
- # [19:50] * Quits: sylvaing (sylvaing@131.107.0.101) (Connection reset by peer)
- # [20:19] <TabAtkins> fantasai: I've heard before that :link only exists for legacy reasons, to make it easier to distinguish the link case from the named anchor case. Do you remember if there was a good reason why something like a[href] wasn't sufficient for that?
- # [20:20] <TabAtkins> Were attribute selectors just not invented yet at that time or something?
- # [20:20] <Ms2ger> That sounds likely
- # [20:21] <Ms2ger> :link is CSS1
- # [20:21] <TabAtkins> Actually, yeah, looking at CSS1, I don't see attribute selectors.
- # [20:38] * Joins: plinss (plinss@192.6.114.30)
- # [21:06] * Quits: Ms2ger (Ms2ger@91.181.115.237) (Connection reset by peer)
- # [21:09] * Joins: Ms2ger (Ms2ger@91.181.115.237)
- # [21:40] * Joins: karl (karlcow@128.30.54.58)
- # [21:53] * Quits: Martijnc (Martijnc@84.192.44.100) (Quit: Martijnc)
- # [22:48] * Quits: Ms2ger (Ms2ger@91.181.115.237) (Quit: nn)
- # [23:10] * Joins: sylvaing (sylvaing@131.107.0.80)
- # [23:28] * Joins: arronei (arronei@131.107.0.85)
- # [23:29] * Quits: arronei_ (arronei@131.107.0.76) (Ping timeout)
- # [23:30] * Quits: sylvaing (sylvaing@131.107.0.80) (Connection reset by peer)
- # [23:36] * Joins: sylvaing (sylvaing@131.107.0.80)
- # [23:55] * Quits: sylvaing (sylvaing@131.107.0.80) (Connection reset by peer)
- # Session Close: Wed May 11 00:00:00 2011
The end :)