See also: IRC log
<dbaron> ScribeNick: dbaron
[projector and microphone configuration]
Alan shows http://www.theguardian.com/world?view=mobile
Alan: wanted to describe a few
things we're doing with regions
... We're pushing for using regions and named flows in
responsive UI designs
... I'm showing a site from the guardian, not using regions at
all. Has navigation bar at top, with menu that comes out.
Assuming for a landscape tablet display. As you narrow the
display, the navigation elements move to the menu.
... Script is putting items that don't fit in the width and
moves elements around in the DOM.
... script is a little buggy and janky
... really easy to do by defining navigation elements as
belonging to a named flow, two regions: nav bar, and menu
... that's much more performant, and doesn't need script
... Similar thing ,example at http://adobe-webplatform.github.io/regions-adaptive/
... Don't want these buttons to show up on mobile, so at a
certain width all the buttons get collected into a named flow
and put into a slide-out.
... no script, just a media query that turns on the named
flow
... just wanted to introduce these ideas to the group
... In this case it's a region chain of regions all with a
particular height (viewport height) so the content is
interspersed with images (http://adobe-webplatform.github.io/Demo-for-National-Geographic-Orphan-Elephants/
)
... I've been posting to www-style about how named flows work
with overflow:fragments in an attempt to convince people that
the issue in regions about box generation should be closed
because every box generation mechanism we have defined or
proposed for CSS is something regions can participate in.
... The original issue was put into the specification because
people wanted to see what the page template proposal that we
had only talked about would look like.
... I produced the page template proposal where we can target
CSS-generated boxes with region chains.
... I assume we're going to do something similar in future work
with this group. Regions works well with that.
... Introduced before and after elements, and introduced
overflow:fragments which dbaron ran with and produced an
interesting spec; but again, regions works well with
overflow:fragments.
... you can take 2 overflow:fragments elements in your
document, link with named flow, and have content flowing
through elements without adding region elements to markup at
all
... so the question was, do we need a box generation mechanism
forregions, and I've maintained all along that we don't, and
we'll use every box generation mechanism we have for CSS.
... so unless anybody has an objection I'd like to close that
one particular issue
<fantasai> dbaron: I'm ok with closing 15733
<fantasai> fantasai: 16858 stays open
<fantasai> astearns: yeah
RESOLUTION: closing issue in bug 15733
Alan: I don't know that it's
going to be fruitful to talk about elements today. I've been
posting to list; on dbaron's todo list to look at those
messages.
... If anyone wanted to discuss what we've been talking about
on the list about using named flows and region chains as lower
level mechanism for describing fragmentation and pagination and
thinsg, but also happy continuing discussion on list.
... Anybody want to talk about that right now?
... if not, move on to next agenda item
Peter: Maybe we can close this one today?
Koji projects http://www.unicode.org/reports/tr50/
Koji: issue is Tr fallback in
writing-modes
... background on discussion:
... UTR50 describes 4 values (shows Table 1). One of them is
Tr. T means transform, not only about upright or rotated, but
usually requires different type of transformation
... Tr means if font doesn't provide alternative glyphs it
should fall back to rotated
... Tr has 2 purposes (1) for backwards compat -- but all
existing fonts have alternative glyphs
... (2) example is U+3030 WAVY DASH - not only about rotation
but also includes flipping
<fantasai> for backwards compat -- you can see, these characters are not transformed, just rotated, but since all fonts contain transformed glyhs that perform the rotation, want to use those glyphs
Koji: recommendation is
preference for flipping in font system, but preference to fall
back to rotated fonts
... in CSS writing modes, we had same definition for Tr at one
point
... 1.5 years ago John proposed that implementation cost of Tr
fallback is high, and # of chars affected is about 10-20
characters
... given the definition -- if font provides all alternative
glyphs for these 20 codepoints, issues will go away
... John said even though UTR50 defines fallback, given
implementation cost, wants CSS to define fallback to
upright
... after that we had 2 different feedback from developers,
saying implementation is easy, and they want their UA to
display those characters correctly, even with existing
fonts
... so we have a situation where 2 developers want fallback to
rotated and 1 to upright
... fantasai and I discussed, considered 5-10 characters as
subtle difference.
... We agreed to defined to define UA may fall back to upright
or sideways, which is what we have in spec right now.
... in September John raised concern that 2 options can cause
confusion to authors, and fallback to rotated is wrong or cost
high
... so John wants CSS to define "must upright"
... so sylvain agreed with that; glenn disagrees and wants
rotated or both options
... James Clark is ???, fantasai and Rossen are opposed
too
... Eric said he agrees with john 2 weeks ago
... I talked with Eric last week during UTC, still wants
upright, but ok for WG to resolve
... I think that's pretty much situation up to today
... This issue is last issue remaining for LC of
css-writing-modes
<sgalineau> For Adobe, Eric Muller believes the best option is to mandate no fallback http://lists.w3.org/Archives/Public/public-i18n-cjk/2013OctDec/0036.html
SteveZ: 2 comments:
... (1) you said TR50 said "should falllback" but what said is
"can fallback", though that's a nit.
... (2) second point Eric was concerned about was telling
whether font had the appropriate characters. He's concerned
about looking at font data because with font subsetting you may
get false information about what the font is doing if you're
getting a subset. So he was concerned about building that
particular piece.
... (3) John's point was that whenever we have optional sorts
of things, it means implementations diverge and users get
unhappy
Koji: comments on those
three:
... (1) As you said it's "can".
... and as Eric said this UTR50 is informative, so it's not
forcing everything.
... (2) so I understand that not only it has some other issues
like John pointed out, may break dlig
... argument is that can be fixed by designing fonts correctly
or designing embedding correctly
... so there are challenges
... but that's not something really not possible
... (3) There may be a ??? on UTR50
... But original goal of UTR50 was to provide consistent
orientation
... during development phase we figured it's not possible with
existing fonts
... so our goal was to give best consistency, and complete
consistency if UTR50 compatible font is used
... and there are 10 characters we are discussing for Tr
... and 20 or more that will be inconsistent anyway
... I'm working with Japanese publishers and AntennaHouse about
how authors have to be careful when authoring to be careful
orientation consistent across existing fonts
... I agree that allowing both options can diverge and add more
burden to authors, but it's not something we can really
avoid
... given the cost; development cost varies depending on
architecture
... Given that we can't reach consensus I think allowing both
is best option
SteveZ: concerned about something
you said: fixing a rare case and fixing it at the cost of
putting burden on anyone who develops font subsetting
... font subsetting seems likely to be very popular for East
Asian fonts. Adding cost to that to fix this problem seems
wrong way to go.
fantasai: don't see what this has to do with subsetting
SteveZ: probably not in this case... either character is there or not
Koji: let me explain: Tr defines
render as upright, but if no vertical alt, fallback to
rotated
... font subsetting could only subset one glyph without the
vert table
... in that case using the subsetted font UA cannot determine
if codepoint has vertical alternate glyph or not.
SteveZ: yes, sounds correct
Koji: the case for PDF, but for
epub or html where user can override writing modes for
usability/accessibility, regardless of this issue, font
subsetting should include both horizontal and vertical
alternate glyphs into the subsetted fonts. If they do that they
also solve this problem.
... It's true that it requires additional step, but it's not
only to solve this problem.
... does that answer your questions?
SteveZ: I certainly understand what you're saying; requirement for not subsetting with only one of directional things is not coming from this but coming from that user style sheets could override, so you need that capability anyway.
Koji: this is about 10
characetrs. In John's original proposal those 10 characters
will be rendered incorrectly for some existing fonts
... John and Eric think that's ok because rarely used
characters ...
Sylvain: no, they think fonts will get fixed
Koji: I know there are technical differences... if it's about subtle differences why do we care so much?
SteveZ: understand last way, but applies equally way to any resolution
Koji: Thus I ask either behavior. John wants to demand single behavior, I want to know why.
Jet: the cost to every other
codepoint that's not those 10
... extra conditional in code -- vs benefit to rendering those
characters incorrectly
Sylvain: I posted a link to Eric
Muller's post. Eric thinks no fallback is the better
decision.
... That's consistent with feedback I got from other
experts.
... I think issue about cost was not about absolute cost, but
about cost relative to how often it's needed, since expectation
is that fonts will be fixed.
... In general in standards providing optional behavior is a
source of incompatibility.
... I think that makes sense.
Koji: It costs more for one
option for one architecture but opposite cost for other
architectures.
... So if we mandate one we have to pick one.
Sylvain: That's the point of mandating.
Koji: Costs more for some browsers and less for others.
Sylvain: I don't think having no fall back can cost more than fallback.
Koji: I disagree.
... 1.5 years ago discussion cost is sky high another developer
said cost is low another developer said cost is opposite
Sylvain: You write complex
fallback code that you have to test for something that will
happen extremely rarely. Not sky high in terms of total amount;
it's relative to the benefit.
... Mandating no fallback will lead fonts to update. (?)
... So that code will never be used
Peter: does practice of
subsetting potentially break that argument?
... If alternates end up not part of the subset, not guaranteed
to have them.
<SimonSapin> If we assume fonts will get fixed, can we also assume subsetting tools will get fixed?
SteveZ: Koji's point was that subsetting for CSS requires both glyphs to be there because you don't know what will be there until things arrive. You can always do it wrong, but then people will get bad results and people will stop using your system.
Rossen: What if we, instead of
disallowing it, discourage it?
... We can say that behavior is not expected, but if there's an
implementation that really wants to do it, it's at least not
forbidden?
... authors reading spec should not expect it to be supported,
but not restricted to forbid behavior
fantasai: I think another thing
to consider would be font formats other than opentype.
... In OpenType a number of these characters are transformed by
convention, but this might not be true in another font format
might have different expectations.
... So even if we want to mandate this for OpenType I don't
think it would make sense to mandate for all font
formats.
... Also doesn'tmake sense ... ??? if handled at font engine
level rather than text layout level.
SteveZ: Rossen, if I understood you: "if the data for the rotated form is not present, this specification does not define what should be done"?
fantasai: works for me
Rossen: That's more of the undefined case
SteveZ: I think advantage of undefined, still leaves the forcing function of getting the fonts updated, because you don't know what's going to happen.
Rossen: Would anyone not be able to live with undefined?
r12a: Would it be a question of leaving it undefined like that, or undefined plus recommend that you follow UTR50?
fantasai: wording I'd suggest is that it's undefined whether the UA is allowed to synthesize some kind of substitute glyph
dbaron: no longer Rossen's "undefined but discouraged" proposal?
(I'd prefer undefined but discouraged over simply undefined.)
SteveZ: where are we?
Rossen: I think between
disallowed and undefined?
... As I understand, John wants disallowed
<sgalineau> fwiw feedback on fallback implementation cost I have heard: cheap to hack it, more expensive to do it right. too expensive for the number of cases that will exercise it
<fantasai> "UA may but is not expected to synthesize the substitute glyph"?
Rossen: If we say UAs are not expected to support rotated sideways glyph, but not required not to, then that should be a way of saying basically: don't expect it to work, but implementations might do it.
ChrisL: or in other words would be saying "you may fall back but not required to" just like TR50 says
SteveZ: That's why I'd prefer it's simply undefined, since otherwise you're back out of undefined.
[various people mumbling]
Bert: That's the wrong way round, I'd say.
Rosssen: Current spec says UA may, but not required to fall back to
Rossen: current statement is close
Bert: current statement suggest
that what TR50 says is that rotating better than not
... want implementations to rotate but we still like them to do
it
... I think wording should be clear that we still want them
to.
<fantasai> dbaron: I think many people here disagree that we want them to
<fantasai> dbaron: ppl think we're better of expecting font to have correct data in it, instead of addign features to work around bugs in a font
<sgalineau> +1 to dbaron
Bert: That' assumes it's a bug in the font, maybe it's not.
Peter: In general I'm ok with any of these proposals.
<fantasai> I think for OpenType it would be considered a bug in the font, but for other font formats might not be...
Peter: I'm concerned that I don't
want us to say "you must not do this" because if you have a
font engine that does this then the UA has to undo what the
font engine is doing.
... Just saying it's undefined because it is defined in
UTR50
... if we're explicitly undefining it then we're just
sanctioning what UTR50 says
<fantasai> +1 to Peter
<fantasai> wrt undoing font engine
Peter: so if we have an explicit
preference we'd ???
... I have concerns if we're willfully violating an other spec,
if it says "can do it" and we say "must not do it"
<Rossen_> "the UA is not expected to fallback..."
fantasai: Can we straw poll on wording "may, but is not expected to"?
Peter: should we reference April 1 update to RFC2119?
fantasai: ?
Rossen: what if we say UA is not expected to do fallback?
fantasai: we have to say allowed
disallowed or optional
... we have to say, normatively, what is it
... saying something is expected or not expected is not really
normative
SteveZ: Seems to me we have 3
possibilities:
... (1) John's "must not"
... (2) undefined
... (3) should use the font, but failing that can do fallback
per TR50
... I think those are only 3 on the floor. Apperas to me at
this point that easiest to eliminate is (1).
... that leaves us with 2 different ways of saying can fall
back, either by not saying anything or by saying you can
... I'd propose a straw poll that would eliminate the first
option
... and then we can see if there's a significant difference
between other two
... Seems easier to eliminate (1) from straw poll
fantasai: 2 wordings on floor:
<fantasai> "If the vert alt glyph is not present in the font, UA may but is not expected to substitute the glyph"
<fantasai> vs
<fantasai> "If the vert alt glyph is not present in the font, behavior is undefined"
<fantasai> ??
peterl: RFC6919, "REALLY SHOULD NOT"
<sgalineau> MUST SHOULD NOT
SteveZ: I think fantasai's second option captures what we should get at
<SimonSapin> MAY WISH TO
<fantasai> fantasai: The first one is my proposal, because I don't like leaving things blanket undefined
<sgalineau> Y U FALLBACK
r12a: What happened about the straw poll to eliminate (1)?
<plinss> http://tools.ietf.org/html/rfc6919#section-3
r12a: can we resolve to eliminate option 1?
STRAW POLL:
A) "If the vert alt glyph is not present in the font, UA may but is not expected to substitute the glyph"
B) "If the vert alt glyph is not present in the font, behavior is undefined"
[2013-11-12 10:20:20 +0800] <fantasai> ??
(oops, ignore that extra line of copy/paste)
fantasai: I don't like (B) because it allows the UA to do absolutely anything it wants.
STRAW POLL:
A) "If the vert alt glyph is not present in the font, UA may, but is not expected to, substitute the glyph"
B) "If the vert alt glyph is not present in the font, behavior is undefined"
Alan: A
rhauck: A
dirk: abstain
Bert: of these two, prefer A
zcorpan: abstain
kazutaka: A
yamamoto: A
Koji: A
Rossen: A
Israel: A
jet: A
chrisL: A
Lea: A
Sylvain: A
3 A's
Dean: abstain
fantasai: A
dbaron: A
<hober> hober: mu
SteveZ: A
Kennyluck: A
Leif: abstain
Peter: A
Bert: My question is, are we really doing what Unicode want us to do?
<TabAtkins> TabAtkins: abstain
bert: was it really a neutral choice to be doing it or not, or do we ???
fantasai: descriptions in unicode spec are informative saying what categories mean, not dictating a behavior
Bert: if they didn't want
implementations to rotate, why did we write it there/
... I think we're saying opposite of UTR50.
Peter: UTR50 says can, we're saying may but not expected to
r12a: is substite the right word, or is rotate?
fantasai: synthesize the
substitute glyph
... wording's a little bit off
Peter: I think "MAY WISH TO" from
RFC6991
... I think "MAY WISH TO" from RFC6919
... I think we should use "MAY WISH TO" and refence
RFC6919.
RESOLUTION: Accepting option A, with term "MAY WISH TO" and referencing RFC6919.
<ChrisL> http://tools.ietf.org/html/rfc6919
Peter: spec ready to advance?
<SimonSapin> "This phrase is frequently used to avoid further delay in approval of a document."
fantasai: I expect this to be the first of at least two last calls.
<SimonSapin> seems appropriate
Peter: Anything to rename?
RESOLUTION: Take CSS Writing Modes to Last Call.
Peter: break until 11am.
<fantasai> I think there's an open issue on possibly renaming text-combine-horizontal to something better/easier-to-type/less-confusing
<israelh> q
<TabAtkins> Did we not return, or is nobody minuting?
<plinss> nothing secret, just not necessary to minute
<TabAtkins> kk
<sgalineau> as far as I know we are making http://girliemac.github.io/presentation-slides/html5-mobile-approach/images/css-is-awesome.png our official logo
<fantasai> From CSSWG design that didn't get implemented -- "mood": flowing, transparent, layered, professional, informed
<SimonSapin> ScribeNick: SimonSapin
fantasai: to prepared to discuss
plinss: defer
Bert: last time we had
milestones, wiki page for dates
... most people said can’t put dates
... now list specs in scope, and says we don’t have dates
<plinss> http://www.w3.org/Style/2013/css-charter
Bert: mostly same as previous
charter
... same participation reqs, chairs, mailing list
... list of modules longer
... diff list of liaisons
... look if it’s complete and not too long
... about not having milestones, only a list of things we work
on, without dates
... do you agree with that? Can it get past AC review?
... glazou said we have a few drafts that are requirements for
other groups, we should give that higher priority
... didn’t list those, glazou sent email with the list
... we could mark those explicitly
astearns: is there a logic to the order?
Bert: no, automatic tool takes
the order from the /TR page
... date is to be updated when we have review, roughly 2
years
dbaron_: guess the order is by
age of WD
... there is a bunch that appear twice
Bert: that’s a bug
fantasai: suggest taking the Current Work page
dbaron_: looks like list of shortnames ever used
<dbaron_> duplication: UI, borders, CSS1 ,CSS2
Bert: someone wants to get through the list to fix?
fantasai: can you take it from Current Page?
<fantasai> http://www.w3.org/Style/CSS/current-work
Bert: some are missing
ChrisL: that’s a feature
<dbaron> We're also probably not going to work on becss.
<fantasai> Yeah, don't want to include the Abandoned drafts
plinss: any feedback on the charter? folks generally happy with it?
ChrisL: we’re looking at the suggested extensions from 1998 and slitting our wrists
plinss: update the module list before we submit?
<astearns> dauwhe_: page templates is only an editor's draft
ChrisL: looks fine, I suspect AC won’t object
ChirsL: we say we don’t have milestones because …
<astearns> dauwhe_: I believe we resolved to get simple pagination done first, before making page templates a working draft
ChirsL: and say that things needed by HTML5 are …
plinss: email to internal list when ready
<scribe> ACTION: Bert to update the list of deliverables in the charter [recorded in http://www.w3.org/2013/11/12-css-minutes.html#action01]
<trackbot> Created ACTION-595 - Update the list of deliverables in the charter [on Bert Bos - due 2013-11-19].
plinss: anything else on charter?
<dbaron> I wouldn't mind seeing us doing asynchronous decision making, but I'm not in the mood to have that discussion right now...
<sgalineau> asynch decision discussion better done asynchronously
leaverou: discussed this in
private and on mailing list
... long, but no conclusion
... people write books in CSS, including design of the
book
... I first designed mine in Illustrator, then many things were
not possible in CSS
... no way to style elements depending on right or left
pages
... we have @page, for the page itself or headers/footers, but
not elements on the page
... to do sidebars in print formatters, you use "float:
outside"
... to push it you use "float-offset" but that’s limited
... it’s not just the sidebar, [projecting]
... these things have different border-radius, rotate
transform, margin, etc. depending on left/right page
... float: inside/outside and margin-inside/outside are not
enough
... we can,t keep adding properties, need a more generic
solution
<leaverou> http://lists.w3.org/Archives/Public/www-style/2013Jul/0607.html
leaverou: proposal on the list
…
... @page :left, nest style rules
... syntax not doable, ambiguous with declarations
... needs infinite look-ahead, same as in Hierarchies
... proposal to use braces, at-rules, or pseudo-elements
<TabAtkins> Note, Hierarchies has been fixed.
leaverou: div::page(left)
... still limited, you want to style based on type of page
(chapter, …)
... and other page selectors
... other proposal from AntennaHouse: extending Variables to
inherit from @page
... but then you have different property values on different
pages for the same element
TabAtkins, how?
fantasai: whatever syntax we use here should be the same as for Regions
dbaron: styling things between pages has a lot in common with between regions
<TabAtkins> SimonSapin: http://tabatkins.github.io/specs/css-nesting/Overview.html#the-nested-block
dbaron: we don’t want to allow
completely arbitrary style
... we don’t want something that starts as a table, continues
as a float, etc
<TabAtkins> SimonSapin: Wrap the selectors in an anonymous {} block.
<TabAtkins> Rather, the whole thing.
dbaron: there is no concept to
continue the inside of a table onto the next page as something
else
... so far we don’t have the ability to fragment things into
completely different types
... if we have a display-inside / display-inside split, we
can’t change display-inside between fragments
... we’r gonnna need implem experience
leaverou: could be limited to not
allow some properties like display
... or just no style fragments, only based on the first
page
dbaron: there may still be some
hard cases
... hard to spec and get interop, even if easy to implement,
with edge cases
... with this style fits on this page but doesn’t with other
style
... also not convinced that styling based on the first page is
that useful
leaverou: I realize there are use cases spawnning pages, but most I’ve seen are within one page
astearns: when you’r printing,
you control pagination
... on screen, things intentended to be on one page may be
split
leaverou: print formatters vendors have clients that demand features, and they will implement even without spec
dino: I agree these are all great use-cases, but who is gonna do the work?
fantasai: once we hack the syntax
and model stablizes for Regions, the only thing that would
different in syntax is changing the word region to page
... the hard part of the work, Alan is already working on
astearns: agree with dbaron that we’re gonna need impl experience to decide what can be styled, don’t have it yet for Region
leaverou: btw, there is already a
pseudo-class for styling … In paged media or GCPM, styling
fragments of an element based on what page they appear
... fragmentation problems still exist
dauwhe_: want to mention that
left/right, named pages, also need to identify arbitrary pages
in a sequence
... 6th page in a sequence
leaverou: another thing needed is
syntax like :nth-page
... targetting pages between the 10th and the 100th
... would be useful for page number
... there is no such thing as inline-block for margin
boxes…
dino: you need nested regions of pages that themselves can be styled
dauwhe_: PrinceXML has
:nth-page
... discussion on www-style, but complicated to define what is
a page, first of chapter vs. first of document
... whole class of issues around identifying pages
SteveZ: XSL did come up with
rules to select which of the next template is used for a given
page
... want a number of sources that are active, choos the
template based on what kind of things are available
... which template you pick depend o which are associated with
the content of that page
... this divorces the design of template with their selection,
rule-based
<TabAtkins> Note my previous discussion with Hakon, that "foo:nth-page(5)" does *not* select the 5th "foo" page, but rather the 5th page if it is also a "foo" page.
SteveZ: :nth-page assumes that you know what content goes there
<TabAtkins> In other words, selectors don't modify each other.
SteveZ: as astearns says you may
not know
... XSL tired to define but never succedded sync points
<dino> TabAtkins, so how do we select the 5th foo page?
<TabAtkins> :nth-match(5 of foo)
SteveZ: the notion of identifyin sync content, stream of figures / stream of text
<TabAtkins> We've already solved this problem in Selectors.
SteveZ: thing figure goes with this piece of text
<dino> TabAtkins, cool
SteveZ: as close as possible , which may not be very close, but at least being able to declare that would be useful
plinss: I agree this should be aligned with Regions
fantasai: doesn’t belong in Fragmentation
plinss: useful for multicol?
fantasai: I think less so
... track as something we need to address, note that we need
this for pages, but not much to do right now
astearns: if AH or Prince wants
to run with it…
... I,d be happy to put a note "this mechanism should be
applied to pages"
... if there is impl interest, pages may be done before
regions
... but I don’t know how Antenna House or Prince are
prioritizing
plinss: is there consensus that this is a good idea?
leaverou: if the mechinism is defined in Regions, do we still need to define the syntax?
astearns: there is a syntax for
Region […] all contnet that falls in this region, here are
their style
... same would apply when selecting a page instead of a
region
... just changing that part of the selector that says I’m
styling this region
ChrisL: we still need to write this down
astearns: it will be the same for styling content in Shadow DOM
<TabAtkins> Pages use a somewhat different selection mechanism (at-rule to introduce the selector), but yeah, similar mechanics.
leaverou: the way this will be done in Regions is through pseudo-elements?
fantasai: yes
leaverou: but @page rules are
more concise
... if you have a series of things that need to differ page
page style, need to repeat the page selector
<TabAtkins> ".foo::region .bar" for .bars inside of the region hosted by .foo
fantasai: same problem with regions, we should solve this for all of the things
astearns: syntax for Regions has the constraint that it needs to fit in future nesting mechanisms that reduce repetion
leaverou: will this apply to all page selectors and combinations of those?
dauwhe_: I guess we just start trying things
plinss: trailing off, but not hearing any objection. Will follow the work on Regions
Bert: we have Dave editor of
GCPM, I suggest we concentrate effort around Dave
... see which things are already covered in Regions
<dbaron> Why do we want to push this into GCPM?
<dbaron> [minute taker fell off IRC]
<dino> ScribeNick: dino
Bert: People should meet informally to discuss the next steps
plinss: I don't have an issue
with David taking this on. Some people have suggested a page
layout task force so it doesn't take up much of the group's
time
... i don't want to continue dumping "all the things" into
GCPM
<dbaron> +1 to plinss
dbaron: i'd be inclined that this deserves it's own module
astearns: or a new level of paged media
plinss: possible
Rossen_: what happened to the one
daniel was starting in Lyon?
... sounds like the same conversation we've already had
SimonSapin: he has a proposal for the future of paged media
(on dev.w3.org)
<dbaron> http://dev.w3.org/csswg/css-page-4/
plinss: Dave, are you willing to champion the work?
dauwhe_: yes
SimonSapin: We discussed two things: one of which lea asked (styling elements based on page location), and better page selectors (which is in the paged media spec)
plinss: also need to expand on "spreads"
--- LUNCH BREAK ---
hold the lunch break
r12a: are you going to discuss CSS Text?
plinss: we deferred because fantasai needed to prepare
fantasai: i can maybe work on it
during lunch
... agenda+ backgrounds and borders?
plinss: ok
dbaron: agenda+ one thing about charter?
plinss: let's do this now
dbaron: comment about async
participation
... many WGs have requirements about async decision making.
e.g. WebApps, a bunch of related API groups, and HTML (but that
is a special snowflake)
... i don't necessarily want to force the async decision making
policy here, but I would like to see us try to make async
decisions more often
... async == decisions are not generally taken in a meeting
like a vote. rather the chair sends the notification via email,
people can object before some time period elapses.
<TabAtkins> Async decision-making will likely speed up a lot of decisions, too. No need to wait for a slot during telcon, potentially getting bumped multiple weeks.
dbaron: i often find myself
unsure whether or not to object within 10s at a meeting. I
think async leads to decisions made with more
consideration.
... what do other people think?
ChrisLilley: on the one hand...
<astearns> TabAtkins: +1
ChrisLilley: that can be a
benefit... e.g. Tab isn't here and he needs 48 hours to
object..
... but i don't want to be in the situation where we're waiting
for people to read the notification, stall, etc
... how is it working in other groups?
dbaron: one of the important
points is that these groups are not making the decision EVER on
the telcon, but everything is on the mailing list
... the forcing function is sometimes useful. i don't
participate in these groups, but i've heard it is working
well
steveZ: also allows people not on
telcons to get involved
... the notification needs to be clear what the decision will
be
israelh: in webapps, i've noticed that sometimes the decision thread doesn't really give you a clear outcome, and we still need to come together on a call to make the final final final decision. how do you figure out what the tiebreaker is?
kennyluck: it's often dependent on the type of decision: publishing a spec vs technical decisions
plinss: in general all i care
about is making good decisions
... i'm ok with whatever technique we use to get to that
point
... i'll note that we often do async because we know someone is
not yet ready/present.
<kennyluck> My point is that I don't know who can send CfCs. Everyone?
plinss: dbaron, are you encouraging us to do it more?
dbaron: yes, do it more
krit: so will it be all decisions, or will we still need f2f meetings?
astearns: I think people will get comfortable will asking more time.
plinss: yes, to be clear, all WG members are free to ask for more time or open something if it is an error
<fantasai> plinss: we've never refused such a request
zcorpan: i think async works pretty well. but if there is a situation where we can make a decision now, that should be available, just not the common case.
krit: I'm asking for whether all decisions must be made at telcons, or if the mailing list was enough
dbaron: mailing list would be enough
sgalineau: agreed
plinss: do we want to put this in the charter?
dbaron: some other groups have it in the charter. i don't think we need it that formal, but we should move in that direction
SteveZ: should we put that it is allowed into the charter?
dbaron: maybe
SteveZ: maybe it should be listed as a process to stop people objecting to the process
astearns: there is nothing in the charter that says all decisions require a quorum, so we're not explicit
SteveZ: i would like to understand the rules
<kennyluck> +1 to SteveZ
krit: dbaron, could you send a proposal to the mailing list?
dbaron: yes
SimonSapin: good q on irc, who can ask for a decision on the mailing list?
fantasai: it should always come from the chairs
plinss: i don't think we should
say that we're going to do everything this way. Some things
might be better this way, others might not.
... anyone can always ask the chairs to adjust the way we work,
even for a particular issue
... fear is that we'll be making decisions by defualt because
people are not participating
astearns: it will be interesting to see how many bad decisions we've had to back out because no one participated
plinss: maybe it will be better
if the email is clear what the decision will be
... we'll probably have to have discussion about what the
proposed decision will be
<sgalineau> +1. straw polling rarely works over email. better make a call to force feedback.
dbaron: i think it works for "can we publish"
SimonSapin: i don't think this is about taking options away
plinss: agreed.
<scribe> ACTION: dbaron to send a proposal for async decisions [recorded in http://www.w3.org/2013/11/12-css-minutes.html#action02]
<trackbot> Created ACTION-596 - Send a proposal for async decisions [on David Baron - due 2013-11-19].
<sgalineau> sp the conclusion is that we'll discuss this on the mailing list….
--- REALLY LUNCH BREAK ---
<TabAtkins> When is lunch til?
<TabAtkins> 1?
<TabAtkins> Nah, that's in half an hour.
<fantasai> between 1:30 and 2
<fantasai> TabAtkins: depending on cafeteria lines
<fantasai> TabAtkins: How about I'll text you if we get back before 2?
<TabAtkins> kk
<dauwhe_> waiting for everyone to get back from lunch
<krit> https://dvcs.w3.org/hg/FXTF/raw-file/default/filters/index.html#security
<fantasai> >
<ed> http://dev.w3.org/csswg/css-transforms/
<astearns> https://dvcs.w3.org/hg/FXTF/raw-file/tip/geometry/Overview.html
<TabAtkins> zcorpan_: Yo, several of your IDL interface defs are linking back to CSSOM, which just says that they're defined in Geometry. To force Bikeshed to mark something up as a definition, add dfn-force='' to the <pre>.
<TabAtkins> Like <pre class=idl dfn-force="DOMPoint DOMPointInit">...</pre>
<TabAtkins> Is DOMRectList actually needed, or is it just used in the existing IDL and we're keeping it?
<TabAtkins> We should try to migrate it to an Array if possible.
<slightlyoff> why the hell aren't any of these things constructable?
<slightlyoff> and why aren't they just JS arrays?
<slightlyoff> heycam`: ok, that's good, 'cause this is depressing: http://www.w3.org/TR/SVG11/coords.html#InterfaceSVGPointList
<TabAtkins> slightlyoff: Don't want Points/etc to be just arrays. The Lists, yes, that's what I (and now zcorpan) just said.
<astearns> no instances of SVGPointList in snap source
<slightlyoff> TabAtkins: yes, was referring to the lists
<slightlyoff> it'd be much better if there were an svg.* object instead of all of the SVG* prefixing = \
<TabAtkins> slightlyoff: SVG.*. Uppercase for great justice! (And better author-collision avoidance.)
<slightlyoff> TabAtkins: !?!!!?
<slightlyoff> TabAtkins: seriously...that's O_o
<dbaron> So what happened regarding the third (immutable) rect type in http://lists.w3.org/Archives/Public/public-script-coord/2013OctDec/0045.html ?
<TabAtkins> Um.
<dbaron> did that get dropped?
<TabAtkins> We always uppercase interfaces.
<slightlyoff> TabAtkins: I mean, eventually you'll want this this stuff to be an ES6 module, right?
<TabAtkins> Sure, yeah.
<slightlyoff> TabAtkins: fine for the interfaces, but putting the interfaces in a single object instead of in the global
<TabAtkins> A namespacing interace is just a shitty module.
<slightlyoff> TabAtkins: that was the "." in my "svg.*"
<TabAtkins> ...I know.
<TabAtkins> We already have window.CSS for the same thing.
<slightlyoff> TabAtkins: beats the dihereah ya'll have going on here
<TabAtkins> l2spell ^_^
<TabAtkins> +1
<TabAtkins> http://dev.w3.org/csswg/cssom-view
<slightlyoff> why are all of these things marked readonly?
<slightlyoff> http://dev.w3.org/fxtf/geometry/#DOMPoint
<trackbot> Error finding 'Erik'. You can review and register nicknames at <http://www.w3.org/Style/CSS/Tracker/users>.
<trackbot> Error finding 'should'. You can review and register nicknames at <http://www.w3.org/Style/CSS/Tracker/users>.
<slightlyoff> again, why is all of this stuff readonly?
<TabAtkins> slightlyoff: It's not readonly. There are readonly *variants* of th einterfaces, for various uses in APIs.
<TabAtkins> But they all have mutable versions too.
<slightlyoff> TabAtkins: where are those?
<TabAtkins> Right there, in the spec next to the other ones?
<slightlyoff> TabAtkins: not seeing mutable version here: http://dev.w3.org/fxtf/geometry/#DOMPoint
<slightlyoff> oooh...I see
<TabAtkins> slightlyoff: The DOMPoint interface is mutable.
<slightlyoff> what's the reason to have the readonly version at all?
<TabAtkins> Because you need readonlys for APIs at various times. Plenty of times you're exposing a point on some interface, and it's not meant to be mutable, or mutating it won't do anything.
<TabAtkins> In other words, same reason to have the "readonly" keyword in any situation?
<TabAtkins> Hanging mutable-but-useless attributes off an interfaces is a bad idea. Should either be readonly, or should be a method that returns an object, or should be mutable and live. Pick one.
<TabAtkins> (Apparently the last one is usually bad.)
<slightlyoff> TabAtkins: I'm really unsure why "mutating it wouldn't do anything" is anything other than "it wasn't defiend with an accessor pair, so c'est la vie"
<slightlyoff> TabAtkins: the idea that you should be locking things down is just odd
<TabAtkins> slightlyoff: What happens when you mutate a point on a DOMRect? It magically becomes a DOMQuad? It just starts wildly violating rect-based assumptions?
<TabAtkins> DOMRect has a mutation API - mutate x/y/width/height.
<slightlyoff> TabAtkins: it's JavaScript? You document your assumptions.
<TabAtkins> And your assumptions might be "this isn't how you mutate the object, it's just some useful info you can use. Accordingly, we're documenting it as readonly."
<TabAtkins> I'm okay with accepting the looser SVG syntax, I think.
<slightlyoff> TabAtkins: I'm really just unsure what the case for this is aside from pre-emptive invariant preservation
<slightlyoff> TabAtkins: most JS objects are mutable and the world is not, yet, on fire
<TabAtkins> slightlyoff: Again, it's identical to making literally anything else readonly. If you'd expose "readonly attribute double x; readonly attribute double y;", you can instead just expose "readonly attribute DOMPointReadonly;"
<slightlyoff> TabAtkins: that's not a case for *if* it's something you should do, which is what I'm questioning
<TabAtkins> slightlyoff: Had this dicussion on the list before. Live objects are discouraged API design (prefer mutating methods). If an object isn't live, it probably shouldn't be mutable either - better author affordance.
<slightlyoff> TabAtkins: this is alien to most JS practice
<TabAtkins> Otherwise, you mutate something, nothing happens, but now the attribute is lying.
<slightlyoff> TabAtkins: so whatever you might prefer from some other perspective, it's just not something I think these WGs should be worrying too much about
<TabAtkins> Sure, because readonly isn't easy to do in JS. Gotta screw around with getters.
<TabAtkins> Part of having an interface description language is being able to abstract some of the difficulties of the underlying implementation language, when it's useful to do so.
<slightlyoff> TabAtkins: that doesn't make this design any less alien
<slightlyoff> TabAtkins: also, you don't need that, you only need a property descriptor
<TabAtkins> slightlyoff: Property descriptors are at least as fiddly as getters. ^_^
<TabAtkins> slightlyoff: I don't think cleaving hard to the particular syntax affordances of JS is particularly important.
<dbaron> heycam: or we could go down the road of having a frozen plain object for that
<slightlyoff> +1 to what heycam` said
<TabAtkins> Yeah, more freezing.
<TabAtkins> It buys us protection from "I'm reading these values, but they're not accurate!" (because somebody mistakenly mutated them before).
<TabAtkins> dbaron: Alex is arguing against all but the mutable types.
<slightlyoff> I'm saying "just have setting the value do nothing in that case"
<TabAtkins> You can't have the object change in the background (in at least some cases). (Unless I'm misreading the minutes.)
<TabAtkins> Calling in is a giant fail.
<TabAtkins> Never worked yesterday.
<fantasai> r12a, we'll want to discuss Text soon, let us know if that works for you or you have other constraints
<fantasai> kennyluck: ^
<fantasai> starting with css3-background for now
<r12a> fantasai, ok heading down there
<TabAtkins> dbaron: Yeah, that led to the wiki page that now says "DON'T DO THIS".
<leaverou> http://lists.w3.org/Archives/Public/www-style/2013Apr/0109.html
<TabAtkins> Yeah, the "right" way to spread things is indeed to increase the radius by the amoutn of the spread. That's how you do curved borders, frex.
<sgalineau> we can mitigate the discontinuity for some range of spreads; once a spread is large enough there will always be a point where the corner looks sharp and the spread rounded...
<TabAtkins> (In reverse - the inner curve is equal to the outer curve minus the border width.)
<TabAtkins> Obviously.
<dbaron> I'm in favor of making text-align a shorthand containing text-align-last
<kennyluck> (I am not very convinced that 'text-align: justiy-all' implies that 'text-align' should be a shorthand, but I support whatever would make 'text-align: justify-all' in.))
<trackbot> Created ACTION-597 - Mail www-style with the text-align shorthand issue [on Elika Etemad - due 2013-11-19].
<kennyluck> the case is basically this <input> <input>
<dbaron> (that substitution applies to 7 and 8 lines up, but not 20 lines up!)
<TabAtkins> What's left after the break?
<astearns> scribenick: dauwhe_
<fantasai> http://lists.w3.org/Archives/Public/www-style/2013Aug/0178.html
<dbaron> dbaron: I think it's worth testing browsers before defining the behavior here; seems worth doing but doesn't have to happen in this level
<dbaron> zcorpan: I think it's defined in CSS OM; browsers tend to disagree but the definition tries to align
<zcorpan_> http://dev.w3.org/csswg/cssom/#concept-declarations-specified-order
fantasai: don't define what happens if you expand something out.
zcorpan: we need to define orders of longhands
<dbaron> fantasai: The canonical order seems to define canonical order for serialization, not of longhands
fantasai: what should I do with spec?
zcorpan: I want order defined in
CSSOM.
... I can take action item to test what browsers do and
document it somewhere.
fantasai: should there be a list of all properties in spec in an order?
dbaron: we should see what browsers do. I don't want to break interop.
fantasai: what does that spec look like?
dbaron: orderings might not fit
with list in spec?
... might be easiest to put in propdef
... must define order resiliant to addition of new
properties
fantasai: who's doing this?
... and in what spec?
dbaron: do we have def of canonical order in propdef?
fantasai: in CSSOM
dbaron: CSSOM uses the term canonical order, but does not define it.
fantasai: how to read propdef tables is not part of spec
<TabAtkins> Ah, I was wondering why it started in the middle of stuff.
fantasai: only def. is in CSS
2.1
... put how to read css propdef tables into snapshot?
dbaron: used to be in syntax
<dbaron> dbaron: or could be in values
<TabAtkins> I'm fine with either.
plinss: who edits these specs?
fantasai: does this need to be rec track document?
dbaron: yes
<TabAtkins> ...really?
plinss: don't feel strongly about syntax or values but should be rec track
fantasai: not convinced about rec track; it's about document conventions
astearns: it's about document conventions?
fantasai: how to read a propdef table is largely about document conventions.
<TabAtkins> Are people talkinga bout the same thing?
plinss: it's meta-normative.
fantasai: snapshot is where you want to put it
<TabAtkins> I think we're talking about the format of a propdef table. It's just a compact representation - how to expand that into the normative def doesn't need to be Rec-track, just recorded.
fantasai: did you see Tab's comment?
<TabAtkins> We don't need the property grammar in a rec-track doc either. It was just convenient to put it into Values.
<TabAtkins> I don't understand, dbaron. :/
plinss: I suggest we put it in values
<TabAtkins> But the only thing that got minuted was "Yes" from you, so shrug.
fantasai: some of it is about
values
... is it inherited.
<dbaron> TabAtkins, It affects what some pretty important stuff in the spec means
astearns: I agree it should be in values.
<dbaron> TabAtkins, stuff that changes what an implementation is required to do
<dbaron> TabAtkins, it seems pretty odd to make something like that non-normative
<fantasai> glazou, interop on how to read a propdef table? Yeah, I guess so, but the implementations are people here...
<zcorpan_> i agree with dbaron
<astearns> *if it needs to be in a rec track document
<glazou> fantasai, yeah...
plinss: do we need a resolution
fantasai: we need an action
<TabAtkins> dbaron: No, the content inside of it is normative. How to read it is just descriptive. But whatever, I'm fine with it in Values or Syntax, I just don't see that it *needs* to be in one of those.
plinss: who takes the action?
<fantasai> ACTION: fantasai put something somewhere [recorded in http://www.w3.org/2013/11/12-css-minutes.html#action03]
<trackbot> Created ACTION-598 - Put something somewhere [on Elika Etemad - due 2013-11-19].
<glazou> lol
<TabAtkins> You're going to look at that later and be so confused, fantasai.
astearns: one other thing on
backgrounds
... remove three-value positions?
fantasai: we'd also have to remove one-value positions, including center
astearns: we would have to remove one value that is not keyword
fantasai: not something we can
fix
... what are Tab's thoughts?
<fantasai> e.g., 'center' would no longer be a valid <position>
<fantasai> so I'm less convinced this is a good idea
<TabAtkins> Why do we have to also remove 1-value?
<fantasai> when it was just 3-value syntax, well, that seemed unpopular enough to get rid of... but not 1-value
<fantasai> TabAtkins, because it's ambiguous
plinss: do we want tab to call in?
<TabAtkins> The problem with 3-value is that "left top 5px" is maybe a <position> and maybe a <position> <length>.
dbaron: if he does, would he hear us?
<TabAtkins> But "left 5px" isn't ambiguous.
<fantasai> it is
<TabAtkins> No, I won't hear anything.
<fantasai> it can be <position> <length>, too
<fantasai> or it can be <position> with 2 values
<TabAtkins> Aw man, I thought I remembered the 2-value as being either 2 lengths or 2 keywords.
<TabAtkins> Sigh, okay.
<fantasai> Close no change?
<TabAtkins> Oh.
<TabAtkins> Given that this is *not* intending to be a backwards-compatible change (we'll define the old position syntax as <legacy-position> and still use it in the older properties), what about making the 2-value change to have it only be lengths or keywords, not both?
<fantasai> I think this is getting more confusing than helpful
<TabAtkins> Then we could allow 1-value as keywords only, and no ambiguity.
<TabAtkins> I'll write it up.
astearns: this has no effect on backgrounds
<TabAtkins> Right.
astearns: for backgrounds we close no change
<TabAtkins> Yes.
fantasai: that we'd have to do
anyway
... syntax that's almost but not quite the same
... that might be confusing
<TabAtkins> What we name the grammar term in bg-position isn't important anyway.
fantasai: whether it's valid in
one case or the other
... don't have any cases
... where it make a significant difference
... not worth pursuing
<TabAtkins> Yeah we do - we can't use something position-like for 3d.
<TabAtkins> Because of the ambiguity.
<TabAtkins> But anyway, I'll write this up.
<fantasai> TabAtkins, then let's make transform-origin a special snowflake
<fantasai> TabAtkins: it's special in having 3 dimensions of position already
<fantasai> I'm rather less convinced that we should be altering gradients(), shapes, et al.
<fantasai> to be different from background-position
<fantasai> than altering transform-origin in that way
<TabAtkins> It probably doesn't matter much, but whatever.
fantasai: thoughts on altering transform-origin() to allow to expand to
,.. so the problem is that it only takes this length arg. that represents third dimension
scribe: so we're stuck with css1
backround positioning
... that's the problem case we have
... since this is a 3-d position
... it's less bad.
astearns: dirk has strong
opinions about transform-origin
... that I can't channel
<fantasai> ACTION: fantasai write up with Tab potential changes to transform-origin to reduce/alter inconsistencies with background-position [recorded in http://www.w3.org/2013/11/12-css-minutes.html#action04]
<trackbot> Created ACTION-599 - Write up with tab potential changes to transform-origin to reduce/alter inconsistencies with background-position [on Elika Etemad - due 2013-11-19].
fantasai: anything else?
... can we make spread continuous is still an issue
... working on formula so we can have continous animation
... starting from zero
... or we can decide we won't change and publish LC
plinss: set time limit on new
solution
... I don't feel strongly
fantasai: neither do I. I'll respond to mailing list.
Dean: I've proposed
border-image-like slicing for backgground image
... some support on mailing list
... is this enough for a real proposal?
fantasai: we can do backgrounds 4.
<TabAtkins> I find the 9-slice function idea interesting.
dbaron: don't add to level 3
Dean: don't delay progress in level 3
dbaron: hesitant about property explosion
Dean: haven't thought
through
... could be like border-image
... before the comma
Ted: what about a new function?
Dean: Tab wanted a new function.
Lea: very different
fantasai: consider for level 4 of
images
... we have feature for fallbacks
... an image function
... takes comma seperated list
... lots of crazy discussion of image set
... tied to media fragments and slice
... UA's that don;t understand media fragments removing
image
... people want to implement media fragments
... drop fallback
... only new functionality would be media fragments
... make it more enticing to implement
Ted: sounds good
plinss: shouldn't be issue to put fallbacks back
fantasai: put in image sets
... push to level 4
plinss: don't preclude doing something in future
<fantasai> TabAtkins, ok with that?
<TabAtkins> I don't get it. What's the value of using image() just for media fragments? You can do that in url().
plinss: other opinions?
Ted: sounds reasonable
... I'm worried that I'm not thinking of something
<TabAtkins> The point of the special image() bheavior wrt fragments was *because* you could do fallback.
Ted: I'd love to see concrete proposal
<fantasai> TabAtkins, no that was image slicing via media fragments
<fantasai> TabAtkins, talking about removing the comma-separated multiple urls funmctionality of image()
<TabAtkins> Yeah, why? The minutes above don't make sense.
dbaron: what are you proposing?
<TabAtkins> Fallback is the whoel point of image().
<fantasai> TabAtkins, well, not really. We have two features in the image() function
fantasai: there's 2 features in image function
<fantasai> one is fallback urls, so image(foo.svg, foo.png, foo.gif)
<fantasai> other is media framgents
<fantasai> image(foo.png#xywh=20,20,30,40)
<TabAtkins> No, media fragments is not a feature of image(). It's a feature of URLs. They're usable in url(), too.
<fantasai> There's much interest in the first one
<fantasai> but in the second one
<TabAtkins> We just happened to shove in a requirement that image() *must* support media frags.
<fantasai> Yeah, which is what makes it usable
<TabAtkins> Explain?
<fantasai> Also, given the desire for image-set(), would want to co-design fallback URLs with that
<dbaron> Maybe this should go to the mailing list?
<plinss> See http://drafts.csswg.org/css-images-3/#image-fragments example 4
<fantasai> If you have an old UA and you use url() with media frags, it will display the whole image
<TabAtkins> ...yes?
<fantasai> so it's not really usable atm
<dbaron> what was tab saying yes to?
<fantasai> image() makes it possible to transitioning
fantasai: fine to move to next topic
<TabAtkins> Okay, I think I understand now.
<TabAtkins> Sure, whatever, reduced implementation.
plinss: take issue to mailing list?
fantasi: tab says ok
dbaron: I think it was OK to something else
<TabAtkins> I'd like to keep the color fallback if possible at this level.
<fantasai> ah
<TabAtkins> dbaron: It was a questioning yes, like "yeah?"
plinss: mark as at risk or take out?
fantasai: take to mailing list
<TabAtkins> kk
<dbaron> http://lists.w3.org/Archives/Public/www-style/2013Nov/0192.html
dbaron: made edits we agreed on
in Tokyo
... and would like review of edits, want to publish WD sooner
rather than later
... hope there's nothing big left
... still need to troll mailing list
... first, are people OK with new WD for transitions
... then take both to LC soon
<dbaron> yes, trawling :-)
<TabAtkins> Hehe, I know. Near homophones.
Dean: I support publishing
<TabAtkins> +1 to publish
Dean: undecided was reversing behaviour
dbaron: 2 big edits
... reversing behaviour
... and starting of transitions, which was scarier change
... implemtations all disagreed
... that's been in spec for a few months
... shane said in Paris he'd implemented it
... and thought it worked
... if people are happy to resolve to publish that's fine
RESOLUTION: publish new working draft of CSS Transitions
astearns: i've updated spec
... some clarifations to interpolation I need to add
... add section describing box keywords
... esp. margin box
... minor changes to inset circle and ellipse to clarify
... will ask for last call
fantasai: sounds good
... would be OK with LC
astearns: interpolation stuff doesn't work
fantasai: other things?
Lea: border clip property
... show only corners, etc.
... wondering about syntax and names
... border clip is confusing
... doesn't draw and then clip
... doesn't show 2/3 of a dot
... maybe call it border parts?
fantasai: couple of
proposals
... border parts property
... awkward for common cases
... need length for both what is shown and what is hidden
... do we want low level syntax or easier way to handle common
cases
<TabAtkins> I think common cases are sufficient, surely. Complex cases, just use border-image.
Lea: border-corner-shape
<TabAtkins> Need to show only corners, and no corners, and that's about it.
Lea: scoop, notch, bevel
... I've built a demo of that property
<leaverou> http://leaverou.github.io/border-corner-shape/
Lea: only accepts one
keyword
... wondering about the name
... border-corner-shape is long
... corner shape isn't obvious that it's related with border
radius
... good idea to have border radius defined the fallback
... fallback for diamond is ellipse
... bigger the corner, the more unrelated having border radius
as fallback is
... you often want rounding where straight edge join
shape
... maybe cubic bezier function
... instead of only four keywords
<glazou> leaverou, clean, simple, understandable at first glance by anyone, probably possible to find better keywords for values
Dean: where are these?
fantasai: ED of backgrounds and borders 4
<Bert> bg-4
Lea: according to ED it only accepts one keyword
<TabAtkins> I wanna ask implementors about cubic-bezier feasibility. Curves are already complicated/slow to implement, dunno if cubic-bezier is lots slower or about the same.
zcorpan: if you want rounded
corners on bezel, would it make sense to use border-radius for
that rounding?
... what are the different shapes for corner shape?
Lea: scoop which is like negative
border radius
... also notch
zcorpan: you might want a little radius on corners of the shape
<glazou> TabAtkins, yes
Lea: we don't know how to do that
<TabAtkins> kk
zcorpan: you should use border radius
Lea: that seems complex
<TabAtkins> That seems *very* complex. (zcorpan's).
Lea: if you just want some
rounding, do you need complexity of border radius
... like elliptical?
<TabAtkins> What if you want to bevel your notches? Use border-image.
zcorpan: you're saying too much weight in border radius? Only have one value?
Lea: could apply to one corner
zcorpan: how would it result in elliptical border radiius?
Lea: would have to apply to all three joints
fantasai: bezier function would
get you everything you want?
... how do you join different colors etc.
<TabAtkins> Magic, presumably.
Bert: notch just works--it's really simple
fantasai: one other feature
... for repeat there'd be an extend keyword
... if you have gradient somewhere
... you clip it
... the color ends at the end of the gradient box
... it doesn't keep going
... fills background margin area but then stops
... if image has property of paint outside boundary, it would
keep painting
<TabAtkins> "background-repeat:extend" lets you size a gradient with background-size but still have it fill the background area.
fantasai: rather than ending at
the boundary of the image
... that's one of our random ideas for the spec
... does anyone have other ideas? Multiple borders?
<TabAtkins> Probably low-value, but it's been some time since I recalled why I wanted it originally.
<TabAtkins> border-colors!
Lea: I'd vote for that
<glazou> multiple borders have been in Gecko for ages
fantasai: should we work on multiple borders?
<TabAtkins> border-colors: green 1px, red 5px, yellow 3px; Something like that.
dauwhe: yes!
<TabAtkins> Would probably take some pressure off 'outline' to be a second border.
Bert: use grid and allow regions
to have holes in them
... with nested regions
fantasai: that's pretty complicated
Dean: yes!
<glazou> see https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-border-top-colors
dbaron: does multiple borders mean multiple colors within a border?
<dbaron> ...or multiple border styles?
<TabAtkins> Probably. Dont' see requests for mutliple border styles.
<TabAtkins> People just want some friggin rainbow borders.
<glazou> dbaron, not sure the latter is needed
Lea: make it a list
<TabAtkins> Or more seriously, 2 or 3 tone borders.
<TabAtkins> Without the limitations of using inset/outset style.
Dean: make a proposal
<glazou> TabAtkins, old iOS style buttons required 3 or 4 IIRC
Dean: lots of little dragons here
<TabAtkins> I propose we copy Moz's current behavior. ^_^
Dean: which won't happen until you try to write spec
<glazou> TabAtkins, +1
Bert: multiple everything!
<fantasai> TabAtkins, border-colors? No, you really really really don't want that
<dbaron> dbaron: no, only one border radius
Bert: what about border-clip?
<leaverou> TabAtkins: god no, that's awful
<TabAtkins> Hey hey, someone talk about *-1, *-2 longhands for every list-valued property.
<TabAtkins> Hahaha
plinss: may be interesting holes there
fantasai: action item to write up a proposal
<dbaron> just wait until we put zero-width non-breaking spaces in all the things
fantasai: if you have a list valued property, then dash-number represents that position in the list
plinss: what if you have -47 with a list of 3 items?
<TabAtkins> Need to make sure that every list has a "null" value.
fantasai: dash ones won't take comma
<TabAtkins> So unfilled values between explicitly-given ones get the null.
plinss: concerned about cascade
<TabAtkins> Why concerned about cascade? This is standard longhand expansion.
<TabAtkins> (I think most (all?) list-valued props alreayd have null values.)
plinss: going back and forth
about the proposal
... not time or place for serious discussion
... let's adjourn. Thank you everyone
<TabAtkins> The list-valued shorthand expands into an infinity of indexed longhands. You only serialize up to the last explicitly-given index.
<leaverou> This solves some use cases, but not all
<TabAtkins> Never try to solve all use-cases.
<TabAtkins> Gotta keep 'em hanging on for more.
<leaverou> Quite often you don't have knowledge of all the items in the list and just want to add something in the beginning or end (sort of like a .push() in arrays)
<TabAtkins> Yeah, but that's impossible here. :/
<TabAtkins> We just don't have the structure for it.
<leaverou> so you'll end up with stuff like how people do z-index: 100000000000000000 to be at the top
<leaverou> and no solution for how to add something to the beginning (unless negative indices are allowed)
<TabAtkins> Yes.
<TabAtkins> Correct, these are limitations.
<leaverou> these are very serious limitations
<TabAtkins> "Put me at the top" is always a self-defeating desire.
<TabAtkins> As soon as two places want to be on top/bottom.
<leaverou> obviously, it's better than nothing, but I think it's worth it to try and find a solution that covers at least, I don't know, half the use cases :P
<dbaron> we should figure out additive cascading instead
<TabAtkins> Mine covers half!
<leaverou> dbaron++
<TabAtkins> dbaron: If you think that's feasible.
<leaverou> TabAtkins: Obviously it's difficult to prove that, but I doubt it even covers 1/3
<TabAtkins> leaverou: While we're throwing around arbitrary numbers, I'll assert that it covers at least 4/5
<TabAtkins> Which hits the 80/20 rule and means we don't have to try any more.
<leaverou> you just pulled that number out of your bum, just like I did :P
<fantasai> then you'll need variables for the position of the thing of interest
<fantasai> so property-name-variables
<TabAtkins> leaverou: I thought that's what we were doing!
<TabAtkins> fantasai: Nah, only if you want readability.
<fantasai> SimonSapin: ping
This is scribe.perl Revision: 1.138 of Date: 2013-04-25 13:59:11 Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/ Guessing input format: RRSAgent_Text_Format (score 0.76) Succeeded: s/example is/(2) example is/ Succeeded: s/a formalism/informative/ Succeeded: s/bette roff/better of/ Succeeded: s/work/word/ Succeeded: s/before pages/before regions/ Succeeded: s/think it/think async/ Succeeded: s/foncusing/confusing/ Succeeded: s/simon/zcorpan/ Succeeded: s/broughti t/brought it/ Succeeded: s/complain/jump up and down screaming/ Succeeded: s/frmo/from/ Succeeded: s/nimating/animating/ Succeeded: s/don[t/don't/ Succeeded: s/that/the animatable/ Succeeded: s/leah:/Lea:/ Succeeded: s/for a/appropriate resource implies/ Succeeded: s/millinos/millions/ Succeeded: s/al ine/a line/ Succeeded: s/interfae/interface/ Succeeded: s/abotu/about/ Succeeded: s/UTR14/UAX14/ Succeeded: s/text-align/text-indent/ Succeeded: s/UAX14/UAX29/ Succeeded: s/richard: my ugess it's a worse idea to use /richard: my ugess it's a worse idea to not use / Succeeded: s/ugess/guess/ Succeeded: s/has/uses the term/ Succeeded: s/astearns: use different terms for left and right// Succeeded: s/()// Succeeded: s/lenght/length/ Succeeded: s/about that/about cubic-bezier feasibility/ Succeeded: s/fantasi/fantasai/ Found ScribeNick: dbaron Found ScribeNick: SimonSapin Found ScribeNick: dino Found ScribeNick: dauwhe_ Inferring Scribes: dbaron, SimonSapin, dino, dauwhe_ Scribes: dbaron, SimonSapin, dino, dauwhe_ ScribeNicks: dbaron, SimonSapin, dino, dauwhe_ Default Present: Wuzhou_East Present: Wuzhou_East WARNING: Fewer than 3 people found for Present list! WARNING: No meeting title found! You should specify the meeting title like this: <dbooth> Meeting: Weekly Baking Club Meeting WARNING: No meeting chair found! You should specify the meeting chair like this: <dbooth> Chair: dbooth Got date from IRC log name: 12 Nov 2013 Guessing minutes URL: http://www.w3.org/2013/11/12-css-minutes.html People with action items: bert changes dbaron fantasai potential tab up with write[End of scribe.perl diagnostic output]