Intent to Prototype: Mesh2D Canvas API

86 views
Skip to first unread message

Florin Malita

unread,
Sep 25, 2023, 11:04:42 AM9/25/23
to blink-dev, Fernando Serboncini, Vivek Sekhar, Rakshit Sharma, Yi Xu, Victor Miura

Contact emails

fma...@chromium.org

Explainer

https://github.com/fserb/canvas2D/blob/master/spec/mesh2d.md

Specification

None

Summary

A high-performance Canvas 2D triangle mesh API that can be used to batch-render a large number of textured triangles. This will enable advanced texture mapping and geometry deformation effects in a 2D context.



Blink component

Blink>Canvas

Motivation

Triangle meshes are a fundamental building block of most low-level graphics APIs, and their rendering is heavily optimized on modern hardware. They can represent complex geometries, and provide an efficient mechanism for texture mapping and morphing. Mapping textures to arbitrary geometries is of great importance to animation engines (e.g. Lottie, Rive), both as a direct animation mechanism and as an utility for implementing various morphological effects. Since Canvas2D does not currently support drawing triangle meshes, such animation engines are either resorting to inefficient workarounds or limiting the set of supported features on the web.



Initial public proposal

https://github.com/fserb/canvas2D/blob/master/spec/mesh2d.md

TAG review

None

TAG review status

Pending

Risks



Interoperability and Compatibility

None



Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None



Debuggability

None



Is this feature fully tested by web-platform-tests?

No

Flag name on chrome://flags

None

Finch feature name

None

Non-finch justification

None

Requires code in //chrome?

False

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1486511

Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/6247948082216960

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages