CSS Houdini / CSS Working Group meeting report


Original (in Japanese): CSS Houdini / CSS Working Groupミーティングに参加しました

Three members of Vivliostyle team, Shinyu Murakami, Toru Kawakubo and Johannes Wilm attended a face to face meeting of W3C CSS Working Group recently held in Sydney. The first meeting of CSS Houdini Task Force (described below) was also held before the CSS Working Group meeting.


The meetings were held in Google Sydney.


One of Google offices is in this building. There is another one in a nearby building.


In front of the building.


Google logo inside the building.


A Google Maps bike.

We enjoyed delicious lunch everyday at Google. They treated us to dinner several times. Thank you!

CSS Houdini F2F (7-8 Feb.)

The first face to face meeting of CSS-TAG Houdini Task Force was held in 7 and 8 Feb.

What’s Houdini TF?

Houdini TF was organized in the spirit of Extensible Web. Its objective is to explain existing CSS functionalities better and make development of CSS polyfills (alternative JavaScript implementations of new functionalities not implmented in browsers) easier by defining low level APIs of styling and layout on the web. It is very important for Vivliostyle, working for better typesetting in JavaScript. Discussions of the TF take place in a public W3C mailing list public-houdini.

By the way, Houdini is the name of a famous Hungarian-American illusionist. See this ML post for the naming discussion.

Topics in the meeting

22 people from Microsoft, Google, Mozilla, Apple, Adobe, W3C and others were at this first meeting.

Formatted minutes of the discussion have not been published yet. You can follow the discussions in the IRC logs. (7 Feb., 8 Feb.)

Added 4 March: The minutes have been published.
* Minutes Sydney F2F 2015-02-07 Part I: Introductions and Houdini Aspirations
* Minutes Sydney F2F 2015-02-07 Part II: Houdini-Related Presentations
* Minutes Sydney F2F 2015-02-07 Part III: Houdini-Related Presentations Continued
* Minutes Sydney F2F 2015-02-07 Part IV: Scope and Proposed Charter, Box Tree Spec
* Minutes Sydney F2F 2015-02-08 Part I: CSS Parser
* Minutes Sydney F2F 2015-02-08 Part II: Property and Value Extensions, Font Metrics
* Minutes Sydney F2F 2015-02-08 Part III: Custom Paint, Custom Layout
* Minutes Sydney F2F 2015-02-08 Part IV: Input Extensions, Asynchronicity and Threading, and Houdini Process

After self introduction of participants, topics of the TF are discussed with some presentations. The proposed topics are:

After organizing Agenda, detailed discussions of the topics occured.

  • Fragment Tree API
    • Attempt to define “fragment tree” generated during layout clearly and provide readonly APIs for getting its information (sizing, positioning etc.)
      • It is called “Box tree API” in previous discussions, as it is accessing “boxes” getting laid out with CSS. However, it is possible in the CSS model that multiple “fragments” are generated from one “box”. For example, each line of text in a p element can be regarded as a “fragment” generated by breaking the “box” of the p element into the lines. (Note, however, that it is called a “line box” in this case.) Pages and columns are also “fragments”. The API is now called “Fragment Tree API” since “fragment” is more fundamental object in CSS layout than “box”.
    • This API is very important since it will enable advanced typesetting in JavaScript by providing information of anonymous boxes like line boxes, which is not accessible for now.
    • Topics like “Should the API be asynchronous?”, “What information should be provided?”, shape of the API were discussed.
    • A draft of the spec (Fragment Tree API Level 1) is already created. For now, it contains a sketch of the model and API.
  • CSS parser
    • API providing CSS parser functionalities of browsers.
    • API to enable users to define selectors, especially pseudo-classes, was discussed.
  • Property and value extension
  • Font metric API
    • API for getting font metric information (ascender, descender etc.) of the actual font used for the first character of a DOM range.
  • Custom paint
  • Custom layout
    • API to enable users to define custom layout like “display: --foo“.
  • Input extensions
  • Asynchronicity and Threading
  • Houdini TF process

It was exciting to see the attendees, especially major browser implementers (Microsoft, Google, Mozilla, Apple), actively discussing to progress this epoch-making project. Editor’s Drafts of the specs have been already created.

CSS Working Group F2F (9-11 Feb.)

Following the Houdini TF meeting, CSS Working Group face to face meeting was held during 9, 10 and 11 Feb.

Here is the agenda.

CSS Page Floats

The most big topic for Vivliostyle is CSS Page Floats. CSS Page Floats spec is a spec specifying ways to position figures on pages appropriately. It is very important for advanced page typesetting, which is one of goals of Vivliostyle. Though Håkon (Opera) had been the editor of it, Håkon is working on CSS Figures at WHATWG and W3C’s CSS Page Floats spec had not been updated for one and a half year.

In this meeting, Johannes Wilm (Vivliostyle) proposed to take over the spec as an editor, and was accepted!

Other topics

After the css meeting days

Posted by 村上 真雄 on 2015年2月12日