- 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