[CSSWG] Minutes Paris F2F 2013-09-12 II: Masking, Naming of DOMPoint, Quad, and Matrix, Sticky Position, Text-Combine Naming

CSS Masking
-----------

  RESOLVED: The 'mask-image' property only takes one layer.
  RESOLVED: Combine CSS images and CSS mask references in the SVG mask
             references.
  RESOLVED: Default value for mask-repeat is no-repeat.
  RESOLVED: Add keyword 'none' to 'mask'.
  RESOLVED: Default for mask-position is 'center'.
  RESOLVED: Default for 'mask-origin' is 'border-box.

Naming of DOMPoint, Quad, and Matrix
------------------------------------

  RESOLVED: Provisionally go for DOM prefix.

Sticky Position
---------------

  - The group agreed that Sticky would add good functionality.
  - Rossen will add text about Sticky to the Position module.
  RESOLVED: Add Rossen as editor to Position module.

Text-Combine Naming
-------------------

  - Options for Text-Combine name was discussed, but no solution was
     decided.
  - Ideas floated include text-combine-horizontal,
     glyph-orientation-horizontal, text-combine, and text-combine-upright.

=======FULL MINUTES BELOW===========

CSS Masking
-----------
  Scribe: Bert

  <astearns_> http://www.w3.org/TR/css-masking/
  krit: [moves to whiteboard]]...three topics.
  krit: For mask image, compatible with SVG
  krit: 2nd option is to list an image, (like bg image), list of mask
        images, compose together, than mask but that implies actually mask
        each image individually.  (drawing on board) result is typically
        smaller
  krit: I suggest to use this mode, as it is already implemented.  You can
        do the other already in a different way so you get more options.

  <astearns_> draws union of shapes as a single mask versus using shapes
              masking each other

  fantasai: Not obvious how to get the other, though.
  krit: Agree. Webkit and blink implementors like this.

  fantasai: Can we define the property as accepting just one value, not
            a list?
  ChrisL: Then you get less functionality.

  krit: Alpha mask and lumi mask are different.  Lumi mask needs to be
        converted; usually by hardware.

  Jet: (About drawing:) Is it an intersection?
  krit: That is the effect of masking in sequence.
  Jet: Different order of images gives same result?
  krit: Same result, yes.
  dbaron: It is just multiplication alpha, in fact.

  leaverou: Anything in Compositing that allows people to compose images
            for masks?
  krit: You mean if mask only accepts one image?

  <dbaron> dirk: Could just do it with multiplication of alpha

  ChrisL: If it were implemented...
  leaverou: Is it really useful to have multiple masks?

  ...?: and webkit

  <ChrisL> Advanced compositing is a more recent addition so less
           supported. Masking has been in SVG forever.

  TabAtkins: Thumbs up from Blink :-)

  krit: You can control. Compose and mask first.
  fantasai: Logically similar results, but confusing to authors. I'd limit
            it to one layer. If we allow multiple layers, then we should
            also allow operations on them. So no need to use SVG as well.
  krit: Use case of repeating mask pattern and then a single mask for the
        whole image. There are use cases, but it's fine to restrict to one
        mask for now.
  fantasai: I don't like to have just one way of compositing images.
  ChrisL: It doesn't prevent adding a new property later whose default is
          intersection
  fantasai: So I'd either limit it on layer, or allow operations on layers,
            or at least say that that is where we're going.
  ChrisL: Reasonable.
  krit: OK to limit to one layer for now.

  ChrisL: Any suggestions for how extension might look, krit?
  krit: Not a comma separated list of operations, just one keyword, on an
        extra property.
  plinss: Or what Leaverou said, extend the image() type.
  krit: You could in fact already use the crossfade() today.
  TabAtkins: But percentages must add up to 100%.
  plinss: But you could create another type for that.
  fantasai: Yes, but also whether the image is stretched to box or not, and
            other operations.
  fantasai: Union and intersection are just two examples of the operations,
            there are more.
  fantasai: Order of layers doesn't matter, right? We could have different
            separators: slash, comma, ...
  krit: That's hard to implement. Exclusions is already easier than the
         union to implement. One operation only is easier.

  liam: As soon as you have union and intersection, you also want
        difference.
  TabAtkins: So a compositing function might be reasonable in the future.

  krit: Should we resolve on restricting to one layer for this level?
  ChrisL: If we decide just a single image as mask, will Blink then change
          its implementation? If they continue, then when we add
          functionality, we're stuck.

  hober: Single layer case would not change, right?
  krit: Correct.
  hober: Prefixed property can continue, un-prefixed would match spec.

  RESOLVED: The 'mask-image' property only takes one layer.

  krit: I want to combine two cases: I want to combine masked referenced
        with CSS images as a list in the mask-image property.
  TabAtkins: Yes, that is possible.
  krit: Resolve on that?

  krit: Example: Filter property can combine in a list. I want the same for
        mask property.
  ChrisL: Yes, that's reasonable.
  fantasai: Works for me. So we can have masked image that points to
            SVG image?
  krit: Yes, or to a CSS image.

  RESOLVED: Combine CSS images and CSS mask references in the SVG mask
            references.

  krit: Last issue is mask shorthand.
  krit: Fantasai suggested 'none' as value.
  krit: That disables mask box as well.
  krit: "Super-shorthand."
  krit: With 'mask: none' you disable all mask operations.

  dbaron: Still invariant that any value of 'mask' disables mask-box?
  krit: Yes, you can reset mask-box, not set it to any particular value.

  dbaron: OK, shorthand always set all their properties, even if that
          cannot set all values.
  krit: OK, reasonable.

  ChrisL: Spec needs example for this, for 'none'
  ChrisL: Not example, actual text.
  krit: Yes, and example as well.
  ChrisL: Yes, define what it does.
  <ChrisL> makes it testable.

  fantasai: Mask-repeat defaults to repeat. Should that change?
  krit: It was for similarity to background but I expect that most people
        indeed want to change it.
  fantasai: It's more common to have no-repeat
  ChrisL: Agree
  krit: Agree

  RESOLVED: Default value for mask-repeat is no-repeat.

  RESOLVED: Add keyword 'none' to 'mask'.

  fantasai: Should mask-position be center by default?
  leaverou: Yeah!
  krit: That makes sense...

  RESOLVED: Default for mask-position is 'center'.

  fantasai: Mask-origin...
  krit: Use mask-clip (scribe missed)

  fantasai: Say you use non-symmetrical borders and want to center it.
  plinss: Change that, too?
  krit: Mask-origin should default to border-box.

  RESOLVED: Default for 'mask-origin' is 'border-box'.

  plinss: next agenda topic?

