[webkit-dev] Request for position: New Canvas 2D API
Maciej Stachowiak
mjs at apple.com
Wed May 5 13:37:01 PDT 2021
> On May 3, 2021, at 9:58 AM, Simon Fraser via webkit-dev <webkit-dev at lists.webkit.org> wrote:
>
>
>> On May 1, 2021, at 10:07 AM, Aaron Krajeski via webkit-dev <webkit-dev at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>> wrote:
>>
>> Hi webkit-dev,
>>
>> This is a request for WebKit's position on New Canvas 2D API <https://github.com/fserb/canvas2D/blob/master/rationale.md> features.
>>
>> Explainer/Chrome Dev Summit Video
>> https://github.com/fserb/canvas2d <https://github.com/fserb/canvas2d>
>> https://youtu.be/dfOKFSDG7IM <https://youtu.be/dfOKFSDG7IM>
>>
>> Summary
>> Updated functionality for the Canvas2D API. Adds nine new features/functions to CanvasRenderingContext2D:
>> - "ContextLost" and "ContextRestored" events
>
> Seems reasonable.
>
>> - "willReadFrequently" option for canvases where lots of readback is expected
>
> Seems reasonable.
>
>> - CSSColorValues as style inputs
>
> Seems reasonable (gated on Typed OM support).
>
>> - More CSS text modifier support
>
> WebKit has already expressed support for the proposal.
>
>> - A reset function
>
> We'e already expressed some concerns in the issue.
>
>> - A roundRect draw primitive
>
> Seems reasonable.
>
>> - Full 4x4 transformation matrices
>
> WebKit's architecture on macOS/iOS currently has no way to render these, so we don't support this proposal at this time.
>
>> - Conic gradients
>
> Seems reasonable.
>
>> - Better support for SVG filters
>
> Seems reasonable, although this would have performance implications in our current architecture.
^ On this one I’ll add, it would be better if this could reuse the existing CSS or SVG ways of describing a filter instead of adding a novel way. In addition, the filter syntax here is strictly less expressive than SVG filters; it appears to only support a linear filter chain, rather than a filter graph like SVG does.
>
> Simon
>
>>
>> Contact emails
>> aaronhk at chromium.org <mailto:aaronhk at chromium.org>, fserb at chromium.org <mailto:fserb at chromium.org>
>>
>> Spec and tests
>> - WHATWG spec in progress:
>> Text Modifiers <https://github.com/whatwg/html/pull/6560>
>> Filters <https://github.com/web-platform-tests/wpt>
>> Perspective Transforms <https://github.com/whatwg/html/issues/5620>
>> reset() <https://github.com/whatwg/html/issues/5618>
>> CSSColorValue <https://github.com/whatwg/html/issues/5616>
>> willReadFrequently <https://github.com/whatwg/html/issues/5614>
>> RoundRect <https://github.com/whatwg/html/issues/5619>
>> ConicGradient <https://github.com/whatwg/html/issues/5431>
>> Context Loss <https://github.com/whatwg/html/issues/4809>
>> - MDN spec
>> Conic gradient <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createConicGradient>
>> Text Modifiers <https://github.com/GoogleChromeLabs/puppy-content/pull/23> (via ChromeLabs/puppy-content)
>> - Web platform tests
>> RoundRect <https://github.com/web-platform-tests/wpt/tree/7b0ebaccc62b566a1965396e5be7bb2bc06f841f/html/canvas/element/path-objects>
>> reset() <https://github.com/web-platform-tests/wpt/tree/master/html/canvas/element/reset>
>> Perspective Transforms <https://github.com/web-platform-tests/wpt/tree/master/html/canvas/element/transformations>
>> Context Loss <https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/web_tests/fast/canvas/canvas-lost-gpu-context.html?q=f:web_tests%20canvas%20context%20lost&sq=package:chromium> (this is not testable on WPT)
>> Filters <https://github.com/web-platform-tests/wpt/tree/master/html/canvas/element/shadows>
>> CSSColorValue Input <https://chromium-review.googlesource.com/c/chromium/src/+/2794982>
>> WillReadFrequently <https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/web_tests/fast/canvas/OffscreenCanvas-2d-willReadFrequently.html?q=f:web_tests%20canvas%20willreadfrequently&sq=package:chromium> (testable in WPT, work in progress to add tests there)
>> Conic Gradient <https://github.com/web-platform-tests/wpt/blob/master/html/canvas/element/fill-and-stroke-styles/2d.gradient.conic.html>
>> Text Modifiers <https://github.com/web-platform-tests/wpt/tree/master/html/canvas/element/drawing-text-to-the-canvas>
>> - Chrome Status <https://chromestatus.com/feature/6051647656558592>
>>
>> Look forward to hearing your feedback!
>>
>> Cheers!
>> Aaron
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>
>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20210505/050e5c76/attachment.htm>
More information about the webkit-dev
mailing list