Intent to Ship: Canvas Floating Point Color Types

126 views
Skip to first unread message

ccameron chromium

unread,
Apr 8, 2025, 6:09:20 AMApr 8
to blink-dev, fs...@google.com, Yi Xu, vmp...@google.com
Hello blink-dev!

Floating-point support for 2D canvas and for ImageData is now here 🎉. This is the last API that needed support (after WebGPU and WebGL added it in previous years). This will enable unified high bit depth (e.g, medical) and high dynamic range (e.g, shiny) application support across all canvas APIs, and across all of the (wildly varying) operating systems that Blink ships on.


Contact emails

ccam...@chromium.orgyi...@chromium.org

Explainer

https://github.com/ccameron-chromium/ColorWeb-CG/blob/canvas2d_float/canvas_float.md

Specification

https://github.com/w3c/ColorWeb-CG/blob/master/canvas_float.md

Summary

Introduce the ability to use floating point pixel formats (as opposed to 8-bit fixed point) with CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D, and ImageData. This is necessary for high precision applications (e.g, medical visualization), high dynamic range content, and linear working color spaces.



Blink component

Blink>Canvas

TAG review

https://github.com/w3ctag/design-reviews/issues/1030

TAG review status

Issues addressed

Risks



Interoperability and Compatibility

None.



Gecko: Positive (https://github.com/mozilla/standards-positions/issues/708)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/91) Updates off-bug has been positive.

Web developers: No signals

Other signals:

Ergonomics

This will frequently be used with the (under development) HDR canvas support.



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



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

Yes

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

Yes

Flag name on about://flags

None

Finch feature name

CanvasFloatingPoint

Rollout plan

Will ship enabled for all users

Requires code in //chrome?

False

Tracking bug

https://crbug.com/40245602

Availability expectation

Feature is available on Web Platform Baseline within <<12 months of launch in Chrome.

Adoption expectation

Feature is used by specific partner(s) to provide functionality within <<12 months of launch in Chrome.

Estimated milestones

Shipping on desktop137
Shipping on Android137
Shipping on WebView137


Anticipated spec changes

No future spec changes.

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5086141338877952?gate=5074492622110720

Links to previous Intent discussions

Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGnfxj_7FCH9mmGGB3Q3ZKJqP1EamLGUpOzjSpZYHXVkVOWW_w%40mail.gmail.com


This intent message was generated by Chrome Platform Status.

Chris Harrelson

unread,
Apr 9, 2025, 11:34:12 AMApr 9
to ccameron chromium, blink-dev, fs...@google.com, Yi Xu, vmp...@google.com
LGTM1

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALpoW6TmqDGqrM1%3DLsMuGavBPO%2BNtyrQ0rFfCQ7%3D-ZvGv9Dw%3Dg%40mail.gmail.com.

Daniel Bratell

unread,
Apr 9, 2025, 11:54:37 AMApr 9
to Chris Harrelson, ccameron chromium, blink-dev, fs...@google.com, Yi Xu, vmp...@google.com

LGTM2 because I don't believe that there are no web developer signals. Surely there is demand for this?

/Daniel

Philip Jägenstedt

unread,
Apr 9, 2025, 11:57:56 AMApr 9
to Daniel Bratell, Chris Harrelson, ccameron chromium, blink-dev, fs...@google.com, Yi Xu, vmp...@google.com
Hi Chris,

Have the spec changes for this landed, or are there open PRs?

Best regards,
Philip

ccameron chromium

unread,
Apr 9, 2025, 3:31:29 PMApr 9
to Philip Jägenstedt, Chris Harrelson, blink-dev, fs...@google.com, Yi Xu, vmp...@google.com
On Wed, Apr 9, 2025 at 5:57 PM Philip Jägenstedt <foo...@chromium.org> wrote:
Hi Chris,

Have the spec changes for this landed, or are there open PRs?

All PRs have landed (and are now reflected online).

Philip Jägenstedt

unread,
Apr 9, 2025, 4:32:01 PMApr 9
to ccameron chromium, Chris Harrelson, blink-dev, fs...@google.com, Yi Xu, vmp...@google.com
On Wed, Apr 9, 2025 at 9:31 PM ccameron chromium <ccam...@chromium.org> wrote:


On Wed, Apr 9, 2025 at 5:57 PM Philip Jägenstedt <foo...@chromium.org> wrote:
Hi Chris,

Have the spec changes for this landed, or are there open PRs?

All PRs have landed (and are now reflected online).

Wonderful, LGTM3! 
Reply all
Reply to author
Forward
0 new messages