Naming of DOMPoint, Quad, and Matrix
------------------------------------

  krit: Suggestion was to use "CSS" as prefix. I have no preference.
  krit: Another question from Hixie was about calling it Matrix. We have a
        history of SVGMatrix and also MSMatrix.
  krit: SVG wants to combine them and make new name, Hixie suggest just
        using SVGMatrix.
  Tab: No problem with SVGMatrix as such, but problem with inconsistent
       prefixes.
  krit: Duplicate the names.
  TabAtkins: Use "SVG" on everything in geometry.

  krit: Not sure we can come up with solution here.

  * ChrisLilley suggests using a colon to separate the SVG and the rest of
                the name. Maybe tie to URI space too...

  SimonP: Precedent for having two names, e.g., Document and HTMLDocument,
          as alias. Could do the same trick.
  SimonP: Have SVGMatrix point to same interface object.

  krit: Anybody preferences?
  TabAtkins: Fine with that. I just want all objects to have the same
             prefix.
  TabAtkins: We can use "DOM" prefix.

  fantasai: Start with an "X" :-)  It's a common prefix for geometry things
            so it makes sense.
  <ChrisLilley> x marks the point

  simonp: Any objection to "DOM" with SVGMatrix an alias?
  * dbaron suspects some TAG members might have an opinion here

  ChrisL: SVG didn't want to pretend to have the global Matrix, so
          "SVGMatrix" instead.

  simonp: If you change prototype of SVGMatrix, than pointer would not
          work, but alias would.

  fantasai: So action the TAG to Bikeshed us? :-)

  RESOLVED: Provisionally go for DOM prefix.

