- From: David Sheets <kosmo.zb@gmail.com>
- Date: Mon, 10 Dec 2012 11:43:27 -0800
- To: Dirk Schulze <dschulze@adobe.com>
- Cc: "public-fx@w3.org" <public-fx@w3.org>
On Mon, Dec 10, 2012 at 6:35 AM, Dirk Schulze <dschulze@adobe.com> wrote: > Hi David, > > On Dec 10, 2012, at 3:30 AM, David Sheets <kosmo.zb@gmail.com> wrote: > >> Hello FXTF, >> >> I would like to propose a revision of a previous proposal by Dirk >> Schulze that integrates with HTTP, URI, HTML, XML, and CSS features. >> The proposed CSS expression of Custom Filter Effects Modules looks >> like: >> >> @filter curl { >> type: "fx1"; >> meshfn: url("/fx/curl.fx#mesh") url("/fx/curl.fx#mesh-fallback"); >> pxfn: url("/fx/curl.fx#px"); >> mesh: 4 4; >> mix: source-in multiply; >> parameters: identityMatrix mat3(1,0,0,0,1,0,0,0,1); >> } >> >> @filter curl { >> type: "msfx1"; >> ms-src: url("/fx/curl.fx#ms-fx-bundle"); >> } >> >> filter: custom(curl); >> >> You can read more at <http://dsheets.github.com/custom-fx-modules/>. >> >> I look forward to your feedback. > > Thank you very much David. This is the same proposal as second one on the parallel discussion "[filter-effects] New syntax proposal for 'custom' filter function" [1] (with one detail), why I would like to discuss it on the original thread. The above CSS syntactic expression is very similar but the proposal is not the same. If you read the document at <http://dsheets.github.com/custom-fx-modules/>, you will note a number of important differences including the distinction between operational models ("fx1"/"msfx1") and shading languages ("application/webglsl"). As you are the originator of both the basis for this proposal and a new effect abstraction proposal and appear to be in favor of the new effect abstraction proposal, I believe this evolution of your work deserves an unconflicted champion. The "[filter-effects] New syntax proposal for 'custom' filter function" [1] thread has multiple proposals in it which, as you have pointed out, is a source of confusion. > The detail: The fallback has the same name. I really like the idea to let the fallback have the same name. I checked if this idea would work with CSS Animations, but sadly this is not the case at the moment. The last specified at-rule must be valid on Firefox as well as on WebKit. Means the default would always need to be last. Sadly the default would always override previous definitions. I will check CSS Animations if this behavior is currently specified. At-rules should be harmonized with each other. I agree at-rules should strive to maintain consistent syntax. There are a number of solutions to this issue: 1. introduce a filter-family descriptor with type IDENT that binds multiple (nameless) @filter uses together. @filter { filter-family: curl; type: fx1; } @filter { filter-family: curl; type: msfx1; } 2. introduce an @filter IDENT(IDENT) syntax that parameterizes a specific name (1st IDENT) by an operational model capability (2nd IDENT). @filter curl(fx1) { } @filter curl(msfx1) { } 3. introduce a nested @-rule to bind alternative representations of operational models together @filter curl { @model fx1 { ... } @model msfx1 { ... } } Another distinction you will notice is the ability to specify fallbacks for specific function resources. I believe this is important for language and language extension extensibility. An abstract filter fallback may also be desired: filter: custom(curl, almostCurl) Regards, David > [1] http://lists.w3.org/Archives/Public/public-fx/2012OctDec/0070.html
Received on Monday, 10 December 2012 19:43:56 UTC