W3C home > Mailing lists > Public > public-houdini@w3.org > May 2015

RE: Properties of Custom Paint

From: François REMY <francois.remy.dev@outlook.com>
Date: Thu, 28 May 2015 12:34:19 +0200
Message-ID: <DUB130-W66FB92A544AE89A95E8F7FA5CA0@phx.gbl>
To: Ian Kilpatrick <ikilpatrick@chromium.org>
CC: "public-houdini@w3.org" <public-houdini@w3.org>
From: ikilpatrick@chromium.org
> Hi François,
>> I'm not much arguing for a specific implementation of the drawing operations 
>> themselves (though I believe WebGL Shaders should be the "go-to" solution 
>> whenever it is possible) but I was making the comparison with Web Audio 
>> mainly for the "graph-of-operations" nature of their technology.
> Thanks for the examples. Your proposal is a lot clearer to me now.
> Effectively you want to be able to directly control the painting order of elements. 
> (Brought to you by http://www.w3.org/TR/CSS2/zindex.html :) in addition to 
> combinators (blends, etc).
> This makes a lot sense to me. With this you would be able to explain a few 
> behaviours of CSS properties which I personally haven’t considered for Houdini. 
> Namely:
> - z­index: controlling the order in which children get painted.
> - paint­-ordering: controlling if a type of element gets special priority in paint-­order. 
> For example: table paint­-order magic.
> As you described, using this you would be able to implement things like:
> -­ Filters on parts of the paint-­order. For example “background-­filter: blur(2px)” could 
> just apply a filter just to the background layer.
> - A reworked paint-­order. Make things not (paint) intrude in each other. E.g. 
> backgrounds can’t intrude into siblings.-­ A more sensible z-­index (element paint order
> stacking api).

That's it, indeed. Glad to see the examples helped ;-)

> In terms of moving forward, my main priorities are the custom layout & paint (being 
> the “CustomDraw on 2D Canvas” box in your diagram), to keep focus.

Great, I can't wait to see what you'll come up with.

> I think that this is a useful part of Houdini (being able to explain z-index & paint 
> ordering); are you able to come up with more fleshed out thoughts so that we can
> talk about them in Paris? (I read that you are coming?) For example how this would
> look as a JS API? How this would work with more complex scenarios, for example
> implementing table paint order (or something similarly interesting)?

I'll be present in Paris indeed :-)

I can definitely work this further out by then; if you can/wanna share your own 
progress in-between, that would definitely help shaping the API. I'll leave this open
for now but I'll come back to this in the future when I've had time to let my unconscious
mind work for free on this for me ^_^

Meanwhile, if anyone has ideas or use-cases, it may be great to write those down on 
the wiki or in the gist you did set up.

Received on Thursday, 28 May 2015 10:34:48 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 28 May 2015 10:34:48 UTC