Sticky Position
---------------

  <dbaron> https://etherpad.mozilla.org/yqbijwrHI6

  dbaron: A feature that someone at Apple proposed a year ago.
  dbaron: A bunch of people find it useful.
  dbaron: Use case is things like in iOS UI, such as calendar, with headers
          above, and header will stay when you scroll, but be replaced by
          next header when that appears.
  TabAtkins: I could show a demo...

  Rossen_: Related to Position spec?
  dbaron: Not sure which spec.

  <projector> https://air.mozilla.org/intern-presentation-ford/

  <fantasai> Useful in general for cases where you have a header followed
             by some content (e.g. table rows) where you want the header
             visible, but the entire content below the header doesn't fit
             on one screen.

  Rossen: Was in San Diego F2F when people proposed Positioning spec but no
          edits ever made.
  Rossen: I'll get some text I got yesterday into the spec.
  dbaron: See my URL above.

  * liam wonders if the side-heads on
        http://stevelosh.com/blog/2013/09/teach-dont-tell/
        (scroll down until one appears) are examples, and if so how
        transitions are handled

  hober: I sent a css3-positioning diff to Rossen yesterday

  dbaron: So I guess this is moving along. Gecko has it mostly implemented.
          (picture on screen)
  dbaron: Sticky is a bit like relative, like fixed is to absolute.

  Bert: (describes case of target of link being underneath fixed position)
  dbaron: Not the same case, that is bug in fixed position implementation.
  fantasai: Maybe related after all.

  dbaron: You need to know the height of the header.
  ChrisLilley: But 'em' may be be different depending on header, so 2em not
               always the same.
  dbaron: People do sticky in Java Script a lot.

  fantasai: gives example of 3-level stacked sticky headers
  dbaron: Don't do multi-level sticky so much (Java Script emulations make
          jumpy headers)

  hober: CSS should define when a scrolling box happens, and I expect to
         see Overflow or Box. Sticky refers to nearest ancestor even if not
         scrolling mechanism.
  hober: Closest content defined somewhere, but not the right thing. It
         should be definition of a scrolling box.

  liam: Some UAs have that behavior for table headers, right?
  hober: Table headers a bit different but can apply sticky to table rows,
         obviously.

  ChrisLilley: Is the link from dbaron the same text as hober referred to?
  dbaron: No it's different.

  Rossen: I will work on it.

  ChrisLilley: So this is notes rather than spec text?
  dbaron: Not as formal as spec text, but good attempt by college student
          with no prior experience.

  ACTION: Rossen to get text about sticky into Position spec.

  RESOLVED: Add Rossen as editor to Position module.

  dbaron: Corey's last day as intern is tomorrow...
  <dbaron> and the thread on sticky from July started with
           http://www.w3.org/mid/51E030E2.4020608@mozilla.com

  (Agenda discussion, but nothing can be done in 10 minutes, it seems.)

Text-Combine Naming
-------------------

  fantasai: The name is not super-obvious.
  <dbaron> fantasai: text-combine-horizontal doesn't seem like a very
           obvious name. Glyph-orientation-horizontal applies only in
           horizontal, but text-combine only applies in vertical.

  SteveZ: 'horizontal-in-vertical' is the obvious name.

  Rossen: mumble mumble
  Rossen: One of the proposed names in Tucson but was way too generic and
          only applies to tatechuyoko.

  <dbaron> fantasai: text-combine-upright? We also explored 'tatechuyoko'.
  fantasai: With "upright"? John said we should clarify that the text was
            upright.

  fantasai: EPUB uses 'text-combine'.

  ChrisLilley: How about ??
  fantasai: It's not about a specific number of characters.
  Rossen: 'All' could be any number.

  SteveZ: Digits and all do two different things.
  ChrisLilley: ASCII digits only it says?
  fantasai: There was discussion with John about fullwidth feature in
             Fonts.

  [Lunch]

Received on Monday, 30 September 2013 23:17:28 UTC