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://youtu.be/dfOKFSDG7IM Summary Updated functionality for the Canvas2D API. Adds nine new features/functions to CanvasRenderingContext2D: - "ContextLost" and "ContextRestored" events - "willReadFrequently" option for canvases where lots of readback is expected - CSSColorValues as style inputs - More CSS text modifier support - A reset function - A roundRect draw primitive - Full 4x4 transformation matrices - Conic gradients - Better support for SVG filters Contact emails aaronhk@chromium.org, fserb@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
On May 1, 2021, at 10:07 AM, Aaron Krajeski via webkit-dev <webkit-dev@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. Simon
Contact emails aaronhk@chromium.org <mailto:aaronhk@chromium.org>, fserb@chromium.org <mailto:fserb@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@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev
On May 3, 2021, at 9:58 AM, Simon Fraser via webkit-dev <webkit-dev@lists.webkit.org> wrote:
On May 1, 2021, at 10:07 AM, Aaron Krajeski via webkit-dev <webkit-dev@lists.webkit.org <mailto:webkit-dev@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@chromium.org <mailto:aaronhk@chromium.org>, fserb@chromium.org <mailto:fserb@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@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> https://lists.webkit.org/mailman/listinfo/webkit-dev
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev
participants (3)
-
Aaron Krajeski
-
Maciej Stachowiak
-
Simon Fraser